Slack API team invitation

warownia1 picture warownia1 · Jun 20, 2015 · Viewed 15k times · Source

I am looking for a call which could send a Slack team invitation email to a new user from my application. I searched it in the SlackAPI but I didn't find anything. Is it possible to create an application which would sent invitations on my behalf?
I'm currently using slacker as a Python wrapper, but if there is any better library which provides invitations I can start using it.

Answer

Erik Kalkoken picture Erik Kalkoken · Mar 20, 2016

Invite new users via API

There is an undocumented method in the Slack API that allows you to programmatically invite new users to your Slack workspace:

  • method name: users.admin.invite
  • arguments: token, email, channels
  • token: your slack API "test" token (required)
  • email: email address, e.g. [email protected] (required)
  • channels: comma separated list of channels the new user will auto-join. channels are specified by ID. e.g. channels=C000000001,C000000002(optional)

full example:

https://slack.com/api/users.admin.invite?token=XXX&[email protected]&channels=C000000001,C000000002

Note that this API method only works with legacy type tokens.

I started documenting the "undocumented" Slack API methods I know about including users.admin.invite. Check out the documentation on github.

Create new users via API

Alternatively there is an endpoint in the SCIM API to directly create new users:

POST /Users

However the SCIM API with all its endpoints is only available to Slack workspaces on the Plus plan or Enterprise Grid.

Important Update

Slack has decided to remove legacy tokens from their API. It will no longer be possible to create new legacy tokens as of May 5th, 2020 (Source). If you have a working legacy token you should be able to continue using the undocumented API methods, but new users will not. Please take this into consideration when deciding about using any of the methods from this repo in your apps.