Guides

Install and use the Slack bot

Install the official GTM Engine Slack app, understand what it can do, and optionally connect custom Slack or Teams agents.

You can put GTM Engine directly in Slack or Microsoft Teams, so your team can ask questions, look up records, run research, and take actions without leaving chat.

For Slack, most teams should install the official GTM Engine Slack app from Settings → Integrations. The installer is available to users who can manage integrations and whose plan includes integrations. After install, Slack messages route to your organization's default Slack Genie agent.

You can still connect a custom Slack app to a specific agent from the agent's Slack/Teams Chat tab. The manual setup below is for that bring-your-own-app option, and the Teams section covers Microsoft Teams.

Workflow Slack actions use the official GTM Engine Slack app by default. If your organization has custom Slack Agent bots configured, workflow builders can select one for a Slack task. Custom bots must include the Slack scopes needed for the action, such as chat:write for messages, channels:manage or groups:write for channel management, and invite permissions for adding users.

What the Slack bot can do

After the official app is installed, your team can:

  • Ask Slack Genie questions in Slack by mentioning the bot in channels where it has been added or by sending it a direct message.
  • Use GTM Engine context from chat. Slack Genie can look up CRM records, reports, research, and other data available to the signed-in GTM Engine user.
  • See tool activity inline. When Slack Genie runs tools, GTM Engine posts cards so users can see which records, reports, or actions were used.
  • Trigger Slack actions from workflows. Slack workflow tasks can send or schedule messages, create public or private channels, invite users, and rename channels.
  • Use custom Slack Agent bots when needed. Workflow builders can select a configured custom Slack Agent bot for a Slack task, while leaving the selector blank uses the official GTM Engine Slack app by default.

Slack Genie answers as the matching GTM Engine user. The sender's Slack email must match a GTM Engine account, and the answer follows that user's permissions and organization scope.

Install the official GTM Engine Slack app

  1. In GTM Engine, open Settings → Integrations.
  2. Find Slack.
  3. Click Connect, then choose Continue to Slack.
  4. Review Slack's permission screen and approve the install for the workspace.
  5. After Slack sends you back to GTM Engine, confirm the Slack card shows the GTM Engine bot as installed.
  6. In Slack, add the bot to the channels where you want to use it, or open a direct message with the bot.

You must be signed in to GTM Engine before starting the install. Start from Settings → Integrations so GTM Engine can attach the Slack workspace to the correct account and organization. If you find GTM Engine from Slack's App Directory first, open GTM Engine and restart the install from Settings → Integrations.

If the Slack workspace is already connected to a different GTM Engine organization, GTM Engine will reject the install. Contact support if the workspace should be moved.

Use Slack in workflows

When adding a Slack Message task to a workflow:

  1. Choose the Slack action: send message, create channel, invite users, or rename channel.
  2. Leave Slack bot set to Default — GTM Engine Slack app unless this workflow should use a custom Slack Agent bot.
  3. Fill in the action-specific fields, such as channel, message, channel name, or user IDs.
  4. Test with a safe channel before enabling the workflow.

Custom bots must have the scopes required for the selected action:

Workflow actionCommon required scopes
Send or schedule messagechat:write, plus access to the target channel or user
Direct message a userchat:write, im:write
Create public channelchannels:manage
Create private channelgroups:write
Invite usersChannel access plus invite permissions such as channels:write.invites, channels:manage, or groups:write
Rename channelchannels:manage for public channels or groups:write for private channels

Custom Slack app setup

Most teams do not need this section. Use it when you want a separate Slack app for a specific GTM Engine agent instead of the official GTM Engine Slack app.

When you connect a custom chat app to an agent:

  • The agent responds to @mentions in channels it's been added to, and to direct messages.
  • Each incoming message is matched to the sender's GTM Engine user (by email), so the agent runs with that person's access and organization scope.
  • The agent streams its answer back inline, and posts a card for every tool it runs (record lookups, reports, research, and so on) so it's clear what the agent is doing.

You supply the app's Bot Token and Signing Secret; GTM Engine gives you an Events webhook URL to paste back into your Slack app. That completes the two-way connection.

Prerequisites

  • You're an admin of the Slack workspace (or can ask one to install the app).
  • You have an agent in GTM Engine you want to expose in chat.
  • You can access the agent's Slack/Teams Chat tab (open the agent, then select the tab).

Step 1 — Create a Slack App

  1. Go to api.slack.com/apps and click Create New App.
  2. Choose From scratch, give it a name (this is what your team will see, e.g. Genie), and pick the workspace to develop it in.

