Resources · n8n integration

Workable n8n integrationAutomate Workable with n8n.

Workable knows a candidate moved. None of your other tools find out. The Workable n8n integration closes that gap with a trigger node that listens to 2 candidate events and receives them by webhook. One event family, node version 1, and the rest of the workflow is yours to build.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Workable n8n integration actually give you?

The Workable n8n integration is a one-way link into your automation. The Workable Trigger node receives candidate events from your Workable account and hands each one to an n8n workflow as data you can route, enrich or store. The catalogue lists 2 events, both in the candidate family, and both arrive through a webhook, an URL that Workable calls as soon as the event happens on its side.

Tell the hiring team before they refresh the tab. Set Trigger On to Candidate Created and the workflow posts to the Slack channel your hiring manager already watches. A recruiter juggling several openings at once is exactly why the Filters collection exists: point it at one job and that channel stays readable.

Keep a pipeline log nobody updates by hand. A workflow started by Candidate Moved can append a row in Google Sheets or create a record in Airtable, mapping whichever values you pick out of the event body with an expression such as {{ $json.field }}. The log fills itself while the recruiters work.

Send the email that always gets forgotten. Filters takes a Stage Name or ID, and the node's own description uses hired as its example. Narrow the trigger that way and Gmail sends a message you wrote once, to the person the workflow decides, at the moment the event lands.

When the workflow needs to talk back to Workable, or needs data the trigger does not carry, the HTTP Request node calls any endpoint of the Workable API and reuses the same credential through predefined authentication. One token, two nodes, no second secret to store.

Two things worth knowing before you build. The trigger node is version 1 and its catalogue entry lists 2 events in a single family, so that list is what can start a workflow on its own. And the webhook is only registered with Workable when the workflow is activated: a flow left open in the editor hears nothing at all.

If you are still comparing platforms, the n8n review walks through the trade-offs, and the n8n training is there when the team would rather build these workflows in-house than outsource them.

Connect

How do you connect Workable to n8n?

  1. 01

    Generate the API token in Workable

    In Workable, open your profile, go to Integrations, then Apps, and select Generate API token. Scopes are chosen on that screen, at generation time: pick r_candidates and r_jobs, the two scopes the documentation lists for the Workable Trigger node. If you later need a different set, you generate a new token rather than editing the existing one. Copy the value before you leave the page, it is what n8n will store as the Access Token.

  2. 02

    Read your subdomain off the URL

    The second value n8n asks for is the Subdomain, and it is not the full address. It is the part of your Workable domain sitting between https:// and .workable.com, so a company on https://n8n.workable.com has n8n as its subdomain. If you are not sure which name to use, the Workable Company Profile page shows it too. Take the short form only, with no protocol and no trailing slash.

  3. 03

    Create the credential once in n8n

    In n8n, open the Credentials menu and create a Workable credential, then paste the Subdomain and the Access Token. API key is the supported authentication method here, so there is no consent screen to click through. A credential in n8n is created once and reused everywhere: the Workable Trigger node offers it in its dropdown, and so does an HTTP Request node pointed at the Workable API. Select it in the node and you are connected.

Triggers

What starts a Workable workflow?

Workable Trigger is the node that starts a workflow when something happens in Workable. It listens to 2 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Workable account.

What you see in n8n

Every event, by family

One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.

