Skip to main content
Webhooks let Equip push updates into your own systems the moment they happen. When a candidate’s assessment or AI interview attempt is fully graded, or a job application is created or changes stage in the ATS, Equip sends an HTTP POST request with a JSON payload to a URL you provide, so your CRM or internal tools stay in sync without polling.
If you only want results in a spreadsheet, use the no-code Write Results to Google Sheets option instead.

Setting Up a Webhook

Webhooks are configured at the team level. Your team has a single webhook URL, and every event you turn on is sent to it.
1

Prepare your endpoint

Set up an endpoint that accepts HTTP POST requests with a JSON body and responds within 10 seconds. Do any heavy processing asynchronously.
2

Add your URL

Enter your endpoint URL on the Developers page and save it.
3

Choose your events

Under Events, switch each event on or off. Saving a new URL turns on only assessment.completed and ai_interview.completed.
4

Verify with a real completion

Have a candidate complete an assessment or AI interview, or move an application to another stage, and confirm your endpoint receives the event.

Events

The two completion events fire once per candidate attempt, after grading is complete, so the scores in the payload are final. The two job application events come from the ATS.
An attempt that needs manual grading triggers its webhook only after you finalize the grade, not at submission time.
To call a URL from a pipeline stage’s automation rule, use the Notify an external system (webhook) automation action instead. It is set per stage and supports GET, POST, PUT and PATCH. See Automation Webhooks and External Updates.

Payloads

Every event uses the same envelope: the event type, a UTC timestamp in ISO 8601 format, and a data object with the event details.

assessment.completed

The data object contains: Each entry in tests includes test_title, test_report_url, points_scored, points_available, and percentage_scored.

ai_interview.completed

The data object has the same fields as assessment.completed, with two differences:
  • ai_interview_label and ai_interview_report_url replace assessment_label and assessment_report_url.
  • There is no hiring_status or tests field.

job_application.created and job_application.stage_changed

The data object contains: job_application.stage_changed also includes old_stage and new_stage.

Delivery Behavior

Deliveries are fire-and-forget: Equip sends each event once.
If your endpoint is down or takes longer than 10 seconds to respond, the event is not retried and is lost. If you miss an event, the results are still safe on Equip: open the candidate’s report on your dashboard, or pull results through the API.