call4me_answer_question
ChatGPTAnswer a question the caller asked mid-call (listed in open_questions). The caller relays it on the line within a second or two. Answer in a few plain words.
call4me_cancel_scheduled_call
ChatGPTCancel a call made with call4me_schedule_call before it dials. Once it has dialed, it is a live call: end it with call4me_hang_up.
call4me_connect_me
ChatGPTRing the user now and patch them into a call in progress, so they talk to the business directly while the caller goes quiet. Before calling this tool, give the user a heads up with the reason and calling_number from call4me_get_call. Rings their own phone (details.phone from placing the call, else the one in their profile) unless phone is given; they join by pressing 1 when they pick up (a voicemail never gets patched in). When they press * or hang up, the caller takes the call back and carries on with the task. With mode "listen" they only listen in: nobody on the call hears them, the caller keeps working, and they press 1 anytime to take over or hang up to stop listening.
call4me_get_balance
ChatGPTThe prepaid balance, the per-minute price, and the account's own call4me phone numbers. During setup, show these numbers and suggest saving them as a contact named call4me. Call4me can ring the user's personal phone for account verification or to join a call, from that call's calling_number. The free US number is assigned on the first call; a null phone_number is normal before then. Callbacks to the calling number finish the unfinished task or take a message.
call4me_get_call
ChatGPTStatus, open questions, live transcript, and (when finished) the outcome of a call. With wait_seconds it waits for something to change (a new question, the call ending) before returning, so poll with wait_seconds: 30. Takes a scheduled id (sched_...) too: before it dials, when it will; after, the call it became.
call4me_get_profile
ChatGPTSaved details available to reuse for relevant calls (name, DOB, phone, address, car). An incomplete profile is fine. Only request missing details that a specific call needs.
call4me_get_recordings
ChatGPTGet existing recordings of a finished call owned by the signed in account. Returns fresh download links when available. An empty list means no recording is available yet. Links may expire; request this again for fresh links. Only share the links with the user.
call4me_get_requirements
ChatGPTThe information a kind of call needs before dialing, and which of it the saved profile already has. Without a category, lists the categories.
call4me_hang_up
ChatGPTEnd a call in progress now, e.g. when it is going nowhere or the user changed their mind. Talk time so far is billed as usual; call4me_get_call shows the final state.
call4me_list_calls
ChatGPTRecent calls on this account, newest first, including callbacks the account's number answered (direction "inbound"): a callback about an unfinished task (callback_for) tried to finish it, anything else took a message. Calls scheduled for later (call4me_schedule_call) that have not dialed yet come first.
call4me_place_call
ChatGPTCall a business for the user (US, Canada, Europe, the UAE and Japan, or any other country the account holds a number in, prices vary by destination; see call4me_get_balance for current calling rates) and have a natural conversation to get something done (book, reschedule, cancel, ask). Refuses to dial until the category's required information is known, and says exactly what to ask the user. Returns right away with a call id; follow it with call4me_get_call. Credits for the maximum length are held up front; billed from pickup by a person or automated system, including phone menus, hold time, and conversation at the same rate, rounded up to the minute; unanswered calls are free.
call4me_save_profile
ChatGPTSave facts that are the same on every call, so they never have to be asked again. Merges into what is saved; an empty string removes a field. Only save details the user agreed to keep for future calls; use place_call details for information supplied for one call. The user can see, edit and delete everything saved on their call4me account page.
call4me_schedule_call
ChatGPTPlace a call later instead of now: when the business is closed, or the user wants it made at a set time ("call Canby Utility Monday morning to register the meters"). Takes everything call4me_place_call takes, plus call_at, and checks it the same way now, so "Not calling yet" comes back while the user is here. At call_at, call4me places it exactly as call4me_place_call would: credits are held then, not now. Nobody may be following the call when it runs, so give the caller every fact (details, facts) and everything it may accept (flexibility) up front; a question nobody answers ends with the caller saying the user will call back. Returns a scheduled id (sched_...): call4me_get_call with it shows whether it dialed and then the call itself, and call4me_cancel_scheduled_call cancels it before it dials. A call that needs an account PIN can't be scheduled, since call4me never stores one.