PlansとSendGridを組み合わせてメールを送信する方法をご紹介します
Alteryx Analytics CloudのPlansには、実行できるタスクの中に「HTTP」があります。
この「HTTP」タスクは以下のことが可能です。
- Webhook通知を送信
- 別のPlanを実行(API経由)
- 外部APIへのリクエスト
つまり、RestAPIを叩けるということになります。
設定可能な項目は以下のようになっています。
これについて適切に設定を行うと、HTTPリクエスト、つまり外部のシステムと連携を行うことが可能です。
SendGridとは?
SendGrid は、「クラウドベースのメール配信サービス」とされています。開封確認などの機能があるため、マーケティングなどに主に使われます。また、SMTPもしくはAPI経由でメールを送信することが可能です。無料プランも準備されており、月12,000通まで送れます。
今回は、Alteryx Analytics CloudのHTTPタスクから、このAPI経由でのメール送信をSendGridから行うことで、Alteryx Analytics Cloudから自由にメールを送ってみたいと思います。
HTTPタスクの設定
SendGridでメールを送るには、以下のようにHTTPタスクに設定を行います。
オプション名 | 値 | ||||||
---|---|---|---|---|---|---|---|
Method | POST | ||||||
URL | https://api.sendgrid.com/v3/mail/send | ||||||
Headers |
Headersは複数項目を入力する必要があります。AuthorizationのBearerについては、SendGridのAPIキーの頭に「Bearer 」をつけたものになります(BearerとAPIキーの間には半角空白を1文字入れます)。詳細はこちら 。 |
||||||
Body | {"personalizations": [{"to":[{"email": "送信先メアド"}],"subject":"AlteryxからRestAPIでメール送信するテスト"}],"from": {"email": "送信元メアド"},"content":[{"type":"text/plain","value": "出力ファイルのレコード数:{{$flow_qg.test_output.rowCount}}\nはろー。てすとめーる。\n"}]} |
※Bodyの「送信先メアド」「送信元メアド」は実際のアドレスとなります
Bodyは基本的にJSON形式で記載しないといけないので、若干慣れが必要かと思います。内容自体は自由なので、ここではテスト的に適当な文言を入れています。書き方は、ドキュメント を参照願います。
本文中には、上流のタスクのメタデータを含むことができます。例えば、レコード数は「$flow_qg.test_output.rowCount」のような形で記述可能です(現在はTrifactaのフローの結果しか参照できないようです)。
これにより、以下のようにメール送信されます。
まとめ
Alteryx Analytics Cloudのスケジュール機能には、完了後にメールを送信する機能もありますが、SendGridとHTTPタスクを使えば、より細かく好きな形でメールを送信することが可能です。SendGridは無料プランでもそれなりの数のメールを送信することができるので、気軽に利用可能です。
Alteryx Analytics Cloudのスケジューラ機能自体にはJobの実行完了時にメールを送る機能はありますが、より細かくメールを送信したり、完了通知以外の内容のメールを送りたいといった際に利用可能です。
参考
- Introducing Alteryx Analytics Cloud Plans ※英語
- Easily Send Messages Through Microsoft Teams Using Plans’ HTTP Task ※英語