ノーコードツール Make.com を使ってGoogle Spread Sheet の更新を通知する
今日はノーコードツールであるMake.comを使ってみます。
Make.com
はCelonisというドイツの企業が開発しているノーコード開発プラットフォームです。Dify等のように生成AI関連のアプリケーション開発も可能ですが、例えばGoogle Spread Sheetやリレーショナルデータベース連携など多くの機能が搭載されていることが特徴です。日本語化がされていないため日本ではあまり注目を集めていませんが、とても多機能です。
例えば操作可能なサービスの内著名なもの(個人主観)を並べると以下があります。
**業務関連**
・Google Spread Sheets
・Google Docs
・Google Drive
・Google Calender
・Google Forms
・Google Slides
・Google Meet
・Google Chat
・Gmail
・Notion
・Slack
・M365
・Email
・Dropbox
・Trello
・Excel
・OneDrive
・Asana
・Teams
・Jira
・Kintone
・Box
・OneNote
・Evernote
・ChatWork
・Skype
・GoToWebinar
・Adobe Acrobat Sign
**Web Platfrom関連**
・WordPress
・RSS
・LINE
・Markdown
・Canva
・Twilio
・Stripe
・Google Maps
・SharePoint
・Zoom
・Pinecone
・Docusign
・Amazon S3
・AWS Lambda
・Amazon SES
・FireStore
・BigQuery
・MS Power BI
・PayPal
・Snowflake
・Github
・DeepL
・Twitch
・Miro
・Confluence
・Flickr
・Cloudflare
・Vonage
・GitLab
・GoDaddy
・Wasabi
**生成AI関連**
・OpenAI
・Perplexity
・Anthropic Calude
・Deep Seek AI
・Gemini
・OpenAI
・Hugging Face
**マーケティング関連**
・AirTable
・Instagram
・Telegram
・Facebook
・Pintrest
・WhatsApp
・LinkedIn
・HubSpot
・YouTube
・Shopify
・SalesForce
・GA4
・SendGrid
・Tumblr
・Zendesk
・TikTok
・MS Synamics 365
・Yelp
**汎用機能**
・Webhooks
・HTTP
・JSON操作
・MySQL
・PostgreSQL
・CSV
・Apple iOS
・Android
・XML
・MongoDB
・MS SQL Server
・SFTP/FTP
・eSIM
・IFTTT
・SOAP
等など。他にも本当に多くのサービスが登録されています。LINEやChatWork、Kintone等日本中心で開発されているものが登録されているのもすごいです。懐かしいOrigami Payのモジュールもありました。ここまで多いとすべてが高い品質が維持されているか?最新APIに追従しているか?という点では少し微妙なものもあるのかもしれません。
これにはMake.com独自の方式が関連しています。
1.各ベンダーによるモジュール開発と登録
Make.com自体に各ベンダーが自社用独自モジュールを開発して登録することが可能となっています。このため、モジュールがどんどん増えていくことになります。
2.開発元のCelonisはもともと、今でいうプラットフォームエンジニアリングのリーディングカンパニーで、プロセスマイニングを活用して業務プロセスを可視化・最適化するサービスを提供しており、自動化などを得意としています。このため、導入先企業が利用しているサービス用モジュールが日々開発されMake.comに反映される、というサイクルが回っているようです。
さっそくやってみる
ではGoogle Spread Sheetを監視し、更新があるとWebエンドポイントにPOSTされる簡単なアプリケーションを作っていきます。
1. アカウント開設
Get started free
をクリックしてユーザー登録すれば完成です。クレジットカードの登録が不要で、作成したアプリケーションは月間1000回まで実行が可能です。自動で実行するタイプのものは無償プランですと15分間隔の実行が可能です。(有償プランは最短1分単位)
2. Google Spread Sheetの準備
以下のテーブルはそのままコピペでGoogle Spread Sheetに貼り付けれるはずです。
その後make.com
という名前でシートを保存します。
商品名 | 単価 | 数量 | 売上額 | 割引 | 最終売上額 |
---|---|---|---|---|---|
商品A | 1000 | 5 | 5000 | 0 | 5000 |
商品B | 1500 | 3 | 4500 | 200 | 4300 |
商品C | 2000 | 2 | 4000 | 0 | 4000 |
商品D | 800 | 10 | 8000 | 500 | 7500 |
3. Make.com でシナリオの作成
Make.comでは各アプリケーションのことをシナリオ
と呼びます。
まずはOrganizationというシナリオを管理するトップの存在があり、その画面からCreate a new scenario
をクリックします。
(恐らく初回アクセスはもっと真っ白な画面だと思います)
シナリオ作成の一番最初のパーツとしてGoogle Sheets
を選択します。
Watch New Rows
を選択します。Make.com側の方で過去処理済のGoogle Spread Sheetの内容を記憶してくれ、レコードへの新規追加が発生した際にイベントを出してくれます。(後述しますがこの手順では15分単位でのcronジョブを作ります)
まずGoogleアカウントへのコネクションをここで設定します。この画面からシートが存在している画面にログインすればOKです。
かなり直感的に作業できるとは思いますが、先ほど作成したシートを特定します。
ヘッダ行を指定しウォッチ対象から除外します。
次にこのシナリオ(アプリケーション)を15分間隔で自動起動させた場合、処理を行う行数を指定します。少し多めに100
と入力してSave
をクリックします。
データの取得(更新を検知するベース)をゼロからおこないますので、すべてを新たに検知範囲とするという意味でAll
を選択します。(長大なシートの場合、手作業で列数を入力することで、古いデータを初回検知から除外させることも可能です)
これで15分単位で指定したシートをチェックするモジュールが完成しました。
Google Spread Sheet と Webhook
本来15分単位ではなく、Spread Sheet側でデータ追加を検知してWebhookを飛ばすのが理想的ですが、現在技術的な課題がありその機能が使えなくなっているようです。(Make.com側の課題みたいです)
これについてはまた問題が解決次第やってみたいと思います。4. 変更点の検知とHTTP 通知
次にデータへの新しい追加が発生した際、その内容をPOSTする部分を作ります。
作成できたらadd another module
をクリックします。
HTTP
→Make a request
をクリックします。
URL
にrequestcatherのURLを入力し、MethodをPOSTにします。
以下のようにヘッダーにNewSales
としてF列を指定します。
これで毎回Sheetに追加された値が通知されてきます。
Body TypeをJSONに指定してSave
をクリックします。
5. テスト実行
以上で簡単なシナリオが作成されました。Save
してシナリオ実行を行います。
Run Once
をクリックしてみて下さい。
値が飛んでこない場合は、こうやってF列に新しい値を入力した後テストしてください。
では最後に左ペインのScenario
からトグルをオンにします。これで15分おきに起動しますのでシートF列に新しい値を追加して15分待ってみて下さい。
Discussion