Geta.Team Geta.Team

Slack Impersonation

Let employees send Slack messages as a real connected user, rather than as a bot.

Where

Dashboard sidebar → SettingsConnectorsSlack Impersonation.

What it does

Impersonation lets an employee send messages as a real Slack user who connected their account, instead of posting under a bot identity.

This is the opposite choice from Slack Bots.

Slack BotsSlack Impersonation
Messages appear asthe app, with its own name and avatarthe connected human user
Set up peremployee, one Slack app eachworkspace, one Slack app total
Needsa bot token (xoxb-)a user authorising the app

Use bots when the employee should be visibly an employee. Use impersonation when the message must come from a person's own account.

Configured once for the workspace: the row reads Not Configured until you enter the three credentials.

The form

The Slack Impersonation connector

Expanding the connector gives you How to Configure, which repeats these instructions inside the product, and three fields:

FieldWhat goes in it
Client IDfrom your Slack App's Basic Information
Client Secretsame page, click Show to reveal it
Signing Secretsame page, used to verify incoming events

The button is Configure Slack.

Before you start

You need a Slack workspace where you can create and install an app, and you need to know your own instance address — it goes into two Slack settings below, and a wrong one fails silently.

Configure, step by step

1. Create a Slack App

  1. Go to api.slack.com/apps.
  2. Click Create New App.
  3. Choose From scratch.
  4. Enter an App Name, for example Geta.Team. Unlike bots, this app is shared by the whole workspace, so name it after your company or the platform, not after one employee.
  5. Select your workspace and click Create App.

2. Collect the three credentials

  1. Go to Basic Information in the left sidebar.
  2. Scroll to App Credentials.
  3. Note the Client ID, the Client Secret (click Show) and the Signing Secret (click Show).

Keep them somewhere safe for step 6.

3. Configure OAuth & Permissions

  1. Go to OAuth & Permissions.
  2. Under Redirect URLs, click Add New Redirect URL and enter:
https://YOUR-INSTANCE/api/slack/oauth/callback
  1. Click Add, then Save URLs.
  2. Scroll to Scopes and add the following.

Bot Token Scopes:

chat:write
im:history
im:read
users:read

User Token Scopes — these are the ones that make impersonation work, they are what lets the app act on behalf of the connected person:

chat:write
files:read
files:write
im:history
im:read
im:write
users:read

Replace YOUR-INSTANCE with your own address. The exact URLs are displayed in the How to Configure panel inside the product — copy them from there rather than from any documentation screenshot.

4. Configure Event Subscriptions

  1. Go to Event Subscriptions.
  2. Toggle Enable Events to ON.
  3. In Request URL, enter:
https://YOUR-INSTANCE/api/slack-events
  1. Wait for the green checkmark confirming Slack verified the URL.
  2. Expand Subscribe to bot events, click Add Bot User Event, add message.im.
  3. Expand Subscribe to events on behalf of users, click Add Workspace Event, add message.im.
  4. Click Save Changes.

Both lists matter: the first covers what the app receives, the second covers what it receives on behalf of the people who connected their account.

5. Install the app to the workspace

  1. Go back to OAuth & Permissions.
  2. Click Install to Workspace.
  3. Review the permissions and click Allow.

6. Configure Geta.Team

Back in Settings → Connectors → Slack Impersonation, enter the Client ID, the Client Secret and the Signing Secret, then click Configure Slack.

Once the workspace is configured, the users who should be impersonated connect their own Slack account from this connector. Nobody is impersonated without having authorised the app themselves.

Troubleshooting

Slack refuses the redirect URL when a user connects. The Redirect URL in step 3 must match your instance exactly, including https:// and no trailing slash. A URL saved for another instance verifies fine and fails at connection time.

The Request URL never gets its green checkmark. Slack calls the URL immediately and expects an answer. Check the address for a typo, and that you used your own instance rather than an example.

Messages arrive but the employee cannot answer as the user. The User Token Scopes in step 3 were not added, only the bot ones. Add them, then reinstall the app to the workspace so the new scopes apply.

Nothing happens for one particular person. That person has not connected their Slack account. Workspace-level configuration alone does not grant impersonation.

What breaks

The Slack app lives in your Slack workspace. If it is deleted or its secret is rotated there, every impersonated user stops working at once, not one by one. Re-enter the credentials in the connector after any rotation.

On this page