【Webhook連携】外部システムから連絡先を送って自動で発信する

フォームやCRMなど外部システムから連絡先を送信すると、オトコルが取り込んで自動発信・SMS送信・タグ付与を実行します。1回の送信で最大200件までまとめられ、通話・SMSの結果もAPIで取得できます。

できること

お使いのシステム(フォーム、CRM、基幹システム、Zapier など)から連絡先を送信すると、オトコルがその連絡先を電話帳に取り込み、あらかじめ設定した動作(自動発信・SMS送信・タグ付与)を実行します。日時を指定して予約発信することもできます。

1回の送信でまとめて送った連絡先は、ひとつの通話グループ/SMS送信グループになります。送信時にそれぞれのIDが返るので、通話結果やSMSの送信結果(届いたかどうか)をシステム側で受け取ることもできます。

※ Business プラン以上でご利用いただけます。

設定の手順

サイドバーの「設定 > Webhook」を開き、「新規作成」から作成して編集画面で以下を設定します。

1. 名前…あとで見分けるための名前です。「Stripe 支払い失敗 → 督促架電」のように、どこから何のために来る送信かが分かる名前にします。

2. 受信 payload の項目マッピング(任意)…送信元の項目名を、コンタクトの項目に対応づけます。設定しない場合は payload の name / phone_number / memo をそのまま使います。user.name のようなドット区切りの指定もできます。

3. API キー…「API キーを発行」を押して発行します。発行した直後にしか表示されません。控えを取ってから画面を閉じてください。紛失した場合は新しいキーを発行し、古いキーを失効させてください。

4. 外部システムに登録する送信先…表示されている Webhook URL を、お使いのシステム側に登録します。同じ画面に curl の例も表示されます。

5. Webhook を受けたときの動作…取り込んだ連絡先に対して行う発信・SMS送信・タグ付与を設定します。発信を使う場合は発信元の電話番号を必ず選択してください。未選択だと発信されません。

SMS送信には「送信結果のエクスポート(任意)」があります。出力先の Google スプレッドシートを指定しておくと、送信結果(到達状況・連絡先のメモ含む)が送信完了の約30分後に自動で書き出されます(到達結果の確定を待ってから書き出すためです。外部連携(自動同期)オプションが必要です)。

連絡先を送信する

登録した Webhook URL に、API キーを付けて POST します。パラメータ・エラー・列挙値の網羅的な一覧はWebhook API 仕様書をご覧ください。

POST https://backend.autocall.app/webhooks/<webhook_key>/fires
Authorization: Bearer ack_xxxxxxxx
Content-Type: application/json

■ 1件だけ送る場合

{
  "name": "山田太郎",
  "phone_number": "09012345678",
  "memo": "8月キャンペーン申込"
}

■ まとめて送る場合(1回あたり最大200件)

{
  "contacts": [
    { "name": "山田太郎", "phone_number": "09012345678" },
    { "name": "鈴木花子", "phone_number": "08099998888" }
  ]
}

※ 100件を送る場合は、1件ずつ100回に分けずまとめて送信してください。1件ずつ送ると通話グループが100個に分かれてしまい、結果の確認や集計がしづらくなります。また1分あたりの送信回数(60回)の上限にも達します。

■ 日時を指定して発信する場合

scheduled_at を含めると、受信した時点では発信せず、指定した日時に発信・SMS送信します(連絡先の取り込みは受信した時点で完了します)。指定できるのは未来の日時で、受信から30日以内です。

{
  "contacts": [ … ],
  "scheduled_at": "2026-09-01T10:00:00+09:00"
}

予約した発信は発信一覧から、SMSは「SMS > 送信一覧」から確認・キャンセルできます。

■ 同じ内容を二重に送ってしまわないために

idempotency_key に任意の文字列(社内の管理番号など)を入れておくと、通信エラーなどで同じ送信を繰り返しても、2回目以降は取り込まれず発信もされません。

送信できる項目

name(必須)… 連絡先の名前

phone_number(必須)… 電話番号。ハイフンの有無は問いません

memo / memo2 / memo3(任意)… メモ欄

※ 項目マッピングを設定している場合は、上記の名前ではなく設定した送信元の項目名で送信してください。

送信すると返ってくる内容

{
  "status": "accepted",   (受け付けて実行しました)
  "imported": 98,        (取り込んだ件数)
  "skipped": 2,         (取り込まなかった件数)
  "fired": 1,           (実行した動作の数)
  "call_groups": [ { "id": "…", "title": "…" } ],
  "short_message_groups": [ { "id": "…", "title": "…" } ]
}

status は、予約発信の場合は scheduled、すでに受け付け済みの送信だった場合は duplicate になります。

skipped に数えられるのは、電話番号が正しくない行・名前が空の行・同じ電話番号が複数含まれていた場合の重複分(1件にまとめられます)・発信対象から除外している連絡先です。すべての行が取り込めなかった場合はエラー(422)が返ります。

通話結果を取得する

送信時に返った call_groups の id を使うと、その通話グループの結果を取得できます。発信が終わるまで何度か呼び出し、status が completed になったら完了です。

GET https://backend.autocall.app/webhooks/call_groups/<id>
Authorization: Bearer ack_xxxxxxxx

通話グループ全体の集計(発信件数・つながった件数・成約/不成約の件数・つながらなかった内訳)と、通話1件ごとの連絡先・ステータス・通話時間・押されたボタンが返ります。1ページあたり既定100件(最大500件)で、?page=2 のようにページを指定できます。

※ 取得できるのはご自身のアカウントの通話グループだけです(画面から作成した発信の結果も取得できます)。他のアカウントの通話グループは取得できません。

SMSの送信結果を取得する

送信時に返った short_message_groups の id を使うと、そのSMS送信の結果を取得できます。

GET https://backend.autocall.app/webhooks/short_message_groups/<id>
Authorization: Bearer ack_xxxxxxxx

送信全体の集計(送信件数・成功/失敗件数・料金)と、送信1件ごとの宛先・送信結果・本文・連絡先(送信時に渡した memo / memo2 / memo3 を含む)が返ります。ページの指定は通話結果と同じです。

※ SMSが実際に届いたかどうか(到達結果)は送信のあとに確定します。送信直後は「送信済み」のままのことがあるため、確定させたい場合は30分ほど置いてからもう一度取得してください。未到達(undelivered)まで反映された結果になります。

SMSの送信完了を Slack / Chatwork に通知することもできます。通知設定の「通知するタイミング」で「SMS送信の完了」をONにすると、送信件数・成功/失敗件数・料金が完了の約30分後に届きます。

実行結果を画面で確認する

「設定 > Webhook」で対象の Webhook を開くと、受信した1回ごとの記録が「発火ログ」に表示されます。取り込んだ連絡先(複数件の場合は代表1件と残りの件数)、付与したタグ、作成した通話グループとSMS送信グループ(クリックすると結果の画面が開きます)、受信した内容を確認できます。記録は90日間保存されます。

上限・ご注意

・1回の送信は最大200件です

・送信は1分あたり60回までです(Webhookごと)

・発信予約は受信から30日以内を指定してください

・ご契約の発信可能件数の残数を超える分は発信されません。まとまった件数を送信する前に残数をご確認ください

・電話番号が正しくない行は、その行だけ取り込まれずに残りが発信されます

・すでに電話帳にある電話番号を送信した場合は、新規登録ではなく既存の連絡先が更新されます