ITのチカラで、デジタルビジネスへの変革を。

Integromatを使用した自動化(第二弾)

#Integromat #自動化

tkmatsuoです。今回もIntegromatを使った自動化ネタになります。

隣の部署で提供しているサービスのフローにお客様へメールを送る処理があり、どうやらスパムフィルタに引っかかっている様でその対応状況がSlack上でみえました。調べてみるとSpamhausを使用しているみたいで、そこのブロックリストに登録されている様に見受けられます。Internetで調べるとSpamhausのブロックリストに登録されていないか確認する方法が幾つか見つかりました。下記の様なコマンドをcronで実行して127.X.X.Xという値が返ってきた場合は担当者に連絡するといったようなものですね。

  
dig +short DDD.CCC.BBB.AAA.zen.spamhaus.org

普通にサーバ上で実行しても良いのですが、あまりサーバ使いたくないのでLambdaで試してみたところ、digコマンドが使えないと言われたのでであきらめました。という事でIntegromatからサーバにログインし、その戻り値に応じた結果をSlackに出力するまでを自動化してみたいと思います。

Integromatの設定ですが今回のインテグレーションで使用するのはSSHとSlackです。まずはSSHの設定から。

1.SSHモジュールを選択しConnection⇒AddでConnection name、Host、Auth typeを選択します。ModeはExcecute commandを選択し、The command to be executed on a remote device.の箇所に実行するコマンドを入力します。今回は”dig +short DDD.CCC.BBB.AAA.zen.spamhaus.org”でアルファベットの部分はスパムリストに登録されているかどうか確認したい対象のIPアドレスを入力します(対象のIPアドレスがAAA.BBB.CCC.DDDの場合DDD.CCC.BBB.AAAで入力)。

 

2.次にSlackの設定です。Slackモジュールを選択しSSHモジュールと接続したあと、Slackモジュールの設定を行います。Connection⇒AddでSlackに接続するアカウントを選択し、Channelはメッセージを出力したいSlackのChannelを選択します。Text部分には出力したい文字列を出力するのですが、Integromatを使用した場合ここでif文が記述できますので今回は、コマンド実行結果として戻り値が無かった(スパム登録がされていなかった)場合はOKを、戻り値があった場合(スパム登録されていた)場合はChannelメンバにメンションでその結果を出力するという風に設定します。

 

Text部分の設定

{{if(9.stdout = ""; "OK"; "@channel " + 9.stdout)}}

以上で終了です!他にもZendesk連携など数十のシナリオを作成し日々使用していますので機会があればまたこちらで紹介させて頂きたいと思います。

 

Takesumi Matsuo

この記事を書いた人

Takesumi Matsuo