Ellipse Gradient for Header

Recruitee Integration Guide

Integrate Recruitee recruiting data with enterprise systems through REST APIs, selected webhook notifications, and Martini workflows.

Recruitee integration options at a glance

Recruitee provides a public REST API for recruiting resources such as Candidates, Jobs, Teams, Departments, Offers, and pipeline data. API-token authentication is the primary documented access method. Recruitee also supports webhook-style notifications for selected events, although coverage should be verified for each required resource and event. Candidate-related attachments may be available through applicable API resources. Martini can consume Recruitee JSON responses, receive supported notifications through a Martini API, orchestrate paginated or scheduled synchronization, and map data into HR, CRM, collaboration, service, storage, or reporting systems. Large transfers should use pagination, checkpoints, throttling, and retry handling rather than relying on an unconfirmed bulk API.

Integration pointSupported by Recruitee?Common use casesHow Martini supports it
REST APIsYesRetrieve and manage Candidates, Jobs, Teams, Departments, pipeline data, and selected related resources. Common operations include candidate creation or updates, job association, and stage updates where supported.Martini can consume Recruitee REST endpoints, parse JSON, map fields, apply business rules, and expose a controlled Martini API abstraction over Recruitee data.
Webhooks and outbound callbacksLimitedReceive notifications for selected recruiting events, such as supported candidate, job, stage, or offer activity. Coverage must be verified for each required event.Martini can expose an API to receive notifications, validate and normalize payloads, retrieve current resource state, and dispatch asynchronous workflows.
File and attachment APIsLimitedAccess candidate-related attachment metadata or content through applicable resources when the endpoint, account permissions, and download mechanism support it.Martini can retrieve available metadata or content, transform file information, and pass attachments to downstream HR, document, or storage systems.
AuthenticationYesAuthenticate public API requests with an API token sent as a bearer token in the HTTP Authorization header.Martini can store tokens in secrets or environment configuration, apply them to REST requests, and separate development, testing, and production credentials.
Pagination and incremental retrievalYesProcess list responses page by page and, where supported by an endpoint, retrieve resources changed since a timestamp or other checkpoint.Martini workflows can persist cursors, timestamps, or identifiers, process bounded pages, and advance checkpoints only after successful completion.
Bulk and asynchronous APIsNot confirmedNo dedicated Recruitee bulk or asynchronous export API was confirmed. Large transfers should use paginated REST workflows unless a specific endpoint documents otherwise.Martini can orchestrate scheduled, paginated processing with throttling, checkpoints, retries, and reconciliation instead of assuming a bulk endpoint.
Database and analytics accessNot confirmedDirect database access and a public analytics database interface were not confirmed; integrations should use documented APIs and event mechanisms.Martini can write transformed Recruitee data to supported databases or analytics endpoints without requiring direct access to Recruitee's database.

How Recruitee exposes data and business events

Recruitee REST APIs

Recruitee's public REST API provides access to recruiting resources including Candidates, Jobs, Teams, Departments, Offers, and pipeline data. It supports retrieval and selected create or update operations, with exact resource behavior dependent on the endpoint, API version, and account permissions.

Martini implementation pattern

Martini implementation pattern: Martini stores the Recruitee API token securely, invokes REST endpoints from a workflow, handles JSON responses and pagination, maps the result into a canonical model, applies business rules, and writes to downstream APIs or databases. For writes, the workflow records Recruitee and target identifiers to support safe retries and reconciliation.

Implementation sequence

Store the Recruitee bearer token in Martini secrets
Invoke the required Recruitee REST endpoint
Process each paginated response
Validate and normalize the JSON payload
Map Recruitee objects to the target model
Apply business rules and correlation logic already defined for the workflow scope or API's

Recruitee Webhook Notifications

Recruitee supports webhook-style notifications for selected recruiting events. Notifications can invoke a Martini API, but event coverage is resource-specific and should be verified for the required Candidate, Job, Stage, or Offer event.

Martini implementation pattern

