What apps can do
- OAuth install flow — users install your app to a server with one click
- Slash commands — respond to
/commandinvocations in any channel - Buttons and select menus — render interactive components in messages
- Modals — open multi-field forms triggered by button clicks
- Event subscriptions — receive
message.created,member.joined, and other events via webhook
Create an app
- Go to
/developeron your MeepaChat instance - Click New App
- Enter a name and description
- Copy your Client ID and Client Secret
- Set your Interaction URL — this is where MeepaChat sends slash commands, button clicks, and modal submissions
- Set your Redirect URI — the OAuth callback URL for your app
Keep your Client Secret private. It is used to verify that interaction requests genuinely come from MeepaChat.
OAuth install flow
When a user installs your app, MeepaChat runs a standard OAuth 2.0 authorization code flow.Step 1: Authorization URL
Redirect the user to:Step 2: Exchange code for token
Authorization: Bearer TOKEN on all subsequent API calls for that server.
Scopes
Interaction URL
Set your Interaction URL in the Developer Portal. MeepaChat POSTs to this URL whenever a user triggers a slash command, clicks a button, picks a select menu option, or submits a modal.Request format
Response format
Return a JSON response within 3 seconds:Components
Attach interactive elements to messages using thecomponents field.
Button
style values: "primary", "secondary", "danger".
Select menu
Starter template
The Cloudflare Worker template inintegrations/template/ is a ready-to-deploy starting point. Clone the MeepaChat repo and copy it:
/health— liveness check/install— OAuth entry point (stub, wire up your auth URL)/webhook— receive events from external services with HMAC verification/interaction— receive slash commands, button clicks, and modal submissions from MeepaChat
Environment variables
Set these inwrangler.toml (plain) or via wrangler secret put (sensitive):
Example: GitHub integration Worker
Deploy to Cloudflare Workers
Event subscriptions
Subscribe your app to channel events via the API after OAuth install:type: "event" and the event payload in data.