Skip to content
Small Business Chatbot Docs
Support Open the app

CRM steps

The fields of the eight CRM steps, how each finds or creates its record, and what each saves.

What this does

The CRM steps read and change records in the CRM of Small Business Chatbot: Find Contact, Upsert Contact, Upsert Company, Upsert Opportunity, Create CRM Note, Create CRM Task, Add Contact Tag and Remove Contact Tag. Upsert means the step updates the matching record or creates one when none matches. The steps run whatever the Passive CRM sync switches say.

Where
Workflows › a step's Node settings › Node type: one of the eight steps
Needs
nothing

IDs come from the trigger or an earlier step, as variables, for example {{trigger.contact.contact_id}} or {{node_outputs_by_name.upsert_contact.contact_id}}.

Find Contact

Looks up one contact. When none matches, the step still succeeds, with found set to false.

Field What it does Default or options
Contact field Which field Lookup value is matched against. Phone. Options: Phone, Email, Contact ID
Lookup value The value to look for. When it is filled, the three fields below are ignored. Empty
Contact ID Looks up by ID. Empty
Phone Looks up by phone. Empty
Email Looks up by email. Empty

Saves found (true or false), contact_id, contact (the contact's fields) and match_type (contact_id, phone, email or none).

Upsert Contact

Updates the contact that matches the Contact ID, Phone or Email, or creates a contact when none matches.

Field What it does Default or options
Contact ID Matches this contact first. Empty
First name, Last name, Full name The contact's name. Empty
Email, Phone Used to match and saved on the contact. Empty
Website, LinkedIn URL, Business name Saved on the contact. Empty
Status Saved as typed. Empty
Source Saved as the contact's source. On an existing contact it replaces the current source. workflow
Tags Tags to add, separated by commas. Saved in lowercase. Empty
An Upsert Contact step filled with variables from an inbound webhook and the tag website form
Workflows › Upsert Contact, October 2026

A blank field keeps the contact's current value. Tags are added to the contact's existing tags; to remove one, use Remove Contact Tag. Saves contact, contact_id, created (true for a new contact) and matched_by.

Upsert Company

Field What it does Default or options
Company ID Updates this company. Empty
Company name Required. With no ID, a company with the same name is updated, otherwise a new one is created. Empty
Website, Company email, Company phone, Industry Saved on the company. Empty

Saves company_id, record and created.

Upsert Opportunity

Field What it does Default or options
Opportunity ID Updates this opportunity. Empty
Opportunity name Required. Empty
Primary contact ID Required. The contact must exist. Empty
Primary company ID The company must exist when filled. Empty
Pipeline ID, Stage ID Required. The stage must be an active stage of that pipeline. Empty
Status The opportunity's status. Open. Options: Open, Won, Lost, Abandoned
Monetary value Saved as a whole number. 0

Saves opportunity_id, record and created.

Create CRM Note

Field What it does Default or options
Note Required. The note's text. Empty
Contact ID, Company ID, Opportunity ID The records the note is on. Each must exist when filled. Empty

Saves note_id and record.

Create CRM Task

Field What it does Default or options
Task title Required. Empty
Description The task's details. Empty
Contact ID, Company ID, Opportunity ID The records the task is on. Each must exist when filled. Empty
Due at The due date and time, such as 2026-08-10T14:00:00Z. A time with no time zone is read as UTC. Empty
Priority The task's priority. Normal. Options: Low, Normal, High, Urgent

New tasks are open. Saves task_id and record.

Add Contact Tag and Remove Contact Tag

Field What it does Default or options
Contact ID, Phone, Email Find the contact to change. Empty
Tag Required. The tag to add or remove, saved in lowercase. Empty

The contact must exist. Saves contact, contact_id, tag and tags, the contact's tags after the change.

When a CRM step fails

You see in Last error Why
"requires review because an identifier matches multiple contacts" The phone or email belongs to more than one contact. Merge them under CRM › Contacts or use Contact ID.
"requires review because the supplied identifiers match different contacts" The ID, phone and email point at different contacts.
"could not find a CRM contact to update" Add Contact Tag or Remove Contact Tag found no contact.
"node requires:" and a field name A required field is empty.
"was not found" An ID points at a contact, company or opportunity that doesn't exist.

After a CRM step runs

After Find Contact, Upsert Contact, Add Contact Tag or Remove Contact Tag, the run knows its contact. Executions shows it, and replies and Remove From Cadence match the run by it.

Records and tags these steps create start no other workflows. The one exception: with Automatically create and link companies on, a company that Upsert Contact creates from Business name fires Company created.

Guides that use it

Next steps