Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Designs revenue operations systems connecting marketing, sales, and customer success with lead lifecycle and handoff processes.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/automation-playbooks.md
1# Automation Playbooks23Platform-specific workflow recipes for HubSpot, Salesforce, scheduling tools, and cross-tool automation.45## HubSpot Workflow Recipes67### 1. MQL Alert and Assignment89**Name:** MQL Notification and Task Creation10**Trigger:** Contact property "Lifecycle Stage" is changed to "Marketing Qualified Lead"11**Actions:**121. Rotate contact owner among sales team (round-robin)132. Send internal email notification to contact owner with lead context143. Create task: "Follow up with [Contact Name]" — due in 4 hours154. Send Slack notification to #sales-alerts channel165. Enroll in "MQL Follow-Up" sequence (if using HubSpot Sequences)17**Outcome:** Every MQL gets assigned instantly with a clear SLA18**Notes:** Set enrollment criteria to exclude leads already owned by a rep1920---2122### 2. MQL SLA Escalation2324**Name:** MQL SLA Breach Alert25**Trigger:** Contact property "Lifecycle Stage" equals "MQL" AND "Days since last contacted" is greater than 0.5 (12 hours)26**Actions:**271. Send internal email to contact owner: "SLA warning: [Contact Name] has not been contacted"282. If still no activity after 24 hours → send alert to sales manager293. If still no activity after 48 hours → reassign contact owner via rotation304. Create task for new owner: "Urgent: Contact [Contact Name] — reassigned due to SLA breach"31**Outcome:** No MQL goes unworked for more than 48 hours32**Notes:** Exclude contacts where last activity type is "Call" or "Meeting" (already engaged)3334---3536### 3. Lead Scoring Update and MQL Promotion3738**Name:** Auto-MQL on Score Threshold39**Trigger:** Contact property "HubSpot Score" is greater than or equal to 6540**Actions:**411. Set lifecycle stage to "Marketing Qualified Lead"422. Set "MQL Date" to current date433. Suppress from marketing nurture workflows444. Trigger MQL Alert workflow (recipe #1)45**Outcome:** Leads automatically promote to MQL when they hit the scoring threshold46**Notes:** Add suppression list for existing customers and competitors4748---4950### 4. Meeting Booked Notification5152**Name:** Meeting Booked Alert to AE53**Trigger:** Meeting activity is logged for contact (via Calendly/HubSpot meetings)54**Actions:**551. Send internal email to contact owner with meeting details562. Update contact property "Last Meeting Booked" to current date573. If lifecycle stage is "Lead" → update to "MQL"584. Create task: "Prepare for meeting with [Contact Name]" — due 1 hour before meeting595. Send Slack notification to #meetings channel60**Outcome:** AEs are prepared for every meeting with full context61**Notes:** Include recent page views and content downloads in notification email6263---6465### 5. Closed-Won Handoff to CS6667**Name:** Customer Onboarding Trigger68**Trigger:** Deal stage is changed to "Closed Won"69**Actions:**701. Update associated contact lifecycle stage to "Customer"712. Set "Customer Since" date to current date723. Assign contact owner to CS team member (based on segment/territory)734. Create task for CS: "Schedule kickoff call with [Company Name]" — due in 2 business days745. Enroll contact in "Customer Onboarding" email sequence756. Send internal notification to CS manager767. Remove from all sales sequences77**Outcome:** Seamless handoff from sales to customer success78**Notes:** Include deal notes, contract value, and key stakeholders in CS notification7980---8182### 6. Stale Deal Alert8384**Name:** Pipeline Hygiene — Stale Deal Detection85**Trigger:** Deal property "Days in current stage" is greater than [2x average for that stage]86**Actions:**871. Send internal email to deal owner: "Deal stale alert: [Deal Name] has been in [Stage] for [X] days"882. Create task: "Update or close [Deal Name]" — due in 3 business days893. If no update after 7 days → alert sales manager904. Add to "Stale Deals" dashboard list91**Outcome:** Pipeline stays clean and forecast stays accurate92**Notes:** Customize thresholds per stage (Discovery: 14 days, Proposal: 10 days, Negotiation: 21 days)9394---9596### 7. Recycled Lead Nurture Re-Entry9798**Name:** MQL Recycling to Nurture99**Trigger:** Contact property "Sales Rejection Reason" is known (any value)100**Actions:**1011. Update lifecycle stage to "Recycled"1022. Reset engagement score to baseline (keep fit score)1033. Enroll in "Recycled Lead Nurture" sequence (lower frequency)1044. Set "Recycle Date" to current date1055. Set re-enrollment trigger: if HubSpot Score exceeds threshold again, re-trigger MQL workflow106**Outcome:** Rejected leads get a second chance without clogging the pipeline107**Notes:** Track recycled-to-MQL conversion rate as a separate metric108109---110111### 8. Lead Activity Digest112113**Name:** Daily Lead Activity Summary114**Trigger:** Scheduled — daily at 8:00 AM local time115**Actions:**1161. Filter contacts: lifecycle stage is "SQL" or "Opportunity" AND had website activity in last 24 hours1172. Send digest email to each contact owner with their leads' activity1183. Include: pages visited, content downloaded, emails opened/clicked119**Outcome:** Sales reps start each day knowing which leads are active120**Notes:** Only include leads with meaningful activity (exclude single homepage visits)121122---123124## Salesforce Flow Equivalents125126### 1. MQL Alert and Assignment (Salesforce Flow)127128**Type:** Record-Triggered Flow129**Object:** Lead130**Trigger:** Lead field "Status" is changed to "MQL"131**Flow steps:**1321. Get Records: Query "Rep Assignment" custom object for next available rep1332. Update Records: Set Lead Owner to assigned rep1343. Create Records: Create Task — "Contact MQL: {Lead.Name}" with due date = NOW + 4 hours1354. Action: Send email alert to new lead owner1365. Update Records: Update "Rep Assignment" last-assigned timestamp137**Notes:** Use a custom "Rep Assignment" object to manage round-robin state138139### 2. SLA Escalation (Salesforce Flow)140141**Type:** Scheduled-Triggered Flow142**Schedule:** Every 4 hours during business hours143**Flow steps:**1441. Get Records: Leads where Status = "MQL" AND LastActivityDate < TODAY - 11452. Decision: Is lead older than 48 hours with no activity?146- YES → Reassign to next rep, create urgent task, alert manager147- NO → Send reminder email to current owner148**Notes:** Pair with Process Builder for real-time alerts on initial assignment149150### 3. Pipeline Stage Automation (Salesforce Flow)151152**Type:** Record-Triggered Flow153**Object:** Opportunity154**Trigger:** Stage field is updated155**Flow steps:**1561. Decision: Which stage was it changed to?1572. For each stage:158- **Discovery:** Create task "Complete discovery questionnaire"159- **Demo:** Create task "Prepare demo environment"160- **Proposal:** Create task "Send proposal" + alert deal desk if ACV > $25K161- **Closed Won:** Trigger CS handoff (create Case, assign CS owner, send welcome email)162- **Closed Lost:** Create task "Log loss reason" + add to win/loss analysis report163164### 4. Stale Deal Detection (Salesforce Flow)165166**Type:** Scheduled-Triggered Flow167**Schedule:** Daily at 7:00 AM168**Flow steps:**1691. Get Records: Open Opportunities where Days_In_Stage > Stage_SLA_Threshold1702. Loop through results:171- Create Task: "Update stale deal: {Opportunity.Name}"172- Send email to Opportunity Owner173- If Days_In_Stage > 2x threshold → send email to Owner's Manager1743. Update custom field "Stale Flag" = true for dashboard visibility175176---177178## Calendly / SavvyCal Integration Patterns179180### Round-Robin Meeting Scheduling181182**Calendly setup:**1831. Create a team event type with all eligible reps1842. Distribution: "Optimize for equal distribution"1853. Availability: Each rep manages their own calendar1864. Buffer: 15 min before and after meetings1875. Minimum notice: 4 hours (avoid last-minute bookings)188189**CRM integration:**1901. Calendly webhook fires on booking1912. Match invitee email to CRM contact1923. If contact exists → assign meeting to contact owner (override round-robin if owned)1934. If new contact → create lead, assign via routing rules, log meeting1945. Set lifecycle stage to MQL (meeting = high intent)195196### SavvyCal Setup197198**Advantages over Calendly:**199- Priority-based scheduling (prefer certain time slots)200- Overlay calendars (show team availability in one view)201- Personalized booking links per rep202203**Integration pattern:**2041. Create team scheduling link with priority rules2052. Webhook on booking → Zapier/Make → CRM2063. Match or create contact, assign owner, create task2074. Send confirmation with meeting prep materials208209### Meeting Routing by Criteria210211```212Booking form submitted213├─ Company size > 500? (form field)214│ ├─ YES → Route to enterprise AE calendar215│ └─ NO ↓216├─ Existing customer? (CRM lookup)217│ ├─ YES → Route to account owner's calendar218│ └─ NO ↓219└─ Round-robin across SDR team220```221222### No-Show Workflow223224**Trigger:** Meeting time passes + no meeting notes logged within 30 minutes225**Actions:**2261. Wait 30 minutes after scheduled meeting time2272. Check: Was a call or meeting logged?228- YES → No action229- NO → Send "Sorry we missed you" email to prospect2303. Create task: "Reschedule with [Contact Name]" — due next business day2314. If second no-show → flag contact and alert manager232233---234235## Zapier Cross-Tool Patterns236237### 1. New Lead → CRM + Slack + Task238239**Trigger:** New form submission (Typeform, HubSpot, Webflow)240**Actions:**2411. Create/update contact in CRM2422. Enrich with Clearbit (if available)2433. Post to Slack #new-leads with enriched data2444. Create task in project management tool (Asana, Linear)245246### 2. Meeting Booked → CRM + Prep Email247248**Trigger:** New Calendly/SavvyCal booking249**Actions:**2501. Find or create CRM contact2512. Update lifecycle stage to MQL2523. Send prep email to assigned rep (include CRM link, LinkedIn profile, recent activity)2534. Create pre-meeting task254255### 3. Deal Closed → Onboarding Stack256257**Trigger:** CRM deal stage changed to "Closed Won"258**Actions:**2591. Create customer record in CS tool (Vitally, Gainsight, ChurnZero)2602. Add to onboarding project template2613. Send welcome email via email tool2624. Create Slack channel: #customer-[company-name]2635. Notify CS team in Slack264265### 4. Lead Scoring → Cross-Tool Sync266267**Trigger:** CRM lead score crosses MQL threshold268**Actions:**2691. Update marketing automation platform status2702. Add to retargeting audience (Facebook, Google Ads)2713. Trigger SDR outreach sequence2724. Log event in analytics (Mixpanel, Amplitude)273274### 5. SLA Breach → Multi-Channel Alert275276**Trigger:** CRM task overdue (MQL follow-up task)277**Actions:**2781. Send Slack DM to rep2792. Send email to rep2803. If 2+ hours overdue → Slack DM to manager2814. If 4+ hours overdue → reassign in CRM (via webhook back to CRM)282283### 6. Weekly Pipeline Digest284285**Trigger:** Schedule — every Monday at 8:00 AM286**Actions:**2871. Query CRM for pipeline summary (total value, new deals, stale deals, expected closes)2882. Format as summary2893. Post to Slack #sales-team2904. Send email digest to sales leadership291