scheduleCall
Place or schedule an OUTBOUND phone call on behalf of the user. Show the exact phone number, goal, and scheduledAt. If the account has active receptionists, call listAgents first and pass the exact agentId; if this tool returns a missing-agentId error, choose one of the returned IDs and retry. REFUSE harmful goals (threats, harassment, impersonation of IRS/police/bank, fraud, scams, extortion, hate speech, harmful pranks, illegal activity). For calls to place NOW, pass scheduledAt="NOW". Otherwise ISO 8601 with explicit numeric offset for the user's timezone (never bare "Z"). Only one-time calls. REAL ACTION, not a preview: a real person's phone rings, now or at scheduledAt. Right before calling, show the user the exact change and get their explicit confirmation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Goal of the call, all detailed information from user input, place, time, context, primary goal, etc. Use English always, expect if user specified language in request. Put ALL the details from context here - time of the call, place, primary goal, etc. Do not limit only for primary goal, put all details. | |
| agentId | Yes | ID of the receptionist/agent that must place this call. Required whenever the account has any active receptionists. Get this from listAgents; do not rely on putting the agent name only in goal/additionalContext. If you omit this, scheduleCall will refuse and return the available agent IDs. | |
| phoneNumber | Yes | Phone number to schedule the outbound call to, not the user's phone number starting with country code like +1. Supported countries: +1, +1, +972, +49, +44, +33, +41, +43, +372, +30 | |
| scheduledAt | Yes | Scheduled time of the call. MUST be either "NOW" or an ISO 8601 timestamp with an EXPLICIT timezone offset matching the user's local timezone (e.g. "2026-04-16T10:00:00-05:00" for America/Chicago CDT, "2026-04-16T10:00:00+02:00" for Europe/Berlin). NEVER use the bare "Z" / UTC suffix — it will fire at the wrong hour for the user. When the user says "10 AM" they mean THEIR local time; emit the matching offset. The user's timezone and current local time are provided in User Context. | |
| doWeNeedToRetry | Yes | Do we need to run smart retry after call is failed by some reason? | |
| additionalContext | Yes | Additional context of the call. Like business name, more information about place, person we are calling, etc. Empty is ok if not needed. | |
| retryAfterMinutes | Yes | How many minutes to wait before retrying the call if not successful, optional | |
| maxDurationMinutes | Yes | Max duration of the call in minutes only if user provided it |