Martini implementation pattern: a Martini API receives the notification, validates the request according to Recruitee's documented security mechanism, acknowledges quickly, and starts workflow processing. The workflow can retrieve the current Recruitee resource through REST, normalize the event, apply replay and idempotency controls, and deliver the result to a target system.

Implementation sequence

Receive the supported Recruitee notification
Validate the request and event payload
Acknowledge the inbound API request promptly
Retrieve the current Recruitee resource when required
Apply event routing and duplicate protection
Deliver the normalized result and retry transient failures

Recruitee Attachments

Candidate-related attachment or file resources may be available through applicable Recruitee API areas. Availability, permissions, and download behavior should be checked for the specific endpoint and account plan.

Martini implementation pattern

Martini implementation pattern: a workflow retrieves attachment metadata or content when a usable API response or download mechanism is provided, associates the file with the Candidate, and transfers it to a permitted HR, document, or storage destination. Sensitive content is excluded from unnecessary logs and handled according to retention requirements.

Implementation sequence

Retrieve the Candidate attachment resource
Confirm permitted metadata or download access
Download or process the available file content
Associate the file with the target Candidate or applicant
Transfer the attachment to the downstream system
Record transfer status without exposing sensitive content

Common Recruitee integration patterns

Pattern 1: Synchronize candidates with an HCM platform

When to use this pattern

Use this pattern when recruiting outcomes must feed an HCM platform such as Workday or BambooHR. A scheduled workflow can retrieve new or changed Candidates, correlate related Jobs and Offers, and create or update downstream onboarding data while preserving source identifiers.

Integration direction
Recruitee
Martini
Workday
Example Mapping
Recruitee FieldCanonical FieldTarget Field
Candidates.idcandidateExternalIdWorker or applicant reference
Candidates.emailprimaryEmailEmail address
Candidates.namecandidateNameLegal or preferred name
Jobs.idjobExternalIdRequisition reference
Martini implementation pattern

Martini retrieves paginated Candidates and related Jobs, filters by hiring or synchronization status, validates mandatory fields, and maps the data to the HCM contract. It uses a checkpoint and cross-reference table, performs idempotent upserts, and retries transient API failures without creating duplicate applicants or workers.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • pagination and checkpointing
  • error handling

Pattern 2: Notify hiring teams about recruiting events

When to use this pattern

Use this pattern when hiring teams need near-real-time notifications for supported candidate, Stage, Job, or Offer events. It reduces polling while retaining a REST reconciliation process for events that Recruitee does not publish or that fail delivery.

Integration direction
Recruitee
Martini
Slack
Example Mapping
Recruitee FieldCanonical FieldTarget Field
Candidates.namecandidateDisplayNameMessage subject
Jobs.titlejobTitleMessage context
Stages.namepipelineStageNotification status
Offers.idofferReferenceMessage correlation ID
Martini implementation pattern

A Recruitee webhook invokes a Martini API. Martini validates the event, acknowledges quickly, retrieves current resource data when necessary, routes by Department or Job, and posts a sanitized message to Slack or Microsoft Teams. Event identifiers or deterministic hashes prevent duplicate notifications, while failed deliveries enter retry handling.

Martini capabilities used
  • APIs
  • webhook consumption
  • workflows
  • data transformation
  • routing rules
  • retries and idempotency

Pattern 3: Synchronize candidates with a CRM

When to use this pattern

Use this pattern when recruiting contacts, referrals, or talent-pool communication must be aligned with Salesforce or HubSpot. Explicit classification and consent rules are essential because candidate data should not automatically become a sales contact.

Integration direction
Recruitee
Martini
Salesforce
Example Mapping
Recruitee FieldCanonical FieldTarget Field
Candidates.emailpersonEmailEmail
Candidates.namepersonNameContact or lead name
Candidates.tagscandidateTagsTags or campaign attributes
Candidates.idsourceCandidateIdExternal ID
Martini implementation pattern

