Webhook Automation with Zapier, n8n, and Make: Real-Time Hiring Workflows
Automation

Webhook Automation with Zapier, n8n, and Make: Real-Time Hiring Workflows

HireSquire
HireSquire
· Updated May 22, 2026 · 9 min read

Complete guide to HireSquire webhook automation. Covers HMAC security, step-by-step Zapier/n8n/Make integrations, payload reference, and production best practices.

Webhook Automation with Zapier, n8n, and Make: Real-Time Hiring Workflows

Build fully automated hiring pipelines using HireSquire webhooks. This guide covers webhook configuration, HMAC security, and step-by-step integrations with Zapier, n8n, and Make for real-time candidate notifications and actions.

Quick Webhook Setup
# Submit job with webhook
hiresquire screen \
  --title "Senior Developer" \
  --description "Job description..." \
  --resumes ./resumes/ \
  --webhook https://your-webhook-url.com/hiresquire

Why Webhooks for Hiring?

Webhooks enable event-driven automation instead of polling:

  • Real-time notifications - Get results instantly when screening completes
  • No polling overhead - Eliminate unnecessary API calls
  • Event-driven workflows - Trigger actions based on screening outcomes
  • Platform integration - Connect to 5000+ tools via Zapier/n8n/Make
  • Conditional triggers - Only notify on high-scoring candidates

Webhook Configuration

Basic Webhook Setup

Configure webhooks when submitting a screening job:

POST /api/v1/jobs
{
  "title": "Senior Developer",
  "description": "...",
  "resumes": [...],
  "webhook_url": "https://your-app.com/webhooks/hiresquire",
  "webhook_conditions": {
    "min_score": 80,
    "only_top_n": 5,
    "events": ["job.completed", "high_score_detected"]
  }
}

Available Events

Event Description Trigger
job.processing Job started processing Immediately after submission
job.completed Screening finished successfully All candidates processed
job.failed Screening encountered an error Processing failed
high_score_detected Candidate score above threshold As candidates are processed

Webhook Security (HMAC Signatures)

All webhook requests include timestamped HMAC-SHA256 signatures for verification. Each user gets their own unique webhook secret:

# Request headers
X-Webhook-Signature: t=1714567890,v1=abc123def456...
X-Webhook-Event: job.completed

Verify signatures in your backend:

import hmac
import hashlib
import time

def verify_webhook_signature(request_body: bytes, signature_header: str) -> bool:
    # Get your per-user webhook secret from dashboard
    secret = os.getenv("HIRESQUIRE_WEBHOOK_SECRET")
    
    # Split signature into timestamp and hash
    parts = dict(p.split('=') for p in signature_header.split(','))
    
    # Prevent replay attacks - reject requests older than 5 minutes
    timestamp = int(parts['t'])
    if time.time() - timestamp > 300:
        return False
    
    # Reconstruct signed payload
    signed_payload = f"{parts['t']}.".encode() + request_body
    
    # Generate expected signature
    expected = hmac.new(
        secret.encode(),
        signed_payload,
        hashlib.sha256
    ).hexdigest()
    
    # Constant-time comparison to prevent timing attacks
    return hmac.compare_digest(expected, parts['v1'])

Security Best Practice: Always verify webhook signatures. Never trust incoming requests without validation. Reject any requests with timestamps older than 5 minutes.

Zapier Integration

Connect HireSquire to 5000+ apps with Zapier:

Step-by-Step Zapier Setup

  1. Create new Zap with "Webhooks by Zapier" trigger
  2. Select "Catch Raw Hook" event
  3. Copy the generated webhook URL
  4. Submit HireSquire screening job with this webhook URL
  5. Test the trigger to receive sample data
  6. Add action steps (Slack, Gmail, Google Sheets, etc.)
  7. Enable the Zap

Popular Zapier Workflows

  • Slack Alerts: Send Slack message when high-scoring candidate detected
  • Email Notifications: Auto-send interview invites via Gmail
  • Spreadsheet Logging: Log all candidates to Google Sheets
  • ATS Integration: Create candidates in Greenhouse/Lever
  • Calendar Booking: Auto-send Calendly links to top candidates

n8n Integration

Build custom automation workflows with n8n:

# n8n Webhook Node Configuration
1. Add "Webhook" node
2. Set HTTP Method to POST
3. Enable "Raw Body" for signature verification
4. Add "Code" node for signature validation
5. Add "Switch" node for conditional routing:
   - Score >= 90 → Priority Slack alert
   - Score 70-89 → Standard notification
   - Score < 70 → Log only
6. Connect to your tools (Notion, Airtable, Discord)

n8n Workflow Example

Complete hiring automation pipeline:

[Webhook] → [Verify Signature] → [Parse Results]
    ↳ [Filter: Score ≥ 80] → [Generate Email] → [Send via SendGrid]
    ↳ [Filter: Score ≥ 90] → [Slack Alert to Hiring Team]
    ↳ [All Candidates] → [Log to PostgreSQL] → [Update Dashboard]
    ↳ [Job Failed] → [Error Alert to DevOps]

Make (Integromat) Integration

Enterprise-grade automation with Make:

  • Use "Custom Webhook" trigger with JSON parsing
  • Add "HTTP" module for signature verification
  • Use "Router" module for conditional branching
  • Integrate with enterprise systems (SAP, Oracle, Workday)
  • Add error handling and retry logic

Webhook Payload Reference

{
  "event": "job.completed",
  "job_id": 123,
  "job_title": "Senior PHP Developer",
  "timestamp": "2026-05-01T10:30:00Z",
  "status": "completed",
  "summary": {
    "total_candidates": 10,
    "qualified_count": 3,
    "top_score": 92,
    "average_score": 65
  },
  "top_candidates": [
    {
      "id": 1,
      "name": "John Doe",
      "email": "[email protected]",
      "score": 92,
      "summary": "Excellent match with 5 years Python experience...",
      "contact_info": {
        "email": "[email protected]",
        "phone": "+1 555-123-4567",
        "linkedin_url": "https://linkedin.com/in/johndoe"
      }
    }
  ],
  "results_url": "https://hiresquireai.com/api/v1/jobs/123/results",
  "status_url": "https://hiresquireai.com/api/v1/jobs/123",
  "completed_at": "2026-05-01T10:30:00Z"
}

Best Practices

Production Webhook Guidelines

  • Always verify HMAC signatures before processing
  • Return 200 OK immediately - process payload asynchronously
  • Implement idempotency - handle duplicate deliveries
  • Use HTTPS endpoints only
  • Set up alerting for failed webhook deliveries
  • Test webhook endpoints with the test API

Testing Webhooks

Test your webhook configuration before production:

# Test webhook endpoint
hiresquire webhooks --action test --url https://your-webhook-url.com --event job.completed

# Or via API
POST /api/v1/webhooks/test
{
  "url": "https://your-webhook-url.com/hiresquire",
  "event_type": "job.completed"
}

Next Steps

Expand your automation workflows:

Webhooks are the foundation of modern hiring automation. With Zapier, n8n, and Make integrations, you can build fully autonomous hiring pipelines that run 24/7.

Share this article:
Back to Resources
HireSquire

Written by

HireSquire

The HireSquire team is dedicated to helping entrepreneurs and hiring managers build their dream teams with AI-powered screening tools and data-driven insights.

Ready to Hire Smarter?

Start screening candidates with AI-powered insights. Get 30 free screenings, then pay less than $0.01 per candidate.

30 Free Screenings
<$0.01 /Candidate After
No Credit Card Required