Webhooks are user-defined HTTP callbacks, which can be maintained, modified and managed by any third-party users, in order to cause events on one site to invoke behavior on another.
Webhooks can be called from anywhere. They can be added in a GitHub repo's settings, to be called by one or more events taking place in the repo at a given time. If the webhook is added to GitHub, its operations will take effect every time the selected event takes place, regardless of the branch determining the event.
When the webhook is triggered, the assigned languages/projects on POEditor receive data from the GitHub file that is connected to it.
In the GitHub integration page, you can find a webhook generator, where you can choose the desired action(s) for your webhook.
After creating the webhook, add it to your repo's settings in the section webhooks, like in the image below.
The content type doesn't really matter (it's enough to access the link to trigger the action set on the webhook) and the secret can be left blank.
Linking multiple files to a language
You can connect multiple files to the same language by creating a link for each of these files. If you want to run an operation for all the linked files via webhooks, you need to create a webhook with this operation and run it for each of the linked files.
We strongly recommend that you do not use the sync webhook if you have multiple files linked to the source language. The sync webhook deletes the terms which are in the project, but are not in the connected file. So you may end up losing terms you imported from other files. The terms from the file last synced is what remains in your POEditor project.
1) The export option can be triggered from anywhere, except GitHub.
2) How your webhook behaves is determined by how you set it up in the integration page, in the Settings of each linked language.