GitLab
Trigger Wexio flows from GitLab merge requests and pipeline events
GitLab sends a plaintext pre-shared token in the X-Gitlab-Token header (not an HMAC signature). That maps to Wexio's SHARED_SECRET mode — with a caveat on the header name.
Wexio's SHARED_SECRET mode reads the x-webhook-secret header specifically. GitLab sends its token as X-Gitlab-Token. Use n8n or Make as a lightweight proxy to rename the header, or host a small proxy of your own.
Provider docs: Setting up webhooks in GitLab
Setup (via n8n proxy)
1. Wexio connection
New connection → Inbound. Keep SHARED_SECRET mode. Copy the URL and signing secret.
2. n8n proxy
- Webhook node listening on a public n8n URL.
- Function node that renames
X-Gitlab-Token→x-webhook-secretand validates against your GitLab token. - HTTP Request node → Wexio endpoint with
x-webhook-secret: <wexio-secret>header.
3. Point GitLab at the n8n URL
In GitLab project → Settings → Webhooks. Paste the n8n URL, set the Secret token to whatever your n8n function expects.
4. Contact resolution, schema, flow
Same as any inbound — map identifier + path on the Wexio connection, capture the schema, bind a flow.
When Wexio adds native GitLab support
If GitLab compatibility lands as a first-class auth mode, you'll be able to skip the proxy. For now the n8n/Make bridge is the simplest path.
Troubleshooting
| Symptom | Fix |
|---|---|
| 401 from Wexio | The proxy didn't add x-webhook-secret — check the n8n Function node |
| 401 from proxy | GitLab's token doesn't match what your proxy expects |