> ## Documentation Index
> Fetch the complete documentation index at: https://f4c7a9e2d8b1-docs.tenzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# TempWorks Cloud setup

> Connect a TempWorks Cloud account to Tenzo and prepare job, applicant, and stage synchronization.

## Overview

Tenzo connects directly to the TempWorks Open API. This integration does not use Kombo.

After Tenzo validates and enables the connection, TempWorks Job Orders can sync as Tenzo jobs and Job Order Candidates can sync as applicants for the corresponding jobs. These applications come from TempWorks' [Search Candidates in all visible Job Orders endpoint](https://api.ontempworks.com/swagger/index.html#/Searches/SearchJobOrderCandidatesPost). Tenzo can also use TempWorks Job Order Candidate statuses for start, above-threshold, and below-threshold stage configuration.

<Warning>
  Job, applicant, and candidate sync remain disabled during initial setup. Tenzo enables each sync only after validating the account's API access, Job Order fields, Job Order Candidate statuses, and a bounded sample of data.
</Warning>

## Before you start

You need:

* Admin access to your TempWorks account
* Admin access to your Tenzo organization
* The HTTPS base URL for your TempWorks Open API account
* A TempWorks Account SID
* A TempWorks Auth Token

The personal access token must be able to:

* read advanced-search metadata and results for Job Orders;
* read Job Order Candidate search results and individual candidacies;
* read Job Order Candidate statuses;
* create Employee records; and
* update the status of a Job Order Candidate.

If your TempWorks account limits access by entity, branch, hierarchy, or role, confirm that the token can see the Job Orders and candidacies Tenzo should process. Tell your Tenzo contact if the same records can appear through more than one entity or hierarchy.

## Create TempWorks credentials

In TempWorks, open **Settings > Users > Personal Access Tokens**, then create a token for the Tenzo connection. TempWorks returns an Account SID and Auth Token.

<Warning>
  Treat both values as credentials. Do not include them in screenshots, tickets, or ordinary chat messages. Share them only through the secure method provided by your Tenzo contact.
</Warning>

TempWorks authenticates personal access tokens with an `x-tw-token` request header derived from the Account SID and Auth Token. Personal access tokens are limited to 25 requests per five seconds. Tenzo handles the authentication header and request pacing automatically.

Tenzo paces TempWorks requests at 250 per minute. If TempWorks returns a rate-limit response, Tenzo pauses requests for that integration before retrying, with longer pauses after repeated throttling. Sync can take longer while TempWorks is throttling requests.

## Configure the connection in Tenzo

1. Open **Admin > ATS Integrations** in Tenzo.
2. Add or open the **TempWorks** integration.
3. Enter the **TempWorks API URL** supplied for your account. TempWorks Cloud normally uses `https://api.ontempworks.com`.
4. Enter the **Account SID**.
5. Enter the **Auth Token**.
6. Save the connection without enabling job, applicant, or candidate sync.

The Auth Token is write-only after it is saved. A later blank update preserves the stored token rather than clearing it.

<Note>
  Do not substitute another customer's TempWorks URL or credentials. TempWorks search-column IDs, status IDs, hierarchy visibility, and permissions can vary between accounts.
</Note>

## Validation and enablement

Your Tenzo contact will validate the connection before enabling sync:

1. Confirm authentication and API host access.
2. Read the account's Job Order search columns.
3. Read the available Job Order Candidate statuses.
4. Read a bounded page of Job Orders and Job Order Candidates.
5. Confirm the entity or hierarchy scope does not introduce duplicate records.
6. Enable job sync.
7. Enable applicant sync after the job mapping and application identity have been verified.

Candidate sync stays disabled for the standard TempWorks Cloud flow because applicants arrive through their Job Order candidacies. Enabling a full employee-directory sync is a separate decision.

## Keeping jobs current

Once job sync is enabled, Tenzo picks up newly taken Job Orders and refreshes jobs already in Tenzo, including paused jobs. Changes to existing job details can sync even when the job's status stays the same.

When a TempWorks order becomes inactive, its Tenzo job pauses. When it becomes active again, the job is eligible to resume according to your [ATS settings](/settings/ats-settings). A manual pause in Tenzo continues to prevent automatic resumption.

Automatic discovery uses the order-taken date rather than the job's start date. Your Tenzo contact confirms the starting date before enabling sync; importing older orders is a separate [manual job sync](/ats-integrations/manual-job-sync).

## Configure application stages

After Tenzo loads the account's Job Order Candidate statuses, choose the status IDs for:

* **Start stages**, which determine when Tenzo begins outreach;
* **AI Interview Above Threshold**, used after a qualifying interview; and
* **AI Interview Below Threshold**, used after a non-qualifying interview.

Tenzo shows the TempWorks status names in settings, but saves and sends the underlying status IDs. Status changes use TempWorks' [Update Job Order Candidate Details endpoint](https://api.ontempworks.com/swagger/index.html#/JobOrders/JobOrdersByIdCandidatesByJobOrderCandidateIdPut). Confirm the intended statuses with your TempWorks administrator before enabling applicant sync or interview-result writeback.

## Phase-one limitations

The standard TempWorks Cloud integration does not:

* sync the entire TempWorks employee directory;
* write interview notes to the Job Order Candidate's overwriteable comment field;
* upload interview PDFs directly to a Job Order Candidate;
* read or write custom fields on a Job Order Candidate;
* perform re-engagement or placement automation; or
* reject applications through a separate disposition workflow.

When interview-result writeback is enabled, Tenzo saves the full interview summary in the associated Employee's message history and uploads the interview PDF to that Employee's document history. Configure the TempWorks Message Action ID in Tenzo and grant the Tenzo service representative access to that Message Action and the Employee document type. The results are stored on the Employee rather than on one Job Order Candidate, so recruiters can see them across that employee's candidacies.

Tenzo can create a TempWorks Employee through [TempWorks' Employee endpoint](https://developer.ontempworks.com/docs/whitepaper-sample-project-for-job-board-api-integration-whitepaper-sample-project-for-job-board-api-integration) for a sourced or uploaded candidate who passes the interview and does not already exist in TempWorks, then attach that Employee to the target Job Order by creating a Job Order Candidate. Employee creation uses the candidate's state as the required TempWorks region and the target Job Order's branch. If either value is missing, Tenzo skips both writes instead of creating an incomplete or incorrectly routed Employee. This follows the integration's **Create ATS Application** setting and defaults to running after the candidate passes the interview. TempWorks rejection is handled by moving that candidacy to the configured below-threshold status rather than through a separate rejection endpoint.

The [TempWorks Swagger reference](https://api.ontempworks.com/swagger/index.html) and [public OpenAPI description](https://api.ontempworks.com/swagger/v1/swagger.json) expose one overwriteable `comment` on a Job Order Candidate update. They do not expose Job Order Candidate message, document, or `CustomData` resources. TempWorks instead provides Employee Contact Messages and documents uploads for other entities, including the [Employee document upload](https://developer.ontempworks.com/docs/example-document-upload). Tenzo therefore stores interview summaries and PDFs on the associated Employee. Application custom fields remain disabled unless TempWorks exposes an approved application-scoped contract.

When searching for an existing Employee, Tenzo applies the email filter whenever the lookup requests one. A failed or incomplete Employee lookup stops provisioning rather than treating the person as absent and creating a duplicate. The shared candidate-matching flow may also try name-based fallback searches.

## Next steps

* [ATS settings](/settings/ats-settings)
* [Rules engine](/ats-integrations/rules-engine)
* [Manual job sync](/ats-integrations/manual-job-sync)
