Edit Client Task¶
Overview¶
The Edit Client Task changes an existing client: its company name, status, responsible manager and custom field values. The client is named by its id — usually an output of an earlier task such as Match to Client or a CRM Trigger.
These are the changes a person makes on the Clients page — see Edit clients.
When to use this task:
- Update a client from a form submission
- Move a client to another status
- Assign a responsible manager
- Keep custom field values current
Key Features:
- Company name
- Client status and responsible manager
- Any custom field, set by its value or its option's label
- Values take
{{variables}}from earlier tasks - Changes are logged and run your field-change workflows, as a change made by hand does

Quick Start¶
Builder fields¶
The Field column is the label as it appears in the task builder; Key is the name the value is stored under and referenced by.
| Field | Key | Type | Default | Notes |
|---|---|---|---|---|
| Client Fields | _rows |
client-edit-rows | – |
- Add the Edit Client task to the workflow
- Set Client ID, usually
{{task_15001_match_client_id}} - Add a row for each field to change, and its new value
- Save and test
Simple Example:
Choosing the client¶
The task edits one client, by its id. Map it from the task that found or created the client:
- Match to Client:
{{task_15001_match_client_id}} - New Client: the id it outputs
- CRM Trigger: the client the event happened to
The run fails — and the tasks after it do not run — when the client id is missing, is not a number, names no client in your account, or names a deleted client.
Fields you can change¶
| Field | What it takes |
|---|---|
| Company name | Text |
| Client status | A status of your account — see Client statuses |
| Responsible manager | A user of your account; one who may not manage clients falls back as the CRM does |
| Custom fields | A value for the field's type — a dropdown takes one of its options (by label), a date a date. See Field types |
Client field values longer than 200 characters are cut to 200; custom field values to 700.
How values are applied¶
- A value equal to what the client already holds is not a change. Nothing is written, logged or announced, and field-change workflows do not run for it. A date in another format, or an option's label for the option already stored, counts as the same value.
- An empty value empties the field. So does a
{{variable}}that resolves to nothing. - A
{{variable}}that does not resolve at all — the task it names did not run, or has no such output — leaves the field as it is, and the field is listed inleft_unchanged. - A custom field value that cannot be stored — an option the dropdown does not have, a date that
cannot be read — is stored empty and listed in
values_not_set. - Client status must resolve to a status: an empty or non-numeric value fails the run.

Custom fields are defined per tenant on the client record itself — the pencil edits the set, Add Field creates one.
Outputs¶
| Field | Type | Example | Notes |
|---|---|---|---|
edited |
boolean | true |
Whether anything changed. false when every value already matched. |
run_text |
string | Successfully updated client. |
Or Nothing was edited (no changes).; on failure, the reason. |
left_unchanged |
list | ["client_field_id_3272"] |
Only when present: fields whose {{variable}} did not resolve, so they were left as they were. |
values_not_set |
list | [{"field_id": 3272, "field_label": "CRM Status", "value": "Gold"}] |
Only when present: custom field values that could not be stored. |
To use the updated values, read them back
The task does not return the client it changed. Follow it with a Match to Client task on the same client if a later task needs the client's current field values.
Real-World Examples¶
Update a client from a form submission¶
Form Submission
└─ Match to Client contact_email from the form
└─ Edit Client update the custom fields
Record a status change¶
Mark someone as opted out¶
Text Message Received
└─ If Statement message Exactly matches "STOP"
└─ Match to Client contact_cell_number: {{task_62001_from_number}}
└─ Edit Client set the opted-out field
Best Practices¶
- Find the client first — use Match to Client and map its client id
- Leave out fields you don't want to change — only the rows you add are touched
- Watch for loops — an Edit Client that changes a field a CRM Trigger watches runs that trigger's workflow; don't let that workflow edit the same field back
Troubleshooting¶
Invalid client_id supplied¶
The client id is empty, not a number, not a client of your account, or a deleted client. Check the task it is mapped from ran and found a client.
Fields Not Updating¶
- Same value — a value equal to the stored one is not a change (
editedisfalse) - Unresolved variable — the field is listed in
left_unchanged; check the task it reads from ran - Unknown option — the value is listed in
values_not_set; use one of the dropdown's options
Circular Trigger Loops¶
An Edit Client triggers CRM Triggers watching the fields it changes, which can run a workflow that edits the client again. Make sure a workflow does not change the field that started it.
Frequently Asked Questions¶
Can I update several clients at once?¶
Not in one task. Use a Loop and an Edit Client inside it.
What if I don't know the client id?¶
Use Match to Client first and map its match_client_id.
How do I clear a field value?¶
Add the field with an empty value.
Should I use Edit Client or New Client?¶
Edit Client changes a client that exists; New Client creates one. Match to Client first, then Edit Client on the true branch of an If and New Client on the false branch, avoids duplicates.
How do I update custom fields that don't exist yet?¶
Create the custom field in the CRM first, then add it to the task.
Related Tasks¶
- Match to Client - Find the client before editing
- New Client - Create a client
- If Statement - Conditional updates
- Loop - Edit many clients
- CRM Trigger - Run a workflow when a field changes