【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日以内を指定してください
・ご契約の発信可能件数の残数を超える分は発信されません。まとまった件数を送信する前に残数をご確認ください
・電話番号が正しくない行は、その行だけ取り込まれずに残りが発信されます
・すでに電話帳にある電話番号を送信した場合は、新規登録ではなく既存の連絡先が更新されます
