DocsZapier Integration
No-code integration

Zapier Integration

Connect HIRESSCOPE to 7,000+ apps without writing code. Send shortlisted candidates to your ATS, post Slack notifications when CVs are scored, update Google Sheets in real time, and more.

Real-time webhooks

Events delivered in < 1 s

HMAC-SHA256 signatures

Verify every payload

6 event types

Jobs + applications

Webhook endpoint

Register a webhook endpoint in your HIRESSCOPE settings to start receiving events. All webhook requests are sent as HTTP POST with a JSON body and theX-HiresScope-Signatureheader for verification.

Manage endpoints
POST https://api.hiresscope.com/api/v1/webhooks
// Request body
{
  "url": "https://hooks.zapier.com/hooks/catch/123456/abcdef",
  "events": ["application.scored", "application.shortlisted"],
  "isActive": true
}

// Response
{
  "id": "wh_xyz",
  "secret": "whsec_...",   // Store this securely — shown only once
  "url": "https://hooks.zapier.com/...",
  "events": ["application.scored", "application.shortlisted"]
}

Requires Bearer token authentication. Get your token from Settings → API Keys.

Supported events

EventDescriptionWhen it fires
application.createdA new CV was uploaded to a job posting.Candidate applies via public link or bulk upload
application.scoredAI scoring completed for an application.CV processing pipeline finishes (usually < 60 s)
application.shortlistedAn employer marked an application as shortlisted.Status change in the candidates table
application.rejectedAn employer rejected an application.Status change in the candidates table
job.createdA new job posting was published.Employer creates and activates a job
job.closedA job posting was closed or deleted.Employer sets status to CLOSED or deletes the job

Sample payloads

application.scored
{
  "event": "application.scored",
  "timestamp": "2026-05-02T14:32:10.000Z",
  "tenantId": "tenant_abc123",
  "data": {
    "applicationId": "app_xyz789",
    "jobId": "job_def456",
    "jobTitle": "Senior Backend Engineer",
    "candidateName": "Jane Smith",
    "candidateEmail": "[email protected]",
    "score": 82,
    "status": "SCORED",
    "missingSkills": [
      "Kubernetes",
      "GraphQL"
    ],
    "cvUrl": "https://cdn.hiresscope.com/cvs/jane-smith.pdf"
  }
}
application.shortlisted
{
  "event": "application.shortlisted",
  "timestamp": "2026-05-02T15:00:00.000Z",
  "tenantId": "tenant_abc123",
  "data": {
    "applicationId": "app_xyz789",
    "jobId": "job_def456",
    "jobTitle": "Senior Backend Engineer",
    "candidateName": "Jane Smith",
    "candidateEmail": "[email protected]",
    "score": 82,
    "status": "SHORTLISTED",
    "shortlistedAt": "2026-05-02T15:00:00.000Z"
  }
}
job.created
{
  "event": "job.created",
  "timestamp": "2026-05-02T09:00:00.000Z",
  "tenantId": "tenant_abc123",
  "data": {
    "jobId": "job_def456",
    "title": "Senior Backend Engineer",
    "department": "Engineering",
    "location": "Remote",
    "status": "ACTIVE",
    "publicUrl": "https://hiresscope.com/apply/acme-corp-senior-backend-engineer-x7k2"
  }
}

Step-by-step: Connecting to Zapier

01

Create a Webhook Endpoint in HIRESSCOPE

  • Log in to your HIRESSCOPE dashboard and navigate to Settings → Webhooks.
  • Click "Add Endpoint" and enter any placeholder URL for now (you will replace it in step 3).
  • Select the events you want to receive (e.g. application.scored, application.shortlisted).
  • Save the endpoint. Copy the signing secret shown — you will need it in Zapier to verify payloads.
02

Create a New Zap in Zapier

  • Go to zapier.com and click "Create Zap".
  • In the Trigger step, search for "Webhooks by Zapier" and select it.
  • Choose "Catch Hook" as the trigger event and click Continue.
  • Zapier will generate a unique webhook URL — copy it.
03

Update the Webhook URL in HIRESSCOPE

  • Go back to HIRESSCOPE Settings → Webhooks.
  • Edit the endpoint you created in step 1 and paste the Zapier webhook URL.
  • Click "Test" to send a sample payload to Zapier — you should see it appear in Zapier's "Test" panel.
  • Confirm the trigger in Zapier to proceed to the action step.
04

Configure Your Zapier Action

  • Choose the app you want to send data to (e.g. Slack, Google Sheets, Notion, HubSpot).
  • Map the fields from the HIRESSCOPE payload to your action.
  • Common mappings: data.candidateName → Name, data.candidateEmail → Email, data.score → Score, data.jobTitle → Position.
  • Turn the Zap on and you're done.
05

Verify Webhook Signatures (Optional but Recommended)

  • Each request from HIRESSCOPE includes an X-HiresScope-Signature header.
  • The signature is HMAC-SHA256(requestBody, signingSecret).
  • Use Zapier's "Code by Zapier" step to verify the signature before processing the payload.
  • Discard requests where the signature does not match to prevent spoofed events.

Verifying signatures

Every webhook request carries an X-HiresScope-Signature header. Compute the expected HMAC and compare — reject requests that do not match.

// Node.js verification example
import { createHmac, timingSafeEqual } from 'crypto';

function verifyWebhook(rawBody: string, signature: string, secret: string): boolean {
  const expected = createHmac('sha256', secret)
    .update(rawBody, 'utf-8')
    .digest('hex');
  const expectedBuf = Buffer.from(expected, 'hex');
  const signatureBuf = Buffer.from(signature, 'hex');
  if (expectedBuf.length !== signatureBuf.length) return false;
  return timingSafeEqual(expectedBuf, signatureBuf);
}

Ready to automate your hiring?

Create a free account and start connecting HIRESSCOPE to your tools in minutes.