curl "https://app.runtm.com/api/v1/slack/manifest?app_name=My%20Bot" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
resp = requests.get(
"https://app.runtm.com/api/v1/slack/manifest",
params={"app_name": "My Bot"},
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
)
print(resp.json())
const resp = await fetch(
"https://app.runtm.com/api/v1/slack/manifest?app_name=My%20Bot",
{
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await resp.json();
{
"url": "https://api.slack.com/apps?new_app=1&manifest_yaml=...",
"interactions_url": "https://app.runtm.com/api/v1/slack/interactions"
}
Slack
App Manifest
Get the Slack App Manifest URL for self-hosted setup.
GET
/
api
/
v1
/
slack
/
manifest
curl "https://app.runtm.com/api/v1/slack/manifest?app_name=My%20Bot" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
resp = requests.get(
"https://app.runtm.com/api/v1/slack/manifest",
params={"app_name": "My Bot"},
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
)
print(resp.json())
const resp = await fetch(
"https://app.runtm.com/api/v1/slack/manifest?app_name=My%20Bot",
{
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await resp.json();
{
"url": "https://api.slack.com/apps?new_app=1&manifest_yaml=...",
"interactions_url": "https://app.runtm.com/api/v1/slack/interactions"
}
Returns a pre-filled Slack App Manifest creation URL. Use this for self-hosted Slack app setup when not using the managed OAuth flow.
Required scope:
integrations:read
Requires organization context via the
X-Organization-Id header.string
required
The organization context.
string
default:"Runtime"
Custom name for the Slack app. Max 35 characters.
string
required
Slack App Manifest creation URL.
string
required
The interactivity URL to configure in the Slack app settings.
curl "https://app.runtm.com/api/v1/slack/manifest?app_name=My%20Bot" \
-H "Authorization: Bearer runtm_xxx" \
-H "X-Organization-Id: org_abc123"
import requests
resp = requests.get(
"https://app.runtm.com/api/v1/slack/manifest",
params={"app_name": "My Bot"},
headers={
"Authorization": "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
)
print(resp.json())
const resp = await fetch(
"https://app.runtm.com/api/v1/slack/manifest?app_name=My%20Bot",
{
headers: {
Authorization: "Bearer runtm_xxx",
"X-Organization-Id": "org_abc123",
},
}
);
const data = await resp.json();
{
"url": "https://api.slack.com/apps?new_app=1&manifest_yaml=...",
"interactions_url": "https://app.runtm.com/api/v1/slack/interactions"
}