Skip to content
Documentation

Connecting Slack with an incoming webhook

Create a Slack incoming webhook for a channel, add it to AutoPSEO, send a test message, and fix the errors Slack returns when a post fails.

Account → Slack, Teams & Webhooks → Slack - Connected workspacesNeeds a subscription or trial4 min read

AutoPSEO posts to Slack through incoming webhooks. Slack gives you a URL that writes into one channel, you paste that URL into AutoPSEO, and reports and alerts start arriving there. AutoPSEO itself installs nothing in your workspace: it cannot read messages, list your channels or post anywhere the webhook does not point. Add one entry for each channel you want messages in.

Create the webhook in Slack

Slack issues incoming webhooks through a Slack app. Following Slack's incoming webhook guide:

  1. Create a Slack app for your workspace, or open one you already use for notifications. Pick a name your team will recognise, such as SEO reports.
  2. In the app's settings, open Incoming Webhooks and switch on Activate Incoming Webhooks.
  3. Click Add New Webhook to Workspace, choose the channel and approve. For a private channel you need to be a member of it first.
  4. Copy the new URL from Webhook URLs for Your Workspace. It starts with https://hooks.slack.com/services/.

Repeat steps 3 and 4 for every further channel; one app can hold several webhooks. A URL made with Slack's older custom-integration webhooks still works too, although Slack advises moving those to an app.

Slack treats the URL as a secret: anyone who has it can post into the channel. Paste it into AutoPSEO and keep it out of tickets, wikis and screenshots.

Add it to AutoPSEO

  1. On Slack, Teams & Webhooks, find Slack - Connected workspaces and click Add to Slack. The New channel form opens with Slack already chosen as the destination.
  2. Name: a label for AutoPSEO's lists, the delivery history and the test message, for example #seo-alerts.
  3. Webhook URL: paste the Slack URL. For a Slack entry AutoPSEO accepts only https addresses on slack.com, and says so at once if the URL does not fit.
  4. Click Add channel, then Send test on the new row. A short message naming the entry should appear in Slack within seconds, and AutoPSEO reports how long Slack took to answer.

The URL is stored encrypted (AES-GCM). From then on the list shows only its host and last characters, so choose names that make clear which Slack channel each entry feeds.

Next, give it something to post: a scheduled report or an alert. The Slack - Subscriptions table below the list then shows, per Slack channel, every rule posting there, its schedule and whether it is active or paused.

Several channels and workspaces

A webhook URL belongs to one channel in one workspace, and Slack does not let a message override the channel it was created for. That keeps things predictable:

  • One Slack channel, one entry. To split clients between #client-a and #client-b, create a webhook for each and add both.
  • Several workspaces work the same way, since each webhook lives in the workspace you created it in.
  • One entry can carry many rules. Send the weekly report and the traffic-drop alert to the same entry, or keep alerts in a busier channel of their own.

Why a message did not arrive

Send test shows the reason straight away. For scheduled messages, open Delivery history, which keeps Slack's answer for every failed attempt.

What AutoPSEO showsWhat it meansWhat to do
Slack rejected the URL (no_service)The webhook was removed or disabled in Slack, or the URL is mistypedCreate a new webhook, add it, then delete the old entry
The Slack channel no longer exists, or is archivedSlack answered channel_not_found or channel_is_archivedCreate a webhook for a channel that is still in use
Slack is rate limiting usSlack answered HTTP 429Wait a little, then use Send now or Test rule
Timed out after 10 secondsSlack did not answer in timeTry again later
Your trial has endedNo active plan or trialChoose a plan; scheduled deliveries resume with it

A failed scheduled report is not sent again in the same period, so use Send now once the cause is fixed. An alert that could not be posted is evaluated again on its next check (when alerts run).

Removing a Slack channel

Delete on the entry's row removes the stored URL and, after a confirmation that tells you how many, every rule that posts there. AutoPSEO changes nothing in Slack: the webhook keeps working until someone removes it in the Slack app, so do that as well if the URL may have been seen by others.

Put your SEO content on autopilot

Connect Search Console and your site. AutoPSEO scans it and plans the first topics right away. No credit card needed.