Zapier、Make、n8n、Pipedream を接続する
チームがすでに使っているオートメーションツールからジョブを予約し、イベントに反応します — コードは不要か、ほんの少しだけです。
Zapier、Make、n8n、Pipedream 向けの公式 Crisphive アプリを準備中です。いずれもここで説明する公開 API を使うため、アプリでできることはすべて、各プラットフォームの汎用 HTTP ステップと Webhook ステップを使って今日から実現できます。
アプリでできること
| 種類 | ステップ | Crisphive API |
|---|---|---|
| アクション | ジョブを予約して確定する | POST /v1/job-requests/book-and-confirm |
| 検索 | 電話番号で顧客を検索する | GET /v1/customers?phone=+16135550142 |
| アクション | 顧客を作成する | POST /v1/customers |
| アクション | ジョブを取得する | GET /v1/job-requests/{id} |
| トリガー | 新しいイベント(ジョブ完了、顧客作成など) | 有効化時に POST /v1/webhooks、無効化時に DELETE /v1/webhooks/{id} |
1 回の呼び出しで予約と確定
オートメーションでは通常、作成 → 見積もり → 時間枠の選択 → 確定という一連のフローを実行できません。book-and-confirm はそのすべてを 1 回のリクエストで行います: ジョブを作成し、ジョブタイプのデフォルト所要時間(または送信した job_duration_minutes)で規模を決め、scheduled_at の時刻で確定します。技術者は Crisphive が選びます。
curl -X POST "https://api.crisphive.com/v1/job-requests/book-and-confirm" \ -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \ -H "Idempotency-Key: form-submission-4815" \ -H "Content-Type: application/json" \ -d '{"customer":{"full_name":"Lamar Bakery","phone":"+16135550142"},"address":{"line":"120 Bank St","city":"Ottawa","state":"ON","postal_code":"K1P 5N1","country":"CA"},"scheduled_at":"2026-10-06T10:00:00"}'
scheduled_atはビジネスのローカルの壁時計時刻で、タイムゾーンオフセットは付けません。customer_idかcustomerオブジェクトを送信します: すでに存在する発信者(同じ電話番号またはメールアドレス)は照合され、重複して作成されることはありません。job_type_idは任意です。省略するとビジネスのデフォルトのジョブタイプ(“General”)が使われます。オートメーションが予約する可能性のあるすべてのジョブタイプに、デフォルトの所要時間を設定しておいてください。- 入力が不正な場合は通常の
4xxで拒否され、何も作成されません。 - ジョブが一度作成されると、破棄されることはありません。その時刻に対応できる技術者がいない場合でも、呼び出しは
confirmed: falseとrefusal(確定ステップが返すのと同じerror_codeとdata)を含めて200を返します。ジョブはコーディネーターのキューで待機します。
Idempotency-Key を必ず送信してください。同じキーでリトライすると最初の応答が再生され、新しいキーを使うと 2 件目のジョブが予約されます。トリガー: Webhook でサブスクライブする
トリガーとは、オンにしたときにオートメーションプラットフォームが作成し、オフにしたときに削除する Webhook です(「REST フック」)。イベントの一覧は GET /v1/webhooks/event-types から取得されるため、新しい Crisphive イベントはアプリを更新しなくても表示されます。
プラットフォームの受信 URL、受け取りたい event_types、そして expires_in_days: 365 を指定して POST /v1/webhooks を呼び出します(後者によって、トリガーがデフォルトの 30 日後に停止しなくなります)。レスポンスの secret を保存してください — 表示されるのは一度だけです。
Crisphive はすぐに署名付きの ping イベントを送信します。2xx で応答すると、サブスクリプションが有効になります。ping でワークフローを開始しないでください。
ペイロードを信頼する前に、Crisphive-Signature ヘッダーをシークレットと照合してください — 正確なアルゴリズムは Webhooks を参照してください。
トリガーがオフにされたら DELETE /v1/webhooks/{id} を呼び出します。これで枠が解放されます — ビジネスが持てるアクティブなエンドポイントは、環境ごとに最大 25 個です。
誰が何を接続できるか
- トリガーをオンにするには Developer アクセスが必要です(
developer_manage_api_keys)。デフォルトではビジネスのオーナーのみが持っています。オーナーはロールマトリクスで Developer モジュールを別のグループに付与できます。 - トリガーがサブスクライブできるのは、接続されたアカウントが読み取れるイベントだけです:
customer.*にはcustomers_view、technician.*にはteam_view、job_request.*にはjob_viewが必要です。それ以外は403 WEBHOOK_EVENT_NOT_PERMITTEDで拒否されます。 - 予約には
job_createとjob_manageが必要です。 - アプリまたは API キーが初めてビジネスのイベントをサブスクライブすると、オーナーと管理者にメールが送信されます。
- サブスクリプションは、それを作成した API キーが取り消されたとき、アプリの接続が解除されたとき、またはアプリを接続したメンバーが退職または一時停止されたときに、自動的に停止します。
認証
n8n と Pipedream は API キーで接続します(サンドボックスデータで試すには chsk_test_…、本番の作業には chsk_live_…)。Zapier と Make は OAuth で接続します: 接続する人が Crisphive にサインインしてアプリを承認し、以降その接続は、その人がダッシュボードで許可されていることだけを行えます。
chsk_test_ キーでテストしてください: サンドボックスのジョブが実際の顧客に届くことはなく、サンドボックスのトリガーはサンドボックスのイベントしか受け取りません。