CRM with Workflow Automation Builder.
A workflow automation builder that works two ways: drag-and-drop for humans, full API for AI agents. Trigger on any CRM event, branch on any field, and let automation handle the rest. No per-workflow limits. No per-step charges.
Visual Builder
- Drag-and-drop canvas -- build workflows by connecting nodes on a visual graph
- 14 node types -- trigger, condition, delay, send email, send SMS, update contact, create deal, add tag, remove tag, webhook, notification, AI action, loop, branch
- Real-time validation -- see errors before you publish, not after contacts hit a dead end
- Execution history -- step-by-step replay of every run with timestamps and data snapshots
API Builder
- Full CRUD via REST API -- AI agents can create, read, update, and delete workflows programmatically
POST /api/v1/automations/import-- create workflows with automatic name resolutionPOST /api/v1/automations/validate-- check graph validity before publishingPOST /api/v1/automations/:id/dry-run-- test without side effectsPOST /api/v1/automations/:id/publish-- push draft to live in one call
14 building blocks, infinite combinations
Every node type works in both the visual builder and the API. Drag them onto the canvas or define them in JSON.
Trigger
Start on any CRM event -- contact created, deal moved, tag added, form submitted, and more.
Condition
Branch on any field with 20+ operators. Equals, contains, greater than, is empty, and more.
Delay
Wait minutes, hours, or days before continuing to the next step.
Send Email
Use templates with merge fields. Liquid syntax, MJML support, AB variants.
Send SMS
Native SMS via your configured provider. No per-message markup.
Update Contact
Change fields, status, owner, or any custom property on the contact record.
Create Deal
Add to any pipeline and stage. Set value, probability, and expected close date.
Add Tag
Apply tags for segmentation, scoring, or triggering downstream automations.
Remove Tag
Clean up tags after actions complete. Keep your segments accurate.
Webhook
Call external URLs with signed payloads. Supports GET, POST, PUT, DELETE.
Notification
Alert team members via Slack, email, or in-app notifications.
AI Action
Let an AI agent decide the next step based on contact data and conversation history.
Loop
Iterate over contact lists or arrays. Process each item through a sub-flow.
Branch
Multi-path logic with fallback. Route contacts down different paths based on any criteria.
What AI agents can do
Your AI agents can create, test, and publish workflows without ever touching the UI. Here is what that looks like.
POST /api/v1/automations/import { "name": "New Lead Welcome Sequence", "trigger": { "event": "contact.created", "filter": { "tag": "new-lead" } }, "steps": [ { "type": "send_sms", "template": "welcome-sms", "delay": "0m" }, { "type": "delay", "wait": "2d" }, { "type": "send_email", "template": "intro-email" }, { "type": "condition", "field": "email_opened", "op": "eq", "value": true, "yes": [{ "type": "add_tag", "tag": "engaged" }], "no": [{ "type": "send_sms", "template": "follow-up-sms" }] } ] }
POST /api/v1/automations/abc123/dry-run { "contact_id": "test-contact-456" } // Response: step-by-step execution trace, no side effects
POST /api/v1/automations/resolve { "tags": ["new-lead", "engaged"], "pipelines": ["Sales Pipeline"], "users": ["Jordan Tate"] } // Returns UUIDs for each name
vs other automation tools
Workflows that work for
humans and machines.
Build visually or build programmatically. Test in sandbox, publish when ready. No per-workflow limits, no per-step charges, no surprises.