Skip to main content

Introduction

Ropes can send webhooks to your server when certain events occur during the candidate or assessment lifecycle. This allows you to build automated workflows, sync data with your systems, and react to candidate progress in real-time.

Configuration

To enable webhooks, navigate to Settings → Integrations → Webhooks and configure:
  1. Webhook URL - The HTTPS endpoint where Ropes will send POST requests
  2. Webhook Secret - A secret key used to sign webhook payloads for verification
  3. Subscribed Events - Select which events you want to receive

Events

You can subscribe to any combination of the following events:

Payload Structure

All interview webhook payloads include these base fields:
Full example payloads for each specific event are below:

Event-Specific Payloads

interview.sent

interview.started

interview.completed

interview.expired

problem.creation.completed

scout.completed

Recurring Scout runs emit the event only if the previously established risk level changes.

Security

Signature Verification

Every webhook request includes an x-ropes-webhook-signature header containing an HMAC-SHA256 signature of the request body, signed with your webhook secret. Use the following code as an example of how to conduct signature verification.

Best Practices

  • Always verify the webhook signature before processing
  • Use HTTPS endpoints only
  • Respond with a 2xx status code within 10 seconds
  • Process webhooks asynchronously if they trigger long-running operations
  • Store your webhook secret securely (e.g., environment variables)

Delivery & Retries

Ropes will attempt to deliver each webhook up to 3 times:
  1. Initial delivery - Immediately when the event occurs
  2. First retry - 1 minute after the initial failure
  3. Second retry - 5 minutes after the first retry
A delivery is considered successful when your endpoint returns a 2xx HTTP status code. After all retry attempts are exhausted, the delivery is marked as failed.

Timeout

Webhook requests timeout after 10 seconds. Ensure your endpoint responds quickly to avoid unnecessary retries. Clients are responsible for handling idempotency on retries.

Testing

During development, you can use tools like webhook.site or ngrok to receive webhooks locally and inspect the payloads. Ropes supports sending test webhooks via the webhook settings page. This allows developers to iterate quickly when integrating Ropes data into their systems.