Connecting JobCannon to Lever
Setup guide for JobCannon assessments in Lever using webhooks + Feedback Forms API. Covers credential setup, trigger configuration, and production deployment.
Connecting JobCannon to Lever
JobCannon integrates with Lever via the Feedback Forms API and webhooks. Lever is a modern recruiting platform used by high-growth companies. This guide covers credential setup, sandbox testing, and production deployment.
Quick Reference
| Property | Value ||----------|-------|| Auth method | Bearer token (API key) || API version | Lever Sandbox API v1 || Protocol | HTTPS/JSON || Rate limit | 10 requests/second (burst: 100/sec) || Sandbox available | Yes (sandbox-lever.com) || Webhook delivery | HTTPS POST (JSON) || Data residency | US (AWS regions) || Retention default | 90 days (org configurable) |Prerequisites
Step 1: Generate an API Key in Lever
1. **Log in to Lever** as workspace admin
2. **Navigate:** Settings → Integrations → API Credentials
3. **Click "Create New Credential"**
4. **Configure:**
- Name: JobCannon Assessments
- Scopes:
- `applications:read` (read candidate applications)
- `applications:write` (update application metadata)
- `feedback:write` (write feedback forms)
- `opportunities:read` (access candidate records)
5. **Click "Generate"** — Lever will create a Bearer token (never shown again)
Store the token securely (e.g., in a secrets manager like AWS Secrets Manager or Vercel env variables).
Step 2: Configure Webhook Endpoint
Register your webhook with Lever:
curl -X POST https://api.lever.co/v1/webhooks \
-H "Authorization: Bearer [your-api-key]" \
-H "Content-Type: application/json" \
-d {
"url": "https://api.jobcannon.io/lever/webhooks",
"triggers": [
"application.created",
"opportunity.created"
]
}
Lever will deliver webhook events to https://api.jobcannon.io/lever/webhooks. Use the webhook secret to validate HMAC-SHA256 signatures.
Step 3: Request Credentials from JobCannon
Email [email protected] with:
JobCannon will verify the credentials and activate the integration within 24 hours.
Step 4: Assign JobCannon Assessments in Lever
Once active, you can assign assessments to pipeline stages:
1. **Open a job posting** in Lever
2. **Go to Pipeline → [Stage]**
3. **Click "Add Step"** → Feedback Form (or custom step)
4. **Select JobCannon** from the assessment partner dropdown
5. **Choose a test** (Big Five, DISC, EQ, etc.)
6. **Configure:**
- Required or optional
- Auto-send on stage entry or manual trigger
- Due date (default: 7 days)
7. **Save**
Candidates will receive an email with a link to the assessment.
Step 5: Test in Sandbox
Before going live:
1. **Create a test opportunity** in Lever (Candidates → Add Candidate)
2. **Advance to a stage** with a JobCannon assessment
3. **Trigger the assessment** (auto or manual)
4. **Complete the assessment** with a test email
5. **Verify feedback form creation:** Check the opportunity in Lever — a new feedback form should appear
6. **Review logs:** Check JobCannon admin (/admin/integrations/lever) for webhook delivery logs
Common Errors
Error: "Invalid API key or insufficient scopes"
**Cause:** API key is expired or doesn't have required scopes.
**Fix:**
1. Verify the Bearer token hasn't expired (tokens in Lever last 1 year)
2. Regenerate the API key in Lever settings if expired
3. Ensure scopes include `applications:write` and `feedback:write`
Error: "Webhook signature validation failed"
**Cause:** HMAC signature is incorrect or webhook secret is wrong.
**Fix:**
1. Verify Lever sends `X-Lever-Signature` header with HMAC-SHA256 digest
2. Confirm webhook secret matches the value in Lever settings
3. Check that payload is not modified before validation
Error: "Feedback form creation failed (404)"
**Cause:** Opportunity ID or application ID doesn't exist.
**Fix:**
1. Verify opportunity exists in Lever before sending feedback
2. Check opportunity has at least one active application
3. Ensure application status is not rejected or marked as spam
Verification Checklist
Rate Limits
Lever allows 10 requests per second with burst tolerance to 100 requests/sec. If you exceed this, Lever returns 429 (Too Many Requests). JobCannon implements exponential backoff: 5s → 15s → 60s.
---
**Vendor docs:** https://hire.lever.co/integrations
**API reference:** https://api.lever.co/v1/docs
**Support:** [email protected]