Step 2 — Add the Bot Token Scopes

Under OAuth & Permissions → Scopes → Bot Token Scopes, add every scope below. These cover mentions, channels, DMs, group DMs, and reading user identity (needed to map a Slack user to their GTM Engine account).

ScopeWhy it's needed
app_mentions:readSee messages that @mention the agent
assistant:writeAct as a Slack App Agent (the AI assistant experience)
channels:historyRead messages in public channels the agent is in
channels:joinJoin public channels
channels:manageManage / create public channels the agent is added to
channels:readRead basic public channel info
channels:write.invitesInvite members to public channels
chat:writeSend messages as the agent
groups:historyRead messages in private channels the agent is in
groups:readRead basic private channel info
groups:writeManage / create private channels the agent is added to
im:historyRead direct messages sent to the agent
im:readRead basic direct message info
im:writeStart direct messages with people
incoming-webhookPost messages to specific channels
mpim:historyRead messages in group direct messages
mpim:readRead basic group direct message info
mpim:writeStart group direct messages
users:readView people in the workspace
users:read.emailRead user email addresses (used to match a Slack user to their GTM Engine account)

users:read.email is required. GTM Engine identifies who is talking to the agent by matching the sender's Slack email to their GTM Engine account, so the agent runs with the right permissions and organization.

Step 3 — Enable the App Agent (AI Assistant) Experience

Under App Home (or Agents & AI Apps, depending on your Slack app's settings), enable the Agents & AI Apps feature so the app can act as an AI assistant. This is what pairs with the assistant:write scope above.

Step 4 — Install the App and Copy Credentials

  1. Back on OAuth & Permissions, click Install to Workspace and approve the requested scopes.
  2. Copy the Bot User OAuth Token (starts with xoxb-).
  3. Go to Basic Information → App Credentials and copy the Signing Secret.

Step 5 — Connect It in GTM Engine

  1. In GTM Engine, open your agent and go to the Slack/Teams Chat tab.
  2. Select Slack as the platform.
  3. Paste the Bot Token and Signing Secret, then click Save Config.
  4. Click Test Connection to confirm GTM Engine can reach your workspace.

After saving, GTM Engine shows an Events Webhook URL on the same tab. Copy it — you'll need it in the next step.

Step 6 — Point Slack Events at GTM Engine

  1. In your Slack app settings, go to Event Subscriptions and toggle Enable Events on.
  2. Paste the Events Webhook URL from GTM Engine into the Request URL field. Slack will verify it.
  3. Under Subscribe to bot events, add:
    • app_mention — triggers the agent when someone @mentions it in a channel.
    • message.im — triggers the agent on direct messages.
    • message.groups / message.mpim — optional, for private channels and group DMs.
  4. Save your changes. Slack may prompt you to reinstall the app to apply the new events.

Step 7 — Try It Out

  • In a channel: invite the app to a channel, then @mention it with a question.
  • In a DM: open a direct message with the app and ask it something.

The agent will stream its answer and post a card for each tool it runs so you can see its work.

Managing the Integration

From the Slack/Teams Chat tab you can:

  • Pause / resume the integration with the active toggle (without deleting your credentials).
  • Update credentials by entering a new token or signing secret.
  • Remove the integration entirely.

Microsoft Teams

The flow for Teams is similar, but you create an Azure Bot instead of a Slack app:

  1. In the Azure Portal, create an Azure Bot (Multi-Tenant unless you need to restrict to one tenant). Note the App ID.
  2. Under Configuration, set the Messaging endpoint to the endpoint URL shown on the Slack/Teams Chat tab (select Microsoft Teams first).
  3. In the app registration, under Certificates & secrets, create a new client secret — this is your App Password.
  4. Add the Microsoft Graph delegated permissions: ChatMessage.Read, ChatMessage.Send, Chat.ReadWrite, User.Read.
  5. In GTM Engine, paste the App ID and App Password into the Teams form, save, and test.
  6. In the Teams Developer Portal, add your bot to a Teams app manifest and publish it to your organization.

Common Questions

  • The agent doesn't respond to @mentions. Confirm app_mention is subscribed under Event Subscriptions, the app is a member of the channel, and the integration is active on the Chat tab.
  • The agent replies "I can only chat with users who have a GTM Engine account." The sender's Slack email doesn't match a GTM Engine user. Make sure users:read.email is granted and the person has a GTM Engine account with the same email.
  • Slack couldn't verify my Request URL. Save your credentials in GTM Engine first (so the webhook URL exists), and make sure you copied the full URL from the Chat tab.

Next Steps

On this page