Skip to main content
このパターンを使用して、データウェアハウス(例: Snowflake、BigQuery、PostgreSQL)の製品データとTwentyの同期を維持します。

ワークフローの構成

  1. トリガー: スケジュール実行
  2. Code: データウェアハウスをクエリする
  3. Code(任意):データを配列として整形
  4. Iterator: 各製品をループ処理する
  5. Upsert Record: Twentyで作成または更新

ステップ 1: トリガーをスケジュールする

データの鮮度要件に合わせた頻度でワークフローを実行するよう設定します:
  • ほぼリアルタイム同期用に5分ごと
  • 重要度の低いデータには1時間ごと
  • バッチ更新には毎日

ステップ 2: データウェアハウスをクエリする

直近のデータを取得するために「Code」アクションを追加します:
updated_at >= last X minutes でフィルタリングして、最近変更されたレコードのみを取得します。 これにより同期が効率的になります。

ステップ 3: データを整形(任意)

ウェアハウスが変換を要する形式でデータを返す場合は、別の「Code」アクションを追加します。 一般的な変換には、型変換、フィールド名の変更、データのクリーンアップなどがあります。

例: 真偽値およびステータスフィールドを含むユーザーデータ

例: 型変換を含む製品データ

例: 日付および通貨の整形

一般的な変換

ステップ 4: 製品をループ処理する

Iterator」アクションを追加します:
  • 入力: {{code.products}}
配列内の各製品をループ処理します。

ステップ 5: 各レコードをアップサートする

Iterator 内で「Upsert Record」アクションを追加します:
作成と更新で分岐を作る代わりに、Upsert(更新または作成)を使用します。 その方が構築が速く、デバッグも容易です。

ユースケース例

関連