Martini periodically reads Candidates, optionally using an incremental filter, and matches by email, external ID, or a maintained cross-reference. Business rules exclude candidates without the required consent or classification, then the workflow upserts CRM contacts or leads, records target identifiers, and handles validation and rate-limit failures separately from transient errors.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • mapping and transformation
  • business rules
  • idempotent upserts
  • error handling

Pattern 4: Export recruitment data for reporting

When to use this pattern

Use this pattern when reporting or analytics requires a normalized history of Candidates, Jobs, Departments, Teams, and Stages. It is appropriate where Recruitee's API is the available source and no direct database or dedicated bulk export interface is confirmed.

Integration direction
Recruitee
Martini
PostgreSQL
Example Mapping
Recruitee FieldCanonical FieldTarget Field
Candidates.idsourceCandidateIdcandidate_id
Jobs.idsourceJobIdjob_id
Departments.iddepartmentIddepartment_id
Stages.namestageNamestage_name
Martini implementation pattern

A scheduled Martini workflow reads paginated REST responses, enriches objects with extraction timestamps and stable source identifiers, transforms them into reporting tables, and writes them to a supported database or analytics endpoint. It advances checkpoints only after successful page processing and supports replay of failed batches without duplicating rows.

Martini capabilities used
  • scheduler triggers
  • workflows
  • pagination
  • JSON transformation
  • database connectivity
  • checkpointing and monitoring

Applications commonly integrated with Recruitee

Recruitee data can be connected to adjacent HR, CRM, collaboration, document-signing, and enterprise workflow products. These relationships are typically implemented through APIs and middleware, with field scope, consent, and lifecycle rules determined by the target application.

Application Scenario Direction Martini Pattern
Workday Transfer hired-candidate or employee-preparation information from recruiting into the organization's HCM process. Recruitee → Martini → Workday A scheduled or event-driven workflow retrieves Candidates and related Jobs, applies hiring-status rules, maps the result to Workday's required schema, and retries transient target failures while preserving Recruitee identifiers.
BambooHR Synchronize hiring information into employee onboarding and workforce administration processes. Recruitee → Martini → BambooHR Martini can retrieve selected candidate and offer data, validate required onboarding fields, transform them into BambooHR API requests, and maintain an idempotent cross-reference between systems.
Salesforce Align recruiting contacts, referrals, or candidate-related business development information with CRM data while applying rules that separate candidates from sales contacts. Recruitee → Martini → Salesforce A Martini workflow matches candidates by email or external reference, applies consent and classification rules, and creates or updates Salesforce contacts or leads with duplicate protection.
HubSpot Create or update contacts for talent-pool communication, recruiting marketing, or employer-brand campaigns subject to consent and retention policies. Recruitee → Martini → HubSpot Martini reads eligible Candidates, filters them using consent and status rules, maps contact properties, and sends controlled upserts to HubSpot with retry and reconciliation handling.
Slack Notify hiring teams about selected candidate-stage changes, new applications, or Offers. Recruitee → Martini → Slack A supported Recruitee webhook invokes a Martini API; the workflow validates and normalizes the event, retrieves current resource data when necessary, and posts a concise message to the appropriate Slack destination.
Microsoft Teams Send recruiting notifications to hiring channels and teams using an enterprise collaboration environment. Recruitee → Martini → Microsoft Teams Martini receives selected Recruitee notifications, applies routing rules based on Department, Job, or Stage, and sends formatted messages to Microsoft Teams through its available API or webhook endpoint.
DocuSign Initiate or track electronic signing for employment Offers and related documents. Recruitee → Martini → DocuSign A workflow evaluates eligible Offers, retrieves applicable candidate or attachment information where permitted, starts a DocuSign process, and correlates returned signing status to the Recruitee candidate or offer.
ServiceNow Create onboarding requests, access-provisioning tasks, or recruiting operations work items. Recruitee → Martini → ServiceNow Martini maps selected Recruitee candidate, Job, and Offer data into ServiceNow requests or tasks, applies routing and approval rules, and records target identifiers for safe retries.

How to build a Recruitee integration in Martini

Objective

Establish controlled access to Recruitee and the target systems without exposing API tokens or candidate information.

