Skip to content

Edit Client Task

Overview

The Edit Client Task updates existing contact records in your BaseCloud CRM. It's essential for keeping contact data current, managing tags, updating custom fields, and tracking contact interactions.

When to use this task:

  • Update contact information from form submissions
  • Add or remove tags based on behavior
  • Log activity in contact notes
  • Update custom field values
  • Change contact status or assignments
  • Increment counters or scores
  • Merge new data with existing records

Key Features:

  • Update any contact field
  • Add/remove tags individually
  • Append to contact notes
  • Conditional updates (only update if empty)
  • Bulk field updates
  • Custom field management
  • Status and assignment changes

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 –
  1. Add Edit Client task to workflow
  2. Select contact to edit: Usually {{task_15001_contact_id}}
  3. Choose fields to update
  4. Enter new values or variables
  5. Select update strategy (always/if empty/append)
  6. Save and test

Simple Example:

Contact ID: {{task_15001_contact_id}}
Add Tags: Website Lead, 2024
Update Field: custom_last_contact_date = {{task_48001_current_date}}

Contact Selection

By Contact ID (Most Common)

Use contact ID from previous task:

Contact ID: {{task_15001_contact_id}}

Sources of contact IDs:

  • Match to Client task: {{task_15001_contact_id}}
  • CRM Trigger: {{task_47001_contact_id}}
  • Get Contact task: {{task_28001_contact_id}}
  • Webhook In: {{task_46001_contact_id}}

By Email Address

Search and update by email:

Find Contact By: Email
Email: {{task_55001_email}}

Note: Creates contact if not found (use Match to Client first for better control).

By Phone Number

Search and update by phone:

Find Contact By: Phone
Phone: {{task_50001_caller_number}}

Standard Field Updates

Basic Information

First Name:

First Name: {{task_55001_first_name}}
Update Strategy: Update if Empty

Last Name:

Last Name: {{task_55001_last_name}}
Update Strategy: Always Update

Email:

Email: {{task_55001_email}}
Update Strategy: Update if Empty

Phone:

Phone: {{task_55001_phone}}
Update Strategy: Always Update

Company:

Company: {{task_55001_company}}
Update Strategy: Always Update

Update Strategies

Always Update:

  • Overwrites existing value
  • Use for: Latest information, corrected data

Update if Empty:

  • Only updates if field is currently empty
  • Use for: Filling gaps, preserving existing data

Append:

  • Adds to existing value (for notes/text fields)
  • Use for: Activity logs, notes

Address Fields

Street Address: {{task_55001_address}}
City: {{task_55001_city}}
State/Province: {{task_55001_state}}
Postal Code: {{task_55001_postal_code}}
Country: {{task_55001_country}}

Status and Assignment

Contact Status:

Status: Customer

Common statuses:

  • Lead
  • Prospect
  • Customer
  • Inactive
  • Partner

Assigned To:

Assigned To: {{task_30001_assigned_user_id}}

Assign to specific user:

Assigned To: user_12345

Tag Management

Add Tags

Add one or more tags to contact:

Add Tags: Website Lead, Form Submission, {{task_55001_product_interest}}

Best practices:

  • Comma-separated list
  • Can include variables
  • Duplicates are ignored
  • Case-sensitive

Examples:

Add Tags: VIP
Add Tags: Active, Engaged, 2024
Add Tags: {{task_47001_event_type}}, {{task_48001_month}}

Remove Tags

Remove specific tags from contact:

Remove Tags: Lead, Prospect

Use cases:

  • Status transitions: Remove "Lead", add "Customer"
  • Campaign completion: Remove "In Campaign"
  • Unsubscribes: Remove "Email List"

Replace All Tags

Clear existing tags and set new ones:

Replace Tags: Customer, Active, 2024

Warning: Removes ALL existing tags first.

Use case: Complete status reset.

Conditional Tag Management

If {{task_9001_result}} = true:
  Add Tags: Qualified Lead
Else:
  Add Tags: Needs Nurture

Custom Fields

Update Custom Fields

Any custom field you've created in CRM:

