Setting up your Slack channel for website chat
When someone uses the chat on your website, their message shows up in Slack — a free messaging app. You reply right inside Slack, and your reply appears back on your website in the visitor’s chat window. No new logins, no separate dashboard to check.
This guide walks you through getting Slack ready. It takes about 10 minutes, and you only do it once. You don’t need to be technical — just follow the steps.
Get Slack (if you don’t already have it)
If your church already uses Slack, skip to Step 2.
- Go to slack.com/get-started and click Create a workspace.
- Enter your email and follow the prompts. It’s free.
- Give your workspace a name (e.g. Grace Baptist Church).
- Install the Slack app on your phone and/or computer so you get notifications:
- Phone: search “Slack” in the App Store / Google Play.
- Computer: download from slack.com/downloads.
Create a channel for website chats
A “channel” is just a chat room inside Slack. We’ll make one dedicated to your website conversations.
- In Slack, click the + next to Channels in the left sidebar, then Create channel.
- Name it something clear, like #website-chat.
- Decide who should see it:
- Public (anyone in your workspace can see it) — fine for most churches.
- Private (only invited people) — choose this if you want to keep visitor conversations limited to staff. (If you choose private, let your developer know — it needs one extra setting on the technical side.)
- Click Create.
Decide who answers the chats
Anyone you add to this channel can see and reply to website messages.
- Open the #website-chat channel.
- Click the channel name at the top, then Add people.
- Add the pastor, secretary, or whoever should respond to visitors.
That’s it for the people side. Everyone you add will get a notification when a new chat comes in (as long as they have Slack notifications turned on).
Connect it to your website
This last step links the channel to your website chat widget. It involves a few technical pieces, so your developer handles this part. Here’s what they’ll need from you:
- Invite the chat bot to your channel. Once your developer gives you the bot’s name, type this in the #website-chat channel and press Enter:
/invite @YourChatBot
(ReplaceYourChatBotwith the name they give you.) The bot must be in the channel or messages won’t appear. - Send your developer the channel link so they can grab the channel ID:
- Right-click (or tap-and-hold) the channel name → Copy link.
- Paste that link in a message to your developer.
Your developer plugs these in, and the connection is live.
How it works day to day
- A visitor opens the chat on your website and sends a message.
- It appears in #website-chat in Slack, starting a new thread.
- You reply in that thread — just type back like a normal Slack message.
- Your reply shows up in the visitor’s chat window on the website within a few seconds.
Quick checklist
- Slack workspace created (or already have one)
- Slack installed on phone for notifications
- #website-chat channel created
- The right people added to the channel
- Chat bot invited to the channel
- Channel link sent to your developer
Once everything above is checked off, your website chat is ready. Test it by opening your website, sending yourself a message, and watching it land in Slack.
For your web personTechnical setup — creating the Slack app and connecting the backend.
The system is multi-tenant: each church gets its own Slack app (isolated token, signing secret, and channel). The church’s site is created automatically the moment they claim a key from the signup form — so the developer’s job is just to create the Slack app and attach its credentials to that existing site. The church does the channel steps above.
Create the Slack app from the manifest
The manifest pre-configures every bot scope and event subscription, so you never hand-click them per tenant.
- Go to api.slack.com/apps → Create New App → From a manifest.
- Select the church’s workspace.
- Paste the manifest below.
- Review → Create.
display_information:
name: Website Chat
description: Receives website chat messages and posts your replies back to visitors.
background_color: "#192531"
features:
bot_user:
display_name: Website Chat
always_online: true
oauth_config:
scopes:
bot:
- chat:write # post new chat threads + replies into the channel
- channels:history # read replies in PUBLIC channels
- channels:read # resolve public channel info
- groups:history # read replies in PRIVATE channels
- groups:read # resolve private channel info
settings:
event_subscriptions:
request_url: https://slackwebsitechat.vercel.app/api/slack/events
bot_events:
- message.channels # visitor-reply trigger in public channels
- message.groups # visitor-reply trigger in private channels
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: false
The groups:* scopes and message.groups event cover private-channel tenants; they’re harmless for public-channel tenants, so one manifest works for everyone. The events Request URL (/api/slack/events) is baked in.
Install + copy credentials
- Install to Workspace (top of the app page) → Allow.
- OAuth & Permissions → copy the Bot User OAuth Token (
xoxb-…). - Basic Information → App Credentials → copy the Signing Secret.
On Event Subscriptions, confirm the Request URL shows a green Verified ✓ (the endpoint auto-answers Slack’s verification challenge). If it’s red, the deployment is down or the URL is wrong.
Have the church set up the channel
Send them the steps above (Steps 2–4 of this guide). They create a channel, invite the bot (/invite @Website Chat), and send you the channel link. The Channel ID is the last path segment of that link (starts with C).
Attach Slack to the site
The site already exists — it’s created automatically when the church claims their key from the signup form (name, domain, and API key are filled in for you). You just attach the Slack credentials:
- Go to slackwebsitechat.vercel.app/admin (auth with the admin secret).
- Open the church’s site and add the Bot Token, Signing Secret, and Channel ID. Adjust the accent color, greeting, and form subtitle if you like.
These are stored per-site in Postgres and looked up by site at request time. No global SLACK_* env vars — only ADMIN_SECRET and the database URL live in Vercel.
Install the connector (WordPress sites)
Next.js sites embed the widget directly. WordPress sites use the connector plugin: upload, activate, then enter the backend URL (https://slackwebsitechat.vercel.app) and the site’s API Key from the admin panel.
Test end to end
- Open the church’s site, open the chat, send a test message.
- Confirm it lands as a new thread in the channel.
- Reply in the thread — confirm it appears in the visitor’s widget within a few seconds.
thread_ts), so a reply typed in the channel body never reaches the visitor. This is the #1 staff-training point.Per-tenant credentials reference
| Stored in admin panel | Where it comes from |
|---|---|
| Slack Bot Token (xoxb-…) | OAuth & Permissions, after Install |
| Slack Signing Secret | Basic Information → App Credentials |
| Slack Channel ID (C…) | Last segment of the channel link |
| Slack Notify User ID (optional) | A member ID to @-mention on new chats |
| API Key (wbc_…) | Auto-generated by the admin panel; goes in the WP plugin |