Instructions in Martini

  • Create or obtain the Recruitee API token in the appropriate administration context.
  • Store the bearer token in Martini secrets or secure environment configuration.
  • Use separate credentials for development, testing, and production where possible.
  • Confirm account permissions and target-system authentication before deployment.

Objective

Select an event-driven or scheduled entry point based on the Recruitee capability and completeness requirements.

Instructions in Martini

  • Use a supported Recruitee webhook event when the required event is available.
  • Expose a Martini API for inbound Recruitee notifications.
  • Use a scheduler for reconciliation, reporting, or events not covered by webhooks.
  • Define the synchronization window and checkpoint strategy.

Objective

Read current Recruitee resources reliably and avoid treating a notification as the complete source of truth.

Instructions in Martini

  • Invoke the relevant Recruitee REST endpoint.
  • Retrieve the current Candidate, Job, Offer, Stage, or related resource when a webhook contains only notification data.
  • Process list responses page by page.
  • Persist cursor, timestamp, or last-successful identifier state.

Objective

Coordinate validation, enrichment, routing, target writes, and recovery behavior in a maintainable Martini workflow.

Instructions in Martini

  • Separate event intake from longer-running processing when prompt acknowledgement is required.
  • Correlate Candidates with Jobs, Departments, Teams, Offers, and Stages as needed.
  • Route records according to status, department, consent, or target-system rules.
  • Keep current and last-successful checkpoints distinct.

Objective

Convert Recruitee JSON and attachments into stable canonical and target-specific representations.

Instructions in Martini

  • Map stable Recruitee identifiers to canonical external IDs.
  • Handle optional fields, null values, custom fields, and stage changes explicitly.
  • Normalize names, email addresses, dates, tags, and attachment metadata where required.
  • Preserve useful unknown fields when practical.

Objective

Protect candidate data and ensure that only eligible records and events reach downstream systems.

Instructions in Martini

  • Apply candidate status, hiring, consent, retention, and routing rules.
  • Distinguish missing, empty, archived, and deleted values.
  • Use idempotency keys or cross-reference records for retries.
  • Avoid logging sensitive candidate payloads unnecessarily.

Common Recruitee data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
CandidatesSynchronize applicant and prospective-candidate profiles, contact information, application data, tags, and recruitment history.Workday, BambooHR, Salesforce, HubSpot, databases, reporting platformsMartini retrieves Candidates through paginated REST calls or event-driven follow-up reads, validates privacy-sensitive fields, maps identifiers, and performs idempotent upserts.
JobsRepresent open or closed job postings and their recruiting configuration.Workday, reporting databases, Slack, Microsoft Teams, CRM platformsMartini correlates Jobs with Candidates and Departments, applies status and routing rules, and transforms job data into target-specific schemas.
OffersRepresent employment offers associated with Candidates and Jobs.DocuSign, Workday, BambooHR, ServiceNowMartini filters eligible Offers, maps offer and candidate references, initiates downstream workflows, and records external identifiers for reconciliation.
DepartmentsClassify jobs and recruiting activity by organizational unit.Workday, reporting databases, collaboration platformsMartini uses Departments for routing, enrichment, reporting dimensions, and validation of target organizational mappings.
TeamsRepresent recruiting teams and users involved in hiring activity.Reporting platforms, Slack, Microsoft Teams, ServiceNowMartini maps team ownership and user references to notification, task-assignment, and reporting structures.
StagesRepresent pipeline stages through which Candidates move during recruitment.Slack, Microsoft Teams, Salesforce, reporting databasesMartini applies stage-based business rules, triggers selected downstream notifications, and stores stage identifiers or timestamps for synchronization.

Authentication and security considerations

API-token authentication

Recruitee's primary documented public API authentication method is an API token sent as a bearer token in the HTTP Authorization header. OAuth 2.0 was not confirmed as the standard public API method.

