Integrations troubleshooting
Webhooks
My endpoint is not receiving deliveries
- Confirm the endpoint URL is publicly reachable over HTTPS. ImpartLab cannot deliver to
localhostor private network addresses. - Check the Deliveries tab on the webhook — failed deliveries show the HTTP status code returned by your endpoint.
- Ensure your endpoint returns a
2xxresponse within the timeout window. Non-2xx responses are recorded as failed.
Signature verification is failing
- Verify you are computing
HMAC-SHA256(secret, timestamp + "." + raw_body)and comparing it to theX-ImpartLab-Signatureheader. - Use the raw request body, not a parsed/re-serialised version — any whitespace difference will break the signature.
- Confirm the secret in your endpoint matches the secret saved on the webhook in ImpartLab.
I want to test a webhook without a real event
- Select Send test on the webhook. This dispatches a test payload to your endpoint immediately.
A delivery shows as failed — how do I retry?
- Use Platform → Integrations → Webhooks → Dispatch to manually trigger a dispatch for a specific event type.
OneRoster export
The ZIP is empty or missing rows
- The export includes only active students and staff. Inactive or withdrawn records are excluded.
- Ensure at least one session and term exist and that enrollments are active.
Attendance devices
See Attendance device troubleshooting.
SSO (Google / Microsoft)
The Google or Microsoft sign-in button is not showing
- The button is hidden when the corresponding environment variable is not set (
GOOGLE_CLIENT_IDorMICROSOFT_CLIENT_ID). Contact your platform operator to configure it.
SSO sign-in fails with a redirect error
- Confirm the AuthServer URL is registered as an authorised redirect URI in the Google Cloud Console or Microsoft Entra app registration.
- Check that
AUTH_SERVER_URLin.envexactly matches the registered URI (trailing slash matters).
Accounting export
The CSV has incorrect totals
- The Paid column reflects net payments after refunds. If you need gross payments and refund amounts separately, use the Finance module reconciliation report.