<!-- BusyBot node reference — https://busybot.net/tools/workable-trigger/ -->

> Node: Workable Trigger (`workable_trigger`) · Webhook trigger · v1
> Category: Productivity · Credentials: Workable (`workableApi`)
> Updated: 2026-08-16

# Workable Trigger

> Triggers on Workable candidate events such as creation and stage movement

## Overview

Receives webhook notifications from Workable when candidate-related events occur in your recruiting pipeline. Supports two event types: candidate_created (when a new candidate is added) and candidate_moved (when a candidate moves to a different hiring stage). Optionally filter by specific job or hiring stage. The incoming webhook payload is passed through as-is from Workable, typically containing candidate details, job information, and stage data. Useful for automating recruiting workflows such as notifying hiring managers, syncing candidates to an ATS or CRM, tracking pipeline movement, and triggering onboarding processes when candidates reach the hired stage.

**Category:** Productivity  
**Tool Name:** `workable_trigger`  
**Version:** 1

**Appearance:** Icon: `lucide-Briefcase` | Color: `#00756a`

## Node Type

**Trigger** — webhook (receives incoming HTTP callbacks)

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **Workable** credentials.
See the [Credentials Guide](https://busybot.net/credentials/workable-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Trigger On | `options` | Yes | — | The event type to listen for from Workable. |
| | | | | Options: `candidateCreated`, `candidateMoved` |
| Filters | `collection` | No | `{}` | Optional filters to narrow which events trigger the workflow. |
| — Job | `string` | No | — | Get notifications only for a specific job. Enter the job shortcode from Workable (e.g. the code shown in the job URL). |
| — Stage | `string` | No | — | Get notifications for a specific hiring stage only (e.g. "hired", "interview"). Enter the stage slug from Workable. |

## Output Data

Each accepted notification produces one output item containing the raw Workable payload exactly as it arrived — typically the candidate details, the job it belongs to, and the stage data — plus:

- `_trigger` — always `workable_webhook`
- `_timestamp` — ISO 8601 timestamp of when the notification was received
- `_webhookEvent` — the payload's `event` field, falling back to `type`, or `unknown` when neither is present

Reference the payload downstream by expression, e.g. `{{ $json.data.candidate.email }}`.

## Usage Examples

- Start a workflow when a new candidate is added to Workable
- Trigger a notification when a candidate moves to the interview stage
- Automate onboarding tasks when a candidate is moved to the hired stage
- Sync new candidate data to a CRM when they are created in Workable

## Example Configuration

Every new candidate, across all jobs:

```json
{
  "name": "Workable New Candidate Trigger",
  "type": "workable_trigger",
  "parameters": {
    "triggerOn": "candidateCreated"
  }
}
```

Candidate movement on one job:

```json
{
  "name": "Workable Developer Candidate Moved",
  "type": "workable_trigger",
  "parameters": {
    "triggerOn": "candidateMoved",
    "filters": {
      "job": "ABCD1234"
    }
  }
}
```

Candidates reaching the hired stage — a good place to start onboarding:

```json
{
  "name": "Workable Hired Candidates",
  "type": "workable_trigger",
  "parameters": {
    "triggerOn": "candidateMoved",
    "filters": {
      "stage": "hired"
    }
  }
}
```

Both filters combined for a precisely targeted trigger:

```json
{
  "name": "Workable Marketing Interview Candidates",
  "type": "workable_trigger",
  "parameters": {
    "triggerOn": "candidateMoved",
    "filters": {
      "job": "MKTG5678",
      "stage": "interview"
    }
  }
}
```

### Trigger Behavior

- **Activation:** When the workflow is activated, a webhook endpoint is registered with the service.
- **Deactivation:** The webhook is automatically unregistered when the workflow is deactivated.
- **Payload:** The incoming webhook payload is parsed and output as workflow items.
- **Verification:** Supports signature verification where applicable.

## Tips

Entry point that fires when Workable sends a webhook for subscribed candidate events. Select which event to listen for (candidate created or candidate moved) and optionally filter by a specific job or hiring stage. The raw webhook payload from Workable is passed through as the output item.

### Key Notes

- The `triggerOn` parameter is required and determines which type of Workable event will start the workflow
- Filters are optional but help reduce noise by only triggering on relevant events
- Job shortcodes can be found in the Workable job URL (the alphanumeric code after the job title)
- Stage slugs are the URL-friendly versions of stage names (e.g., "Phone Interview" becomes "phone-interview")
- Both filters can be used together for precise event targeting
- The `job` and `stage` fields must be nested inside the `filters` object, not placed at the top level of `parameters`