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.
# 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
- Create new Zap with "Webhooks by Zapier" trigger
- Select "Catch Raw Hook" event
- Copy the generated webhook URL
- Submit HireSquire screening job with this webhook URL
- Test the trigger to receive sample data
- Add action steps (Slack, Gmail, Google Sheets, etc.)
- 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:
- Full Hiring Workflow - End-to-end automation guide
- REST API - Complete API reference
- Multi-Stage Screening - Progressive candidate filtering
- FAQ - Common webhook questions
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.