6–7 min read
Contacts
Updated on: 24/12/2025
Update a contact field in a few steps
If you just need the essentials, follow this:
- Add an Update Contact action in your flow
- Set the value using @results, @input, @urns, or other variables
- Create a new field by typing its name in Select what to update (optional)
- Verify the value on the contact profile under Fields
- For numeric counters, use default() before incrementing (optional)
- 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
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.
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)
You can create a new custom contact field directly from the Update Contact action:
- Add an Update Contact action.
- In Select what to update, type the new field name (instead of selecting an existing field).
- Set its value using a variable (commonly @results.<variable_name>).
- 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.]
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.]
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)
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.
