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"
}
]
}
}