🤖

Zenn に投稿したらツイートする RPA レシピ

2020/10/01に公開約3,900字1件のコメント

Zenn が RSS に対応したようなので、 RSS フィードを購読してそれをツイートさせてみました。

RPA (Integromat)

使用した RPA サービスは Integromat です。
「RPA といえば IFTTT」な人が多い気がしますが、 IFTTT のプラン変更があったので無料プランはかなり厳しく鳴ったと思います。
Integromat無料プランで 1,000 オペレーター、100 MB のデータ転送が可能なので RSS フィードのツイート程度なら無料の範囲で可能です。

Integromat は RPA サービスとしての多種多様なサービス連携は当然のことながら、
ノードベースのグラフィカルなシナリオ作成が特徴です。

example

1つのノードが実行されると 1 オペレーション消費したことになります。
ノードに条件をつけたり、繰り返しや分岐、エラーハンドリングなども可能です。
条件分岐で実行されなかったノードはオペレーションを消費しません。

(RSS からツイートは加工とかしなければ 2 オペレーションで実現可能なので、よっぽど投稿しなければ大丈夫なはず。テキストデータの転送しかしないのでデータ転送サイズ制限も問題ないはず)

今回はサービス登録手順を省略します。

ユーザーのフィード

ユーザーのフィードは https://zenn.dev/ユーザー名/feed です。
これを Integromat で購読します。

シナリオ作成

トリガー(RSS)の設定

Integromat で新規シナリオ作成ボタンを押したら、サービスの検索で「RSS」「Twitter」をそれぞれ検索して選択し、「Continue」を押します。(ここで選択しなかったサービスもエディタでは選択できるのでスキップしても OK)

search service

空のシナリオができるので、トリガーとアクションを設定します。
empty scenario

今回、トリガーは「RSS」になります。「RSS」を選択し、トリガーの「Watch RSS feed items」を選択してください。選択したら、フィード URL を入力し OK を押します。
(「Maximum number of returned items」は1回のトリガーで最大何個のフィードを取得するかの設定です。のちに設定するトリガーの頻度と Zenn への投稿頻度を目安に決めてください。)

rss trigger/action items
rss config

つづけて、購読開始時刻の設定が出てくるので「From now on」で OK します。
(すでに Zenn に投稿がある場合で、テストをしたい方はそれ以外を選択して任意のフィードを取得するようにしてください。その際は1つ前の最大アイテム数を 1 にしておくと良いと思います)

rss where to start

トリガーはこれで完成です。

アクション(ツイート)の設定

つづいて、アクションを設定します。

下のパネルからツイッターのアイコンを選ぶとアクションの一覧が出てくるので「Create a Tweet」を選択します。
twitter items

ノードができるので RSS とくっつけてください。

join node

ツイートの設定をしていきます。
「Connection」にアカウント連携済みの設定がドロップダウンリストであるので、そこから選択します。
新規の方はまだアカウント連携が済んでないと思うので Add ボタンから連携して登録してください。

twitter account config

「Status」にツイート本文を設定します。
入力ボックスを選択すると↓のようなポップアップが出てきます。すでに Zenn に投稿したことがある方は、設定した RSS フィードの内容がヒント表示されていると思うので、それを参考に本文を設定してください。

tweet edit
tweet config

これでアクションも完成です。

テスト

左下の「Run Once」ボタンでシナリオを実行できます。
今回の場合、フィードがないと何も起こりませんのでテストする場合は、何か1つ Zenn に投稿しましょう。

また、「Run Once」後に「購読開始時刻の設定」を変えることができます。
Select であれば任意のフィードを1つ選択できるのでテストしやすいと思います。

run once after
re select where to start

シナリオ実行頻度を決める

最後にトリガーが起動する頻度を設定します。
トリガーのところにある時計のマークをクリックすると設定が開くので、そこで任意の期間を設定してください。
(無料プランだと15分間隔が最小のインターバルになりますが、今回の目的では頻繁なトリガーは不要なはずです。)

↓は毎日 11:00 に起動するように設定しました。

trigger time

シナリオの有効化

これでシナリオが完成です。
保存ボタンで保存し、左下のスケジュールを「ON」にして有効化しましょう。

scenario enable

結果

https://twitter.com/srz_zumix/status/1311583381721944065
GitHubで編集を提案

Discussion

そういえば Twitter App が Premium App になったので、Integromat フリープランではツイートできなくなってますmm

ログインするとコメントできます