Editing the Value of a Field (Manually or via Flow)

Contact fields are empty by default until you set values through an import, a flow, or manual edits on the contact profile, so updating fields (like Name or project-specific custom fields) helps you identify contacts correctly and power automation—most commonly by using Update Contact inside a flow, or by editing the contact directly from the Contacts tab.

Update a contact field in a few steps

If you just need the essentials, follow this:

  1. Add an Update Contact action in your flow
  2. Set the value using @results, @input, @urns, or other variables
  3. Create a new field by typing its name in Select what to update (optional)
  4. Verify the value on the contact profile under Fields
  5. For numeric counters, use default() before incrementing (optional)
  6. Or update fields manually from the contact profile in Contacts

You’re done. Your contacts will have the right field values for personalization, routing, and reporting.

Step-by-Step Process

1
Understand what you’re updating

When a contact field is created, its default value is empty (null) unless you import a value or set one later. This is common for contacts created
automatically (for example, when a new phone number messages your workspace), where the contact may only be identifiable by their URN until you set
fields like Name or project-specific custom fields.

⚙️
Note: A single contact field can store up to 640 characters.

2
Update a contact field in a flow

Use the Update Contact action to write values into contact fields for each contact that reaches that step.

[CAPTURE: Flow editor showing an “Update Contact” action node.]

What you can use to set field values

In Update Contact, you can set values using fixed text, variables, or expressions. Common sources include:

  • @results (values collected from previous steps like Wait for Response or Split by…)
  • @urns (the contact’s addresses)
  • @input (the last inbound message handled by the flow)
  • @webhook (parsed JSON payload from the most recent webhook call)
  • Expressions (functions written like @(now()) or @(datetime_add(…)))
  • @parent / @child (variables passed between parent/child flows)
💡
Tip: Prefer @results for data you just collected. If you asked a question and used Wait for Response, saving @results.<name> is usually the cleanest option.

3
Create a new contact field from a flow (optional)

You can create a new custom contact field directly from the Update Contact action:

  1. Add an Update Contact action.
  2. In Select what to update, type the new field name (instead of selecting an existing field).
  3. Set its value using a variable (commonly @results.<variable_name>).
  4. Save.

[CAPTURE: Update Contact dialog with “Select what to update” showing a new field name being typed.]
[CAPTURE: Update Contact dialog showing the value set to @results.variable_name.]

⚙️
Note: In flows and messages, custom fields are referenced as @contact.fields.field_name.

4
Example: save a due date (Wait for Response → Update Contact)

Step 1 — Ask for the due date

Create a message asking the user for their due date.

[CAPTURE: Flow message asking for the due date.]

Step 2 — Collect the response

Add a Wait for Response action and name the result (for example) due_date.

[CAPTURE: Wait for Response configuration showing result name “due_date”.]

Step 3 — Save it to a contact field

Add an Update Contact action and set:

  • Field: Due Date (create it if it doesn’t exist)
  • Value: @results.due_date

[CAPTURE: Update Contact dialog showing field “Due Date” and value @results.due_date.]

Step 4 — Verify on the contact profile

Open the contact and check the Fields section.

[CAPTURE: Contact profile showing the Due Date field populated under Fields.]

5
Increment numeric values safely (optional)

To increment a number field, the field must contain a numeric value. If it might be empty, use a default value first.
For example: @(default(fields.age, 0) + 1)

⚠️
Warning: Type matters. Only increment fields configured as Number (and storing numeric values), or your update may fail or behave unexpectedly.

6
Update a contact field manually (Contacts tab)

You can also update contact fields manually by opening a contact from Contacts, going to the Fields area on the contact profile,
editing the value, and saving the contact.

Common Issues & Quick Fixes

Problem: The field stays empty after “Update Contact”.

Fix: Use flow testing to confirm the path reaches the Update Contact node, verify the exact @results variable name (spelling and case), and if needed temporarily send a debug message showing what was captured (for example, “You entered: @results.due_date”).

Problem: I can’t increment a field.

Fix: Make sure the field is configured as Number, ensure the stored value is numeric, and use default() when the field may be empty (null) before adding 1.

Problem: The value is cut off.

Fix: Keep values under the 640-character limit. If you need longer content, store a shorter summary in the field and keep full content elsewhere.