ASTERIA WarpとGoogle Contactsを連携し、GoogleContactsの「All Contacts」から連絡先情報を取得して、誕生日を迎える方にお祝いを送信するフローを作成しました。
フローは大きく、2つです。
① 来月誕生日リスト作成フロー
このフローは自動実行で毎月18日に実行します。
ASTERIA WarpとGoogle Contactsを連携し、Google Contactsの「All Contacts」から連絡先情報を取得して、弊社全社員の中から翌月誕生日を迎える方々のリストを作成しました。
② 誕生日お祝い送信フロー
このフローは自動実行で毎日午前9時に実行し、①フローで作成させた誕生日リストファイルを読込、誕生日の方へお祝いメールを送信します。
********************
来月誕生日リスト作成フローの詳細説明
・Mapper(1番目)
フロー変数としてtargetMonth、FileNameを定義する
翌月(targetMonth)の計算と出力するFileNameの準備をする
例:2024年12月18に実行
targetMonth=01、FileName =2025-01
・GoogleContactsGet
GoogleContactsGetコンポーネントをダブルクリックし、SQLビルダーを表示する
SQLビルダーのAll Contactsから全社員の名前、誕生日、メールアドレスを取得
・Mapper(2番目)
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月に誕生日を迎える方々がリストがされる
*****************
誕生日お祝い送信フローの詳細説明
・Mapper(1番目)
ファイルパスを直接指定する
自動で毎日実行するフローなので、読み込むファイルは当月のファイルになる
例:現在2024年/12月/18日に実行の場合、このファイルをout/2024-12誕生日リスト.csv読み込む
・FileGet
直前Mapperで指定したファイルを読み込む
・Mapper(2番目)
FileGetから読み込んだデータのマッピング
当日誕生日に迎える方がいるかを確認
・BranchStart
誕生日の方がいるかを確認
・Mapper(3番目)
Embedで誕生日お祝い文章を作成
メール送信に必要なデータをマッピング(送信先メール、送信元メール、件名、本文)
・GmailSQLCall
SendMailMessageストアドプロシージャでメール送信
Gmailコネクション作成時にIMAPスキーマを使用
「実行する処理」にストアド実行(結果なし)を設定
{call SendMailMessage(?To?,?Subject?,?From?,?MessageBody?)}
・実行結果