Skip to main content

Teamtailor

Deeper Signals is a Teamtailor partner using the Partner API. Recruiters add Deeper Signals to a candidate and pick the test; Teamtailor sends a partner event; when the candidate completes, Deeper Signals updates the partner result with the status, a summary, the profile link and the scores.

How it works​

  1. Teamtailor fetches the partner config, a select field listing the ATS-enabled hiring campaigns as tests.
  2. The partner event carries the candidate and the chosen test. Deeper Signals finds or creates the candidate by e-mail, adds them to the campaign and e-mails the invitation, remembering the event's update-url.
  3. On completion of all assessments, Deeper Signals PUTs a partner-results document to that URL.

Prerequisites​

WhereWhat
TeamtailorThe Deeper Signals partner activated on your Teamtailor account (Marketplace → Deeper Signals). Teamtailor authenticates to Deeper Signals with a JWT whose api_key claim is your Deeper Signals API token.
Deeper SignalsAn account administrator; API access enabled on the account by Deeper Signals.

Setup​

  1. In the admin app open Settings → Integrations → Teamtailor and create the integration; copy the generated API token. (API: POST /admin/integrations/teamtailor/{account}/create.) No further credentials are needed on the Deeper Signals side.
  2. Activate Deeper Signals in Teamtailor and enter the API token when asked.
  3. Flag the hiring campaigns that should be offered as tests as ATS-enabled. If none is flagged, Deeper Signals creates Team Tailor - Default with the account's default hiring reports.

Runtime contract​

Inbound (Teamtailor → Deeper Signals, Authorization: Bearer <JWT>):

EndpointPurpose
GET /integrations/teamtailor/config{ "config": { "fields": [{ "id": "campaign", "label": "Test", "type": "select", "options": [{ "id", "label" }] }] } }
POST /integrations/teamtailor/webhookPartner event. Reads partner-event.webhook-data.campaign, partner-event.candidate.{id,email,first-name,last-name}, partner-event.partner-result.{id,update-url}. Answers 200 [].
partner-event
{
"partner-event": {
"id": "evt-1",
"webhook-data": { "campaign": 10 },
"candidate": { "id": 123, "first-name": "Ada", "last-name": "Lovelace", "email": "ada@example.com" },
"partner-result": { "id": "partner-result-99", "update-url": "https://api.teamtailor.com/partner/v1/partner-results/partner-result-99" }
}
}

Outbound (PUT {update-url}, Content-Type: application/vnd.api+json):

partner-results
{
"data": {
"type": "partner-results",
"id": "partner-result-99",
"attributes": {
"status": "completed",
"summary": "The candidate completed all assessments.",
"url": "https://app.deepersignals.com/admin/users/user/1?account=examplecorp&tab=Reports",
"assessment": { "duration": 75 },
"details": { "Core Drivers-> Drive": 74.83, "Competency Collaboration": 4, "Campaign Job Match Score": 81.5 }
}
}
}

assessment.duration is the total time the candidate spent on the assessments, in seconds.

Limitations​

  • Only the final completed update is sent; progress is visible in Deeper Signals.
  • Re-sending the same test to the same candidate replaces the earlier partner result link; only the newest is updated.
  • PDF reports are not attached in Teamtailor; use the profile URL or the report download endpoints.