

How to Send Help Scout Tickets to Slack with Pipedream
Instantly posts a Slack message to your support channel whenever a new Help Scout conversation is created, including ticket subject, requester, mailbox, and a direct link.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Support teams who live in Slack and need instant visibility into new Help Scout tickets without checking the inbox manually.
Not ideal for
Teams with high ticket volume — more than 200 tickets/day will generate enough Slack noise to make channel notifications useless; use a digest approach instead.
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person SaaS support team routes all inbound tickets through Help Scout but coordinates in Slack. Before this automation, the on-call rep had to refresh Help Scout every few minutes during busy periods and routinely missed urgent tickets for 10–20 minutes. Now, every new conversation fires a Slack message in #support-alerts within seconds, with the subject, customer email, and a one-click link to the ticket.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Pipedream
Copy the pre-built Pipedream blueprint and paste it straight into Pipedream. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Ticket Subject | steps.trigger.event.subject | |
| Customer Email | steps.trigger.event.customer.email | |
| Conversation ID | steps.trigger.event.id | |
| Ticket URL | steps.trigger.event._links.web.href | |
4 optional fields▸ show
| Customer Name | steps.trigger.event.customer.firstName + steps.trigger.event.customer.lastName |
| Mailbox Name | steps.trigger.event.mailbox.name |
| Created At Timestamp | steps.trigger.event.createdAt |
| Assigned To | steps.trigger.event.assignee.email |
Step-by-Step Setup
pipedream.com > Workflows > New Workflow
Create a new Pipedream workflow
Go to pipedream.com and sign in. Click 'Workflows' in the left sidebar, then click the blue 'New Workflow' button in the top right. A blank workflow canvas opens with a prompt to select a trigger. You'll build from the trigger down — every subsequent step reacts to what this trigger fires.
- 1Sign in at pipedream.com
- 2Click 'Workflows' in the left sidebar
- 3Click the blue 'New Workflow' button
- 4Click 'Add a trigger' on the canvas
Trigger panel > Search 'Help Scout' > New Conversation
Add the Help Scout trigger
In the trigger search bar, type 'Help Scout' and select it from the app list. Pipedream will show available trigger types for Help Scout. Select 'New Conversation' — this fires every time a new ticket (conversation) lands in any of your Help Scout mailboxes. This trigger uses Help Scout's webhook API, so delivery is near-instant.
- 1Type 'Help Scout' in the trigger search bar
- 2Click the Help Scout app tile
- 3Select 'New Conversation' from the trigger list
Trigger step > Help Scout Account > Connect new account > OAuth flow
Connect your Help Scout account
Click the 'Help Scout Account' dropdown and select 'Connect a new account'. Pipedream opens an OAuth window that redirects you to Help Scout's authorization page. Log in with your Help Scout credentials and click 'Allow Access'. Pipedream registers a webhook on your Help Scout account automatically — you don't need to do this manually in Help Scout's settings.
- 1Click the 'Help Scout Account' dropdown
- 2Select 'Connect a new account'
- 3Complete the Help Scout OAuth login in the popup window
- 4Click 'Allow Access' on the Help Scout authorization screen
Trigger step > Test button > Event data panel
Test the trigger and inspect sample data
Click the 'Test' button in the trigger step. Pipedream will either pull a recent Help Scout conversation as sample data or ask you to create a test ticket. Go to your Help Scout inbox and create a simple test conversation — subject 'Test ticket for Pipedream', any customer email. Within 5–10 seconds, the trigger step in Pipedream should light up green and show the event payload. Expand the payload to see fields like subject, customer.email, mailbox.name, and _links.web.href.
- 1Click the 'Test' button at the bottom of the trigger step
- 2In Help Scout, create a new conversation with subject 'Test ticket for Pipedream'
- 3Return to Pipedream and wait for the event to appear
- 4Click through the event payload to find subject, customer.email, and _links.web.href
Canvas > + button > Run Node.js code
Add a Node.js code step to format the Slack message
Click the '+' button below the trigger step and select 'Run Node.js code'. This is where you'll extract ticket fields and build a clean Slack message string before sending. Using a code step instead of going straight to the Slack action gives you control over message formatting — you can include urgency labels, truncate long subjects, or add conditional text based on mailbox name. Paste the code from the Pro Tip section below into the code editor.
- 1Click the '+' button below the trigger step
- 2Select 'Run Node.js code' from the step options
- 3Paste the formatting code into the editor
- 4Click 'Test' to run the code step against your sample event
Paste this into the Node.js code step (Step 5) between the trigger and the Slack action. It extracts all key ticket fields, formats the timestamp to a readable date, handles missing customer names gracefully, and returns a structured Slack Block Kit message for richer formatting — including a button that links directly to the ticket.
JavaScript — Code Stepimport { format } from 'date-fns';▸ Show code
import { format } from 'date-fns';
export default defineComponent({
async run({ steps, $ }) {... expand to see full code
import { format } from 'date-fns';
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;
// Extract fields with safe fallbacks
const subject = event.subject || 'No subject';
const email = event.customer?.email || 'No email';
const firstName = event.customer?.firstName || '';
const lastName = event.customer?.lastName || '';
const customerName = [firstName, lastName].filter(Boolean).join(' ') || email;
const mailbox = event.mailbox?.name || 'Unknown mailbox';
const conversationId = event.id;
const ticketUrl = event._links?.web?.href || `https://secure.helpscout.net/conversation/${conversationId}`;
const assigneeEmail = event.assignee?.email || null;
// Format timestamp
let receivedAt = 'Unknown time';
if (event.createdAt) {
try {
receivedAt = format(new Date(event.createdAt), 'MMM d, yyyy h:mm a') + ' UTC';
} catch (e) {
receivedAt = event.createdAt;
}
}
// Build Slack Block Kit payload
const blocks = [
{
type: 'section',
text: {
type: 'mrkdwn',
text: `🎫 *New Help Scout Ticket*\n*From:* ${customerName} (${email})\n*Subject:* ${subject}\n*Mailbox:* ${mailbox}\n*Received:* ${receivedAt}${
assigneeEmail ? `\n*Assigned to:* ${assigneeEmail}` : ''
}`
}
},
{
type: 'actions',
elements: [
{
type: 'button',
text: { type: 'plain_text', text: 'View Ticket in Help Scout' },
url: ticketUrl,
style: 'primary'
}
]
},
{ type: 'divider' }
];
return {
blocks,
fallbackText: `New ticket from ${customerName}: ${subject}`,
ticketUrl,
customerName,
subject
};
}
});channel: {{channel}}
ts: {{ts}}
Canvas > + button > Search 'Slack' > Send Message to a Channel
Add the Slack action step
Click the '+' button below the code step and search for 'Slack'. Select the Slack app, then choose the action 'Send Message to a Channel'. This action posts a message to any public or private Slack channel your connected bot has access to. You'll map the message text from the previous code step's output.
- 1Click the '+' below the Node.js code step
- 2Type 'Slack' in the action search bar
- 3Click the Slack app tile
- 4Select 'Send Message to a Channel'
Slack step > Slack Account > Connect new account > Slack OAuth
Connect your Slack workspace
Click the 'Slack Account' dropdown and select 'Connect a new account'. Pipedream opens a Slack OAuth window. Select the correct workspace from the dropdown in the top right of the Slack OAuth screen, then click 'Allow'. Pipedream installs a bot into your workspace. The bot — not you personally — will post messages, so Slack will show the sender as 'Pipedream' unless you customize the bot name.
- 1Click 'Slack Account' dropdown in the Slack step
- 2Select 'Connect a new account'
- 3In the Slack OAuth window, select the correct workspace
- 4Click 'Allow' to grant posting permissions
Slack step > Channel dropdown > Message Text field > Expression editor
Configure the channel and message text
In the 'Channel' field, select the Slack channel where ticket notifications should go — for example, #support-alerts or #help-scout-tickets. In the 'Message Text' field, click the expression toggle (the {curly brace} icon) and reference the output from your code step: steps.format_message.$return_value.formattedMessage. This pulls the formatted string built in Step 5 rather than raw JSON from the trigger.
- 1Click the 'Channel' dropdown and select your target channel
- 2Click into the 'Message Text' field
- 3Click the '{' expression toggle on the right side of the field
- 4Type or select steps.format_message.$return_value.formattedMessage
Workflow canvas > Test button (top bar)
Test the full workflow end to end
Click 'Test' at the top of the Pipedream workflow canvas to run all steps against the sample event from Step 4. Watch each step turn green in sequence — trigger, code, Slack action. Then check your Slack channel: the test message should arrive within 5 seconds. Verify the message shows the ticket subject, customer email, mailbox name, and clickable Help Scout link.
- 1Click the 'Test' button in the top bar of the workflow canvas
- 2Watch each step indicator turn green
- 3Open Slack and check your target channel
- 4Click the Help Scout link in the Slack message to confirm it opens the correct ticket
Workflow canvas > Deploy button (top right)
Deploy the workflow
Click the 'Deploy' button in the top right of the canvas. The workflow status changes from 'Development' to 'Active'. From this point, every new Help Scout conversation will trigger the workflow automatically — no manual action needed. Pipedream's infrastructure handles the webhook listener 24/7. You'll see each run logged under the workflow's 'Event History' tab.
- 1Click the blue 'Deploy' button in the top right
- 2Confirm the deployment in the dialog if prompted
- 3Check that the workflow status badge changes to 'Active'
Help Scout > New Conversation > pipedream.com > Workflows > [Your Workflow] > Event History
Create a live test ticket in Help Scout
Go to your Help Scout inbox and create a real new conversation from a non-test email address. Wait 10–15 seconds, then check Slack. The notification should arrive in your configured channel. Check the Pipedream Event History tab to confirm a successful run is logged with green status on all steps. If anything is red, click the failed step to see the error output.
- 1Open Help Scout and create a new conversation with a realistic subject
- 2Wait 10–15 seconds
- 3Check your Slack channel for the notification
- 4Open Pipedream Event History and confirm the run shows all green steps
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Pipedream for this if your team has even a little technical comfort and wants control over the Slack message format. The killer reason: Pipedream's Node.js code step lets you shape the notification exactly — Slack Block Kit buttons, conditional channel routing by mailbox, timestamp formatting — without fighting a visual mapper. The webhook processing is genuinely instant, no polling interval to worry about. The one case where you'd pick something else: if your team is fully non-technical and needs a clickable UI to maintain the workflow themselves, Zapier's Help Scout + Slack integration sets up in under 10 minutes with zero code.
Cost is nearly free at normal support volumes. Pipedream's free tier includes 10,000 credits per month. This workflow costs 2 credits per run — 1 for the trigger, 1 for the Slack action. At 100 tickets per day (3,000/month), you burn 6,000 credits. At 200 tickets per day, you hit 12,000 credits and need the $19/month Basic plan. Compare that to Zapier: 3,000 tickets/month at 1 Zap run each = 3,000 tasks, which pushes you off the free tier (100 tasks) into their $19.99/month Starter plan (750 tasks max) and then up to $49/month for 2,000 tasks. For medium-volume teams, Pipedream is meaningfully cheaper.
Zapier's Help Scout integration is simpler to set up and has a polished Slack action with a message template UI — no code, done in 8 minutes. But you're stuck with whatever fields Zapier exposes; custom formatting requires Zapier's Code step, which brings you back to writing JavaScript anyway. Make has a better visual conditional router if you want to split notifications across multiple channels based on mailbox — its Router module is cleaner than Pipedream's branch logic for non-coders. n8n's Help Scout node supports more event types and gives you full JSON access to the payload, but you're hosting n8n yourself. Power Automate has no native Help Scout connector at all; you'd need a custom HTTP trigger, which is more work than this workflow justifies. Pipedream wins here on the combination of instant webhook handling, real Node.js code, and a hosted infrastructure you don't maintain.
Three things you'll hit after going live. First: Help Scout's webhook payload does not include conversation tags applied by automation rules — rules run after the webhook fires. If you need tags in your Slack message, you must make a follow-up Help Scout API call using the conversation ID to fetch the full conversation object. Second: if your Help Scout account is on the EU data region (hosted at secure.helpscout.net/eu/), the conversation URLs in the webhook payload differ from the standard US format — test with a real ticket and verify the link format before deploying. Third: Slack's Block Kit button elements require a text field under 75 characters. If your ticket subject exceeds that, the 'View Ticket' button renders fine but adjacent text gets truncated — truncate the subject to 60 characters in the code step with subject.substring(0, 60) + (subject.length > 60 ? '...' : '').
Ideas for what to build next
- →Route notifications by mailbox to different Slack channels — Add a conditional branch in your code step that maps each Help Scout mailbox name (support@, billing@, sales@) to a different Slack channel ID. One workflow handles all mailboxes instead of maintaining three separate workflows.
- →Add a daily digest of unresolved tickets — Create a second Pipedream workflow with a scheduled trigger (every morning at 9am) that calls the Help Scout API to fetch all open conversations older than 4 hours and posts a summary list to Slack — catches anything that slipped through without a response.
- →Write replies back to Help Scout from Slack — Use Slack's interactivity API to add a 'Reply in Help Scout' button to the notification. When a rep clicks it, a Slack modal collects their response and a Pipedream workflow posts it as a Help Scout reply via the API — no tab switching needed.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup