Phonely
Phonely is Waypath’s outbound AI voice channel. The Prospect and Campaign
buddies can place AI voice calls to customers via Phonely’s outbound campaign
webhook; post-call transcripts and sentiment land back in the workspace graph as
Touchpoint nodes (channel: 'voice'), closing the correlation loop with email,
CRM, and signal events.
How it works
Phonely doesn’t expose a one-off REST endpoint to place a single call — campaigns
are the unit of placement. Waypath uses Phonely’s Webhook data source
pattern: you create a campaign once in Phonely with Webhook as its source;
Phonely returns a unique URL; Waypath POSTs { phone_number, name, ... } to that
URL each time the agent decides to call someone, and Phonely dials within
seconds.
Waypath agent → place_call tool
→ POST { phone_number, name, intent, ... } to Phonely campaign webhook
→ Phonely dials immediately
← post-call webhook { callId, duration, sentiment, transcript, ... }
→ Waypath updates the Touchpoint node + WS broadcastSetup
1. Create a Phonely outbound campaign with a Webhook source
- In Phonely, create a new Outbound Campaign.
- For the data source, pick Webhook.
- Phonely will display a unique URL (something like
https://api.phonely.ai/campaigns/<id>/webhook). - Copy the URL — you’ll paste it into Waypath in step 3.
- Map the variables Phonely will pass to your agent’s prompt — at minimum
{phone_number}and{name}. Waypath also sends{intent}and any extra{variables}you pass at place-call time.
2. Configure the post-call webhook
- Still in the Phonely campaign config, set the Post-call webhook URL to
https://api.waypath.app/api/webhooks/phonely?workspace_id=<YOUR_WORKSPACE_ID>. Find your workspace ID in Settings → Workspace. - (Optional but recommended) generate a long random string and configure it as the post-call signing secret in Phonely. Paste the same string into Waypath in step 3 under “Post-Call Webhook Secret”.
3. Connect Phonely in Waypath
- Open Settings → Integrations → the Phonely · Voice card.
- Paste:
- API Key — your Phonely
X-Authorizationkey fromhttps://app.phonely.ai/settings?tab=profile - Campaign Webhook URL — from step 1
- Default Agent — picked from a dropdown populated by your Phonely
account (Waypath calls
GET /agentsto list them) - Caller Number (optional) — the number Phonely should dial out from
- Post-Call Webhook Secret (optional) — what you set in step 2
- API Key — your Phonely
- Click Connect Phonely. Waypath validates the API key against
GET /agentsand persists everything encrypted on your workspace.
Usage from the agent
The Prospect and Campaign buddies share two tools:
place_call({ customerId, intent?, variables? })— places an outbound AI call. Writes a queuedTouchpointimmediately (so the operator sees the dial in the customer’s timeline) and forwards the placement to Phonely. Returns{ touchpointId, status: 'queued' }.summarize_call({ touchpointId })— reads the completed call’s transcript, sentiment, summary, and recording URL back from the Touchpoint, so the agent can reason about what was said before drafting a follow-up.
Sample prompts:
"Call Sarah Chen at Acme — confirm whether last week's pricing concern is resolved."
"For each hyper-signal customer with a phone number, place a call. Cap at 5."
"Read me the transcript of touchpoint tp_42, then draft a follow-up email."Post-call payload
What the post-call webhook ships (per Phonely docs):
| Field | Touchpoint property |
|---|---|
callId | phonely_call_id |
duration (sec) | duration |
sentiment | sentiment |
recordingUrl | recordingUrl |
transcriptText | transcript |
summary | summary |
endedReason | endedReason |
mentionedEmail | mentionedEmail |
waypath_request_id | (correlator — finds the placeholder Touchpoint) |
Waypath also sets phonely_status: 'completed' and completedAt (ISO).
Behaviour notes
- Dialling is asynchronous.
place_callreturns as soon as the placement has been accepted by Phonely. The transcript may take 30s–10min to land depending on call duration. The agent narrates this to the operator (“Dialling now — transcript will land via webhook when the call ends.”). - Phone-required. Customers without a phone number on file return
customer_no_phone. Identity resolution by phone (already 0.9 confidence in Waypath) means the post-call webhook can also link a transcript to a Customer when only the phone is on file. - Webhook-only auth. The campaign webhook URL itself is the placement
credential — keep it private. Waypath refuses to POST to any URL that isn’t
https://*.phonely.ai/. - Voice ≠ Twilio. Twilio in Waypath is a read-only voice/SMS importer (call history sync). Phonely is the outbound AI dialler. They can coexist.