Beginner~12 min setupCommunication & SupportVerified April 2026
Slack logo
Help Scout logo

How to Send Help Scout Assignment Alerts to Slack with Make

Sends a Slack message to the assigned agent whenever a Help Scout ticket is assigned or reassigned, using a Help Scout webhook and Make.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Best for

Support teams using Help Scout who need agents to see ticket assignments instantly without checking their inbox.

Not ideal for

Teams that reassign tickets dozens of times per hour — at that volume, notification fatigue becomes the real problem, not visibility.

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 12-person SaaS support team handles 300 tickets per week across four agents. Before this automation, assignments showed up only as email notifications, which agents ignored during busy periods — tickets sat unacknowledged for 30 to 90 minutes. After setup, every assignment fires a direct Slack message to the agent within 15 seconds, including the customer name, subject, and a link to open the ticket immediately.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

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

Skip the setup

Import this workflow directly into Make

Copy the pre-built Make blueprint and paste it straight into Make. 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.

Help Scout account with Admin or Developer access to create webhooks under Manage > Developers
Slack account with permission to install apps — your workspace must allow Make's OAuth app, or have an admin pre-approve it
Make account on any plan — the free tier includes 1,000 operations/month, which covers ~333 ticket assignments
Help Scout assignees must use the same email address in Slack — Slack resolves DM recipients by email match
Make's Slack connection requires the 'chat:write' and 'users:read.email' scopes — confirm these are granted during OAuth

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Ticket Subjectconversation.subject
Ticket IDconversation.id
Assignee Emailconversation.assignee.email
5 optional fields▸ show
Assignee First Nameconversation.assignee.firstName
Customer Emailconversation.customer.email
Mailbox Namemailbox.name
Ticket Statusconversation.status
Ticket Numberconversation.number

Step-by-Step Setup

1

make.com > Scenarios > + Create a new scenario

Create a new Make scenario

Log in to Make at make.com and click the blue 'Create a new scenario' button in the top right of the Scenarios dashboard. You'll land on the scenario canvas — a blank grid with a large circle in the center labeled 'Add a module'. This is where you place your trigger. Give the scenario a name by clicking the default title at the top left and typing something like 'Help Scout → Slack Ticket Assignment'.

  1. 1Log in to make.com
  2. 2Click the blue 'Create a new scenario' button in the top right
  3. 3Click the title field at the top left and rename the scenario to 'Help Scout → Slack Ticket Assignment'
  4. 4Click the large circle on the canvas to open the module picker
What you should see: You should see a blank scenario canvas with the module search dialog open and the scenario title updated.
Common mistake — Make auto-saves scenario names only after you click away. If you close the tab before clicking elsewhere, the name reverts to the default.
2

Scenario Canvas > Module Picker > Webhooks > Custom webhook

Add the Help Scout webhook trigger

In the module search dialog, type 'Webhooks' and select the built-in 'Webhooks' app — it's the orange icon. Choose 'Custom webhook' as the trigger type. Click 'Add' to create a new webhook, give it a name like 'Help Scout Assignment', and click Save. Make will generate a unique webhook URL — copy it immediately. You'll paste this into Help Scout in the next step.

  1. 1Type 'Webhooks' in the module search field
  2. 2Select the orange 'Webhooks' app
  3. 3Choose 'Custom webhook' from the trigger options
  4. 4Click 'Add' next to the webhook dropdown
  5. 5Name it 'Help Scout Assignment' and click Save
  6. 6Copy the generated webhook URL
What you should see: You should see the webhook module on the canvas showing 'Listening' status and a webhook URL displayed in the configuration panel.
Common mistake — Make's custom webhook URL is permanent as long as you don't delete the webhook — but if you accidentally delete it and recreate it, the URL changes and you'll need to update Help Scout again.
Make
+
click +
search apps
Slack
SL
Slack
Add the Help Scout webhook t…
Slack
SL
module added
3

Help Scout > Your Account > Manage > Developers > Webhooks > Create a Webhook

Register the webhook in Help Scout

