fonio Integration
What it does
fonio runs AI voice agents that answer your phone line. This integration turns every call they handle into a structured signal in your product graph, so the things customers say out loud — the ones that never make it into a support ticket — end up next to your Slack threads and Jira issues.
From each call Specky captures the transcript, fonio's own summary, the caller's number, the recording link, and any custom fields your assistant was told to extract (an order number, a plan tier, a churn reason).
It also works the other way: with an outbound number configured, you can have your fonio assistant call a customer back about a specific piece of feedback, without leaving Specky.
Before you start
You need a fonio account with at least one assistant answering a number. Outbound calling additionally needs a fonio Teams plan, completed KYC, and an imported or SIP number — inbound transcripts work on any plan.
Step 1 — Connect your API key
+4312345678) — only needed if you want Specky to place outbound callsSpecky verifies the key against fonio immediately. A wrong key fails here, not silently three days later.
Step 2 — Send your calls to Specky
This step is not optional, and it cannot be done later for calls that already happened.
fonio's API has no call-history endpoint. Specky cannot poll fonio, cannot ask "what happened yesterday", and cannot backfill. Calls reach Specky only because fonio pushes them at the moment they end. Until this step is done, your fonio card will say connected and your graph will stay empty.
First, get your webhook details:
Then set up delivery in fonio. There are two ways, and Specky accepts both — pick whichever your assistant already uses.
Option A — Nachverarbeitung → API Request (simplest)
fonio sends its own complete payload. Nothing to compose.
POSTx-specky-webhook-secret with the signing secret as its valueOption B — Integrations → HTTP Request (more control)
Use this if you want to send extra fields your assistant extracted during the call.
x-specky-webhook-secret with the signing secret{
"conversationId": "{{conversationId}}",
"plainTranscript": "{{plainTranscript}}",
"personNumber": "{{personNumber}}",
"direction": "{{direction}}",
"startTimestamp": "{{startTimestamp}}",
"conversationLink": "{{conversationLink}}"
}Any additional keys you add are kept on the signal. If your assistant extracts an order number, add "orderNumber": "{{orderNumber}}" and it travels with the transcript.
If your tool can't send custom headers (some Make and n8n setups), append the secret to the URL instead: …/api/integrations/fonio/webhook?workspace=…&secret=YOUR_SECRET. Treat that URL like a password — anyone holding it can write into your workspace.Step 3 — Verify with a real call
Test calls made in the fonio browser widget do not fire webhooks. You have to dial the number from an actual phone.
The card tells you what happened to the last delivery:
{{plainTranscript}} is actually in the body.Then go to Discovery and look for a signal named after your call.
Why there's no "Sync" button
Every other integration in Specky has one. fonio doesn't, and it isn't an oversight — fonio's public API exposes only outbound calling and an API-key test. There is no endpoint that lists past calls or returns a transcript, so there is nothing for a sync button to fetch.
The practical consequence: set the webhook up before the calls you care about happen. A call that ends while the webhook is misconfigured is not recoverable through Specky. That is also why the card reports delivery status — with no way to pull, being able to see that deliveries are arriving is the only feedback loop available.
Calling a customer back
With an outbound number saved, Specky can have your assistant place a call — for instance to follow up on a complaint that arrived through another channel.
Because this rings a real person's phone and costs real money, Specky requires you to confirm the exact destination number before dialling. A call where the confirmation doesn't match the destination is refused, and every call that does go through is written to your audit log with the number and who triggered it.
Carrier costs are billed by fonio, not Specky.
Privacy
Call transcripts are customer personal data. They land in your workspace under the same access rules as every other signal, and are removed when you disconnect the integration. If you record calls, make sure your fonio assistant's greeting handles consent for your jurisdiction — Specky stores what fonio sends and does not add a consent step of its own.