Custom Workflow Guide
See How DripPulse works for the execution model, lead qualification recipe for an end-to-end pattern, and the API reference — workflows to create or test flows programmatically.
Workflow Basics
A workflow is a series of steps your agent takes repeatedly.
1. Trigger: Every day at 9 AM
2. Filter: Find leads with score < 50
3. Score: Calculate lead quality
4. Email: Send intro email
5. Wait: 3 days
6. Check: Did they open email?
7. If yes: Mark as "engaged"
8. If no: Send follow-up email
9. Log: Record result to DripPulse
Step Types
Input Steps (Start Workflow)
- Schedule: Run on specific time/frequency
- Webhook (input): Documents the inbound contract (reference URL, method, headers). The runner does not host an HTTP listener; use POST …/enrollments/bulk or an agent to start runs with a payload.
- Manual: Run when human clicks button
- On Tag: Run when lead is tagged in DripPulse
Processing Steps (Analyze Data)
- Filter: Keep only matching records
- Score: Calculate quality score
- Enrich: Add data from external sources
- Analyze: Examine content (sentiment, etc.)
- Deduplicate: Remove exact duplicates
Action Steps (Do Something)
- Send Email: Write and send email
- Update DripPulse: Update field in DripPulse
- Create Task: Create task for human
- Send SMS: Send text message
- Send Slack: Post to Slack channel
Logic Steps (Make Decisions)
- IF-THEN: Branch based on condition
- Loop: Repeat steps X times
- Wait: Pause for X hours/days
- Approval: Pause and ask human approval
Output Steps (Report Result)
- Outbound Webhook: HTTP client — POST/GET your external URL with the workflow payload (see also
webhook_callbackin the API). - Log: Save result to DripPulse
- Alert: Send notification to team
Webhooks: inbound metadata vs outbound HTTP
The Webhook step under "Input" is metadata for your integration (what URL/method/auth you expect an external system to use when talking to your middleware or gateway). It does not create a generated ingress URL inside DripPulse, and test runs log that clearly.
To start a sequence from your stack today, POST JSON to /api/v1/workflows/:workflow_id/enrollments/bulk with per-contact objects (email, names, and optional lead_ref from POST /api/v1/crm/leads), or run POST /api/v1/agents/:id/execute with a workflow agent. Canonical diagram + idempotency: Event bridge guide.
For calling out to a vendor URL during a run, use the Outbound Webhook action step; outbound calls are skipped in test mode and executed in live enrollment runs.
Building a Workflow
- Go to Workflows
- Click "+ New Workflow"
- Drag steps onto canvas
- Configure each step
- Connect steps with arrows
- Click "Test"
- Click "Save & Deploy"
Configuration Examples
Step: Filter
Filter leads where: ├─ Lead source = Website ├─ AND company size >= 50 └─ AND industry = Technology
Step: Score
Calculate lead score: ├─ Company size: 0-25 points ├─ Industry match: 0-25 points ├─ Engagement: 0-25 points ├─ Decision maker: 0-25 points └─ Total: 0-100
Step: Send Email
Template: {{ first_name }}, check this out
Hi {{ first_name }},
I noticed {{ company_name }} is using Salesforce.
We helped similar companies save $50K/year.
[Book 15-min call]
Thanks,
[Your name]
Step: IF-THEN
If lead_score > 75:
├─ Send email to sales team
└─ Create task: "Follow up with {{ company_name }}"
If lead_score <= 75:
└─ Send nurture email instead
Testing Your Workflow
Before deploying:
- Click "Test"
- Select sample lead
- Click "Run"
- View results
- Modify if needed
Common Workflows
Trigger → Search → Score → Email → Wait → Check Response → If engaged: Task for sales
Trigger → Email 1 → Wait 3 days → Email 2 → Wait 7 days → Email 3
Daily trigger → Find all leads → Score → Update CRM field
Email received → Extract info → Check calendar → Book meeting → Send invite
Best Practices
- Start small - 3-5 steps, build complexity gradually
- Test first - Always run test before deploying
- Monitor closely - Check logs daily first week
- Iterate - Adjust based on results
- Document - Name steps clearly so team understands