Open Help Scout in a new tab. Navigate to Your Account > Manage > Developers. Click the 'Create a Webhook' button. Paste the Make webhook URL into the 'URL' field. Under 'Events', check 'Conversation Assigned' and optionally 'Conversation Reassigned' if you want reassignment alerts too. Set the Secret Key to any string you want — or leave it blank for now. Click Save.

  1. 1Go to your Help Scout account and click your avatar in the top right
  2. 2Select 'Your Account', then navigate to 'Manage > Developers'
  3. 3Click 'Create a Webhook'
  4. 4Paste the Make webhook URL into the URL field
  5. 5Check 'Conversation Assigned' under the Events section
  6. 6Click Save
What you should see: You should see the new webhook appear in the list with a green active indicator and the Make URL shown in truncated form.
Common mistake — Help Scout sends a test payload immediately after saving. Switch back to Make and click 'Run once' before saving Help Scout — otherwise Make won't capture the test payload and you'll have no data structure to map against in later steps.
4

Scenario Canvas > Run once button (bottom left) > Webhook module bubble

Capture the test payload from Help Scout

Back in Make, click 'Run once' at the bottom left of the scenario canvas. This puts the webhook in listening mode for one incoming request. Switch back to Help Scout and save your webhook — this triggers the test ping. Within a few seconds, Make will show a small bubble with a number '1' on the webhook module. Click that bubble to inspect the received data and confirm fields like 'conversation.assignee.email', 'conversation.subject', and 'conversation.id' are visible.

  1. 1Click 'Run once' at the bottom left of the Make canvas
  2. 2Switch to Help Scout and click Save on the webhook
  3. 3Return to Make and wait for the bubble to appear on the webhook module
  4. 4Click the bubble to open the data inspector
  5. 5Confirm that 'conversation.assignee.email', 'conversation.subject', and 'conversation.id' are present
What you should see: You should see a structured JSON tree inside the data inspector showing conversation fields, assignee details, and a mailbox identifier.
Common mistake — If the bubble doesn't appear within 30 seconds, Help Scout may have failed to send the ping — go back to Help Scout, open the webhook settings, and click 'Send Test' manually.
Make
▶ Run once
executed
Slack
Help Scout
Help Scout
🔔 notification
received
5

Scenario Canvas > Click connector line > Set up a filter

Add a filter to check assignment exists

Not every Help Scout webhook payload will have an assignee — tickets can be unassigned. Click the small wrench icon between the webhook module and the next empty slot, then select 'Set up a filter'. Name it 'Has Assignee'. Set the condition to: 'conversation.assignee.email' > 'Exists'. This prevents the scenario from running when a ticket is unassigned, which would cause a Slack message with blank fields.

  1. 1Hover over the connector line to the right of the webhook module
  2. 2Click the wrench/filter icon that appears
  3. 3Select 'Set up a filter'
  4. 4Name the filter 'Has Assignee'
  5. 5Set Condition to: [conversation.assignee.email] > [Exists]
  6. 6Click OK
What you should see: A small filter icon should appear on the connector line between the webhook module and the next module slot.
Common mistake — Filters are the most common place setups break. Double-check the field name and value exactly match what your app sends — a single capital letter difference will block everything.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Help Scout
HE
notified
6

Scenario Canvas > + > Slack > Send a Message > Add connection

Add the Slack 'Send a Message' module

Click the '+' circle after the filter to add the next module. Search for 'Slack' and select it. Choose 'Send a Message' as the action. Click 'Add' to connect your Slack account via OAuth — Make will open a Slack authorization window. Grant the requested permissions and select your workspace. Once connected, you'll be back in the module configuration panel.

  1. 1Click the '+' circle to the right of the filter
  2. 2Type 'Slack' in the module search field
  3. 3Select 'Slack' from the results
  4. 4Choose 'Send a Message' as the action type
  5. 5Click 'Add' next to the Connection field
  6. 6Authorize Make in the Slack OAuth window that opens
  7. 7Select your workspace and click Allow
What you should see: You should see 'Connected' appear next to the Connection field and the Slack module configuration fields become active.
Common mistake — Make's Slack integration requires the 'chat:write' scope at minimum. If your Slack workspace enforces an app allowlist, have your Slack admin approve the Make app before this step — the OAuth flow will fail silently otherwise.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
message template
🔔 New Record: {{text}} {{user}}
channel: {{channel}}
ts: {{ts}}
#sales
🔔 New Record: Jane Smith
Company: Acme Corp
7

