ASTERIA WarpとGoogleContacts連携

ASTERIA WarpGoogle Contactsを連携し、GoogleContactsの「All Contacts」から連絡先情報を取得して、誕生日を迎える方にお祝いを送信するフローを作成しました。

フローは大きく、2つです。

    来月誕生日リスト作成フロー

このフローは自動実行で毎月18日に実行します。

ASTERIA WarpGoogle Contactsを連携し、Google Contactsの「All Contacts」から連絡先情報を取得して、弊社全社員の中から翌月誕生日を迎える方々のリストを作成しました。

    誕生日お祝い送信フロー

このフローは自動実行で毎日午前9時に実行し、①フローで作成させた誕生日リストファイルを読込、誕生日の方へお祝いメールを送信します。

********************
来月誕生日リスト作成フローの詳細説明

来月誕生日リスト作成フロー

Mapper1番目)

 フロー変数としてtargetMonth、FileNameを定義する

 翌月(targetMonth)の計算と出力するFileNameの準備をする

 例:20241218に実行

 targetMonth=01FileName =2025-01

GoogleContactsGet

 GoogleContactsGetコンポーネントをダブルクリックし、SQLビルダーを表示する

 SQLビルダーのAll Contactsから全社員の名前、誕生日、メールアドレスを取得

Mapper2番目)

 GoogleContactsから取得したデータ(名前、誕生日、メールアドレス)をマッピングする

 加えて、誕生日データから「月」部分だけを取得し、BirthdayMonthに代入

Mapper(3番目)

 条件付きレイヤーで翌月誕生日に迎えるリストを絞り込む

 $record.Birthday_Month=$flow.tagetMonth(targetMonthは一番目Mapperで定義したフロー変数)

FilePut

 out/${flow.FileName}誕生日リスト.csv

 直前のMapperからマッピングされた内容をcsvファイルとして出力

実行結果 

 例:2024年12月18日に自動実行されるとき、以下のように「2025-01誕生日リスト.csv」ファイルが作成される

 ファイル中身は1月に誕生日を迎える方々がリストがされる

*****************
 誕生日お祝い送信フローの詳細説明

誕生日お祝い送信フロー

Mapper1番目)

 ファイルパスを直接指定する

 自動で毎日実行するフローなので、読み込むファイルは当月のファイルになる

 例:現在2024年/12月/18日に実行の場合、このファイルをout/2024-12誕生日リスト.csv読み込む

FileGet

 直前Mapperで指定したファイルを読み込む

Mapper2番目)

 FileGetから読み込んだデータのマッピング

 当日誕生日に迎える方がいるかを確認

BranchStart

 誕生日の方がいるかを確認

Mapper3番目)

 Embedで誕生日お祝い文章を作成

 メール送信に必要なデータをマッピング(送信先メール、送信元メール、件名、本文)

GmailSQLCall

 SendMailMessageストアドプロシージャでメール送信

 Gmailコネクション作成時にIMAPスキーマを使用

 「実行する処理」にストアド実行(結果なし)を設定

 {call SendMailMessage(?To?,?Subject?,?From?,?MessageBody?)}

実行結果