Make:旧Integromat から起動したバックエンドワークフローでパラメータが正しく読み込まれない

毎月1回集計処理を行うために Make(旧Integromat)からBubbleの API Workflow を呼び出す設定をしました。
定期的に呼び出すことと、Workflow内でパラメータ(Key)を単純に利用することはできています。
しかし、Do Search For… でパラメータを抽出条件に指定すると値が正しく読まれません。
同じ API Workflow をBubbleページに設置したボタンで起動するときちんと抽出条件に反映されます。
Make(旧Integromat)の設定が悪いのかBubbleでの作り方が悪いのかも判断できておりません。

集計処理の内容は以下の通りです。

  1. 初期処理(過去データ削除、バッチログに開始時刻書き込み)
  2. 企業テーブルを読み込み
  3. Schedule API Workflow on a list を起動
  4. 企業ごとにデータ抽出→集計データ格納テーブルを作成
  5. 終了処理(バッチログに終了時刻書き込み)

以下、スクリーンショットとなります。

↓Bubbleで起動したいWorkflowを指定したMake(旧Integromat)画面

↓左上のWorkflowがMake(旧Integromat)から呼び出される箇所、内部で赤線を引いたところが企業ごとにループして集計を行うメイン処理

↓ループ内では各企業の集計開始日以降のデータを抽出したいが、この日付が正しく渡っていない

↓テスト用にページに Backend Workflow を実行するボタンを貼り付け

↓上のボタンを押してWorkflowを実行すると集計データが抽出できている

↓Make(旧Integromat)からスケジュール実行またはRun once で起動すると抽出できず集計結果がすべてゼロになっている

企業コードと集計開始日をそのままテーブルに格納することは成功しているのでパラメータはそれなりに読み込めているのですが、そのパラメータをSearchの条件に指定することに失敗しています。

皆さまのお知恵を拝借できればと思います。よろしくお願いします

  1. makeのlogでその値が正しく渡されているかの確認
  2. テストテーブルを作ってみてdate型のfieldを1つ作り、do searchなどせず直接代入した時に正しくレコードが作成されるかどうか

この辺りの確認が必要かなと思います

「いいね!」 2

日時まわりだと、JSTかUTCか別なTimezoneなのかも気になるところです:sweat_smile:

「いいね!」 2

@K.nakata

コメントありがとうございます!

  1. makeのlogでその値が正しく渡されているかの確認

Makeからは直接パラメータは渡していないので判別できませんでした…。MakeのAdvanced logも見てみましたが特に原因もわからずじまいです。

  1. テストテーブルを作ってみてdate型のfieldを1つ作り、do searchなどせず直接代入した時に正しくレコードが作成されるかどうか

直接代入は成功しているのです。だけど Do Search内の条件では読み取ってくれません。
私には謎が深まるばかりです。

@jansnap

コメントありがとうございます!
これはBubble内部だけのパラメータ渡しの問題なので、型はBubbleのDate型だけです。
ケイタロウさんにも返信しましたが、直接代入はOKなのに条件指定すると読み取られませんでした。

【結果】

Makeからの起動は諦めてBubbleの Scheduled Workflows を使うことにしました。
Personalプランなので毎月1回は動かせるはずです。

Bubbleの Scheduled WorkflowsはMakeより柔軟性に欠けテストもしづらそうな印象ですが背に腹はかえられない…。

本来ならば詳細に調査して原因を突き止めたいところですが、時間が限られており断念しました。
仮にBubbleなりMakeなりのバグだと原因が判明したとしても、そのバグがいつまでに修正されるかはコントロール不能なので原因追究する意欲もなく。

この投稿をご覧になったメンバーには「こんな現象もあるんだ」ということだけでもお役に立てれば幸いです。
コメントをくださったケイタロウさんとjansnapさんには改めて感謝申し上げます。

「いいね!」 1