Campaign Creation & Configuration
Do campaigns create messages immediately or just-in-time?
Do campaigns create messages immediately or just-in-time?
When you launch a campaign, Tuco:
- Creates message records for each
(lead, step)combination up front. - Sets their initial status to
queued. - Attaches configuration such as step delays, line assignments, and batch identifiers.
queued message can safely move to pending and ultimately sent.How does Tuco assign lines across leads in a campaign?
How does Tuco assign lines across leads in a campaign?
Tuco uses a round-robin strategy across eligible lines:
- Only active lines with successful provisioning are considered.
- As it iterates through leads:
- Lead 1 → Line A
- Lead 2 → Line B
- Lead 3 → Line A
- Lead 4 → Line B
- and so on.
- All follow-up steps for that lead in that campaign use the same line, preserving conversation continuity.
What happens if I edit a campaign after launch?
What happens if I edit a campaign after launch?
Edits fall into three broad categories:
- Non-structural edits (e.g. campaign name, description):
- Do not affect already-created messages.
- Future-step edits (changing content or delay of steps not yet sent):
- Behavior depends on when the worker reads the updated configuration vs pre-generated messages.
- In general, message records already created keep their existing content and schedule.
- Structural edits (adding/removing steps, changing lists):
- Can be complex and may not retroactively change existing messages.
- Pausing/ending the current campaign.
- Cloning and launching a new campaign with the desired configuration.
Limits, Timing & Prioritization
How are step delays enforced?
How are step delays enforced?
For each lead and campaign step:
- Tuco records when the prior step was actually sent.
- It calculates
previousSentAt + delayusing the configured delay and unit. - The next step can only become eligible (
pending) once the current time is past that threshold.
Can I prioritize new leads over follow-up steps?
Can I prioritize new leads over follow-up steps?
Yes, Tuco supports prioritizing new conversations:
- When enabled, workers will:
- Prefer sending first messages (step 1) to leads that haven’t been contacted yet.
- Only move on to follow-up steps once new-conversation capacity is exhausted or certain criteria are met.
- You have strict new-conversation limits per line.
- You want to reach as many new leads as possible before scheduling follow-ups.
Failure Scenarios
What if a campaign is 'active' but nothing seems to send?
What if a campaign is 'active' but nothing seems to send?
Check the following, in order:
- Lines:
- Are there any active, healthy lines attached to the campaign?
- Are lines hitting their per-day limits?
- Time window & allowed days:
- Is the current time within the campaign’s allowed send window?
- Is today allowed for sending?
- Queued vs sent ratios:
- Are message records present and all marked
queued? - Are any transitioning to
pendingorsentat all?
- Are message records present and all marked
- Worker processing health (whether messages are being evaluated regularly).
- Webhook behavior (to verify deliveries are being reported correctly).
Why are some contacts only getting the first step?
Why are some contacts only getting the first step?
Common reasons:
- The line used for that contact has reached its total messages limit, allowing the first message but preventing follow-ups.
- Step delays are long (e.g. days), and they simply haven’t elapsed yet.
- The line has become unhealthy, and, to preserve conversation continuity, follow-up messages for that contact were marked as
failedrather than reassigned.
Can a campaign recover after all its lines have failed?
Can a campaign recover after all its lines have failed?
Yes, once the underlying issues are resolved:
- Campaign is typically paused automatically when there are no usable lines.
- After at least one line becomes healthy again:
- You can resume the campaign from the app.
- Remaining
queuedmessages will again be eligible for processing, subject to the usual limits and windows.