ブログURLをSlackに投稿→AIがX記事を作成&自動投稿【Make活用】

今回はブログのurlをslackからxへ自動投稿するワークフローを作成したいと思います。今回のワークフローでは単にurlを投稿するだけでなくurlから関連する投稿文とハッシュタグを作成し、urlとともに投稿します。具体的な手順は以下のようになります。
はじめに
今回はブログのurlをslackからxへ自動投稿するワークフローを作成したいと思います。今回のワークフローでは単にurlを投稿するだけでなくurlから関連する投稿文とハッシュタグを作成し、urlとともに投稿します。具体的な手順は以下のようになります。
1,slack上でブログのurlを送信
2,urlから投稿文とハッシュタグを作成
3,内容を確認をslack上で確認
4,Xへ自動投稿
それでは早速各手順に従って実装していきます!
概要
今回のワークフローの実装に対して自動化ツール「Make」を使用します。「Make」とはノーコードで業務プロセスを自動化できるプラットフォームであり、複数のアプリケーションの連携を得意としています。slack上で受け取ったurlをMakeに送信し、Make上でブログの投稿文とハッシュタグの作成、さらにXへの投稿を実装します。
slack上でブログのurlを送信
では、実装に進んでいきます!まずはslackで受け取ったurlをMakeへ送信する部分です。
本ワークフローでは特定のチャンネルにおいて「Slack App」を使用して外部ツールへurlを送信します。
それでは「Slack App」を新たに作成しましょう。
まずはslack apiのページに入り、your appsから「Create New App」とします。
名前などの基本設定を終えたら、Scopesなど詳細設定を行います。
Scopes
ScopesとはSlack Appsがワークスペースやユーザのデータにアクセスするための「権限」のことです。「Features」の「OAuth&Permission」タブから設定します。今回必要となるScopesは「chat:write」「commands」です。それぞれ、チャンネルやDMにメッセージを送る権限、slashコマンドによりアプリケージョンの機能を実行できる権限です。
本ワークフローではslashコマンドにより、makeに情報を送信します。続いて「Features」の「Slash Commands」の設定を行います。
Slash Commands
Create New Commandより新しいSlash Commandを作成します。
今回は次の二つのコマンドを作成します。
1,/sendurl
このコマンドはurlをmakeに送るためのものです。写真のように設定していきます。なお、Request URLがありますがこちらは後程、Make上で作成されるurlのことです。
2,/post
このコマンドはブログの投稿文をmakeに送るためのものです。写真のように設定します。Request URLは同様に後程、Make上で作成されます。
ここまで設定が完了すると、あとは作成したAppをインストールするだけです。「Setting」の「Install App」タブより利用したいワークスペースにインストールしましょう!
では、ここからslackの設定を行います。
まずはslack上でブログ投稿用のチャンネルを作成しましょう。
作成したチャンネルに先ほど作成したAppを追加します。
「その他」、「チャンネル詳細を開く」、「インテグレーション」、「アプリを追加する」より先ほど作成したAppを選択して追加します。これでslack上での設定は完了です!
urlから投稿文とハッシュタグを作成
それでは次にmakeにより、送信されたurlから投稿文とハッシュタグを作成しslack上で確認できる仕組みを作成します。
makeではモジュールを追加することでワークフローを作成します。
今回のワークフローで作成するモジュールは以下の4つです。
1,webhook:slackからurlを受け取る
2,ChatGPT:ブログの投稿文を作成する
3,ChatGPT:ハッシュタグを作成する
4,HTTP:slackへ投稿文とハッシュタグを送信する
makeの登録などを終えたらシナリオを新しく作成し、ワークフローを構築していきます。まずワークフローのはじめにトリガーとなる部分を設定します。今回のトリガーは「make上に情報が送られてきた」とします。slackからurlは「webhooks」という仕組みを使用して送られてきます。よってmakeのシナリオ上でまず「webhook」の「Custom webhook」を設定します。
写真のような画面からAddを押し、Saveするとurlが自動で設定されます。
このurlを先ほどのSlack Appsの/sendurl、Request URLに設定します。
これによりslackから送信された情報をmake上で受け取ることが出来るようになりました。
chatgptの設定
以下、シナリオを続けていきます。次にchatgptのapiを使用して、ブログ投稿文とハッシュタグを作成します。先ほどの「webhook」の次に「OpenAI(ChatGPT, Whisper, DALL-E)」の「Create a Completion」を追加します。
ChatGPTのapi keyを以下のページ:https://openai.com/index/openai-api/
で取得した後、
のaddから新たな接続を行います。接続が完了するとchat gptをMake上で使用できるようになります。
chatgptの設定を以下のように行います。
Text Contentはchatgptに送信するプロンプトのことです。なお、「20.text」の箇所では送信されたurlを表しており、プロンプトの中にurlを含めることが出来ます。この箇所でブログの投稿文を作成します。
続いてハッシュタグを作成していきます。
同様に「OpenAI(ChatGPT, Whisper, DALL-E)」の「Create a Completion」を追加し写真のような設定を行います。
ここまでで、受け取ったurlから投稿文とハッシュタグの作成は完了しました。最後に投稿文の体裁を整えてslackに送信します。
新たなモジュールとして「HTTP」を選択し、以下の設定を行います。
なお、urlは後程slackのワークフローで生成されます。
この設定ではJSON形式で”text”をキー、投稿文をvalueに持つ情報を送信します。
また24.Resultはブログ投稿文、26.Resultはハッシュタグ、20.textはブログのurlを表しています。
slack上で内容を確認する
それでは作成された投稿文をslack上で確認する部分を作成します。
Makeからhttp通信によって送信された情報をslackの「ワークフロー」で受け取りメッセージを確認します。
slackで「その他」、「自動化」、「新しいワークフロー」でワークフローを作成しましょう。
ここで作成するフローは、webhookにより情報を受け取り、受け取った情報をチャンネルへ送信するです。
ワークフローの開始を「webhook」からにしましょう。
webhookの設定を写真のようにします。
これにより、受け取った投稿文をtextというキーを使用してslack上で扱えるようになります。またここで自動作成されるウェブリクエストのURLをmakeのhttpモジュールのURL欄に記載します。
さらに「その後、これらを実行」の欄に「メッセージ」、「チャンネルへメッセージを送信する」から写真のような設定をします。
以上がslack「ワークフロー」の設定です。最後に公開するよりワークフローを使用できる形にします。
ここまでで、投稿文の自動作成および作成した投稿文をslack上で確認する箇所までの実装が終了しました。最後に投稿文をXへ自動投稿する箇所を作成します。
Xへ自動投稿
作成された投稿文を確認した後、先ほどと同様にslashコマンドを使用して投稿文をmakeに送信し、make上でXへ投稿します。
make上でワークフローを作成しますが、まず同様に「webhook」によりslackからの情報を受け取ります。またここで自動生成されたurlをslackapi、/postのRequest URLに記載します。
続いて受け取った投稿文をXへ投稿します。
モジュール選択で「Create a Post」を選択し、Xのapikeyを入力することでmakeとXの接続を行います。また、text contentにはslackから送信された文章をそのまま投稿するように設定します。
シナリオをまとめると以下の写真のようになります。
以上により、urlを送信後、投稿文を作成、投稿文を確認後Xへ投稿するワークフローを作成しました!
早速、試しに動かして投稿が完了できるかを確認しましょう!
動作確認
今回送信するブログは「https://blog.since2020.jp/ai/abnormal_basic/
」です。内容は正規分布に従うデータの異常検知です。関連する投稿文とハッシュタグを作成して投稿することが出来るのでしょうか。
1,urlを送信
まず、slackにスラッシュコマンドを使用してurlを送信します。
「/sendurl https://blog.since2020.jp/ai/abnormal_basic/」
と送信すると以下のような回答が得られました。投稿文とハッシュタグもいい感じに生成されているので今度はXへ投稿します。
2,Xへ投稿
続いて「/post」コマンドを使用して投稿文を送信します。
送信すると、
Xに投稿されていることが確認できました!
終わりに
今回はslackからXへ「make」を使用して自動投稿するフローを作成しました。各アプリケーション間の接続が少し難しいと思いますが根気よく実装してみてください。また、詳細な接続方法やプロンプトの変更など、関連するブログも更新する予定なのでぜひ確認してみてください!