1. Download The Skill
callkaro-workflow-skill.txt
The complete workflow specification, written for Claude. ~27 KB.
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
lead-follow-up.json
lead-follow-up.json
2. Give It To Claude
- Claude Code
- Claude apps
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.
4. Import It
Save what Claude gives you assomething.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.
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
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