Campaign Lifecycle
- Select leads — pick a list, import from HubSpot, or use API-only mode (leads added via API/webhooks)
- Compose steps — each step is a message with optional wait, stop conditions, and branching
- Assign lines — select sending lines, Tuco spreads across them within limits
- Launch — Tuco sends step 1, then advances through the sequence
What happens when a lead replies
By default, when a lead replies:- The campaign pauses for that lead
- Your Knowledge Base takes over and handles the conversation (copilot or autopilot mode)
- The campaign does NOT continue to the next step
Message Variables
Use variables in your messages to personalize:Fallback syntax
If a variable is empty, provide a fallback after the pipe:firstName is empty, the message becomes: “Hey there, this is John Smith”
API tool variables
Use workspace API tools as variables:api_check_status tool is called before sending. If the API fails, “active” is used as fallback.
Stop Conditions
Stop conditions prevent a step from sending if a condition is met:
Stop conditions are evaluated live — HubSpot and GHL checks call the real APIs, not stale cached data.
Stop conditions only apply from step 2 onward. Step 1 always sends (it’s the entry point).
Condition Operators
When comparing property values in stop conditions and branches, the following operators are available:Reply Behavior
Control what happens when a lead replies to your campaign:Pause & AI Responder (default)
Campaign pauses for this lead. The AI Responder handles the conversation.Continue + AI Responder in parallel
Campaign continues to the next step on schedule. AI Responder handles the reply independently. Use for multi-touch drips where follow-ups must go out regardless. Toggle this in the campaign builder on step 1 under “Reply Behavior.”Branching
Branch steps split leads into different paths based on conditions:- Lead replied — did the lead respond?
- No reply for X hours/days — silence after a set time
- Tag added — was a specific tag added?
- HubSpot property — check a CRM property value
- GHL has tag — check a GoHighLevel tag
- Custom API — call an API and branch on the result
- Lead was contacted before — has Tuco sent to this lead before?
- Default — fallback path if no other condition matches
SMS Fallback
Each step can have an SMS fallback. If iMessage is unavailable for a lead, the SMS version is sent via Twilio instead. Configure the fallback message per step or use the same text as the iMessage.AI-Powered Steps
Steps can be AI-driven instead of using a fixed template:- Set a prompt describing what the AI should say
- The AI generates a personalized message for each lead using their data
- If AI generation fails, the manual fallback message is sent instead
- AI usage is tracked and logged for billing
Testing Campaigns
Use the Test Conversation panel to simulate the full campaign flow for a real lead:- Select a lead — uses their real data (name, phone, tags, CRM properties)
- See each step — AI-generated messages use real AI calls (billed to your usage)
- Reply as the lead — type what the lead would say to test reply handling
- See stop conditions — green/red pills show which conditions passed or triggered
- See branches — click “Evaluate live” to check real HubSpot properties, GHL tags, and custom API calls
- Fast-forward waits — skip “3 days later” to see what happens next
- Path simulation — visual timeline showing every step, wait, branch, and the delivery method (iMessage vs SMS fallback)
- CRM links — open the lead in HubSpot or GHL to change data mid-test, then restart from the header
AI-generated test messages count toward your AI usage. Use sparingly on expensive models.