custom_lead_source: {{task_55001_utm_source}}
custom_lead_score: 75
custom_signup_date: {{task_48001_current_date}}
custom_last_interaction: {{task_48001_current_datetime}}

Field naming:

  • Prefix with custom_
  • Use lowercase
  • Underscores for spaces
  • Must match exact field name in CRM

Increment Numeric Fields

Increase counter fields:

custom_form_submissions: +1
custom_total_orders: +{{task_43001_order_count}}
custom_lifetime_value: +{{task_43001_order_amount}}

Syntax:

  • +1 - Add 1
  • +5 - Add 5
  • +{{variable}} - Add dynamic amount
  • -1 - Subtract 1

Date/Time Fields

custom_last_purchase: {{task_48001_current_date}}
custom_trial_end_date: {{task_26001_formatted_date}}
custom_last_login: {{task_48001_current_datetime}}

Formats:

  • Date: 2024-02-08
  • DateTime: 2024-02-08 14:30:00
  • Relative: Use Date Formatter task first

Text Fields

custom_notes: Call requested callback on {{task_48001_current_date}}
custom_preference: {{task_55001_newsletter_preference}}
custom_source_details: {{task_46001_utm_campaign}} - {{task_46001_utm_medium}}

Contact Notes

Append to Notes

Add activity log entry:

Append to Notes:
Form submitted on {{task_48001_current_date}}
Message: {{task_55001_message}}
---

Best practices:

  • Include timestamp
  • Clear description
  • Add separator for readability
  • Keep concise

Template:

{{task_48001_current_datetime}} - {{event_description}}
Details: {{relevant_data}}
---

Replace Notes

Caution: Overwrites all existing notes.

Notes: {{task_55001_new_note}}
Update Strategy: Always Update

Rare use case: Typically use "Append" instead.

Real-World Examples

Update a client from a form submission

Form Submission
  └─ Match to Client   contact_email from the form
      └─ Edit Client   update the phone number and custom fields

Record a status change

Webhook In
  └─ Match to Client   o_client_id from the payload
      └─ Edit Client   set the status

Mark someone as opted out

Text Message Received
  └─ If Statement            message equals "STOP"
      └─ Match to Client     contact_cell_number: {{task_62001_from_number}}
          └─ Edit Client     set the opted-out field

Advanced Techniques

Conditional Field Updates

Use If tasks to control updates:

1. If Task: Check {{task_15001_status}} = "Lead"
2. Edit Client (True path): Update lead-specific fields
3. Edit Client (False path): Update customer-specific fields

Bulk Updates with Loop

1. Google Sheets: get_rows — the list of updates
2. Loop: over the rows
3. Match to Client: find each one
4. Edit Client: apply the update

Merge Data Strategy

Philosophy: Preserve good data, fill gaps, append notes.

Fields to Always Update:
- Phone (latest is best)
- Address (keep current)
- custom_last_interaction (always latest)

Fields to Update if Empty:
- First Name (keep if exists)
- Last Name (keep if exists)
- Company (keep original)

Fields to Append:
- Notes (never overwrite)

Field Calculations

Use Code task before Edit Client:

1. Code Task: Calculate lifetime_value
   return {
     ltv: parseFloat(orders) * parseFloat(avg_order)
   };
2. Edit Client: Update custom_lifetime_value with {{task_42001_ltv}}

The Custom Fields section of a client record in BaseCloud. A header reads Custom Fields with an edit pencil, a count of 126, and a Hide Empty toggle, above a field search box and an Add Field button. Below it, fields of different types are listed: a Referred By text field, a button, a Multi Select field, a file upload area accepting PDF, DOC, XLS, PPT, ODT, RTF, ZIP, XML, JSON, TXT, CSV and images up to 150MB, and a multiline text field

Custom fields are defined per tenant on the client record itself — the pencil edits the set, Add Field creates one. The name you give a field here is the name you reference from a task.

Outputs

Field Type Example Notes
run boolean true Whether the update was applied.
run_text string Client updated successfully. Names the reason on failure — most often a missing or unknown client_id.

The task reports success and nothing else. There is no fields_updated, tags_added, tags_removed, contact_id or success field.

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_id if a later task needs the client's current field values.

Best Practices

