Creating and Automating Workflows in Adobe Campaign Classic
Adobe Campaign Classic workflows let marketers send personalized, timely messages without running each step by hand. A well-built workflow saves time and removes most of the manual work from a campaign. This post guides you step-by-step through creating, automating, and optimizing workflows in Adobe Campaign Classic, including practical examples and troubleshooting common issues.
Understanding Workflows in Adobe Campaign Classic
Workflows in Adobe Campaign Classic are visual representations of marketing automation processes. They enable marketers to automate complex tasks like segmentation, email delivery, data import/export, and reporting.
Common tasks achieved through workflows:
- Audience segmentation and filtering
- Automated email and SMS delivery
- Data integration and management
- Campaign tracking and reporting
Creating a Basic Workflow
Step 1: Navigate to the Workflow Module
- Log into Adobe Campaign Classic.
- Select the Campaigns tab, then click Workflows.
- Click on New Workflow.
Step 2: Designing Your Workflow
Adobe Campaign Classic workflows consist of nodes, each representing specific actions or tasks:
- Start: Initiates workflow execution.
- Query: Identifies specific audiences.
- Delivery: Automates sending communications (emails, SMS).
- End: Marks completion.
To create a workflow:
- Drag and drop a Start node.
- Add a Query node to define the audience segment.
- Insert a Delivery node to trigger communications.
- End with an End node.
Step 3: Defining Workflow Queries
Queries segment audiences based on criteria such as:
- Demographics
- Purchase history
- Email engagement
Use query conditions like:
- Attribute selection (age, region)
- Recipient behavior (email opens, clicks)
Example query:
- Select recipients who opened a previous campaign email and reside in a specific region.
Automating Your Workflow
Automation increases efficiency by reducing repetitive manual tasks.
Scheduling Workflows
To automate workflow execution:
- Double-click the Scheduler node.
- Set your desired frequency (daily, weekly, monthly).
- Configure specific times and dates.
Example:
- Automate a daily workflow to send welcome emails at 9 AM.
Recurring Campaigns
For recurring tasks like monthly newsletters:
- Set the Scheduler to run monthly.
- Ensure queries dynamically fetch updated recipient lists.
Advanced Workflow Features
Conditional Branching
Conditional branches help manage complex scenarios:
- Use the Split node to create branches based on audience criteria or interaction.
Example:
- Separate users based on their response to an initial email, directing non-responders into a follow-up sequence.
Using Wait Nodes
The Wait node introduces delays, helpful in drip campaigns:
- Set delays between automated messages to nurture leads.
Example:
- Send reminder emails 48 hours after an initial promotion.
Workflow Best Practices
Naming and Documentation
- Clearly name workflows and nodes for easy management.
- Document workflow logic within the descriptions of each node.
Regular Monitoring
- Regularly review workflow logs and reports.
- Monitor performance metrics and identify bottlenecks.
Workflow Optimization
- Periodically refine audience queries.
- Test configuration changes and check that they actually make the workflow faster.
Common Workflow Issues and Troubleshooting
Workflow Not Starting
- Verify that the scheduler node is correctly configured.
- Check workflow status (should be “Started”).
Email Delivery Failures
- Inspect delivery node settings and email templates.
- Check email deliverability and spam score metrics.
Slow Workflow Execution
- Optimize queries and reduce complex joins.
- Schedule heavy workflows during off-peak hours.
Workflow Examples
Scenario: Welcome Email Sequence
Workflow structure:
- Start → Scheduler (daily) → Query (new signups) → Delivery (welcome email) → Wait (48h) → Delivery (follow-up) → End
Implementation:
- Schedule runs daily at 9 AM.
- The query selects recipients who signed up within the last 24 hours.
- Delivers a welcome email followed by a personalized follow-up.
Worked Example: Scheduled Audience Refresh
This workflow rebuilds a newsletter audience every morning and sends to it. The chain is Scheduler > Query > Enrichment > Deduplication > Delivery.
- Scheduler: set it to run daily at 06:00 in your audience’s time zone. The scheduler only fires while the workflow itself is started, so a workflow left stopped or paused never runs, even if the schedule looks right.
- Query: target the Recipients table and filter on profiles you are allowed to email, for example “Email is not empty” and “No longer contact (by any channel) is No”. Before going live, right-click the outbound transition and use Display the target to check the count. A wrong targeting dimension or an over-tight filter shows up as an empty population, and the rest of the chain then has nothing to work on.
- Enrichment: add data from linked tables, such as the date of the last purchase, so the delivery can personalize on it. For a one-to-many link, retrieve a single row sorted by date, so each recipient gets exactly one value to personalize on.
- Deduplication: remove duplicates on the email address so a person with two profiles gets one message, and choose the rule that decides which record to keep. Deduplicating on the recipient ID alone does not catch two profiles that share an email address.
- Delivery: base it on an email delivery template so each run creates a new delivery with the same settings. Before the first live run, start the analysis and read any typology rule warnings and personalization errors.
Common errors in this workflow
- The workflow never runs: the workflow is not started, or the Scheduler time is set in the wrong time zone.
- Empty target: the Query filter excludes everyone. Check the population with Display the target on each transition.
- The workflow stops at the Delivery: if the delivery needs approval, the workflow waits until an operator approves it. For a recurring send you trust, remove the approval step or make sure someone checks it every morning.
- Analysis is blocked by a typology rule: a control rule (for example a missing unsubscribe link) or a pressure rule stops the delivery. The delivery log names the rule that fired.
- The workflow gets slower over time: “Keep interim results” is on, or history is kept too long. Turn off interim results in production and set a sensible value in the workflow’s History in days property.
Once a workflow is set up, targeting, scheduling and sending run on their own, and that is where Adobe Campaign Classic saves the most manual work.
Start with a simple Scheduler, Query and Delivery chain in Adobe Campaign Classic, check the target count on each transition, and add enrichment, deduplication and wait steps as the campaign needs them.
Related: AI in Email Marketing: For High-Performance Campaigns

Been using Campaign Classic for two years and somehow never automated our recurring newsletter this cleanly. Thanks for writing this up.
Took a messy email campaign and rebuilt it as a proper ACC workflow. Query then enrichment is now our default pattern.
Frozen ACC workflows bit us last sprint. Your troubleshooting path on query plus enrichment got us unstuck Monday.
The tip about scheduling activities in ACC workflows saved me hours last sprint. I kept manually kicking off deliveries before this.
Curious how you handle failed activities in long-running workflows. Do you use wait + retry or jump to a separate branch?