SPIRALで作成した予約フォームのデータを自動的にGoogleカレンダーに反映させることで、予約管理の効率化が図れます。
本記事では、外部連携ツール「Zapier(ザピアー)」を使用して、SPIRALの予約データをGoogleカレンダーに自動登録する方法を解説します。
プログラミングの知識がなくても簡単に連携できるため、ぜひ参考にしてみてください。
事前準備
連携を始める前に、以下のアカウントとサービスを用意しておく必要があります。
SPIRALの設定
1. レコード登録時PHP実行機能の設定
SPIRALの予約DBからデータをZapierに送信するために、レコード登録時にPHPを実行するアクションを設定します。
2. 「トリガ」→「非同期アクション」を選択
3. 「PHP実行」を選択
4. 以下の設定を行います。
・ PHPプログラム:Zapierに予約データを送信するPHPコードを記述(後述)
2. Zapier連携用PHPプログラムの作成
レコード登録時に実行するPHPプログラムを作成します。このプログラムは、予約データをZapierのWebhook URLに送信する役割を果たします
<?php // 予約データの取得($SPIRALから必要な情報を取得) $record = $SPIRAL->getRecord(); $reservationData = array( 'reservation_date' => $record["item"]["reservation_date"], 'reservation_time' => $record["item"]["reservation_time"], 'customer_name' => $record["item"]["customer_name"], 'email' => $record["item"]["email"], 'phone' => $record["item"]["phone"], 'course' => $record["item"]["course"], 'notes' => $record["item"]["notes"] ); // Zapierに送信するためのWebhook URL(Zapierで取得したものに置き換えてください) $zapier_webhook_url = 'https://hooks.zapier.com/hooks/catch/123456/abcdef/'; // cURLを使用してZapierにデータを送信 $ch = curl_init($zapier_webhook_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($reservationData)); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 送信実行 $response = curl_exec($ch); curl_close($ch); ?>
上記のコードは一例です。実際の予約フォームのフィールド名に合わせて、$record["item"]["field_name"]の部分を調整してください。
また、$zapier_webhook_urlは後ほどZapierで取得するURLに置き換える必要があります。
Zapierの設定
1. 新規Zapの作成
Zapierにログインし、SPIRALとGoogleカレンダーを連携するZapを作成します。
2. トリガーアプリとして「Webhooks by Zapier」を選択します
3. トリガーイベントとして「Catch Hook」を選択します
4. 「Continue」ボタンをクリックします
5. Zapierが提供する一意のWebhook URLが表示されるので、このURLをコピーします
6. 先ほどSPIRALで設定した送信先URLに、このZapierのWebhook URLを設定します
7. 「Test」ボタンをクリックし、SPIRALのフォームからテストデータを送信してみます
8. Zapierがデータを受信できたら「Continue」ボタンをクリックします
2. データマッピングの設定
SPIRALから受け取ったデータをGoogleカレンダーの形式に変換するための設定を行います。
2. アクションイベントとして「Create Detailed Event」を選択します
3. Googleアカウントに接続するよう求められるので、連携したいGoogleアカウントで認証を行います
4. イベントの詳細設定を行います
・ Summary(タイトル):SPIRALから受け取った予約者名などを設定します(例:「{{customer_name}}様 ご予約」)
・ Description(説明):予約の詳細情報を設定します(例:「連絡先: {{phone}}、備考: {{notes}}」)
・ Start Date & Time:SPIRALから受け取った予約日時を設定します
・ End Date & Time:予約終了時間を設定します(開始時間から一定時間後など)
・ その他必要に応じて、場所やゲストなどの情報を設定します
6. 設定内容をテストし、問題なければ「Publish」ボタンをクリックしてZapを公開します
Googleカレンダーの設定
Googleカレンダー側での特別な設定は基本的に不要ですが、以下の点を確認しておくと良いでしょう
2. 必要に応じて、カレンダーの共有設定を行い、関係者と予約情報を共有できるようにします
3. 通知設定を確認し、新規予約があった際にメール通知などを受け取れるように設定しておきます
動作確認
すべての設定が完了したら、実際に予約フォームからテスト送信を行い、連携が正しく機能するか確認します
2. Zapierの「Zap History」で処理状況を確認します
3. Googleカレンダーに予約情報が正しく反映されているか確認します
4. 日時や予約者情報などが正確に反映されているか確認します
まとめ
SPIRALの予約フォームとGoogleカレンダーをZapierで連携することで、予約管理の効率化が図れます。
手動での予約入力作業が不要になり、ヒューマンエラーも減少するため、業務効率の向上につながります。
また、Zapierの柔軟な機能を活用することで、様々な業務プロセスの自動化が可能です。
本記事で紹介した方法を参考に、ぜひご自身のビジネスに合わせたカスタマイズを行ってみてください。