Skip to main content
Full apps are interactive integrations that can install via OAuth, respond to slash commands, render buttons and select menus, open modals, and subscribe to channel events. They run as separate HTTP services — a Cloudflare Worker is the recommended host.

What apps can do

  • OAuth install flow — users install your app to a server with one click
  • Slash commands — respond to /command invocations 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

  1. Go to /developer on your MeepaChat instance
  2. Click New App
  3. Enter a name and description
  4. Copy your Client ID and Client Secret
  5. Set your Interaction URL — this is where MeepaChat sends slash commands, button clicks, and modal submissions
  6. 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

Response:
Store the token — use it as 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 the components field.

Button

Button style values: "primary", "secondary", "danger".

Select menu

Starter template

The Cloudflare Worker template in integrations/template/ is a ready-to-deploy starting point. Clone the MeepaChat repo and copy it:
The template handles:
  • /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 in wrangler.toml (plain) or via wrangler secret put (sensitive):

Example: GitHub integration Worker

Deploy to Cloudflare Workers

After deploying, set your Worker URL as the Interaction URL in the Developer Portal:
Verify interaction request signatures in production. MeepaChat signs requests with your Client Secret. The template’s verifySignature utility handles HMAC-SHA256 verification — call it before processing any interaction.

Event subscriptions

Subscribe your app to channel events via the API after OAuth install:
MeepaChat will POST to your Interaction URL for each matching event with type: "event" and the event payload in data.