# Templates and patterns (/docs/workflows/templates-and-patterns)

> Proven workflow setups for hot lead alerts, fast lead calling, retries, callbacks, business hours, and email follow-ups.

Templates come with **Notes** (yellow boxes) that explain each part. Use
them as blueprints, then swap in your own agents, campaigns, and
integrations.

## Hot lead alert after a call [#hot-lead-alert-after-a-call]

![Post Call - Hot Lead Notification template](/docs-images/workflows/template-hot-lead.jpg)

After each call, check whether it found a hot lead (1), then email (2) and
Slack (3) the team at the same time.

## Call fresh leads within two minutes [#call-fresh-leads-within-two-minutes]

![Call Fresh Lead Within 2 Minutes template](/docs-images/workflows/template-fresh-lead.jpg)

Wait 120 seconds, then a Switch sends each project's leads to that project's
Bulk Call campaign. Each case needs the exact project name your CRM sends.
Unmatched leads go to Else.

## Retry missed calls [#retry-missed-calls]

![Missed Call Auto Retry template](/docs-images/workflows/template-missed-call.jpg)

After a call ends, wait two hours. If the call failed, was busy, or wasn't
answered, add the lead to a retry campaign. Use a dedicated retry campaign,
not the original one, so leads aren't added twice. For different timings
per outcome (busy sooner, no answer later), use a separate Delay for each.

## More patterns [#more-patterns]

Turn on your agent's post-call webhook and point it at a workflow's live
link. Every finished call then starts the workflow with the call's results.
Make sure the agent extracts the details you route on, such as *hot lead*,
*callback requested*, or *callback time*.

Put a **Time Condition** before any call. YES (inside hours) calls now. NO
waits or adds the lead to a morning campaign. Windows can span midnight, for
example 18:30 to 09:30, in your timezone.

Send an SMS confirming the callback, then use **Wait for Time** with the
callback time the agent extracted, followed by **Add to Bulk Call**. If the
time has already passed, the run continues immediately.

One workflow sends an email. A second workflow uses the **Email Event**
trigger with the first one as its source and listens for Opened, Clicked,
Replied, or Delivery Problem. Each event gets its own branch, so a reply can
trigger a call while a bounce alerts your team.

Put shared logic, such as "log to CRM and notify Slack", in its own workflow
and start it from others with **Run Workflow**. It always runs the other
workflow's published version.

Zoho Bigin has a FAILED exit and Voice AI Call has REJECTED. Connect them to
an alert so a broken connection or unreachable lead never goes unnoticed.