Testing a connection
Every integration under Settings has a self-serve way to prove it works before you rely on it — no waiting for a real survey to finalise, no guessing whether your endpoint or credentials are right.
What it is
Each channel has its own test affordance, and every one is an org-admin action that runs live, server-side, and never touches or modifies real evidence:
| Integration | Where | Test affordance |
|---|---|---|
| Webhook | Settings → API & webhooks | Send test event |
| REST API | Settings → API & webhooks | Quick-start curl examples and a sample payload viewer |
| EDI flat-file | Settings → API & webhooks | Manual date-range Export CSV |
| SFTP server | Settings → SFTP servers | Test connection |
| SMTP | Settings → Notifications | Test connection |
| AI provider key | Settings → AI | Test connection |
How to do it
- Webhook — save your URL, then click Send test event. This fires a real, signed
test.pingevent immediately, using the same signing path as production deliveries. Expand View sample payload & signature headers sent to hand your dev team the exact bytes to verify against. - REST API — mint a key with the scopes you need, then use the quick-start curl examples with your own key. A
200with a JSON body confirms auth, scopes and network access all work. - EDI flat-file — pick a short date range and click Export CSV. This runs the exact same export code as the nightly schedule, synchronously, so you can confirm the column layout before the first scheduled run.
- SFTP server — click Test connection. This runs a real four-step handshake — connect, negotiate the host key, authenticate, then a read-only check of the remote path — and never writes a file.
- SMTP — click Test connection to send a real test email to your own signed-in address using your saved configuration.
- AI provider key — click Test connection. The platform asks your provider to reply with a single fixed word using your key and model, and reports the result.
How it integrates
A webhook test is signed with your real signing secret over the same HMAC code path every production delivery uses, so a pass is genuine proof that delivery and signature verification both work end to end — not a simulation. All test and production traffic for these integrations is served from europe-west2 (London), and every test is written to your organisation’s audit log the same as a production event.
Common problems
| Symptom | Likely cause |
|---|---|
| Webhook test times out | Your endpoint is unreachable from the public internet, or behind a firewall that blocks europe-west2 egress. |
| Webhook signature doesn’t match | You hashed the parsed/re-serialized body instead of the raw bytes, or used an old secret after re-saving the URL. |
| REST API returns 401 | The Authorization: Bearer header is missing, malformed, or the key was revoked. |
| REST API returns 403 “missing scope” | The key wasn’t minted with the scope the endpoint needs — mint a new key with the right scopes. |
| SFTP test fails at “handshake” | The server presented a different host key than the one previously pinned — verify out of band before re-pinning. |
| SFTP test fails at “auth” | Wrong username or password, or the public key isn’t installed in authorized_keys. |
| SMTP test doesn’t arrive | Wrong host, port or security mode, or your mail provider is blocking the connection — check your provider’s own sent-mail log and your spam folder. |
| AI test fails with a provider error | Usually an invalid or expired key, or billing not enabled on the provider account — the error shown is the provider’s own, shortened for display. |