Endpoints

Slack

Copy page

Slack App integration endpoints

Install Slack App

GET
/work-apps/slack/install

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Query Parameters

tenant_id?string

Response Body

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/install"
Empty

Slack OAuth Callback

GET
/work-apps/slack/oauth_redirect

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Query Parameters

code?string
error?string
state?string

Response Body

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/oauth_redirect"
Empty

Create Nango Connect Session

POST
/work-apps/slack/users/connect

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Request Body

application/json

tenantId?string

Tenant ID

userEmail?string

User email

userId*string

Inkeep user ID

userName?string

User display name

Response Body

application/json

curl -X POST "https://api.pilot.inkeep.com/work-apps/slack/users/connect" \  -H "Content-Type: application/json" \  -d '{    "userId": "string"  }'
{
  "connectUrl": "string",
  "sessionToken": "string"
}
Empty
Empty

Disconnect User

POST
/work-apps/slack/users/disconnect

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Request Body

application/json

slackTeamId?string

Slack team ID

slackUserId?string

Slack user ID

tenantId?string

Tenant ID

userId?string

Inkeep user ID

Response Body

application/json

curl -X POST "https://api.pilot.inkeep.com/work-apps/slack/users/disconnect" \  -H "Content-Type: application/json" \  -d '{}'
{
  "success": true
}
Empty
Empty
Empty
GET
/work-apps/slack/users/link-status

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Query Parameters

slackUserId*string
slackTeamId*string
tenantId?string
Default"default"

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/users/link-status?slackUserId=string&slackTeamId=string"
{
  "linkId": "string",
  "linked": true,
  "linkedAt": "string",
  "slackUsername": "string"
}
POST
/work-apps/slack/users/link/verify-token

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Request Body

application/json

token*string
Length1 <= length
userEmail?string
Formatemail
userId*string
Length1 <= length

Response Body

application/json

curl -X POST "https://api.pilot.inkeep.com/work-apps/slack/users/link/verify-token" \  -H "Content-Type: application/json" \  -d '{    "token": "string",    "userId": "string"  }'
{
  "linkId": "string",
  "slackTeamId": "string",
  "slackUsername": "string",
  "success": true,
  "tenantId": "string"
}
Empty
Empty

Get Connection Status

GET
/work-apps/slack/users/status

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Query Parameters

userId*string

Inkeep user ID

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/users/status?userId=string"
{
  "connected": true,
  "connection": {
    "appUserEmail": "string",
    "appUserId": "string",
    "connectionId": "string",
    "linkedAt": "string",
    "slackDisplayName": "string",
    "slackTeamId": "string",
    "slackUserId": "string",
    "tenantId": "string"
  }
}
Empty
Empty

List Workspaces

GET
/work-apps/slack/workspaces

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces"
{
  "workspaces": [
    {
      "connectionId": "string",
      "defaultAgentName": "string",
      "hasDefaultAgent": true,
      "teamId": "string",
      "teamName": "string",
      "tenantId": "string"
    }
  ]
}

Get Workspace

GET
/work-apps/slack/workspaces/:teamId

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId"
{
  "connectionId": "string",
  "defaultAgent": {
    "agentId": "string",
    "agentName": "string",
    "projectId": "string",
    "projectName": "string"
  },
  "teamId": "string",
  "teamName": "string",
  "tenantId": "string"
}
Empty

Uninstall Workspace

DELETE
/work-apps/slack/workspaces/:teamId

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Response Body

application/json

curl -X DELETE "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId"
{
  "success": true
}
Empty
Empty
Empty

List Channels

GET
/work-apps/slack/workspaces/:teamId/channels

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Query Parameters

limit?number
Default100
cursor?string
types?string

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/channels"
{
  "channels": [
    {
      "agentConfig": {
        "agentId": "string",
        "agentName": "string",
        "projectId": "string",
        "projectName": "string"
      },
      "hasAgentConfig": true,
      "id": "string",
      "isPrivate": true,
      "isShared": true,
      "memberCount": 0,
      "name": "string"
    }
  ],
  "nextCursor": "string"
}
Empty

Get Channel Settings