Candidate data protection

  • Store Recruitee tokens in Martini secrets or secure environment configuration.
  • Use separate credentials for development, testing, and production where possible.
  • Restrict access to Martini APIs and workflows that process candidate data.
  • Limit logging of personally identifiable information, resumes, attachments, and sensitive recruitment details.
  • Apply appropriate retention, deletion, and access-control policies.

Operational considerations for Recruitee integrations

Rate limits and pagination

Confirm current Recruitee rate limits and treat list responses as paginated unless an endpoint states otherwise. Use controlled scheduling, throttling, and exponential backoff for rate-limit and transient server responses.

Reliability and idempotency

Use stable Recruitee IDs, event identifiers, timestamps, or deterministic hashes to make retries safe. Keep the last successful checkpoint separate from in-progress state and do not mark a synchronization complete until all required pages have succeeded.

Webhooks and schema changes

Webhook coverage is event-specific and notifications may require a follow-up REST request. Validate each required event, implement replay protection, and handle optional fields, null values, custom fields, and changes to candidate or pipeline structures.

Testing and monitoring

Test representative candidate, job, offer, stage, and attachment cases without exposing unnecessary personal data. Monitor authentication failures, permission errors, validation failures, rate limits, downstream failures, retries, and checkpoint progress.

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

Centralized orchestration

Martini provides a maintainable workflow layer between Recruitee and enterprise systems. It can combine webhook intake, REST retrieval, scheduled reconciliation, target writes, validation, and business rules without scattering logic across scripts.

Reusable data handling

Mappings, transformations, authentication configuration, retry behavior, and cross-reference logic can be reused across recruiting integrations. Martini can also expose controlled APIs that abstract Recruitee resources for internal consumers.

Operational control

Compared with point-to-point scripts, Martini provides a structured place to manage pagination, checkpoints, idempotency, errors, monitoring, and deployment configuration while retaining the option to use custom logic when required.

Frequently asked questions

How can Recruitee be integrated with enterprise systems?

Recruitee can be integrated through its public REST API, API-token authentication, and webhook-style notifications for selected events. Enterprise workflows can retrieve or update recruiting resources, process paginated responses, receive supported notifications, and synchronize Candidates, Jobs, Offers, Departments, Teams, and Stages with HR, CRM, collaboration, document, service, or reporting systems.

Can Martini integrate with Recruitee?

Yes. Martini can consume the Recruitee REST API, receive supported webhook notifications through a Martini API, securely manage Recruitee API tokens, orchestrate scheduled or event-driven workflows, and map Recruitee data into downstream applications and databases.

Do I need a connector to integrate Recruitee with Martini?

No. A dedicated Recruitee connector is not required. Martini can use Recruitee's confirmed native integration mechanisms, including REST APIs, API-token authentication, selected webhook notifications, and applicable attachment resources.

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

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

Which Recruitee integration methods should be used?

The primary method is Recruitee's public REST API with bearer API-token authentication. Selected webhook-style notifications can reduce polling for supported events, while scheduled paginated REST reconciliation should be used for completeness. A public GraphQL API, SOAP API, and dedicated bulk export API were not confirmed.

Does Recruitee support events or webhooks?

Recruitee supports webhook-style notifications for selected recruiting events. Coverage is event-specific, so the required Candidate, Job, Stage, or Offer event should be verified. Martini can validate the notification, retrieve current resource state through REST, apply replay protection, and process the event asynchronously.

How does Martini synchronize Recruitee data?

Martini can combine supported webhooks with scheduled REST reconciliation. Workflows use pagination, timestamps or cursors where available, stable Recruitee IDs, checkpoints, and cross-reference data to identify changes and perform idempotent upserts. If an endpoint lacks a reliable incremental filter, bounded paginated reads and deterministic duplicate controls are appropriate.

How are errors, retries, and duplicate records handled?

Martini workflows can distinguish authentication, permission, validation, rate-limit, network, and downstream failures. Transient 429 and 5xx responses can be retried with backoff, while permanent errors can be routed for remediation. Stable Recruitee IDs, event identifiers, hashes, and target cross-references help prevent duplicate candidates, tasks, notifications, or database rows.