Ellipse Gradient for Header

Teamtailor Integration Guide

Integrate Teamtailor with enterprise systems through its JSON:API-based REST API, API-key authentication, and selected webhook event notifications.

Teamtailor integration options at a glance

Teamtailor provides a REST API using JSON:API conventions for retrieving and, where permitted, creating or updating Jobs, Candidates, Applications, Users, Departments, and Locations. It also supports webhook-style notifications for selected recruitment events, although event coverage and delivery behavior should be verified for the account. API-key authentication uses the Teamtailor token format in the Authorization header. Martini can consume the REST API, handle JSON:API relationships and pagination, receive webhook notifications through an exposed endpoint, and orchestrate scheduled or event-driven workflows. Large synchronizations should use paginated requests, checkpoints, bounded concurrency, and retry handling rather than an assumed bulk API.

Integration pointSupported by Teamtailor?Common use casesHow Martini supports it
REST APIsYesRetrieve open Jobs, Candidates, Applications, Users, Departments, and Locations, and perform supported create or update operations. Teamtailor uses JSON:API-style resources and relationships.Martini can consume the Teamtailor REST API from workflows, generate reusable API integration assets from external definitions where applicable, map responses, and expose a controlled API façade.
Webhooks and outbound callbacksLimitedReceive notifications for selected recruitment events involving resources such as Candidates, Applications, or Jobs. Coverage should not be assumed for every object or change.Martini can expose an inbound API or workflow endpoint, validate notifications, retrieve the current resource, deduplicate events, and route downstream actions.
JSON:API resourcesYesRepresent resources with types, identifiers, attributes, relationships, included resources, and pagination links or metadata.Martini can parse JSON payloads, resolve relationships or follow-up requests, and transform JSON:API structures into canonical downstream models.
Pagination and incremental synchronizationYesProcess collection responses in pages and use available filters or checkpoints for candidate, application, job, and related-data synchronization.Martini workflows can follow pagination links, maintain checkpoints, control concurrency, and resume after page-level failures.
AuthenticationYesAuthenticate public API requests with an API key in the Teamtailor Authorization header using the documented token format.Martini can store the API key in secrets or protected environment configuration and attach it to REST requests without embedding it in workflow logic.
Bulk, async, or batch APIsNot confirmedA dedicated bulk import, export, or asynchronous batch API was not confirmed. Large transfers should use paginated REST requests unless Teamtailor confirms another capability.Martini can orchestrate controlled batch-style pagination, checkpointing, throttling, and retries without claiming a Teamtailor bulk endpoint.
File and attachment APIsNot confirmedGeneral-purpose file or attachment endpoints were not confirmed; resumes or other files should not be assumed to be transferable through a separate endpoint.Martini can process files when Teamtailor exposes a supported resource or link, but the workflow should verify access and format before transfer.
GraphQL APIsNot confirmedNo official Teamtailor GraphQL API was confirmed in the supplied research.Martini can consume GraphQL APIs generally, but a Teamtailor GraphQL integration should not be designed without vendor confirmation.
SOAP APIsNoNo official Teamtailor SOAP API was confirmed.Martini should use the Teamtailor REST API and supported webhook notifications instead of assuming SOAP connectivity.

How Teamtailor exposes data and business events

Teamtailor REST APIs

Teamtailor provides a REST API documented around JSON:API-style resources. The API can be used to retrieve Jobs, Candidates, Applications, Users, Departments, and Locations and, where permitted, create or update resources. Responses may include attributes, relationships, included resources, and pagination links or metadata.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates with a Teamtailor API key, calls the required collection or resource endpoint, follows pagination and relationship links, validates the response, and maps JSON:API data into a canonical model or target-system request. The workflow records source IDs and checkpoints so retries remain safe.

Implementation sequence

Store the Teamtailor API key in protected Martini configuration
Call the required Teamtailor REST resource
Follow pagination links or metadata until the extraction is complete
Resolve required relationships and included resources
Map JSON:API attributes into the target model
Apply validation, business rules, and idempotency checks

Teamtailor Webhook Notifications

Teamtailor supports webhook-style notifications for selected recruitment events. Notifications should be treated as event-specific rather than complete coverage of every resource or object change, and the account's event catalog, payload, security, and delivery behavior should be verified.