Slack Module Config > Channel Type > Text field

Configure the Slack message channel and content

In the Slack module configuration, set the Channel field to the channel or user you want to notify. To send a direct message to the assigned agent, set Channel Type to 'User' and map the value to 'conversation.assignee.email' — Slack will resolve the email to the user if they're in the workspace. In the Text field, write the message using Help Scout data fields from the webhook payload. Click the field and use the variable picker to insert dynamic values.

  1. 1Set 'Channel Type' to 'User' for a direct message
  2. 2Click the Channel field and map it to {{conversation.assignee.email}} using the variable picker
  3. 3Click the Text field
  4. 4Type your message and insert variables: ':ticket: You've been assigned a ticket: *{{conversation.subject}}* from {{conversation.customer.email}}. Open it here: https://secure.helpscout.net/conversation/{{conversation.id}}'
  5. 5Set 'As a Bot' to Yes and give the bot a name like 'Help Scout'
What you should see: The Text field should show a mix of static text and orange variable tokens. The Channel field should show the mapped email variable.
Common mistake — Slack only resolves email-to-user lookups if the email on the Slack account exactly matches the assignee email in Help Scout. If your team uses different emails in each tool, you'll need a router or lookup table to translate them.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
8

Slack Module Config > variable picker (+ icon inside each field)

Map all required fields in the Slack message

Review the Slack module configuration to ensure every variable is mapped correctly. Open the variable picker by clicking the plus icon inside any field. Confirm that 'conversation.subject', 'conversation.id', 'conversation.assignee.firstName', 'conversation.customer.email', and 'mailbox.name' are all mapped. Remove any fields that show 'undefined' — these will render as blank text in Slack.

  1. 1Click the + icon inside the Text field to open the variable picker
  2. 2Expand the 'conversation' node to see all available fields
  3. 3Verify conversation.subject, conversation.id, conversation.assignee.firstName, conversation.customer.email, and mailbox.name are all present
  4. 4Replace any missing variables with appropriate fallbacks or static text
What you should see: All variables in the Text field should appear as orange tokens with recognizable field names — no 'undefined' labels.
Common mistake — Map fields using the variable picker — don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
Slack fields
text
user
channel
ts
thread_ts
available as variables:
1.props.text
1.props.user
1.props.channel
1.props.ts
1.props.thread_ts
9

Scenario Canvas > Run once > Help Scout ticket assignment > Module output bubble

Run a live test with a real Help Scout ticket

Click 'Run once' in Make to put the scenario in listening mode. Open Help Scout and assign an existing ticket to any team member. Within 15 seconds, Make should process the webhook and the Slack module should show a green checkmark. Click the Slack module bubble to confirm the message was sent — you'll see the full rendered Slack message in the output inspector.

  1. 1Click 'Run once' at the bottom left of the Make canvas
  2. 2Open Help Scout and navigate to any open ticket
  3. 3Reassign the ticket to a team member
  4. 4Return to Make and wait for both module bubbles to show green checkmarks
  5. 5Click the Slack module bubble and review the 'Sent message' output
  6. 6Check the Slack channel or DM to confirm the message arrived
What you should see: The Slack module bubble should show a '1' with a green background. The assigned agent should receive the DM in Slack within 15 seconds.
Common mistake — If the Slack message arrives but shows a blank subject or name, the Help Scout webhook payload for that specific event type may use different field paths. Compare the actual payload in the webhook module bubble against the field names you mapped.
10

Scenario Canvas > Toggle (bottom left) > Scheduling dialog > Immediately

Activate the scenario and set the schedule

Once the test passes, click the toggle at the bottom left of the canvas to switch the scenario from OFF to ON. Make will ask you to confirm scheduling. Set the scenario to run 'Immediately' — this is the correct mode for webhook-triggered scenarios since Make wakes up the scenario only when data arrives. Do not set a polling interval here. Click Save and confirm.

  1. 1Click the gray toggle switch at the bottom left of the canvas
  2. 2In the scheduling dialog, confirm 'Immediately' is selected
  3. 3Click OK to activate
  4. 4Click the Save button (floppy disk icon) at the top of the canvas