Data Quality

  1. Validate before updating - Use If tasks to check data quality
  2. Normalize formats - Use Formatter tasks for consistency
  3. Preserve good data - Use "Update if Empty" strategically
  4. Don't overwrite unknowns - Empty submission field ≠ delete existing

Tag Management

  1. Consistent naming - "VIP Customer" not "vip" or "VIP CUSTOMER"
  2. Date-stamp campaigns - "Email Campaign 2024-02" not "Email Campaign"
  3. Remove old tags - Clean up status tags when status changes
  4. Document tag meanings - Keep internal wiki of tag purposes

Performance

  1. Batch updates - Use Loop task efficiently
  2. Only update changed fields - Don't update everything every time
  3. Index custom fields - Frequently queried fields should be indexed
  4. Avoid circular triggers - Don't trigger CRM Trigger that triggers Edit Client that triggers CRM Trigger...

Notes Management

  1. Always append - Never overwrite existing notes
  2. Include timestamps - Use {{current_datetime}}
  3. Use separators - --- or === between entries
  4. Keep concise - Notes aren't storage, use custom fields for data

Troubleshooting

Contact Not Found

Error: Contact not found: ID 12345

Causes:

  1. Invalid contact ID
  2. Contact deleted
  3. Variable empty

Solution:

Add If Task before Edit Client:
Condition: {{task_15001_contact_id}} Is Not Empty

Fields Not Updating

Check:

  1. Field name exact - custom_lead_score not lead_score
  2. Update strategy - "Update if Empty" won't overwrite
  3. Permissions - API user has edit access?
  4. Data type - Number field receiving text?

Debug: View execution history:

  • Check "Fields Updated" count
  • View error messages
  • Verify contact ID used

Tags Not Adding

Common issues:

  1. Case sensitivity - "VIP" ≠ "vip" (creates two tags)
  2. Extra spaces - "VIP " ≠ "VIP"
  3. Already exists - Adding existing tag (expected, not error)
  4. Comma in tag name - Don't use commas in individual tag names

Increment Not Working

Ensure:

✓ Correct: custom_count: +1
✗ Wrong: custom_count: 1 (replaces with 1, doesn't add)

✓ Correct: custom_value: +{{task_x_amount}}
✗ Wrong: custom_value: {{task_x_amount}} (replaces)

Circular Trigger Loops

Problem: Edit Client triggers CRM Trigger which runs workflow that edits client again...

Prevention:

  1. CRM Trigger: Filter "triggered_by ≠ system"
  2. Specific field triggers: Only trigger on human-changed fields
  3. Delay between updates: Add time-based throttling

Frequently Asked Questions

Can I update multiple contacts at once?

Not in one task. Use Loop task:

1. Google Sheets: get_rows — the contacts to update
2. Loop: For each contact
3. Edit Client: Update individual contact

What if I don't know the contact ID?

Use Match to Client first:

1. Match to Client: Find by email/phone
2. Edit Client: Update using {{task_15_contact_id}}

How do I clear a field value?

Set field to empty:

custom_field_name:

(Leave value blank)

Can I update based on current value?

Yes, for increments:

custom_count: +1

For other logic, use Get Contact → Code → Edit:

1. Get Contact: Retrieve current value
2. Code Task: Calculate new value
3. Edit Client: Update with calculated value

Should I use Edit Client or New Client?

Edit Client:

  • Updating existing contact
  • After Match to Client

New Client:

  • Creating new contact
  • When you KNOW it doesn't exist

Best practice: Use Match to Client + Edit Client (safer, prevents duplicates).

How do I update custom fields that don't exist yet?

Create the custom field in CRM first:

  1. Go to Clients → open a client → Custom Fields
  2. Add field with exact name
  3. Use in Edit Client task

Can I conditionally add tags?

Yes, use If task:

1. If: Check condition
2. Edit Client (True): Add specific tags
3. Edit Client (False): Add different tags

  • Match to Client - Find contact before editing
  • Get Contact - Retrieve contact data
  • New Client - Create new contacts
  • If Task - Conditional updates
  • Loop Task - Bulk updates
  • Code Task - Calculate values before updating