Martini implementation pattern

Martini implementation pattern: expose a controlled inbound endpoint, validate the notification, derive an idempotency key, and retrieve the current Teamtailor resource when the event contains only an identifier or summary. The workflow then routes the event to Slack, Microsoft Teams, an HR platform, or another target and records the outcome.

Implementation sequence

Expose a Martini endpoint for the selected Teamtailor notification
Validate the request and required event or resource identifiers
Derive and persist an idempotency key
Retrieve the current Teamtailor resource when the payload is incomplete
Apply Job, Department, Location, or status routing rules
Write to the downstream application and record the processing result

Teamtailor Scheduled Synchronization

A dedicated Teamtailor bulk or asynchronous API was not confirmed. Larger extracts should therefore use paginated REST requests, controlled request rates, and checkpoints rather than assuming a bulk endpoint.

Martini implementation pattern

Martini implementation pattern: a scheduler starts a workflow that reads the last checkpoint, retrieves collection pages, transforms each resource, writes idempotently to the target, and advances the checkpoint only after successful processing. Page-level failures can be isolated for retry or operational review.

Implementation sequence

Start the workflow on a controlled schedule
Load the last successful checkpoint
Request the next Teamtailor collection page
Transform and validate each Job, Candidate, or Application
Write records idempotently to the target system
Persist the checkpoint and report failed pages for retry

Common Teamtailor integration patterns

Pattern 1: Synchronize candidates and applications with an HRIS

When to use this pattern

Use this pattern when recruiting data must be transferred from Teamtailor into Workday, BambooHR, or Personio after a hiring milestone or during scheduled incremental synchronization. It supports personal-data minimization, relationship enrichment, and repeatable updates.

Integration direction
Teamtailor
Martini
Workday
Example Mapping
Teamtailor FieldCanonical FieldTarget Field
Candidates.attributes.firstNamecandidate.firstNameWorker or candidate first name
Candidates.attributes.emailcandidate.emailContact email
Applications.relationships.job.data.idapplication.jobIdRequisition reference
Applications.attributes.statusapplication.statusRecruiting status
Martini implementation pattern

A scheduler or supported webhook starts the workflow. Martini retrieves the current Application, Candidate, and related Job resources, maps only approved fields, validates required identifiers, and performs an idempotent upsert in the HRIS. Transient API failures use bounded retries, while privacy, validation, and duplicate issues are routed for review.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • JSON processing
  • business rules
  • error handling
  • monitoring

Pattern 2: Notify hiring teams about recruitment events

When to use this pattern

Use this pattern when recruiters need timely notifications for selected Candidate, Application, or Job events without exposing Teamtailor credentials to collaboration platforms. It is appropriate where the required event types are available through Teamtailor webhooks.

Integration direction
Teamtailor
Martini
Slack
Example Mapping
Teamtailor FieldCanonical FieldTarget Field
Applications.attributes.statusrecruitment.statusSlack message status
Applications.relationships.job.data.idrecruitment.jobIdSlack message job reference
Candidates.attributes.namecandidate.displayNameSlack message candidate name
Jobs.attributes.titlejob.titleSlack message title
Martini implementation pattern

Martini receives the Teamtailor notification, validates it, suppresses duplicate deliveries, and retrieves complete resource data when needed. Routing rules select a permitted channel based on Job, Department, Location, or status, and the workflow sends a concise notification while retrying transient downstream errors.

Martini capabilities used
  • API exposure
  • webhook consumption
  • workflows
  • data mapping
  • business rules
  • idempotency
  • error handling

Pattern 3: Synchronize approved jobs into Teamtailor

When to use this pattern

Use this pattern when an HR or workforce application is the source for approved vacancies and Teamtailor is used for recruitment publication. Actual create and update operations depend on the Teamtailor API schema and account permissions.

Integration direction
Workday
Martini
Teamtailor
Example Mapping
Teamtailor FieldCanonical FieldTarget Field
Workday.job.titlejob.titleJobs.attributes.title
Workday.job.descriptionjob.descriptionJobs.attributes.description
Workday.organization.departmentIdjob.departmentIdJobs.relationships.department.data.id
Workday.location.idjob.locationIdJobs.relationships.location.data.id
Martini implementation pattern

