chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
---
|
||||
title: "Marketing workflows"
|
||||
sidebarTitle: "Marketing"
|
||||
description: "Learn how to use Trigger.dev for marketing workflows, including drip campaigns, behavioral triggers, personalization engines, and AI-powered content workflows"
|
||||
---
|
||||
|
||||
import UseCasesCards from "/snippets/use-cases-cards.mdx";
|
||||
|
||||
## Overview
|
||||
|
||||
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.
|
||||
|
||||
## Featured examples
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card
|
||||
title="Email sequences with Resend"
|
||||
icon="book"
|
||||
href="/guides/examples/resend-email-sequence"
|
||||
>
|
||||
Send multi-day email sequences with wait delays between messages.
|
||||
</Card>
|
||||
<Card
|
||||
title="Product image generator"
|
||||
icon="book"
|
||||
href="/guides/example-projects/product-image-generator"
|
||||
>
|
||||
Transform product photos into professional marketing images using Replicate.
|
||||
</Card>
|
||||
<Card
|
||||
title="Human-in-the-loop workflow"
|
||||
icon="book"
|
||||
href="/guides/example-projects/human-in-the-loop-workflow"
|
||||
>
|
||||
Approve marketing content using a human-in-the-loop workflow.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Benefits of using Trigger.dev for marketing workflows
|
||||
|
||||
**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.
|
||||
|
||||
## Production use cases
|
||||
|
||||
<Card title="Icon customer story" href="https://trigger.dev/customers/icon-customer-story">
|
||||
|
||||
Read how Icon uses Trigger.dev to process and generate thousands of videos per month for their AI-driven video creation platform.
|
||||
|
||||
</Card>
|
||||
|
||||
## Example workflow patterns
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Drip email campaign">
|
||||
Simple drip campaign. User signs up, waits specified delay, sends personalized email, tracks engagement.
|
||||
|
||||
<div align="center">
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
A[userCreateAccount] --> B[sendWelcomeEmail]
|
||||
B --> C[wait.for 24h]
|
||||
C --> D[sendProductTipsEmail]
|
||||
D --> E[wait.for 7d]
|
||||
E --> F[sendFeedbackEmail]
|
||||
|
||||
```
|
||||
|
||||
</div>
|
||||
</Tab>
|
||||
|
||||
<Tab title="Multi-channel campaigns">
|
||||
**Router pattern with delay orchestration**. User action triggers campaign, router selects channel based on preferences (email/SMS/push), coordinates multi-day sequence with delays between messages, tracks engagement across channels.
|
||||
|
||||
<div align="center">
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
A[startCampaign] --> B[fetchUserProfile]
|
||||
B --> C[selectChannel]
|
||||
C --> D{Preferred<br/>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]
|
||||
```
|
||||
|
||||
</div>
|
||||
</Tab>
|
||||
|
||||
<Tab title="AI content with approval">
|
||||
**Supervisor pattern with approval gate**. Generates AI marketing content (images, copy, assets), pauses with wait.forToken for human review, applies revisions if needed, publishes to channels after approval.
|
||||
|
||||
<div align="center">
|
||||
|
||||
```mermaid
|
||||
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
|
||||
```
|
||||
|
||||
</div>
|
||||
</Tab>
|
||||
|
||||
<Tab title="Survey response enrichment">
|
||||
**Coordinator pattern with enrichment**. User completes survey, batch triggers parallel enrichment from CRM/analytics, analyzes and scores responses, updates customer profiles, triggers personalized follow-up campaigns.
|
||||
|
||||
<div align="center">
|
||||
|
||||
```mermaid
|
||||
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]
|
||||
```
|
||||
|
||||
</div>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<UseCasesCards />
|
||||
Reference in New Issue
Block a user