LeadRails
Docs navigation

Slack Webhook

Send leads to a Slack channel as a formatted message via an incoming webhook URL. The webhook URL itself is your authentication — keep it private.

What this is

Slack incoming webhooks accept JSON payloads at a unique URL per channel. LeadRails formats each lead event as a Slack message with the lead's name, contact info, and any UTM context, then POSTs it to the webhook URL. No two-way conversation — Slack receives, doesn't respond.

Where to find your webhook URL

  1. Sign in to your Slack workspace as an admin.
  2. Visit https://api.slack.com/apps → "Create New App" (or pick an existing one).
  3. Pick "From scratch", give the app a name (e.g. "LeadRails"), select your workspace.
  4. From the app's settings, click "Incoming Webhooks" in the left nav.
  5. Toggle "Activate Incoming Webhooks" to ON.
  6. Click "Add New Webhook to Workspace" at the bottom.
  7. Pick the channel where leads should land (you'll need permission to post in it).
  8. Slack returns a URL like https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXX — copy this exactly.

Security note

Treat this URL like a password. Anyone with it can post to your channel. Slack lets you regenerate the URL if it leaks.

In LeadRails

  1. Sign in → Destinations → New.
  2. Adapter type: Slack Webhook.
  3. Webhook URL: paste the URL from step 8 above.
  4. Mention (optional): use Slack's escape syntax to actually ping — <!channel> for everyone, <!here> for active members, or <@U012ABC> for one person. Leave blank for no mention.
  5. Click Create.

Test connection

The destination's "Test connection" check POSTs an empty body to your webhook URL. It never posts a real lead into your channel. Slack answers an empty body with 400 no_text — that's the positive signal the URL and auth are good. It reports:

  • Valid → Slack returned no_text. The URL works.
  • "Webhook URL is no longer valid" → Slack returned 404 no_service. The webhook was revoked or deleted. Generate a new one and update the destination.
  • Unreachable or an unsafe_url → see Common issues.

A passing connection test confirms the URL is live. It doesn't post a message — to see a real lead land in your channel, send a test event below.

Send a test event

  1. Go to Sources → click your source → Settings tab.
  2. Wire a route from this source to your new Slack destination (if you haven't already).
  3. Click "Send test event" in the SourceTestEvent card.
  4. Slack message arrives in your channel within seconds.

Message shape

  • Default Slack message contains: lead name (bold), email, phone, source URL, UTM tags.
  • LeadRails uses Slack's Block Kit format for clean rendering.
  • Want a different shape? Add a per-route mapping on the Routes page. When a route has a mapping, LeadRails sends exactly the JSON you map — so you can drive your own text or Block Kit blocks instead of the default layout.

Common issues

invalid_payload
The Slack workspace deactivated the webhook (admin disabled it, or the channel was archived). Regenerate the URL.
channel_not_found
The channel was deleted. Pick a new one in Slack and add a new webhook.
action_prohibited
The webhook was created without permission. Talk to a workspace admin.
Slack returned a 500, or the request timed out
Treated as temporary. LeadRails retries up to 5 times before the delivery lands in the dead-letter queue. No action needed unless it keeps failing.
unsafe_url
The webhook URL resolved to a private or blocked address. Slack webhook URLs live on hooks.slack.com — double-check you pasted the real one.
No message arrives but no error
Check the Jobs page in LeadRails for the actual delivery status. The "Send test event" result panel will deep-link.

Compliance

  • Slack webhooks are best-effort delivery. No SLAs from Slack itself for incoming webhooks.
  • Slack retains your messages per your workspace's data retention settings — review with your IT team.
  • No PII restrictions from LeadRails's side, but check your own org's policy before piping leads to a public channel.
← All destination guides