Slack (first channel)
Slack is the first production channel on Open-Wire. Customers install your Slack app into their workspace via OAuth — no Vercel login.
Do you need to publish on Slack Marketplace?
No for private / your-customers installs. Create a Slack app, enable OAuth + Event Subscriptions, and distribute the install link (Rails Agent → Connect does this). Marketplace publishing is only for public discovery later.
Slack app settings to configure
- OAuth & Permissions → Redirect URLs
https://openwire.rails-agent.com/api/v1/oauth/slack/callback
- Event Subscriptions → Request URL
https://openwire.rails-agent.com/api/v1/hooks/slack
Subscribe to bot events:app_mention,message.channels,message.groups,message.im,message.mpim. - Bot Token Scopes(OAuth & Permissions). Include join + write so the bot can enter public channels and reply:
app_mentions:read channels:history channels:join channels:read chat:write chat:write.public groups:history groups:read im:history im:read im:write mpim:history mpim:read users:read
Public channels: Open-Wire auto-joins viaconversations.joinwhen posting. Private channels: someone must/invite @YourBot(Slack does not allow bots to self-join private channels). - Copy Client ID, Client Secret, Signing Secret into Open-Wire env (
SLACK_CLIENT_*,SLACK_SIGNING_SECRET).
Install flow
- Rails Agent Channels → Connect Slack
- Open-Wire returns Slack authorize URL
- User approves the app in Slack
- Callback stores the workspace bot token on the installation → status
active - Inbound events fan out to the agent webhook
Custom bot token
Advanced: paste an xoxb-… token in Custom branding to skip OAuth (sandbox / own Slack app).