Skip to main content

Webhooks

Sejhey supports webhooks to help you automate your workflows and keep your systems in sync with translation activity.

What Are Webhooks?

A webhook is a way for Sejhey to notify your external systems whenever something changes in a project. Instead of polling for updates, your backend receives real-time HTTP requests when relevant events occur.

Triggered on Any Change

In Sejhey, any change in a project can trigger a webhook, including:

  • Key creation, update, or deletion
  • Language added or updated
  • Translations modified
  • Status changes (e.g., marked as reviewed)
  • Glossary entries added or changed
  • Releases created
  • Screenshots uploaded
  • Tasks assigned or completed

This ensures your app, CI/CD pipeline, or third-party services always have the latest state.

Use Cases

  • Automatically sync keys or translations to your codebase
  • Notify translators via Slack or email when new keys are added
  • Kick off testing or deployment pipelines when a release is created
  • Update documentation or analytics dashboards in response to glossary or language changes

Configuration

To create a webhook, provide:

  • Name – A label for your webhook (e.g., “CI Sync”)
  • Base URL – The endpoint Sejhey should call
  • X-API-TOKEN – Optional secret header sent with each request for authentication

Each webhook can be scoped to specific environments or project events.

Request Format

Webhook payloads are sent as JSON POST requests and contains JSON data describing the event. The structure varies based on the event type, but can generally look like this:

{
"type":"translations.updated",
"data":{
"code":"mypages.header",
"is_reviewed":true,
"is_translated":true,
"locale":"en",
"translations":[
{
"text":"Hi and welcome",
"plural_type":"other"
}
]
}
}