IntegromatでAirtableに複数のリンクレコードを追加する方法

こんにちは、NoCodeCampのツバサです。


今回は、Integromat で複数のリンクレコードを追加する方法になります。
recordをLinkさせる時は、通常は1レコードですが、請求書の中に複数の発注情報がある、
会社で複数の配送先を設定する複数の従業員を登録するときに、複数レコード(multiple records)を追加するケースがあります。簡単なようで、数時間くらい悩んでしまいましたので、エントリーしておきます。

Airtableって何?って人は、データを制するものはビジネスを制する!「Airtable」で直感的に業務システムをつくる で説明してますので一読下さい。

今回やりたいこと

Airtableをトリガーに条件に当てはまるレコードをAirtableに再度Create Recordしていく

事前知識/目的(データセット)

AirtableのTableには、請求書 ,発注書のTableがそれぞれあります。
請求書には、発注書(受注情報)を、以下のように登録したいです。

請求書1  
-受注20

請求書2
-受注28,受注21,受注19

請求書3
-受注29

請求書4
-受注27

請求書5
-受注30,受注31

請求書6
-受注34,受注33,受注32


請求書の中に受注の情報があり、受注情報の中に(商品名,金額)などが入ってます。Linkを複数登録することで、
各レコードの合計を請求書の金額として取り扱いをすることが可能になります。

IntegromatのArray aggregatorでリスト化していく

Array aggregatorを使い、Airtableで取得した情報をリスト化していきます。
id ,会社,受注ID を取得しました。

修正前のデータ このままだと上手くAirtableに反映しません。

ただ、この状態だと、AirtableのLinkでは、ひとつのRecordしかCreateすることができません。
Airtableに張り付けると以下のようになります。

これは、id の中にArray要素を作らないとAirtableの中では貼り付けができないようです。
Airtableにおいては、ひとつの要素において、複数の要素が下に以下のように入ってある必要があるようです。

Arrayを修正する

Tools のSet variableを使いArrayを修正します。

今回は、Valueには、

map(Array[] ;id)

を入力しました。Map関数に関しては、Integromat配列の中で一番大きい値を取り出すためのMap関数 を参考にして下さい。次のAirtableのモジュールでは、ここで作成された IDを抽出します。

全体はこんな感じです。すごくシンプルです。

Airtableに無事に反映できました。

まとめ

最近Integromatネタも多いですが、最近IntegromatってTikTok などもあって日本向けのモジュールが増えてきましたね。最近map関数ネタがちょっと多いのですが、



それでは、今日も良いノーコードライフを♪



この記事を書いた人

tsubasatwi( つばさ)

国立工業高専卒業(新居浜工業高等専門学校)
「イベント×IT×営業」のカスタマーサクセスマネージャーとして活躍。セールス→構築管理運用まで全体プロジェクト管理の豊富な経験あり。

・主にITに関するイベント集客/法人営業/開発を担当
・大手通信会社を中心にエンタープライズのIT導入を担当(B2B)

DMMで日本初の NoCodeサロン を運営
「NoCodeCamp プログラミングを使わないIT開発 」
https://lounge.dmm.com/detail/2549/