GET
/work-apps/slack/workspaces/:teamId/channels/:channelId/settings

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string
channelId*string

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/channels/:channelId/settings"
{
  "agentConfig": {
    "agentId": "string",
    "agentName": "string",
    "projectId": "string",
    "projectName": "string"
  },
  "channelId": "string"
}

Remove Channel Config

DELETE
/work-apps/slack/workspaces/:teamId/channels/:channelId/settings

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string
channelId*string

Response Body

application/json

curl -X DELETE "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/channels/:channelId/settings"
{
  "success": true
}

Set Channel Default Agent

PUT
/work-apps/slack/workspaces/:teamId/channels/:channelId/settings

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string
channelId*string

Request Body

application/json

agentConfig*
channelName?string
channelType?string

Response Body

application/json

curl -X PUT "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/channels/:channelId/settings" \  -H "Content-Type: application/json" \  -d '{    "agentConfig": {      "agentId": "string",      "projectId": "string"    }  }'
{
  "configId": "string",
  "success": true
}

Bulk Remove Channel Configs

DELETE
/work-apps/slack/workspaces/:teamId/channels/bulk

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Request Body

application/json

channelIds*array<>
Items1 <= items

Response Body

application/json

curl -X DELETE "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/channels/bulk" \  -H "Content-Type: application/json" \  -d '{    "channelIds": [      "string"    ]  }'
{
  "removed": 0,
  "success": true
}

Bulk Set Channel Agents

PUT
/work-apps/slack/workspaces/:teamId/channels/bulk

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Request Body

application/json

agentConfig*
channelIds*array<>
Items1 <= items

Response Body

application/json

curl -X PUT "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/channels/bulk" \  -H "Content-Type: application/json" \  -d '{    "agentConfig": {      "agentId": "string",      "projectId": "string"    },    "channelIds": [      "string"    ]  }'
{
  "errors": [
    {
      "channelId": "string",
      "error": "string"
    }
  ],
  "failed": 0,
  "success": true,
  "updated": 0
}
Empty
Empty

Check Workspace Health

GET
/work-apps/slack/workspaces/:teamId/health

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/health"
{
  "botId": "string",
  "botName": "string",
  "error": "string",
  "healthy": true,
  "permissions": {
    "canPostMessages": true,
    "canReadChannels": true,
    "canReadHistory": true
  },
  "teamId": "string",
  "teamName": "string"
}
Empty

Get Workspace Settings

GET
/work-apps/slack/workspaces/:teamId/settings

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/settings"
{
  "defaultAgent": {
    "agentId": "string",
    "agentName": "string",
    "projectId": "string",
    "projectName": "string"
  }
}

Update Workspace Settings

PUT
/work-apps/slack/workspaces/:teamId/settings

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Request Body

application/json

defaultAgent?

Response Body

application/json

application/json

curl -X PUT "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/settings" \  -H "Content-Type: application/json" \  -d '{}'
{
  "success": true
}
{
  "success": true
}

Send Test Message

POST
/work-apps/slack/workspaces/:teamId/test-message

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Request Body

application/json

channelId*string
message?string

Response Body

application/json

curl -X POST "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/test-message" \  -H "Content-Type: application/json" \  -d '{    "channelId": "string"  }'
{
  "error": "string",
  "messageTs": "string",
  "success": true
}
Empty
Empty

List Linked Users

GET
/work-apps/slack/workspaces/:teamId/users

Authorization

bearerAuth cookieAuth
AuthorizationBearer <token>

Bearer token authentication. Use this for API clients and service-to-service communication. Set the Authorization header to "Bearer ".

In: header

better-auth.session_token<token>

Session-based authentication using HTTP-only cookies. Cookies are automatically sent by browsers. For server-side requests, include cookies with names starting with "better-auth." in the Cookie header.

In: cookie

Path Parameters

teamId*string

Response Body

application/json

curl -X GET "https://api.pilot.inkeep.com/work-apps/slack/workspaces/:teamId/users"
{
  "linkedUsers": [
    {
      "id": "string",
      "lastUsedAt": "string",
      "linkedAt": "string",
      "slackEmail": "string",
      "slackTeamId": "string",
      "slackUserId": "string",
      "slackUsername": "string",
      "userId": "string"
    }
  ]
}