Skip to main content
JobCannon

Connecting JobCannon to Workable

Setup guide for JobCannon assessments in Workable. Covers OAuth 2.0 credential provisioning, sandbox configuration, and the dedicated Assessment API.

~935 wordsVendor docs →

Connecting JobCannon to Workable


JobCannon integrates with Workable via OAuth 2.0 and the Assessment API. Workable is a recruiting platform trusted by mid-market and enterprise companies. This guide covers credential provisioning, sandbox testing, and production deployment.


Quick Reference


| Property | Value |
|----------|-------|
| Auth method | OAuth 2.0 (server-to-server) |
| API version | Workable REST API v1 |
| Protocol | HTTPS/JSON |
| Rate limit | 60 requests/minute (burst: 120/min) |
| Sandbox available | Yes (staging environment) |
| Assessment delivery | Webhook + Assessment API |
| Data residency | EU/US (configurable) |
| Retention default | 90 days (org configurable) |

Prerequisites


  • Workable account with admin access (workspace owner or integration manager role)
  • Email for JobCannon contact: [email protected]
  • Access to Workable API documentation: https://developers.workable.com/reference

  • Step 1: Create an Integration in Workable


    1. **Log in to Workable** as admin

    2. **Navigate:** Settings → Developer Tools → API & Integrations → Applications

    3. **Click "Create Application"**

    4. **Fill in the form:**

    - Name: JobCannon Assessments

    - Description: JobCannon assessment delivery and scoring

    - Callback URL: https://api.jobcannon.io/workable/oauth-callback

    - Scopes:

    - `candidates` (read candidate data)

    - `candidate_assessments` (create and update assessments)

    - `jobs` (read job metadata)

    - `evaluation_forms` (read/write evaluation forms)


    5. **Click "Create"** — Workable will generate a Client ID and Client Secret


    Step 2: Store Credentials Securely


    Store these credentials in a secrets manager (AWS Secrets Manager, Vercel env, etc.):

  • Client ID
  • Client Secret (never commit to git)
  • Workspace subdomain (e.g., "acme" from acme.workable.com)

  • Step 3: Initiate OAuth Authorization


    Email [email protected] with:

  • Workspace name
  • Application ID
  • Client ID
  • Client Secret
  • Target environment (staging or production)

  • JobCannon will initiate the OAuth 2.0 flow. You (workspace admin) will be redirected to approve the scopes. After approval, JobCannon receives an authorization code and exchanges it for an access token (refresh token valid for 2 years).


    Step 4: Configure Assessment Delivery


    Once authorized, JobCannon will integrate with Workable's Assessment API. You can now:


    1. **Open a job** in Workable

    2. **Go to Stages → [Stage]**

    3. **Click "Add Evaluation"** → Assessment

    4. **Select JobCannon** from the assessment partner list

    5. **Choose a test** (Big Five, DISC, EQ, etc.)

    6. **Configure:**

    - Required or optional

    - Send timing: auto-advance or manual

    - Due date (default: 7 days)

    7. **Save**


    Step 5: Test in Staging


    Before production:


    1. **Create a candidate** in Workable staging environment

    2. **Advance to the assessment stage**

    3. **Complete the assessment** via the email link

    4. **Verify webhook delivery:** Check JobCannon admin (/admin/integrations/workable/logs)

    5. **Check Workable:** Evaluation form should appear on the candidate record


    Common Errors


    Error: "Invalid OAuth redirect URI"


    **Cause:** Callback URL doesn't match the registered value.


    **Fix:**

    1. Verify Workable shows https://api.jobcannon.io/workable/oauth-callback

    2. Check for typos or trailing slashes

    3. Regenerate the application if needed


    Error: "Insufficient scope: candidate_assessments"


    **Cause:** The scopes in the application don't include `candidate_assessments`.


    **Fix:**

    1. Edit the application in Workable

    2. Add `candidate_assessments` scope

    3. Re-authorize in JobCannon


    Error: "429 Too Many Requests"


    **Cause:** Rate limit exceeded (60 requests/minute).


    **Fix:**

    1. Implement exponential backoff (5s → 15s → 60s)

    2. Batch requests where possible

    3. Contact support if you need higher limits


    Verification Checklist


  • [ ] OAuth application created in Workable with correct redirect URI
  • [ ] Client ID and Secret securely stored
  • [ ] OAuth token authorized with required scopes
  • [ ] JobCannon has confirmed integration activation
  • [ ] At least one candidate advanced through an assessment stage
  • [ ] Evaluation form created in Workable candidate record
  • [ ] Assessment result and percentile visible in Workable

  • Rate Limits


    Workable allows 60 requests per minute with burst tolerance to 120 requests/min. Implement backoff when receiving 429 status codes.


    ---


    **Vendor docs:** https://developers.workable.com/reference

    **Assessment API:** https://developers.workable.com/reference/candidate-assessments

    **Support:** [email protected]