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
- In GTM Engine, open Settings → Integrations.
- Find Slack.
- Click Connect, then choose Continue to Slack.
- Review Slack's permission screen and approve the install for the workspace.
- After Slack sends you back to GTM Engine, confirm the Slack card shows the GTM Engine bot as installed.
- 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:
- Choose the Slack action: send message, create channel, invite users, or rename channel.
- Leave Slack bot set to Default — GTM Engine Slack app unless this workflow should use a custom Slack Agent bot.
- Fill in the action-specific fields, such as channel, message, channel name, or user IDs.
- Test with a safe channel before enabling the workflow.
Custom bots must have the scopes required for the selected action:
| Workflow action | Common required scopes |
|---|---|
| Send or schedule message | chat:write, plus access to the target channel or user |
| Direct message a user | chat:write, im:write |
| Create public channel | channels:manage |
| Create private channel | groups:write |
| Invite users | Channel access plus invite permissions such as channels:write.invites, channels:manage, or groups:write |
| Rename channel | channels: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
- Go to api.slack.com/apps and click Create New App.
- 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).
| Scope | Why it's needed |
|---|---|
app_mentions:read | See messages that @mention the agent |
assistant:write | Act as a Slack App Agent (the AI assistant experience) |
channels:history | Read messages in public channels the agent is in |
channels:join | Join public channels |
channels:manage | Manage / create public channels the agent is added to |
channels:read | Read basic public channel info |
channels:write.invites | Invite members to public channels |
chat:write | Send messages as the agent |
groups:history | Read messages in private channels the agent is in |
groups:read | Read basic private channel info |
groups:write | Manage / create private channels the agent is added to |
im:history | Read direct messages sent to the agent |
im:read | Read basic direct message info |
im:write | Start direct messages with people |
incoming-webhook | Post messages to specific channels |
mpim:history | Read messages in group direct messages |
mpim:read | Read basic group direct message info |
mpim:write | Start group direct messages |
users:read | View people in the workspace |
users:read.email | Read 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
- Back on OAuth & Permissions, click Install to Workspace and approve the requested scopes.
- Copy the Bot User OAuth Token (starts with
xoxb-). - Go to Basic Information → App Credentials and copy the Signing Secret.
Step 5 — Connect It in GTM Engine
- In GTM Engine, open your agent and go to the Slack/Teams Chat tab.
- Select Slack as the platform.
- Paste the Bot Token and Signing Secret, then click Save Config.
- 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
- In your Slack app settings, go to Event Subscriptions and toggle Enable Events on.
- Paste the Events Webhook URL from GTM Engine into the Request URL field. Slack will verify it.
- 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.
- 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:
- In the Azure Portal, create an Azure Bot (Multi-Tenant unless you need to restrict to one tenant). Note the App ID.
- Under Configuration, set the Messaging endpoint to the endpoint URL shown on the Slack/Teams Chat tab (select Microsoft Teams first).
- In the app registration, under Certificates & secrets, create a new client secret — this is your App Password.
- Add the Microsoft Graph delegated permissions:
ChatMessage.Read,ChatMessage.Send,Chat.ReadWrite,User.Read. - In GTM Engine, paste the App ID and App Password into the Teams form, save, and test.
- 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_mentionis 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.emailis 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
- Build a multi-tool agent — give your chat agent the tools it needs to answer real questions.
- Getting started — connect the rest of GTM Engine.