LoginSignup
63
51

More than 5 years have passed since last update.

Slack API を使いチームへの招待作業を自動化する

Last updated at Posted at 2015-07-11

はじめに

Slack とは ?

Slack

Slack はチームで使うチャットサービスの一つです。同じようなサービスに、HitChatChatWork があります。

Slack チームへの参加方法は 2 種類

Slack では以下の 2 種類の方法でチームに参加できます。

  1. 新規メンバーから参加申請
  2. 既存メンバーによる招待

Team Settings

しかし、『 1. 新規メンバーから参加申請 』 の方法では、登録するメールアドレスのドメインを制限する必要があります。

そのため、ドメインを持たないグループ (ユーザーズグループ、勉強会のグループ、など) では 『 2. 既存メンバーによる招待 』 の方法を取らざるを得ません。この招待を自動化したい、というのがこの記事の主題です。

Slack API について

Slack は Slack API として REST 形式の API が提供されています。チームへの招待も API が存在するのですが、公式の API 一覧には載っていません (非公式 API 扱いのようです)。

コンソールから、以下のようにして呼び出せます。

$ curl -X POST 'https://TEAM.slack.com/api/users.admin.invite' \
--data 'email=EMAIL&token=TOKEN&set_active=true' \
--compressed

TEAM は、スラックのチーム名 (英数字) で、EMAIL に招待する人のメールアドレスが入ります。TOKEN は、Slack Web API のページから作成できます。

API を利用して自動招待する

招待するプログラムを書く

POST リクエストを送るだけの簡単な処理なので、お好きな言語でプログラムを書けば終了です。
以下は、私が Crystal で作った自動招待プログラムの例です。

crystal-jp-slack-invite

既存のプロジェクトのコードを利用する

Node.js で書かれた汎用招待プログラムが GitHub 上で公開されています。これを利用すると、簡単に招待ページを作ることができます。

まとめ

Slack API を使うと、チームへ招待するプログラムが作ることができます。Slack で快適なチャットライフを!

63
51
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
51