【Zapier】とあるTwitterアカウントのSpacesの開始をGmailで通知するZap

# 概要
TwitterアカウントのSpaces ストー力ー (💣) をするための通知環境のため、 ``IFTTT`` 、 ``Power Automate`` を弄ってみたけど、芳しいパフォーマンスが得られなかった。なので、ついでに無料でも使える ``Zapier`` でも同様の機能を作って検討してみた。

## 第1弾 ``IFTTT``
https://qiita.com/libraplanet/items/940dddc2ce8372dff180
## 第2弾 ``Power Automate``
https://qiita.com/libraplanet/items/c77b72969d5e0159f4c1

# ``Zapier``
## 特徴
* Zapier  https://zapier.com/
* 無料で 5 zap。 100タスク/月  
* 1つのトリガーで複数の処理を連ねる事ができる。  
  ※ ``Power Automate`` の様な並列タスクは出来ない。
* 複数のTwitterアカウントと連携ができる。
* 複数のGoogleアカウントと連携ができる。
* ``Power Automate`` の様な並列タスクは関数は無いが、フォーマッターなどのアクションが作れる。
* テスト実行が割とありがたい気がする。
* UXは良いが、UIが控えめに言ってクソ (ページ遷移が重くてストレス フル)

## 結論
* Twitterの検索時間は5分程度？ PowerAutomateより短めで、 **ZapierはSpaces通知には使えそう。**
* ``Power Automate`` 同等のメールの文面の自由度もあり。
* 複数アカウント使えるのは便利。 ⇒ 検索垢と投稿垢を分けられる、など。
* 100タスクはテストで簡単に使い潰しそうなので、慎重にデバックする必要がある。  
  (一度使い潰して、アカウント作り直した(爆))
* 5 zapは ``IFTTT`` と比べても使い物になりそう。  
  ※ただし、``IFTTT`` にあるAndroidタスクは ``Zapier`` にはない。


## Zapの作成
### ⓪サマリー
``Power Automate`` 同様、投稿日時はUTC+0で取得されるため、タイム ゾーン及び書式変換のアクションがある。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72257/66dc1e00-6662-51cf-75ce-36e19c1aaeb8.png)

### ① Trigger ： ``Search Mention in Twitter``
* App Event ： ``Twitter`` 
* Trigger Event ： ``Search Mention`` 
* Search term： ``Twitter`` 
   * 条件
      * ``-from@myaccount`` : 自分のアカウントを - で指定して、自分を除外する。
      * ``lang:ja`` : 日本語に絞る。
      * ``filter:spaces`` : スペースの投稿に絞る。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72257/51823448-6b70-37c1-658b-6e0cc35e8ae7.png)

### ② Action (1) ： ``Date / Time``
メールに投稿日時を記載したいが、タイムゾーンが ``UTC+0`` のため、書式と合わせて変換する。

* Action ： ``Format`` 
* Action Event ： ``Date / Time`` 
* Transform ： ``Format`` 
   * Values input ： ``Created At``
   * To Format ： (サンプル) ``YYYYMM/DD(ddd) HH:mm:ss``
   * To Timezone ： ``Asia/Tokyo``
   * From Format ： ``ddd MMM DD HH:mm:ss Z YYYY``
   * From Timezone ： ``UTC``

※ Twitterアカウントは途中で選択する。Zapierへの未登録の場合、OAuth認証を行う場合がある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72257/c82bacf3-d252-30e3-d4a1-676725ff47db.png)

### ③ Action (2) ： ``Send Email in Gmail``
* Action： ``Gmail`` 
* Choose app & event ： ``Send Email`` 
* Set up action
   * To ： 送信先アドレス。
   * From ： 使用するGmailのアカウントを選択する。
   * Body Type ： ``html``

```text:Subject&#x20;(サンプル)
【Twitter Search Notif】 {{131654358__user__name}} ( @{{131654358__user__screen_name}} ) {{131654358__text}}
```

```text:Body&#x20;(サンプル)
<p>
{{131654358__user__name}}<br>
@{{131654358__user__screen_name}} https://twitter.com/{{131654358__user__screen_name}}<br>
<img src="{{131654358__user__profile_image_url}}" alt="@{{131654358__user__screen_name}}"><br>
{{131654359__output}}
</p>
<p>
{{131654358__text}}
</p>
<p>{{131654358__url}}</p>
<p>powerd by zapier.</p>
```


※ Gmailのアカウントは途中で選択する。Zapierへの未登録の場合、OAuth認証を行う場合がある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72257/0ca27b5f-f9ed-745f-b6dd-7362f6f2d5d0.png)

## 補足
### 紐付いているアカウントの管理・確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72257/f7b41e1f-d65e-6097-b1b9-8439ec745610.png)


# 結果
## メール
5分間隔？割と良いレスポンス感。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72257/841ded2f-5686-3f3f-b675-c49dbac50e53.png)


# まとめ
``Zapiar`` は一応無料では使えるものの、 ``Power Automate`` と比べると、その無料枠には若干見劣りする。しかし、``IFTTT`` に比べれば全然良いし、トリガーのパフォーマンスについては ``Power Automate`` よりも良さそうに感じる。デバッグなどでタスク数の上限にぶつからない様にすれば、結構使えるのでは、と思ったりしている。

UI/UXが死んでるけど。まぁ作ってしまえばこちらのもの(苦笑)

最終的には自分でAPI叩いたほうが良いのだろうけど、それまでの間のしのぎには使えそう。

また、複数ユーザーに対して監視したい場合は、ORを使うよりもリストを併用するほうが良さそう。リストのURLが ``https://twitter.com/i/lists/3555269501025482567`` こんな漢字だったとき

```text:検索条件
list:3555269501025482567 filter:spaces
```

こんな塩梅で。

# 謝辞
* Zapier  
  https://zapier.com/

* Plans - Zapier
  https://zapier.com/app/billing/plans

* 【Twitter】リスト内を特定のワードで検索する方法 | neggly.org
  https://neggly.org/post/twitter-list-search/