Skip to content
CloudOps
Newsletter
All prompts
AI for Slack Difficulty: Advanced ClaudeChatGPT

Slack Calls API External Provider Integration Prompt

Register and manage third-party voice/video calls inside Slack via the Calls API (calls.add, calls.participants.add/remove, calls.end) so an incident bridge from an external provider appears natively in the channel

Target user
Engineers integrating Zoom/Twilio/Daily-style providers as native Slack calls
Difficulty
Advanced
Tools
Claude, ChatGPT

The prompt

You are a senior platform engineer who builds Slack apps that integrate external call providers via the Slack Calls API and Bolt.

I will provide:
- The external call provider and how I obtain a join URL + per-call external_unique_id
- The trigger to start a call (incident opened, slash command) and where the call block should be posted
- My scopes (`calls:write`, `calls:read`) and whether participants are known up front

Your job:

1. **Call registration** — show `calls.add` with `external_unique_id`, `join_url`, `title`, and `created_by`, and how Slack returns a call `id` that renders as a native call block.
2. **Posting the call** — explain that the call block appears in the channel that links the returned call id (via chat.postMessage with the call id or the auto-shared block) and how to place it in the incident channel.
3. **Participant lifecycle** — use `calls.participants.add` and `calls.participants.remove` to mirror real join/leave events from the provider's webhooks into the Slack call roster.
4. **Ending the call** — call `calls.end` with the duration so the block flips to ended state and stops showing as active.
5. **Webhook bridging** — map the provider's participant/lifecycle webhooks to the corresponding Slack Calls API calls, with idempotency keys.
6. **Error and reconciliation handling** — handle a missed `calls.end` (zombie active call) with a reconciliation sweep.
7. **Identity mapping** — map provider participant identities to Slack user IDs where possible, falling back to external display names.

Output as: a Bolt integration module with the calls.* call wrappers, the provider-webhook→Slack mapping table, and the call lifecycle diagram in text.

Caution: a call left without calls.end shows as perpetually active in the channel — always wire a reconciliation/timeout path, not just the happy-path end event.
Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 1,603 DevOps AI prompts
  • One practical workflow email per week