Zapierを使ってツイートをChatWorkに投稿させる

Zapierを使ってツイートをChatWorkに投稿させる

2016.07.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Zapierを使って Twitter と ChatWork を連携させる

twitter であるハッシュタグが見つかったら、Facebook にポストするというように、 “If this, then that” のワークフローを Web サービス間で定義する IFTTT という Web サービスが存在します。

コードを書かずにGUI操作だけでワークフローを定義出来るのが何よりも魅力です。

ジョブを作成して、cron や Jenkins のようなジョブスケジューラーで実行させたり、AWS Lambda をスケジュール実行させる事もできるでしょうが、シンプルな定形処理であれば、IFTTT のようなサービスを利用すると、運用・管理の手間が軽減されます。

さて、IFTTT の類似サービスに、高機能版 IFTTT とでも言うべき Zapier というサービスが存在します。

今回は Zapier を使って、ある Twitter アカウントがツイートをするたびに、ChatWork にメッセージ投稿させてみます。

IFTTT と Zapier の違い

IFTTT は機能を絞り、使いやすさ、わかりやすさを目指しているのに対して、Zapier はシステマティックに細かくワークフローを定義出来るようにしています。

IFTTT はあくまで “If this, then that” のシンプルな2ステップのフローにこだわるのに対して、 Zapier は複数ステップのフローに対応し、特定の文字列を含んでいる場合のみ処理するフィルター機能まで存在することからも、サービスの方向性の違いを感じられます。

Zapierを使ってツイートをWebサービスを連携させる

2016年7月4日時点でZapier は 500 以上の膨大なサービス・プロトコルと連携出来ます。

サービス一覧 https://zapier.com/zapbook/

今回は Zapier を使って、新しいツイートがあったら、チャットサービスの ChatWork に通知します。 Zapier ChatWork 連携は IFTTT が対応していない機能の一つです。

操作のアウトライン

  1. ChatWork の API トークンの取得
  2. Zapier サービスに会員登録
  3. ワークフローの定義

ChatWork の API トークンの取得

チャットワークAPIでは、現在APIトークンによる認証のみを提供しています。 次のページから API トークンを取得します。

認証方法 - チャットワークAPIドキュメント

Zapier サービスに会員登録

zapier.com にアクセスし、名前とメールアドレスを入力し、サービスに登録します。

zapier-top メールアドレスの疎通確認は行われないため、メールアドレスを間違えないようにしましょう。

ワークフローの定義

Zapier では “If this, then that” のフロー全体を “ZAP” とよび、”If this”を “TRIGGER”、”then that” を “ACTION” と呼びます。

ZAP の定義

“Make a ZAP” のリンクから ZAP を作成します。

 

TRIGGER の定義

トリガーアプリケーションには “Twitter” を選択し、トリガーには ”User Tweet(Triggers when a specific user tweets)” を選択します。

04-trigger-choose-triger

Twitter API 呼び出し元の Twitter アカウントと Zapier アカウントを連携させます。

 

05-trigger-choose-account

 

Zapier に Twitter アカウントへのアクセスを許可します。

 

06-trigger-auth-zapier

許可する Twitter アカウントにログインします。

 

07-trigger-auth-zapier

ツイートをチェックする Twitter アカウントを入力します。

08-trigger-choose-twitter-account

 

09-trigger-choose-twitter-account

連携試験を行いします。

10-trigger-choose-twitter-account

ACTION の定義

アクションアプリケーションには “ChatWork” を選択し、アクションには ”Send Message(Post a new message to a specific group chat in ChatWork)” を選択します。

22-action-choose-action

 

チャットメッセージ投稿先の ChatWork アカウントと Zapier アカウントを連携させます。

23−action-choose-account

ChatWork の API トークンを入力します。

24-action-choose-api-token

ChatWork の投稿先チャット部屋(Room)と投稿メッセージ文(Text)を設定します。

