Guide
Google review requests
One request when a job is finished, and the Google review agent takes it from there by SMS. Google Calendar, Calendly and Cal.com are built in; anything else — a CRM, a booking system, your own code — uses this endpoint.
What happens
- The customer gets an SMS from your Voximate number asking for a score from 1 to 5.
- A 4 or 5 gets your Google review link straight away.
- A 1 to 3 gets an apology and a question. You are alerted, and the link follows two days later.
The request
This endpoint is separate from the /public/v1 API: it is authenticated with the workflow’s own key, not an API key. Find the URL and the key in the dashboard under SMS → Google reviews.
POST /sms-workflows/hooks/{tenantId}/{workflowId}/runs
curl -X POST https://api.voximate.no/sms-workflows/hooks/{tenantId}/{workflowId}/runs \
-H 'Authorization: Bearer whsec_…' \
-H 'Content-Type: application/json' \
-d '{
"counterparty": "+4712345678",
"idempotencyKey": "job-8821",
"variables": { "name": "Kari", "service": "Nettside" }
}'counterparty— the customer’s mobile number with the country code (+47or0047and the number), or the eight Norwegian digits, spaces allowed — read as +47. Anything that is not clearly a phone number is refused, never guessed.idempotencyKey— your job id. The same key twice sends nothing the second time.variables— values the SMS text can use, such as the customer’s name and the service.
Instead of the Bearer key, a system that can sign requests may send x-voximate-signature: sha256=<hex HMAC-SHA256 of the raw body, keyed with the key>. Sign the exact bytes you send. The downloadable guide has a Node.js example.
Answers
| Status | Meaning |
|---|---|
| 202 | Started: { "runId", "status": "running" }. The first SMS goes out after the delay you chose. |
| 200 | Duplicate: this idempotencyKey was already used ("duplicate": true). Nothing was sent. |
| 400 | invalid_body (counterparty missing, or a field of the wrong type; details names it) or invalid_counterparty (not a phone number). |
| 401 | unauthorized: wrong or missing key or signature, or a wrong address. |
| 409 | workflow_not_published: the Google review agent is not switched on. Press Save and activate. |
The downloadable Markdown guide has the full details, ready to hand to whoever builds the integration.