Assign to Workflow
Start a normal workflow for one phone number. Optional attributes are saved on the contact first, so every step of the run can use them. The run starts now, or at schedule_at.
Quick Example
Use Cases
- New leads: start a follow-up workflow the moment a form is submitted or a lead is created in your CRM
- Lifecycle events: put a customer into a renewal, payment-reminder or onboarding workflow when it happens in your system
- Scheduled outreach: pass
schedule_atto start the workflow at a set time, such as the morning after a sign-up
Where to find the values
What happens on your account
The workflow is checked
404, the same answer as a workflow that does not exist.The contact is saved
attributes you sent are saved on it.The run starts
schedule_at. Every step can read the saved attributes: as Contact values in conditions, in {{variables}}, and in a Send Call step’s call metadata.How attributes are saved
Each row inattributes is a key, a value and an optional replace.
- Matching names:
keyis matched to your CRM attributes ignoring case, spaces, underscores and hyphens, so"First Name"matchesfirst_name. replace: trueoverwrites a value the contact already has.replace: false(the default) only fills an attribute that is empty. An existing value is kept.- Types: the value is checked against the attribute’s type. A number attribute needs a number, a date needs a date, and an enum value must be one of its options.
- Edits made by hand win: a value someone typed into the CRM is never overwritten through the API, even with
replace: true.
Scheduling
schedule_at is a date and time in IST, written as YYYY-MM-DDTHH:mm:ss with two digits for the month and day: 2026-12-31T09:30:00, not 2026-12-31T9:30 or 2026-12-3T09:30:00.
Leave it out to start now. A time that has already passed also starts now.
Errors worth handling
404 Workflow not found
404 Workflow not found
409 This number is already running in this workflow
409 This number is already running in this workflow
400 This workflow has no steps yet / is no longer available
400 This workflow has no steps yet / is no longer available
400 schedule_at must be YYYY-MM-DDTHH:mm:ss (IST)
400 schedule_at must be YYYY-MM-DDTHH:mm:ss (IST)
T between the date and the time.Authorizations
API key from https://callkaro.ai/dashboard/api-key
Body
Phone number with country code. A leading + is optional.
"+919876543210"
ID of a normal workflow, from the end of its URL when you open it in the dashboard.
"6ab6243266ba77dbaf2276c7"
Values to save on the contact before the run starts.
50When the run should start, as YYYY-MM-DDTHH:mm:ss in IST (Asia/Kolkata). Omit it, or pass a time that has passed, to start now.
"2026-12-31T09:30:00"
Response
Run started or scheduled
"done"
"Workflow started"
ID of the run that was started
ID shared by every run started in this request
What happened to each attribute you sent. Also returned on 409 and 500 responses, since the contact is saved before the run starts.