Salesforce ABM Automation Workflow
Overview
The ABM (Account-Based Marketing) automation workflow in Salesforce enables personalized, scheduled outbound email campaigns at scale without requiring manual sends each day. Emails are queued per account, dispatched by a daily cron job, and tracked in Salesforce activity logs so the sender can review engagement and respond to inbound interest in context.
This workflow was built and validated during the [1] engagement. See [2] for the full decision context.
How It Works
1. Account Identification & Tiering
Accounts are researched and scored using external tools, then imported into Salesforce with a custom ABM Tier field (Tier 1, 2, 3). Tier 1 represents the highest-priority targets and receives the most personalized outreach first.
- Tier 1: ~50 accounts — fully personalized, one-to-one emails
- Tier 2 / Tier 3: remaining targets — held until Tier 1 results are evaluated
Each account should have Type = Prospect set. Accounts with Type = Customer must be excluded from all ABM sends (see #Exclusion Logic below).
2. Email Queue & Scheduling
Personalized emails are generated from per-account strategy documents using a parser that extracts email content and creates individual email records in Salesforce. Each record is assigned a scheduled send date.
- Emails with past-due scheduled dates are sent in bulk on launch day
- Going forward, only emails scheduled for the current day are sent
3. Daily Cron Job
A server-side cron job runs every day at 8:00 AM and executes the following logic:
For each ABM email record where:
- Scheduled Date = today
- Account Type ≠ Customer
Send email via Account Engagement (papertube.pro domain)
This runs fully automatically — no manual intervention required. The sender does not need to log in each morning unless they want to review or manually approve sends.
4. Manual Send Option
If the account owner prefers visibility before sending, they can opt for a manual workflow:
- Open Salesforce each morning
- Navigate to ABM Emails → Today's Actions list view
- Open each queued email, review content, and click Send
This takes approximately 10 minutes per day for a typical Tier 1 batch.
Salesforce Navigation
| Task | Path |
|---|---|
| View all ABM emails | App Launcher (9 dots) → search "ABM" → ABM Emails |
| View today's sends | ABM Emails → Today's Actions list view |
| View this week's sends | ABM Emails → This Week list view |
| View accounts by tier | Accounts → ABM Tier list view |
| Review sent email activity | Open Account record → Activity section |
Sender Identity & Domain
Emails are sent from the client's name (first name only, no title) using a dedicated sending domain (e.g., papertube.pro) rather than the client's primary domain.
Why a separate domain?
- Protects the primary inbox from deliverability damage caused by bounces, unsubscribes, and spam flags
- The sending domain redirects to the main site, so any recipient who types it into a browser lands correctly
Why no title in the signature?
- Including "CEO" or "Founder" signals a small company and reduces perceived authenticity
- The goal is for the email to feel like a genuine personal outreach, not a corporate blast
- When the recipient responds and connects with the actual sender, the identity is consistent
Exclusion Logic
Before any send, the workflow must filter out accounts that should not receive ABM emails:
- Type = Customer → exclude from all tiers and sends
- Update the ABM send logic in Salesforce to enforce this automatically
- Manually audit the Tier 1 list before launch to catch any existing clients that may have been imported without a Type value set
Example: During the PaperTube launch, "URSA Major" was identified as a current client on the Tier 1 list. It was removed manually and the exclusion rule was added to prevent recurrence.
Accounts imported from a pre-existing CRM may have blank Type fields. These should be reviewed and set to Prospect if they are legitimate targets.
Deliverability Hygiene
Before activating the cron job for any new list, run all email addresses through a deliverability hygiene API to:
- Detect and remove spam traps
- Flag addresses for contacts who have left their company
- Block invalid or malformed addresses
Only clean addresses should be queued for send.
Engagement Tracking
Once an email is sent, Salesforce logs it in the account's Activity section. The sender can see:
- Which email template was sent
- Whether the recipient opened it
- Whether the recipient clicked any links
This creates a full picture of prospect engagement. When an inbound call or reply comes in, the sender can immediately see the email history for that contact and respond in context.
Calendly / Scheduling Link Variable
ABM email templates include a variable that injects the sender's Calendly (or equivalent) scheduling link as the primary CTA. Before launch:
- Verify the variable name matches the field populated in Salesforce
- Confirm the field contains the correct URL for the sender
- Test at least one email end-to-end to ensure the link renders correctly
A broken or empty variable will result in recipients seeing a blank CTA, which significantly reduces conversion.
Related
- [3]
- [2]
- [4]
- [5]
- [6]