How do I log a message on a TempWorks employee record from an automation?

Last updated: August 18, 2026

When a candidate finishes a form, have Onboarded write their answer straight onto the employee's TempWorks record as a logged message.

Recruiters log messages on a TempWorks record all day — a note about availability, a t-shirt size, a reason someone was passed over. If that information is already coming in on an Onboarded form, an automation can log the message for you the moment the candidate submits it, so nobody reads it in one system and retypes it in the other.

Before you start

Save the answer to the employee record

Open your form, select the field with the answer you want to send, and point it at the employee instead of at the form. A path like employee.custom_attributes.tshirt_size saves the answer onto the employee record, which is what lets the automation pick it up later. See 📄 Understanding field paths.

Deploy the form version, then copy the form's ID. You'll need it in a moment.

Set up the automation

  1. Go to Configuration → Automations and click New Automation. Name it something you'll recognize later.

  2. Set Trigger entity to Task and add status under Dependencies. The automation now watches for tasks changing status.

  3. Add a condition so it only runs on the form you care about, and only when that form is done: form.id is your form ID AND task.status is completed. Use AND, not OROR fires on every task in the account.

  4. Add an HTTP Request action. This is the part that talks to TempWorks.

Fill in the request

Onboarded sends the request through its own TempWorks address rather than calling TempWorks directly. That way Onboarded handles the TempWorks login for you and no TempWorks credentials ever go into your automation. Fill the action in like this:

Field

What to enter

Method

POST

URL

https://app.onboarded.com/api/v1/proxy/tempworks

URL parameter

employeeId set to {{employee.id}} — Onboarded uses this to find the right person in TempWorks

Header

Onboarded-Target-URL set to https://api.ontempworks.com/Employees/{employeeId}/messages — leave {employeeId} as written

Header

Authorization set to Bearer {your Onboarded API token}

Header

Content-Type set to application/json

Body

Your message action code, plus the message itself — for example, The employee's t-shirt size is {{employee.custom_attributes.tshirt_size}}

Click Publish when you're done. The badge changes from Draft to Published.

Watch the capital I in {employeeId}. Typed as {employeeid}, it never gets swapped for the real ID and TempWorks receives the placeholder text instead. This is the most common reason the request comes back empty-handed.

Check that it worked

Assign the form to a test employee, complete it through the onboarding link, then open that employee in Beyond. Your message appears in their messages list under the action code you sent.

If it isn't there, open the automation and look at its Events. Each run shows what was sent and what TempWorks said back — a 201 means the message landed. Two things account for most failures: the employee doesn't have a TempWorks ID stored yet, or the body doesn't match what TempWorks expects, in which case TempWorks names the field it didn't like. Fix it, then use Rerun on the event instead of completing a whole new task.

Related