What you should see: The toggle should turn blue. The scenario header should show 'Active' status. The webhook module will now listen continuously without manual intervention.
Common mistake — Confirm your workflow timezone matches your business timezone — n8n uses the instance timezone by default. Also verify the workflow is saved and set to Active, since Schedule Triggers won't fire on inactive workflows.
11

Scenario > History (left sidebar)

Verify the scenario history after 24 hours

After one business day, open the scenario and click 'History' in the left sidebar. You should see one execution per ticket assignment with a green status. Check for any red 'Error' rows — these indicate failed Slack sends or webhook parsing issues. Click any error row to see the exact failure point and the data that caused it. Fix mapping issues before they silently stack up.

  1. 1Open your scenario in Make
  2. 2Click 'History' in the left sidebar
  3. 3Review the execution log for green (success) and red (error) rows
  4. 4Click any red row to inspect the failed module and error message
  5. 5Adjust field mappings if needed and re-run a manual test
What you should see: You should see a list of executions with green status indicators, one per ticket assignment event. Each row should show a duration under 5 seconds.

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

VerdictWhy Make for this workflow

Use Make for this if your team wants to customize the Slack message format beyond what a basic Zap allows, or if you're already running other Make scenarios and want to keep everything in one place. Make's visual canvas makes it easy to add a router later — for example, splitting urgent tickets to a #critical-support channel while routine assignments go to a DM. The one case where you'd skip Make: if your team has zero automation experience and just needs this working in 10 minutes flat. Zapier's pre-built Help Scout + Slack Zap template gets there faster with no configuration decisions.

Cost

The math is straightforward. Each ticket assignment uses 2 Make operations: one for the webhook trigger, one for the Slack send. At 300 assignments per month, that's 600 operations — well inside Make's free tier limit of 1,000 operations/month. At 600 assignments/month, you hit 1,200 operations and need Make's Core plan at $9/month. Zapier charges per task, not per operation — at 300 assignments/month, you'd need Zapier's Starter plan at $19.99/month. Make is cheaper by $10.99/month at this volume, and the gap widens as ticket volume grows.

Tradeoffs

Zapier has a pre-built Help Scout trigger called 'New Conversation Assigned' that fires without any webhook configuration — you just pick it from a dropdown. That's genuinely easier than Make's custom webhook setup. n8n gives you full control over the Slack Block Kit payload, which lets you build rich formatted messages with buttons and sections that Make's text field can't match without workarounds. Power Automate has a Help Scout connector in preview but it lacks the assignment trigger — you'd have to poll, which means delays of up to 15 minutes. Pipedream lets you write JavaScript to do conditional routing and Slack API calls in one step, which is faster than Make's multi-module approach if you're comfortable coding. Make is still the right call for most support teams because it hits the sweet spot: real-time webhooks, visual debugging, and enough formula logic to handle conditional formatting — all without writing code.

Three things you'll hit after setup. First, Help Scout's webhook payload structure changes slightly between conversation types — tickets started via email have a different 'customer' object than those started via chat. Test with both types before going live or your customer email field will be blank for chat tickets. Second, Slack's chat.postMessage endpoint throttles at 1 request per second per channel. If your team bulk-reassigns tickets at the end of a shift, Make will queue the requests but may log 429 errors in history — add a 1-second sleep in your error handler. Third, Make's free plan pauses scenarios after 30 consecutive days of inactivity. If your team takes a long holiday break and no tickets get assigned, the scenario will suspend itself silently. Set a Make notification email under Account > Notifications to catch this before the team comes back expecting automation that stopped working.

Ideas for what to build next

  • Add a router for team channel alertsUse Make's Router module after the webhook to split traffic — send a DM to the individual agent AND post a summary to a shared #support-assignments channel. This gives team leads visibility without requiring them to watch every DM thread.
  • Add ticket priority filteringInsert a second filter after the first one that checks 'conversation.tags contains urgent' and routes those tickets to a separate Slack message with a different format and an @here mention. High-priority tickets get louder notifications than routine ones.
  • Build a daily digest instead of per-ticket pingsCreate a separate scheduled Make scenario that queries the Help Scout API each morning at 9am, pulls all tickets assigned in the last 24 hours, and posts a single formatted Slack message to #support with a full list. Reduces notification noise while maintaining accountability.

Related guides

Was this guide helpful?
Slack + Help Scout overviewMake profile →