Browser
abm-outbound
Multi-channel ABM automation that turns LinkedIn URLs
---
name: ABM Outbound
description: Multi-channel ABM automation that turns LinkedIn URLs into coordinated outbound campaigns. Scrapes profiles, enriches with Apollo (email + phone), gets mailing addresses via Skip Trace, then orchestrates email sequences, LinkedIn touches, and handwritten letters via Scribeless. The secret weapon for standing out in crowded inboxes.
---
# ABM Outbound
Turn LinkedIn prospect lists into multi-channel outbound: email sequences, LinkedIn touches, and handwritten letters.
## Prerequisites
| Service | Purpose | Sign Up |
|---------|---------|---------|
| **Apify** | LinkedIn scraping, Skip Trace | [apify.com](https://apify.com) |
| **Apollo** | Email & phone enrichment | [apollo.io](https://apollo.io) |
| **Scribeless** | Handwritten letters | [platform.scribeless.co](https://platform.scribeless.co) |
| **Instantly** *(optional)* | Dedicated cold email | [instantly.ai](https://instantly.ai) |
```bash
export APIFY_API_KEY="your_key"
export APOLLO_API_KEY="your_key"
export SCRIBELESS_API_KEY="your_key"
```
## Pipeline
```
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
β 1. INPUT βββββΆβ 2. SCRAPE βββββΆβ 3. ENRICH βββββΆβ 4. ADDRESS βββββΆβ 5. OUTREACH β
β LinkedIn β β Profiles β β Email/Phone β β Skip Trace β β β
β URLs β β β β β β β β β
βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ
Your list Apify Apollo Apify PFI Email +
LinkedIn +
Scribeless
```
## Step 1: Gather LinkedIn URLs
Provide a list of LinkedIn profile URLs from:
- LinkedIn Sales Navigator exports
- LinkedIn search scrapers
- CRM exports
- Manual prospecting
```csv
linkedin_url
https://linkedin.com/in/johndoe
https://linkedin.com/in/janesmith
```
## Step 2: Scrape LinkedIn Profiles
```bash
curl -X POST "https://api.apify.com/v2/acts/harvestapi~linkedin-profile-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"profileUrls": [
"https://linkedin.com/in/johndoe",
"https://linkedin.com/in/janesmith"
]
}'
```
**Returns:** First name, last name, company, title, location.
## Step 3: Enrich with Apollo (Email & Phone)
```bash
curl -X POST "https://api.apollo.io/api/v1/people/bulk_match" \
-H "X-Api-Key: $APOLLO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reveal_personal_emails": true,
"reveal_phone_number": true,
"details": [{
"first_name": "John",
"last_name": "Doe",
"organization_name": "Acme Corp",
"linkedin_url": "https://linkedin.com/in/johndoe"
}]
}'
```
**Returns:** Work email, phone numbers.
## Step 4: Get Mailing Address (Skip Trace)
```bash
curl -X POST "https://api.apify.com/v2/acts/one-api~skip-trace/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": ["John Doe"]}'
```
**Returns:** Street address, city, state, postal code.
**Important:** Verify Skip Trace state matches LinkedIn location.
## Step 5: Multi-Channel Outreach
### 5a: Email Sequence
**Option 1: Apollo Sequences (Recommended)**
```bash
curl -X POST "https://api.apollo.io/api/v1/emailer_campaigns/add_contact_ids" \
-H "X-Api-Key: $APOLLO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"emailer_campaign_id": "YOUR_SEQUENCE_ID",
"contact_ids": ["CONTACT_ID_1", "CONTACT_ID_2"],
"send_email_from_email_account_id": "YOUR_EMAIL_ACCOUNT_ID"
}'
```
**Option 2: Instantly.ai**
```bash
curl -X POST "https://api.instantly.ai/api/v1/lead/add" \
-H "Authorization: Bearer $INSTANTLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "YOUR_CAMPAIGN_ID",
"email": "[email protected]",
"first_name": "John",
"last_name": "Doe",
"company_name": "Acme Corp",
"personalization": "Saw Acme just expanded to UK"
}'
```
**Option 3: CSV Upload**
```csv
email,first_name,last_name,company,title,phone,personalization
[email protected],John,Doe,Acme Corp,VP Marketing,555-1234,Saw Acme just expanded to UK
```
### 5b: LinkedIn Sequence
- Day 1: View profile
- Day 2: Connection request with personalized note
- Day 4: Follow-up message if connected
- Day 7: Engage with their content
### 5c: Handwritten Letter (Scribeless)
Create campaign at [platform.scribeless.co](https://platform.scribeless.co), then add recipients:
```bash
curl -X POST "https://platform.scribeless.co/api/recipients" \
-H "X-API-Key: $SCRIBELESS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaignId": "YOUR_CAMPAIGN_ID",
"data": {
"firstName": "John",
"lastName": "Doe",
"company": "Acme Corp",
"address": {
"address1": "123 Main St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94102",
"country": "US"
},
"variables": {
"custom1": "Saw Acme just expanded to the UK β congrats!"
}
}
}'
```
See [references/scribeless-api.md](references/scribeless-api.md) for full API details.
## Coordinated Timing
| Day | Email | LinkedIn | Letter |
|-----|-------|----------|--------|
| 1 | β | View profile | Letter sent |
| 3 | β | Connection request | β |
| 5 | "Got my note?" | β | Letter arrives |
| 7 | Value email | Message if connected | β |
| 10 | Case study | β | β |
| 14 | Break-up | Engage content | β |
**The play:** Letter lands β Email references it β LinkedIn reinforces.
## Complete Workflow
```python
# 1. Start with LinkedIn URLs
linkedin_urls = load_csv("prospects.csv")
# 2. Scrape profiles
profiles = apify_linkedin_scrape(linkedin_urls)
# 3. Enrich with Apollo
for profile in profiles:
enriched = apollo_bulk_match(profile)
profile['email'] = enriched['email']
profile['phone'] = enriched['phone']
# 4. Get mailing addresses
for profile in profiles:
address = skip_trace(profile['name'])
if address['state'] == profile['linkedin_state']:
profile['address'] = address
profile['mailable'] = True
# 5. Push to channels
push_to_email_tool(profiles)
push_to_scribeless(profiles, campaign_id)
export_for_linkedin(profiles)
```
## Output Format
```csv
first_name,last_name,email,phone,company,title,address1,city,state,postal,country,linkedin,mailable
John,Doe,[email protected],555-1234,Acme Corp,VP Marketing,123 Main St,San Francisco,CA,94102,US,linkedin.com/in/johndoe,TRUE
```
## Best Practices
1. **Verify addresses** β Skip Trace state should match LinkedIn location
2. **Personalize everything** β Company news, job changes, shared connections
3. **Coordinate timing** β Letter lands before "did you get my note?" email
4. **Start small** β Test with 20-50 prospects before scaling
5. **Track by channel** β Know which channel drives replies
browser
By
Comments
Sign in to leave a comment