SendCanyon
Integrations

Integrations

Slack

Post replies, bounces, unsubscribes, campaign updates and a daily digest to Slack channels through incoming webhooks.

4 min read

The Slack integration posts SendCanyon events into your Slack channels. Each channel is one Slack incoming webhook. You can connect several channels, and each one has its own events and, optionally, its own campaigns. For example, replies to #sales and bounces to #deliverability.

1. Create an incoming webhook in Slack

  1. Go to api.slack.com/apps, choose Create New App → From scratch, name it (for example "SendCanyon") and pick your Slack workspace.

  2. Open Incoming Webhooks and switch Activate Incoming Webhooks on.

  3. Choose Add New Webhook to Workspace, pick the channel, and allow.

  4. Copy the Webhook URL. It looks like https://hooks.slack.com/services/T…/B…/….

Repeat the last two steps for every channel you want to post to. Each channel gets its own URL.

2. Connect the channel in SendCanyon

  1. Open Settings → Integrations and choose Connect on the Slack card (Manage once a channel exists). Only workspace admins and owners can add or change channels.

  2. Choose Add channel.

  3. Channel name: the name shown in SendCanyon and in the test message, e.g. #sales-replies.

  4. Webhook URL: paste the URL from Slack.

  5. Events: tick what this channel receives. New reply is ticked by default.

  6. Campaigns: leave it on All campaigns, or pick the campaigns this channel is for.

  7. Choose Connect channel.

When you save, SendCanyon posts a test message to the channel. If Slack refuses it, nothing is saved and the dialog shows Slack's answer (for example Slack answered 404 no_service.). Only https://hooks.slack.com/services/… URLs are accepted. The URL is stored encrypted, and SendCanyon only ever shows its masked form, hooks.slack.com/services/T…/B…/••••.

Events and what each message shows

EventPosted whenMessage
New replyA contact replies to a campaign email and SendCanyon matches the replyContact name and email, company, campaign, step and variant, subject, the start of the reply, and Open conversation / Campaign stats buttons
BounceA campaign email bouncesContact, campaign, step, bounce type, and a Campaign stats button
UnsubscribeA contact unsubscribesContact, campaign, step, and a Campaign stats button
Campaign launchedA campaign is launched, resumed or reopenedCampaign, number of contacts enrolled, and a Campaign stats button
Campaign completedEvery message in a campaign has been sent, failed or canceledCampaign and a Campaign stats button
Campaign pausedA campaign is paused, by a person or because the trial endedCampaign and a Campaign stats button
Daily digestOnce a day, at the Digest time you pick, in the Time zone you pickSent, replies and bounces over the previous 24 hours for each campaign that had activity (up to 20 listed), with totals

Open conversation opens that conversation in the SendCanyon Inbox. Campaign stats opens the campaign's Stats tab. The campaign filter applies to every event, including the digest. Campaign events are only posted when the campaign is one of the channel's campaigns, or when the channel covers all campaigns.

Testing

Each channel has a Send test button that posts a test message immediately and reports the result. The card also shows when the channel last posted successfully.

Delivery, retries and failures

  • Messages are sent from a background queue, so a slow Slack never delays sending or reply processing.
  • If Slack rate-limits a message (429), SendCanyon waits the time Slack asks for in Retry-After before retrying.
  • If Slack is down (5xx) or unreachable, SendCanyon retries with increasing delays, up to 6 attempts over about 8 minutes. If every attempt fails, the channel shows Failing and the Slack card shows Needs attention with the last error. The next successful post clears both.
  • If Slack says the webhook no longer exists (404, 403 or 410, e.g. channel_not_found, invalid_token, channel_is_archived), that channel is switched off at once and shown as Disconnected, and workspace admins get an Integration disconnected notification. Your other channels keep posting.

Troubleshooting

What you seeWhat it meansWhat to do
Slack webhook URLs start with https://hooks.slack.com/services/.The pasted URL is not an incoming webhook (for example a Workflow Builder link)Copy the URL from the app's Incoming Webhooks page
Slack answered 404 no_service. / 403 invalid_token.The webhook was removed or the Slack app was uninstalledCreate a new webhook in Slack and paste it with Edit → Webhook URL
Disconnected, channel_not_found or channel_is_archivedThe channel was deleted or archivedCreate a webhook for a live channel, paste it with Edit, then switch the channel back on
Failing, Slack answered 5xxSlack had an outage and the retries ran outNothing is required. The next event clears it. Use Send test to check now
Paused by planThe workspace's plan no longer includes integrationsUpgrade. Posting resumes by itself
No message for a replyThe channel does not have New reply ticked, is limited to other campaigns, or is pausedCheck the channel's events, campaigns and switch

Pausing and disconnecting

Use a channel's switch to pause it without losing its settings. Remove deletes the channel and its stored webhook URL. Removing the last channel disconnects Slack. You can also remove the SendCanyon app from your Slack workspace, which revokes every webhook it created. SendCanyon then disconnects those channels the next time it tries to post.

Was this page helpful?

Related articles