An approved source event or schedule starts a Martini workflow. It validates the source job, resolves Department and Location references, determines whether a Teamtailor Job already exists using a stored external identifier, and submits only supported writes. Failed validation, permission, and stale-reference cases are separated from retryable service failures.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • relationship resolution
  • business rules
  • error handling

Pattern 4: Load recruitment data into a reporting database

When to use this pattern

Use this pattern when analysts need a controlled reporting copy of Jobs, Candidates, Applications, Departments, Locations, or selected Users. It is suited to scheduled extraction where Teamtailor's REST API is the confirmed source.

Integration direction
Teamtailor
Martini
PostgreSQL
Example Mapping
Teamtailor FieldCanonical FieldTarget Field
Jobs.idjob.sourceIdrecruiting_jobs.teamtailor_id
Jobs.attributes.titlejob.titlerecruiting_jobs.title
Applications.attributes.statusapplication.statusrecruiting_applications.status
Departments.attributes.namedepartment.namerecruiting_departments.name
Martini implementation pattern

A scheduled Martini workflow reads a checkpoint, follows Teamtailor pagination, normalizes JSON:API resources and relationships, and upserts rows into the reporting database. It limits copied personal data, records page-level failures, and advances the checkpoint only after successful writes.

Martini capabilities used
  • scheduler triggers
  • API consumption
  • JSON processing
  • data mapping
  • database integration
  • checkpointing
  • monitoring

Applications commonly integrated with Teamtailor

Teamtailor can be connected to adjacent HR, collaboration, identity, calendar, and recruiting applications through Martini. These are practical enterprise architecture patterns; exact object coverage, write permissions, and event availability should be validated for each application and Teamtailor account.

Application Scenario Direction Martini Pattern
Workday Synchronize recruiting, job, organizational, and worker information between the HRIS and Teamtailor. Workday → Martini → Teamtailor Use scheduled or API-triggered workflows to retrieve approved job and organization data, map it to Teamtailor JSON:API resources, and apply create-or-update rules using stable identifiers. A complementary workflow can send selected candidate or application outcomes back to Workday with validation and retry handling.
BambooHR Transfer successful candidate and hiring information into HR administration and align selected organizational reference data. Teamtailor → Martini → BambooHR Receive a supported Teamtailor event or run an incremental schedule, retrieve the current Candidate and Application resources, transform approved fields, and write idempotently to BambooHR. Keep personal-data minimization and downstream validation in the workflow.
Personio Coordinate recruitment information with employee administration and onboarding processes. Teamtailor → Martini → Personio Trigger on a hiring milestone or scheduled change window, enrich the Teamtailor Application with relevant Job and Department data, map it to Personio's target model, and route validation or duplicate failures to an operational error path.
Slack Notify recruiters and hiring teams about selected applications, candidate status changes, or hiring milestones. Teamtailor → Martini → Slack Expose a Martini webhook endpoint, validate and deduplicate the Teamtailor notification, retrieve the full resource when necessary, and route a concise message to the appropriate Slack channel based on Job, Department, Location, or application status.
Microsoft Teams Deliver recruitment notifications and approval messages to hiring teams in existing collaboration channels. Teamtailor → Martini → Microsoft Teams Process selected Teamtailor webhook events in a Martini workflow, apply routing and privacy rules, format a Teams message, and retry transient downstream failures without replaying already processed events.
Google Calendar Coordinate interviews and recruiting meetings using candidate and interviewer information. Teamtailor → Martini → Google Calendar Use a Teamtailor event or scheduled workflow to identify relevant Applications, validate interview details, transform them into calendar requests, and store source identifiers so retries do not create duplicate events.
Okta Align Teamtailor user lifecycle and access processes with enterprise identity administration where Teamtailor user-management operations permit it. Okta → Martini → Teamtailor Consume approved Okta lifecycle data through a Martini workflow, validate the target User operation against current Teamtailor permissions, and log rejected or unsupported operations separately from transient API failures.
Greenhouse Support recruiting-system migration, coexistence, or consolidation involving Jobs, Candidates, and Applications. Greenhouse → Martini → Teamtailor Use paginated extraction from each platform, normalize resources into a canonical recruitment model, match stable identifiers, and write only supported Teamtailor resources while recording rejected relationships and page-level errors.

How to build a Teamtailor integration in Martini

