ZapierでSaaS連携

## この記事でわかること

- Zapierとは？
- Zapierの料金体系
- Zapierでできること
- 実際にやってみた

## Zapierとは？

簡単に言えば、
ノーコードでワークフローの自動化ができるWebアプリケーションです。
MSのPowerAutomateに近しいと思います。

Zapierの特徴としてSaaS連携に非常に強力です。現時点で5000以上のアプリケーションとの連携が可能で、普段利用している有名所のサービスであれば網羅されていると考えていいと思います。

### Zapierの料金体系
Zapierには大きく5つの料金体系があります。（2023/02/07時点）
| プラン | Free | Starter | Professional | Team | Company |
| --- | --- | --- | --- | --- | --- |
| 料金 | ¥0 | ¥2,677 | ¥6,561 | ¥53,421 | ¥106,975 |
| 制限 | 100タスク/月 | 750タスク/月 | 2,000タスク/月 | 50,000タスク/月 | 100,000タスク/月 |
| 機能（差分のみ記載） | ・シンプルステップ・ノーコードエディター | ・マルチステップ・フィルターとフォーマット機能・履歴管理 | ・連携アプリの開放（Lambdaとか）・自動リトライ処理・カスタムロジック | ・ユーザ無制限・上位サポート | ・追加管理者権限・SSO・カスタムデータ |

※タスクとは、1つのワークフローで月内で実行できる回数を指します。
※ステップとはトリガーを指し、複数トリガーからワークフローを実行できるのがマルチステップです。

登録した時点では、2週間のお試しでProfessionalが利用できるので、動作を確認したい場合はこの期間を有効活用するといいかもです。
その後はFreeプランに移りますが、100タスクも無料で利用できるので、今回はその恩恵に与ろうと思います。

## Zapierでできること

前述の通り、ノーコード/ローコードでできるのでAPI等を意識せず、SaaS間を連携させることが可能です。
例えば、Googleスプレッドシートでデータを管理していて、rawに変更が合ったことをトリガーにして、Slack通知を出すことも簡単です。こういったAPIをゴリゴリに使えばできるけど、そこまでやりたくないなという方には本当におすすめできるかなと思います

## 実際にやってみた

※日本語版はありません。
今回はAWSのCloudwatchアラートがSlackに飛んだことをトリガーにして、Asanaのタスクにするというワークフローを作ってました。

### トリガーの設定（Slack）

1. 管理コンソールにログインし、＋Create Zapを押下
    
   ![zapier1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/be235558-ee78-ab7a-4247-a5827b146d6f.png)
    ※Zap＝ワークフローの単位です（おしゃれ～）
    
2. トリガーで「Slack」を選択
    
    ![zapier2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/f9fbf69e-24cf-1fea-71a5-c3473eeb1fde.png)



    
3. トリガーとするEventを選択（今回はNew Message Posted to Channel）し、Continue
    ![zapier3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/0b6570e1-dab5-65bc-2fb0-18e36ab47387.png)
    ![zapier4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/f4f3b887-ad48-5751-57f8-dd8a0f759a54.png)


    
4. 対象のSlackワークスペースを選択し、Continue（Slack管理者の承認が必要な場合もあります）
    ![zapier13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/74edc61d-6758-9c14-5b8a-5026489b0b86.png)

    
    
    
5. Stet up trigerでアラームを受け取るChannelを選択。
    今回はChannelにいるAWSBotが投稿した場合なので、Bot MessageをYesと選択し、Continue
    ![zapier6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/c753f383-916c-707c-5d23-d1d812f54038.png)

     ![zapier8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/4ce6468f-60f2-ce7e-8269-005cfc9aabd4.png)
    
    
    
    

    
6. Test triggerでZapierが対象ChannelのBot投稿がないかクロールした結果が表示される。今回トリガーとしたいメッセージがあれば、選択しContinue。
    
   ![zapier7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/9bb77fc6-1ddb-240d-c23e-e21eea73e8a9.png)

### アクションの設定（Asana）

今回はSlackにAWSBotから投稿されたメッセージをタスク化したいので、Asanaを選択

1. EventにCreate taskを選択し、Continue。
    ![zapier9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/96d76600-5c20-cec7-b065-451bcfa0cb89.png)
    
  

2. 設定したいアカウントを選択し、Continue。
    
    ![zapier10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/3105a7df-9bf2-7eb8-0507-89865a3be3f2.png)

    
3. Set up actionでプロジェクトや担当者、タスク名などを入力
   ※Hubspotのワークフロー機能も使ったが、Zapierの方がかなり柔軟に指定が可能
    
    ![zapier11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/4763b648-3e5b-406e-c479-20c3b406d5ad.png)

    
4. 最後にTest actionで実際にAsanaにタスクが作成されれば成功。
    
    ![zapier12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/99a14c3f-4492-06ad-b7d4-c7b167c5fab2.png)

    

ここまでにかかった時間は10分ぐらいでした。ノーコードの喜びも去ることながら、テストがトリガーとアクションそれぞれのセクションで実行できるので、複雑なフローだとしても切り分けが容易だと思います。

## まとめ

Zapierはその便利さはもちろんですが、今後世の中はノーコード/ローコードが主流になるのだなというのが実感できるサービスかと思います。

それと同時にZapierや流行りのGPTのおかげ？で非エンジニアでも簡単にかつ同等（もしかしたらそれ以上）のことができるようになるのだと思うと、、、怖いです。。。

私自身も来る時代に必要とされるエンジニアになるために、こういった技術を使うエンジニアではなく作るエンジニアにならなければと痛感しました。