Integrations
Slack Integration
Monitor Slack channels for support requests
Turn any Slack channel into a support channel. Customers post messages, and Keva creates tickets and responds directly in the thread.
Prerequisites
- A Slack workspace where you can install apps
- Admin access to create a Slack app
- A connected Slack platform connector in Keva
Setup
1. Create a Slack App
- Go to api.slack.com/apps and create a new app
- Under OAuth & Permissions, add these Bot Token Scopes:
channels:read,channels:history,chat:write,users:readgroups:read(for private channels)
2. Enable Event Subscriptions
- Go to Event Subscriptions and toggle Enable Events
- Set Request URL:
https://app.keva.support/api/webhooks/slack - Add bot events:
message.channels,message.groups
3. Install and Configure
- Install the app to your workspace
- Copy the Bot User OAuth Token (
xoxb-...) - Copy the Signing Secret from Basic Information
- In Keva: Settings > Integrations > Slack - enter both credentials
4. Subscribe to Channels
Go to Settings > Channels, click Add Slack Channel, and select which channels to monitor.
Configuration Options
Create Ticket On
| Setting | Behavior |
|---|---|
| New thread | Ticket created for new messages only (recommended) |
| Any message | Every message creates or updates a ticket |
| Mention | Only when bot is @mentioned |
Routing
- Workspace: Route to a specific workspace
- Default Priority: Set initial priority
- Auto-assign: Assign to AI or specific agent
- Reply in thread: Keep responses in the original thread (recommended)
How It Works
- Customer posts in a subscribed Slack channel
- Webhook validates HMAC-SHA256 signature
- Keva creates a ticket with message content
- AI processes and drafts a response
- Reply posts back to the Slack thread
- Follow-up messages in that thread update the same ticket
Message Threading
ts: Message timestamp (unique ID)thread_ts: Parent message for threaded replies- Initial messages create tickets
- Thread replies update the same ticket
Troubleshooting
Webhook not receiving events: Check Event Subscriptions URL, verify scopes, ensure bot is in the channel.
Signature validation failing: Verify Signing Secret, check system clock is within 5 minutes.
Bot not responding: Check chat:write scope, verify bot is channel member, check ticket created.
Security
- HMAC-SHA256 signature verification
- 5-minute timestamp window prevents replay attacks
- Bot tokens encrypted at rest
- All events logged in audit trail