Objective

Establish secure access to Teamtailor and keep credentials outside workflow logic.

Instructions in Martini

  • Create a protected Martini secret or environment configuration for the Teamtailor API key.
  • Configure the documented Authorization header format for Teamtailor requests.
  • Set the JSON:API Accept and Content-Type headers where required.
  • Separate authentication failures from business and validation errors.

Objective

Select an event-driven or scheduled entry point based on the required Teamtailor event coverage and synchronization latency.

Instructions in Martini

  • Use a Martini inbound endpoint for supported Teamtailor webhook notifications.
  • Use a scheduler for polling, reporting, or bulk-style paginated extraction.
  • Confirm the selected event types and delivery behavior before relying on webhooks.
  • Define the workflow's checkpoint and replay strategy.

Objective

Obtain complete Teamtailor resources and related data rather than assuming webhook payloads or collection responses contain everything required.

Instructions in Martini

  • Call the relevant Teamtailor REST resource endpoint.
  • Follow pagination links or metadata for collection requests.
  • Resolve relationships and included resources explicitly.
  • Store Teamtailor resource identifiers for traceability and idempotent updates.

Objective

Coordinate Teamtailor calls, target-system calls, routing, and persistence in a maintainable Martini workflow.

Instructions in Martini

  • Separate retrieval, transformation, business rules, and target writes into clear workflow stages.
  • Use conditional routing for Job, Department, Location, or Application status rules.
  • Control concurrency and isolate page-level or event-level failures.
  • Use reusable services or APIs for shared processing logic where appropriate.

Objective

Transform JSON:API structures into the canonical model required by the target application.

Instructions in Martini

  • Map attributes, resource types, and identifiers explicitly.
  • Handle relationships and optional included resources without assuming they are always embedded.
  • Minimize candidate personal data and redact sensitive values from logs.
  • Validate required fields and supported enumerated statuses before writing.

Objective

Apply approved changes to the downstream system or expose normalized Teamtailor operations through a controlled Martini API.

Instructions in Martini

  • Use stable source identifiers to perform idempotent updates.
  • Apply target-specific validation and business rules before writes.
  • Record source IDs, target IDs, and processing outcomes.
  • Separate unsupported Teamtailor write operations from transient request failures.

Common Teamtailor data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
JobsRepresent vacancies or recruitment requisitions, including job metadata, department, location, hiring team, and publication information where supported.Workday, BambooHR, Personio, Greenhouse, reporting databasesMartini retrieves Jobs through paginated JSON:API requests, resolves relationships as required, maps approved fields, and uses stable Teamtailor IDs for idempotent updates.
CandidatesRepresent people in the recruitment database and support downstream recruiting, HR, reporting, or notification processes.Workday, BambooHR, Personio, reporting databasesMartini minimizes personal data, retrieves the current resource when event payloads are incomplete, transforms attributes into a canonical candidate model, and protects sensitive values in logs.
ApplicationsRepresent a Candidate's application for a particular Job and support status, hiring, reporting, and notification workflows.Workday, BambooHR, Personio, Slack, Microsoft Teams, reporting databasesMartini combines Application data with related Candidate and Job resources, applies status and routing rules, and writes idempotently using source identifiers.
UsersRepresent Teamtailor users such as recruiters and hiring managers for assignment, ownership, or access-related processes.Okta, Workday, identity administration systemsMartini reads or updates Users only where the current Teamtailor API and account permissions allow it, validating lifecycle actions before sending requests.
DepartmentsClassify Jobs and recruitment operations by organizational structure.Workday, Personio, reporting databases, collaboration platformsMartini synchronizes supported reference data, resolves Department relationships, and applies controlled mapping tables for organizational names and identifiers.
LocationsAssociate Jobs and recruitment activity with work locations.Workday, Personio, Google Calendar, reporting databasesMartini normalizes location values, resolves relationships, and uses the resulting data for routing, reporting, or downstream record creation.

Authentication and security considerations

API-key authentication

Teamtailor documents API-key authentication using the Authorization header format specified by its API documentation. Store the key in Martini secrets or protected environment configuration rather than workflow mappings or source-controlled files.

Protecting candidate data

Candidates, Applications, resumes, contact information, and interview information may contain personal or sensitive data. Limit copied fields, restrict workflow and API access, redact sensitive values from logs, and define retention and deletion behavior with downstream owners.