「Text」には ChatWork のマークアップを使えます。 また、Action で取得可能なツイート属性の一覧は、検索ボックスから検索可能です。

25-action-setup-chatwork-message

最終的に、次のような「Text」にしました。

26-action-setup-chatwork-message

ACTION 内容はプレビューできます。

27-action-setup-chatwork-message

今回はシンプルな IFFT 形式のため、「Finish」ボタンから ZAP の作成を終えます。

 

31-create-zap

 

 

最後の ZAP を有効化(ON)します。

32−activate-zap

33-zap-created

管理画面の「My Zaps」から作成した ZAP を確認できます。

34−my-zaps

動作確認

それでは、しばらく放置してみると、以下のようにチャットワークにメッセージ通知されました。

zapier-twitter-chatwork-sample

実行履歴

Zapier では IFTTT ワークフローの実行を TASK と呼びます。 各 TASK は My Zaps の Zap 一覧画面において、各 Zap の HISTORY から確認できます。

zapier-history

遷移先のタスク履歴画面が以下です

zapier-task-history

Zapier は有料プランでなければ実用的ではない

Zapire は 500 以上のアプリケーションと連携可能で、複雑なワークフローを定義出来る一方で、有料プランを選択しなければ、機能制限が厳しく実用的ではありません。

プランは次図の通りです。

Plan Price Multi-step Zaps Premium Apps Autoreplay Tasks Tasks/mo Zaps Zaps Run Every
Free $0/month ❌ ❌ ❌ 100  5 15 Minutes
Basic $20/month ✅ ✅ ❌ 1,000 20 15 Minutes
Business $50/month ✅ ✅ ✅ 3,000 50 5 Minutes
Business Plus $125/month ✅ ✅ ✅ 10,000 125 5 Minutes
Infrastructure $250/month ✅ ✅ ✅ 50,000 250 5 Minutes

評価軸を順に見ていてきます。

Multi-Step Zaps

無料プランでは IFTTTと同じ “If this, then that” の 2 ステップしか定義できません。 Zapier の強みである 3 ステップ以上を定義したい場合は、有料プランを選択しましょう。

Premium Apps

Zapier は500以上のアプリケーションと連携します。 しかし、Salesforce、Zendesk など一部のアプリケーションは “Premium Apps” に分類され、これらアプリケーションは有料プランでなければ選択できません。

Autoreplay Tasks

連携サービスが一時的に落ちていて、Zap が正常終了しなかった時に再実行する仕組みが Autoreplay です。 この機能が必要場合は Business 以上のプランを選択しましょう。 Zap の実行履歴(History)から、手動で Zap を再実行してリカバリーするのは面倒ですよね。

Tasks/mo

Zapier では定義した Zap の実行単位を Task と呼びます。 ある Zap が 3 回呼びだされれば 5 Tasks となります。

プランごとに、月あたりの Tasks 数上限があります。 無料プランは 100 Tasks/mo で一日に約3回のペースです。

最上位の Infrastructure プランでも 50,000 Tasks/mo です。

Zapier の Zap は、AWS Lambda のように、カジュアルに高頻度で呼び出すことは想定していないようです。

Zaps

Zap の上限数はプランごとに異なります。 無料プランでは 5 Zap までです。

Zaps Run Every

Zap の実行間隔です。

Free/Basic プランは 15 分間隔、より上位のプランは 5 分間隔で実行されます。

まとめ

Zapier の簡単な使い方を紹介しました。

連携サービスの多さは魅力的ですが、有料プランでなければサービス制限が厳しく、とりわけ Task 実行数は有料プランであっても、制限が厳しく感じました。

Zapier の制限に引っかからないようなワークフローを利用する限りでは、なんとか使えるのではないでしょうか。中でも ChatWork 連携が標準で備わっているのは、ChatWork ユーザーには魅力的かと思います。

参考リンク

 

この記事をシェアする

関連記事