Skip to main content
Placing a dozen steps and wiring every branch by hand is slow. If you already have the plan written down — a sales cadence, a follow-up script, a spreadsheet of steps, another tool’s automation — you can hand it to Claude with the file below and get a finished workflow you import in one step.

1. Download The Skill

callkaro-workflow-skill.txt

The complete workflow specification, written for Claude. ~27 KB.
It is Markdown — every step type, every field, the value sources, what import rejects, and the exact shape of an importable workflow file. Save it as SKILL.md (or any .md name) once you have it. Want to see the result first? This is the complete example from the skill — a call, a branch on whether it connected and whether the lead is interested, a WhatsApp template and a second call the next day. Copy it, save it as lead-follow-up.json and import it as it is to see how a file maps onto the canvas.
lead-follow-up.json

2. Give It To Claude

Save it as a skill and it loads itself whenever the task calls for it:

3. Describe The Workflow

With the skill attached, either paste the plan:
Here is our lead follow-up cadence (attach the file). Build a CallKaro workflow from it. Use agent 68f1c0a2b3d4e5f6a7b8c9d0 for every call.
…or just describe it:
New leads get a call straight away, with one retry after 30 minutes. If they pick up and are interested, set lead_status to Interested and post them to our CRM. If they don’t pick up, send our missed-call WhatsApp template, wait a day and call once more.
Claude returns a single JSON file.
Give Claude the IDs it cannot guess: your voice agent IDs (the last part of the agent’s URL) and the CRM attribute names a step should read or write (CRM → Attributes). Anything you leave out comes back as a placeholder for you to fill in.

4. Import It

Save what Claude gives you as something.json, then: Workflows → Import → choose the file The workflow is created with every step already placed and connected. Open it from the list to see it on the canvas.
Import creates the workflow; it does not enroll anyone. Fix the steps listed below first, then add contacts from the CRM or through Assign to Workflow.
You can also go the other way: Export an existing workflow (the row’s menu in the Workflows list), hand that file to Claude to extend, and import the result back as a new workflow.

What To Check Before Enrolling Anyone

Some values only exist in your account, so Claude leaves placeholders for anything you did not give it. Import accepts them — they fail on the first run instead — so open these steps and fix them on the canvas:
  • Send Call — the Voice Agent, if it shows REPLACE_ME_AGENT
  • Send WhatsApp Template — pick the template and the sending number, then map the template’s variables
  • Send WhatsApp Message — pick the sending number
  • API Call — Basic — the URL, and any secret a header refers to, which must exist under that exact name
  • API Call — Advanced — the code is a sketch against your systems, not a working integration
  • Update Contact and any Contact value — the attribute names must exist in CRM → Attributes
  • Conditions on Post Call values — your agent must actually extract that post-call variable
The skill tells Claude to list these back to you explicitly. If it did not, ask: “which values in this workflow did you invent?”

What It Will Refuse To Build

The skill documents the platform’s limits so Claude tells you instead of faking them: parallel branches (a run follows one path), waiting until a time of day, waiting for a WhatsApp reply, built-in SMS or email steps, and free-text WhatsApp messages to contacts who have not written to you in the last 24 hours (use a template).

Next Steps

Build a workflow

What each step does on the canvas

Enroll and monitor

Add contacts and follow every run