Controlled API exposure

When other systems need Teamtailor data, Martini can expose a controlled API façade instead of distributing the Teamtailor API key. Apply authentication, authorization, validation, and request-specific routing at the Martini boundary.

Operational considerations for Teamtailor integrations

Pagination and checkpoints

Treat Teamtailor collection responses as paginated and follow returned links or metadata. Store a timestamp, resource identifier, or page checkpoint where supported, and avoid repeatedly extracting the full candidate or application population.

Rate limits and retries

Confirm current request limits and response-header behavior for the account. Use bounded concurrency and exponential backoff for transient 429 and 5xx responses, while avoiding retries for authentication or validation failures without changing the request.

JSON:API relationships

Do not assume related resources are embedded in every response. Handle relationships, included resources, relationship links, and follow-up requests explicitly.

Idempotency and schema changes

Use event IDs when available, or combine event type, resource type, resource ID, and event time to detect duplicate notifications. Validate identifiers and required fields, treat statuses as configurable values, and test mappings against representative Teamtailor payloads.

Testing and monitoring

Test Jobs, Candidates, Applications, Users, Departments, and Locations with realistic relationships and failure responses. Monitor workflow logs, isolate page-level failures, and preserve enough source and target identifiers to troubleshoot safely.

Why use Martini instead of scripts or point-to-point integrations?

Orchestration beyond a script

Martini coordinates Teamtailor API calls, webhook intake, pagination, relationship retrieval, target writes, business rules, and error paths in a visible workflow rather than scattering behavior across custom scripts.

Reusable integration assets

Teams can centralize authentication, mappings, validation, retry behavior, and API façade logic so multiple Teamtailor processes follow consistent standards.

Reliable data movement

Scheduled and event-driven workflows can use checkpoints, idempotency keys, controlled concurrency, and operational logging to make synchronization more repeatable than ad hoc point-to-point code.

Flexible enterprise integration

Martini can transform JSON:API data, connect to APIs and databases, route records according to business rules, and extend workflows with custom logic when the Teamtailor API or target-system requirements demand it.

Frequently asked questions

How can Teamtailor be integrated with enterprise systems?

Teamtailor can be integrated through its JSON:API-based REST API and webhook-style notifications for selected recruitment events. Enterprise workflows can retrieve or update supported Jobs, Candidates, Applications, Users, Departments, and Locations, then transform the data for HR, collaboration, reporting, or other business systems.

Can Martini integrate with Teamtailor?

Yes. Martini can consume the Teamtailor REST API using API-key authentication and can receive supported Teamtailor webhook notifications through an exposed API or workflow endpoint. No native Martini Teamtailor connector is documented in the supplied sources.

Do I need a connector to integrate Teamtailor with Martini?

No. A dedicated Teamtailor connector is not required. Martini can use Teamtailor's documented REST API, API-key authentication, JSON:API responses, and supported webhook mechanism.

Is there any extra Lonti cost to integrate Teamtailor with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Teamtailor. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Teamtailor, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.

Which Teamtailor integration methods should an architect use?

Use the Teamtailor REST API as the primary integration method and use webhook-style notifications for selected events where the required event coverage is confirmed. Teamtailor GraphQL and SOAP APIs were not confirmed, and a dedicated bulk or asynchronous API was not confirmed.

Can Martini receive Teamtailor webhook events?

Yes, Martini can expose an endpoint to receive Teamtailor webhook notifications for supported events. Because coverage is event-specific, the event catalog, payload structure, retry behavior, delivery guarantees, and security controls should be verified before designing a fully event-driven process.

How does synchronization between Teamtailor and another system work?

A Martini workflow can run on a schedule or respond to a supported notification, retrieve paginated Teamtailor resources, resolve JSON:API relationships, map the data, and write idempotently to the target. Checkpoints, source identifiers, and controlled request rates help support incremental synchronization.

How are Teamtailor data mapping, errors, and duplicate events handled?

Martini can transform JSON:API attributes and relationships into a canonical target model, validate required fields, and apply business rules before writing. Workflows can derive idempotency keys for repeated webhook deliveries, retry transient rate-limit or service failures with backoff, and route authentication, validation, and downstream errors for operational review.