How to use webhooks to receive live translations
Webhooks let your own system receive Glossa’s live transcriptions and translations as they happen. You can use them to put captions into your own app or website, feed a display system, store translations in your own archive, or connect Glossa to automation tools like n8n, Make or Zapier.
Webhooks are available on every plan, including Pay As You Go and the free trial.
How to set it up
Section titled “How to set it up”- Log in and open the service you want to connect.
- Click Advanced Settings.
- Expand Webhook Integration and turn on Enable webhook notifications.
- Enter your Webhook URL. This is the address on your server that will receive the data, for example https://your-server.com/glossa.
- Under Send content, choose Text translations (the translated text), Audio files (the translated AI voice as an MP3 file), or both.
- Under Languages to send, select the languages you want to receive.
- Save, then start streaming as usual.
What your server receives
Section titled “What your server receives”For every sentence spoken, Glossa sends one POST request with a JSON body containing all the languages you selected:
{ "serviceId": "your-service-id", "originalText": "Welcome, everyone, to our Sunday service.", "translations": { "es": "Bienvenidos todos a nuestro servicio dominical.", "fr": "Bienvenue à tous à notre culte du dimanche." }, "audioData": { "es": "<base64 encoded MP3>", "fr": "<base64 encoded MP3>" }, "timestamp": "2026-10-12T15:04:05.000Z", "sequence": 0}- originalText is what the speaker said, in the speaker’s language.
- translations contains the translated text, one entry per language code. It is empty if you turned off text.
- audioData contains the translated voice, base64 encoded MP3. It is only included when audio is turned on.
- sequence counts up from 0 for each stream, so you can keep sentences in the right order.
Each request also carries these headers: Content-Type: application/json, User-Agent: Glossa-Webhook/1.0, X-Service-Id, X-Sequence and X-Timestamp. Requests are not signed, so treat the webhook URL as a secret: use a long, random path that only Glossa knows.
Good to know
Section titled “Good to know”- Sentences arrive in order. Glossa sends them one at a time, in the order they were spoken.
- Reply quickly. Your endpoint should return a 2xx status within 5 seconds. If it times out or returns a server error, Glossa tries again twice (after 0.5 s and 1 s), three attempts in total. Client errors (such as 404 or 401) are not retried, so check your URL if nothing arrives.
- Use a public address. The URL must be reachable from the internet. Local or private network addresses (like localhost or 192.168.x.x) are blocked, and redirects are not followed.
- Billing. The languages you select for the webhook are translated for the whole stream, even when no listener has chosen them. They are billed like any other language: per minute of speech, $5/hour per language on Pay As You Go. Only select the languages you actually need.
Testing your webhook
Section titled “Testing your webhook”To see what Glossa sends before writing any code, create a free test URL at a site like webhook.site, paste it into the Webhook URL field and start a short stream. Each sentence will appear on the test page as it arrives.
The full reference, with delivery rules, limits and a sample receiver, is on Webhooks in the Developers section.