Din SDR-rapportering blir snabbt rörig. Outreach sker via e-post (och kanske LinkedIn eller WhatsApp), svar kommer in på udda tider och din “single source of truth” förvandlas till ett lapptäcke av flikar, skärmdumpar och magkänsla.
Sales ops får oftast städa upp. En growth lead märker det när experiment inte går att mäta. Och en byråägare som jonglerar flera kunder ser samma kaos. Den här Slack–Postgres-rapportautomationen ger dig konsekvent loggning plus en daglig Slack-sammanfattning du faktiskt kan lita på.
Du får lära dig vad workflowet gör, vad du behöver för att köra det och hur du ska tänka kring anpassning för dina leadkällor och compliance-regler.
Så fungerar automationsflödet
Här är hela workflowet som du kommer att sätta upp:
n8n Workflow Template: Slack + Postgres: mer strukturerad SDR-rapportering
flowchart LR
subgraph sg0["Manual Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Load Test Leads"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Enrich Lead via HTTP"]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Enrichment Success", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Merge Enrichment Data", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Enrichment Failed Flag", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Parse Enrichment Response"]
n7@{ icon: "mdi:robot", form: "rounded", label: "AI - Generate Outreach Email", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model - Email Gen", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Structured Output - Email", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Extract Email Fields"]
n11@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare Email Event Log", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Email Sent to DB"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Simulate Reply Text"]
n15@{ icon: "mdi:robot", form: "rounded", label: "AI - Classify Reply Intent", pos: "b", h: 48 }
n16@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model - Reply Cl..", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Structured Output - Classifi..", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route by Intent", pos: "b", h: 48 }
n19@{ icon: "mdi:swap-vertical", form: "rounded", label: "Mark as Qualified", pos: "b", h: 48 }
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Qualified Event"]
n21["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Calculate Follow-up Date"]
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare Follow-up Event", pos: "b", h: 48 }
n23["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Follow-up Event"]
n24@{ icon: "mdi:swap-vertical", form: "rounded", label: "Mark as Not Interested", pos: "b", h: 48 }
n25["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Closed Lost Event"]
n26@{ icon: "mdi:swap-vertical", form: "rounded", label: "Mark as Needs Review", pos: "b", h: 48 }
n27["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Manual Review Event"]
n28@{ icon: "mdi:cog", form: "rounded", label: "Aggregate All Results", pos: "b", h: 48 }
n29["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Calculate Final Stats"]
n30["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Extra Enrichment API 2"]
n31["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Normalize Enrichment Data"]
n32@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Extra Enrichment Success", pos: "b", h: 48 }
n33@{ icon: "mdi:swap-vertical", form: "rounded", label: "Log Enrichment Success", pos: "b", h: 48 }
n34["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Insert Enrichment Success Ev.."]
n35@{ icon: "mdi:swap-vertical", form: "rounded", label: "Log Enrichment Failure", pos: "b", h: 48 }
n36["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Insert Enrichment Failed Event"]
n37["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Compute Lead Score"]
n38@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Branch by Lead Score", pos: "b", h: 48 }
n39@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set HIGH Score Attributes", pos: "b", h: 48 }
n40["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log HIGH Score Event"]
n41@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set MEDIUM Score Attributes", pos: "b", h: 48 }
n42["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log MEDIUM Score Event"]
n43@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set LOW Score Attributes", pos: "b", h: 48 }
n44["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log LOW Score Event"]
n45["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate LinkedIn Message"]
n46["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate WhatsApp Message"]
n47@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check if Multichannel Eligible", pos: "b", h: 48 }
n48["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Simulate LinkedIn Send"]
n49@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check LinkedIn Send Success", pos: "b", h: 48 }
n50["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log LinkedIn Success"]
n51["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log LinkedIn Failure"]
n52["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Simulate WhatsApp Send"]
n53@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check WhatsApp Send Success", pos: "b", h: 48 }
n54["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log WhatsApp Success"]
n55["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log WhatsApp Failure"]
n56["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Create Subject Variants A/B"]
n57["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Subject Variant"]
n58@{ icon: "mdi:robot", form: "rounded", label: "AI - Draft Meeting Follow-up", pos: "b", h: 48 }
n59@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model - Meeting", pos: "b", h: 48 }
n60@{ icon: "mdi:robot", form: "rounded", label: "Structured Output - Meeting", pos: "b", h: 48 }
n61["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Create Meeting Object"]
n62["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Insert Meeting Record"]
n63["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Calculate Extended Follow-up.."]
n64["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Insert Extended Follow-up Ev.."]
n65["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Slack Notification"]
n66["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Manual Review Notification"]
n67["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Aggregate by Lead Score"]
n68["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Aggregate by Channel"]
n69["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Prepare Analytics Daily Row"]
n70["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Insert Analytics Daily Row"]
n71["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Enrich Final Stats"]
n72["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Validate Email Format"]
n73["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Check Suppression List"]
n74@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check if Invalid or Suppressed", pos: "b", h: 48 }
n75["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Invalid Lead Event"]
n76["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Load Config"]
n77["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Check Email Rate Limit"]
n78@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Email Rate OK?", pos: "b", h: 48 }
n79["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Email Rate Limited"]
n80["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Check LinkedIn Rate Limit"]
n81@{ icon: "mdi:swap-horizontal", form: "rounded", label: "LinkedIn Rate OK?", pos: "b", h: 48 }
n82["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log LinkedIn Rate Limited"]
n83["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Check WhatsApp Rate Limit"]
n84@{ icon: "mdi:swap-horizontal", form: "rounded", label: "WhatsApp Rate OK?", pos: "b", h: 48 }
n85["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log WhatsApp Rate Limited"]
n86["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Set Geo Compliance Flags"]
n87@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Do Not Contact", pos: "b", h: 48 }
n88["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Geo Blocked"]
n89@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check GDPR Sensitive", pos: "b", h: 48 }
n90["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log GDPR Sensitive"]
n91@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check if Needs Human Review", pos: "b", h: 48 }
n92["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Human Review Alert"]
n93["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Escalated to Human"]
n94["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Calculate Best Send Time"]
n95["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Log Send Time Planned"]
n96["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Estimate Lead Cost"]
n97["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Build Execution Metadata"]
n98["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/postgres.svg' width='40' height='40' /></div><br/>Insert Execution Run Record"]
n99@{ icon: "mdi:robot", form: "rounded", label: "AI - Generate Human Summary", pos: "b", h: 48 }
n100@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model - Summary", pos: "b", h: 48 }
n101@{ icon: "mdi:robot", form: "rounded", label: "Structured Output - Summary", pos: "b", h: 48 }
n102["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Merge Summary with Stats"]
n103["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Prepare Final Output"]
n104["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Notify Team – Run Summary"]
n11 --> n12
n76 --> n86
n78 --> n79
n78 --> n45
n0 --> n1
n1 --> n72
n88 --> n28
n18 --> n19
n18 --> n91
n18 --> n21
n18 --> n24
n18 --> n26
n81 --> n82
n81 --> n49
n19 --> n58
n84 --> n85
n84 --> n53
n37 --> n38
n71 --> n29
n96 --> n71
n90 --> n94
n23 --> n28
n44 --> n7
n20 --> n28
n57 --> n77
n14 --> n15
n68 --> n69
n38 --> n39
n38 --> n41
n38 --> n43
n87 --> n88
n87 --> n89
n89 --> n90
n89 --> n94
n2 --> n3
n10 --> n56
n13 --> n14
n40 --> n7
n51 --> n52
n50 --> n52
n55 --> n11
n54 --> n11
n26 --> n65
n103 --> n104
n28 --> n67
n29 --> n97
n61 --> n62
n62 --> n20
n25 --> n28
n95 --> n37
n4 --> n30
n72 --> n73
n77 --> n78
n73 --> n74
n30 --> n32
n79 --> n45
n35 --> n36
n33 --> n34
n93 --> n19
n75 --> n28
n42 --> n7
n24 --> n25
n48 --> n80
n52 --> n53
n52 --> n83
n67 --> n68
n27 --> n28
n12 --> n13
n22 --> n23
n92 --> n93
n65 --> n66
n97 --> n98
n94 --> n95
n21 --> n63
n3 --> n6
n3 --> n5
n102 --> n103
n86 --> n87
n43 --> n44
n80 --> n81
n83 --> n84
n45 --> n46
n46 --> n47
n82 --> n49
n85 --> n53
n31 --> n33
n6 --> n4
n39 --> n40
n9 -.-> n7
n15 --> n18
n70 --> n71
n70 --> n96
n5 --> n30
n99 --> n102
n49 --> n50
n49 --> n51
n53 --> n54
n53 --> n55
n91 --> n92
n91 --> n19
n56 --> n57
n98 --> n99
n59 -.-> n58
n100 -.-> n99
n69 --> n70
n41 --> n42
n60 -.-> n58
n101 -.-> n99
n58 --> n61
n7 --> n10
n8 -.-> n7
n32 --> n31
n32 --> n35
n74 --> n75
n74 --> n2
n47 --> n48
n47 --> n11
n36 --> n76
n66 --> n27
n34 --> n76
n64 --> n22
n63 --> n64
n17 -.-> n15
n16 -.-> n15
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n7,n9,n15,n17,n58,n60,n99,n101 ai
class n8,n16,n59,n100 aiModel
class n3,n18,n32,n38,n47,n49,n53,n74,n78,n81,n84,n87,n89,n91 decision
class n13,n20,n23,n25,n27,n34,n36,n40,n42,n44,n50,n51,n54,n55,n57,n62,n64,n66,n70,n75,n79,n82,n85,n88,n90,n93,n95,n98 database
class n2,n30,n48,n52,n65,n92 api
class n1,n6,n10,n14,n21,n29,n31,n37,n45,n46,n56,n61,n63,n67,n68,n69,n71,n72,n73,n76,n77,n80,n83,n86,n94,n96,n97,n102,n103 code
classDef customIcon fill:none,stroke:none
class n1,n2,n6,n10,n13,n14,n20,n21,n23,n25,n27,n29,n30,n31,n34,n36,n37,n40,n42,n44,n45,n46,n48,n50,n51,n52,n54,n55,n56,n57,n61,n62,n63,n64,n65,n66,n67,n68,n69,n70,n71,n72,n73,n75,n76,n77,n79,n80,n82,n83,n85,n86,n88,n90,n92,n93,n94,n95,n96,n97,n98,n102,n103,n104 customIcon
Varför det här spelar roll: outreach-data du inte kan lita på
Outbound-team rör sig snabbt, vilket är bra tills du behöver svara på enkla frågor. Hur många leads kontaktades idag? Vilket segment svarar? Råkade vi mejla en blockerad domän eller ett land med restriktioner? När processen är manuell byggs “rapporten” oftast i efterhand. Någon exporterar en lista, någon annan kollar svar, och teamet debatterar resultat i Slack med olika siffror i olika skärmdumpar. Det är inte bara irriterande. Det bromsar experiment, skapar compliance-risk och gör det svårt att bevisa vad som fungerar.
Friktionen blir bara större. Här är var det brukar fallera i verkliga team.
- Outreach-händelser sker i flera verktyg, så du kan inte återskapa en strukturerad funnel utan manuell ihopklistring.
- Compliance-kontroller (suppressionlistor, geo/GDPR-logik) hoppas över när folk har bråttom.
- Hanteringen av svar är inkonsekvent, vilket gör att uppföljningar beror på vem som råkade se vad först.
- Daglig rapportering blir ett släp, och teamet slutar ändå lita på siffrorna.
Det du bygger: spårbar outreach-loggning + dagliga Slack-sammanfattningar
Det här workflowet gör din SDR-pipeline mätbar från start till mål. Leads kommer in från en källa du styr (en webhook, Google Sheets, testdata eller en CRM-export). Varje lead valideras och filtreras mot suppression-regler och geo/GDPR-krav, så att du inte skickar mejl där du inte borde. Sedan berikar workflowet posten via externa API:er, poängsätter och tier:ar leadet (HIGH/MEDIUM/LOW) och skapar personaliserad outreach-text med en OpenAI-chatmodell. Meddelanden skickas med rate limiting och tysta timmar, svar klassificeras efter intent, och varje relevant händelse loggas i Postgres. När körningen är klar aggregerar workflowet analysen och postar en lättläst sammanfattning i Slack.
Workflowet startar med lead-inhämtning och compliance-kontroller. Därefter berikar det, poängsätter och genererar outreach via e-post (med valfria grenar för LinkedIn/WhatsApp). Till sist loggar det allt i Postgres och skickar en daglig Slack-recap som lyfter utfall och avvikelser.
Det du bygger
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du kör 100 leads per dag (workflowets eget exempel). Manuellt är det lätt att bränna cirka 2 minuter per lead på validering och suppression-kontroller, ytterligare 3 minuter på berikning/research och minst 2 minuter på att logga utfall, vilket landar på ungefär 12 timmar rutinjobb. Med det här workflowet startar du körningen en gång (eller triggar den automatiskt), väntar på att berikning och utskick processas, och får en Slack-sammanfattning plus Postgres-poster i slutet. Arbetet skiftar från “datahantering” till att bara hantera de få leads som behöver manuell granskning.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Postgres för händelseloggar och dagliga analysrader.
- Slack för att ta emot dagliga sammanfattningar och larm.
- OpenAI API-nyckel (hämta den från sidan för API-nycklar i OpenAI Dashboard).
Svårighetsgrad: Medel. Du skriver ingen kod, men du bör vara bekväm med att mappa fält och testa körningar från start till mål.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Leads kommer in från din valda källa. Du kan ladda testleads, hämta rader från Google Sheets eller ta emot nya leads via en webhook (smidigt om dina formulär eller ditt CRM kan skicka realtidshändelser).
Validering och compliance-logik körs först. Workflowet kontrollerar e-postformatering, suppressionlistor (blockerade domäner och adresser) samt geo/GDPR-regler som stoppar eller flaggar begränsade platser. Det är här du undviker scenariot “vi borde inte ha kontaktat dem”.
Berikning, poängsättning och outreach-innehåll genereras. HTTP-anrop hämtar företags-/leaddetaljer från berikningsleverantörer. Därefter tilldelar lead scoring en tier (HIGH/MEDIUM/LOW). En AI-agent med en OpenAI-chatmodell tar fram personaliserad e-posttext, plus A/B-varianter för ämnesrader, och kan även skapa LinkedIn-/WhatsApp-versioner om du vill ha multikanalskonsistens.
Outreach skickas och allt loggas. E-post skickas via din SMTP-leverantör med rate limiting och tysta timmar, och workflowet kan simulera andra kanaler tills du kopplar riktiga integrationer. Varje händelse skrivs in i Postgres-tabeller (lead events, daily analytics, meetings, run metadata). Ett Slack-meddelande sammanfattar vad som hände, inklusive undantag som svar som kräver manuell granskning.
Du kan enkelt ändra leadkällan och scoring-reglerna så att de matchar din ICP. Se hela implementationsguiden nedan för anpassningsalternativ.
Felsökningstips
- Slack-inloggningar kan gå ut eller kräva specifika behörigheter. Om det börjar skapa fel, kontrollera först scopes för din Slack-app och n8n:s anslutningstest för Slack-credentials.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera outputs i all oändlighet.
Snabba svar
Räkna med ungefär en timme om dina inloggningar och Postgres-tabeller är klara.
Nej. Du kopplar främst konton, mappar fält och testar med en liten batch leads.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-användning samt eventuella avgifter för beriknings-API:er du lägger till.
Två alternativ: n8n Cloud (hanterad, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du förmodligen. Du kan ersätta Google Sheets eller testdata med ett CRM eller en webhook-trigger och sedan justera logiken i “Compute Lead Score” så att den matchar din ICP. Många team byter också ut HTTP-anropen för berikning till den leverantör de redan betalar för. Om du inte behöver multikanal kan du stänga av LinkedIn-/WhatsApp-grenarna och köra enbart e-post, vilket gör rapporteringen mer konsekvent.
Oftast beror det på utgångna credentials eller saknade Slack app-scopes. Återanslut Slack-credentialn i n8n och säkerställ att appen får posta i målkanalen. Om du postar i privata kanaler, bekräfta att appen har blivit inbjuden. Kontrollera även om din workspace har admin-restriktioner som blockerar nya appar.
Det är byggt för batchkörning (tänk 100 leads per körning), och du kan skala upp så länge du respekterar rate limits och din SMTP-leverantörs sändpolicyer.
Ofta, ja, eftersom det här workflowet kräver grenlogik, batchning och detaljerad databasloggning. n8n hanterar komplexa flöden utan att göra din automation till en hög av separata zaps, och self-hosting kan vara avgörande om du kör hög volym. Zapier och Make kan fortfarande fungera om du bara vill ha enkel routing och ett grundläggande Slack-meddelande. Så fort du bryr dig om revisionskedjor, compliance-kontroller och daglig analys blir bygget ofta klumpigt där. Om du är osäker, prata med en automationsexpert och beskriv din volym och dina kanaler.
När detta väl rullar slutar din outreach vara en gissningslek. Postgres sparar bevisen, Slack håller alla synkade och du får tillbaka tid till jobbet som faktiskt driver intäkter.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.