candidate.*2

    Configuration notes

    01Set up the Workable TriggerThe Workable Trigger node is the entry point of the workflow, and it is what the n8n catalogue ships for Workable: version 1, 2 events, one event family. It works by webhook: n8n registers its URL with Workable when you activate the workflow, and each event reaches n8n within a few seconds, with no polling and no interval to set.

    The Workable Trigger node is the entry point of the workflow, and it is what the n8n catalogue ships for Workable: version 1, 2 events, one event family. It works by webhook: n8n registers its URL with Workable when you activate the workflow, and each event reaches n8n within a few seconds, with no polling and no interval to set.

    Key parameters

    • Trigger On: the event the node listens to, chosen from the 2 available. One node, one selection, so a workflow that needs both events needs both nodes.
    • Filters: an optional collection that narrows what reaches the workflow. Left empty, the node keeps everything the selected event sends.
    • Job Name or ID: inside Filters, gets notifications for one job only. Pick it from the list n8n loads from your account, or pass an ID with an expression, n8n's way of writing a value instead of selecting it.
    • Stage Name or ID: also inside Filters, gets notifications for specific stages, with hired given as the example in the node's own field description.
    Use cases
    one workflow per event and per job keeps each execution log readable, which matters when the same account runs half a dozen openings at once.
    02Candidate CreatedTrigger On set to Candidate Created starts the workflow on the candidateCreated event. Workable calls the webhook URL, n8n turns the event body into a single item, and every node downstream reads the values it needs with an expression like {{ $json.field }}. Nothing else has to run for this to fire: the trigger is the first node, and the workflow simply has to be active.

    Trigger On set to Candidate Created starts the workflow on the candidateCreated event. Workable calls the webhook URL, n8n turns the event body into a single item, and every node downstream reads the values it needs with an expression like {{ $json.field }}. Nothing else has to run for this to fire: the trigger is the first node, and the workflow simply has to be active.

    Key parameters

    • Job Name or ID: keeps the workflow on one opening, so a channel dedicated to a single role never sees traffic from the others.
    • Stage Name or ID: available on this event too, for teams that want the notification only on a given stage.
    Use cases
    a small recruiting team routes every new candidate into the shared sheet they already use for headcount, then pings the channel where the hiring manager actually replies.
    When to use it
    whenever the reaction has to happen at the front of the process, before anyone has opened Workable that morning.
    03Candidate MovedThe second value available in Trigger On is Candidate Moved, which starts the workflow on the candidateMoved event. This is the one people pair with the Stage filter, because the Filters collection is where you decide which stages are worth a workflow and which ones can stay silent. Same webhook mechanics, same few seconds of delay, a different reason to run.

    The second value available in Trigger On is Candidate Moved, which starts the workflow on the candidateMoved event. This is the one people pair with the Stage filter, because the Filters collection is where you decide which stages are worth a workflow and which ones can stay silent. Same webhook mechanics, same few seconds of delay, a different reason to run.

    Key parameters

    • Stage Name or ID: gets notifications for specific stages, hired being the example the field description itself gives. Choose from the list, or specify an ID with an expression.
    • Job Name or ID: combine it with the stage filter when only one opening deserves that level of attention.
    Use cases
    a startup that hires in waves logs every move into the same document the founders read on Monday, so nobody rebuilds the picture from screenshots.
    When to use it
    when the interesting moment is not the arrival of a candidate, but what happens to them next.
    Need help

    Need help automating Workable with n8n?

    A person reads every message.

    FAQ

    Workable and n8n, the questions that come up next

    01Is the Workable n8n integration free?
    Yes on the n8n side. The Workable Trigger node ships with n8n, so there is nothing to install and no add-on to buy, on n8n Cloud as well as on a self-hosted instance running the Community Edition under its Sustainable Use licence. What you spend on n8n depends on how you run it: your own server with Docker or npm, or the hosted offer n8n sells. A workflow is the same in both cases. The Workable account itself is a separate question and this page does not cover what it costs. The credential is reusable, so connecting a second Workable workflow adds nothing.
    02What credentials does the Workable Trigger node need?
    A Workable API key credential, built from two values. The Subdomain is the part of your Workable domain between https:// and .workable.com, so https://n8n.workable.com gives n8n, and the Workable Company Profile page shows it as well. The Access Token comes from your profile, under Integrations then Apps, with Generate API token. Select the r_candidates and r_jobs scopes at generation time, because those are the ones documented for the Workable Trigger node. API key is the supported authentication method for this credential. Create it once in the Credentials menu and every Workable workflow can select it from the dropdown.
    03What are the limits of Workable in n8n?
    It depends on what the workflow has to do. The Workable entry in the n8n catalogue is a trigger, version 1, with 2 events in a single candidate family, and that list is what can start a workflow on its own. For anything the trigger does not carry, the HTTP Request node calls any endpoint of the Workable API and reuses the same credential through predefined authentication, which keeps one token in one place. The Filters collection narrows what reaches the workflow, by job or by stage, it does not add new events. And the webhook only exists while the workflow is active.
    04Does the Workable Trigger work in real time?
    Yes. The node works by webhook, which means n8n registers a URL with Workable when you activate the workflow, and Workable calls that URL when an event happens. Each event reaches n8n within a few seconds. There is no polling, which is the opposite approach where a node would ask the API at a fixed interval whether anything changed, so there is no schedule to tune and no delay to accept. The practical consequence is worth remembering: the workflow has to be active for the webhook to be registered at all. While it sits open in the editor, nothing arrives.
    05n8n or Make for Workable?
    Both run the same kind of workflow, so the choice is about how you want to run it. Make is hosted by Make, with no self-hosting option, and it bills per operation, which means a workflow reacting to every candidate event has a cost that tracks your hiring volume. n8n runs on n8n Cloud or on a server you own, and that second option matters when candidate data is expected to stay on infrastructure you control. The visual logic differs too: n8n keeps expressions and code within reach of the canvas, Make puts more weight on its mapping panel. Neither is a bad answer.