docs/guides/use-cases/marketing.mdx
import UseCasesCards from "/snippets/use-cases-cards.mdx";
Build marketing workflows from email drip sequences to orchestrating full multi-channel campaigns. Handle multi-day sequences, behavioral triggers, dynamic content generation, and build live analytics dashboards.
Delays without idle costs: Wait hours or weeks between steps. Waits over 5 seconds are automatically checkpointed and don't count towards compute usage. Perfect for drip campaigns and scheduled follow-ups.
Guaranteed delivery: Messages send exactly once, even after retries. Personalized content isn't regenerated on failure.
Scale without limits: Process thousands in parallel while respecting rate limits. Send to entire segments without overwhelming APIs.
Read how Icon uses Trigger.dev to process and generate thousands of videos per month for their AI-driven video creation platform.
</Card>graph TB
A[userCreateAccount] --> B[sendWelcomeEmail]
B --> C[wait.for 24h]
C --> D[sendProductTipsEmail]
D --> E[wait.for 7d]
E --> F[sendFeedbackEmail]
graph TB
A[startCampaign] --> B[fetchUserProfile]
B --> C[selectChannel]
C --> D{Preferred
Channel?}
D -->|Email| E[sendEmail1]
D -->|SMS| F[sendSMS1]
D -->|Push| G[sendPush1]
E --> H[wait.for 2d]
F --> H
G --> H
H --> I[sendFollowUp]
I --> J[trackConversion]
graph TB
A[createCampaignAssets] --> B[generateAIContent]
B --> C[wait.forToken approval]
C --> D{Approved?}
D -->|Yes| E[publishToChannels]
D -->|Needs revision| F[applyFeedback]
F --> B
graph TB
A[processSurveyResponse] --> B[coordinateEnrichment]
B --> C[batchTriggerAndWait]
C --> D[fetchCRMData]
C --> E[fetchAnalytics]
C --> F[fetchBehaviorData]
D --> G[analyzeAndScore]
E --> G
F --> G
G --> H[updateCRMProfile]
H --> I[triggerFollowUp]