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
  • Namespaces created, updated, or deleted
  • 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"
}
]
}
}