HRMS migration

Migrate from Sesame HR to Recruit CRM & ATS

Field-level mapping, validation, and rollback between Sesame HR and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.

Sesame HR logo

Sesame HR

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

80%

8 of 10

objects map 1:1 between Sesame HR and Recruit CRM & ATS.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Sesame HR to Recruit CRM is a platform-family migration: Sesame HR is a broad HR suite (time tracking, leave, shifts, payroll prep, and recruitment) while Recruit CRM is a purpose-built applicant tracking and recruitment CRM. The migration centers on recruitment data, not general HR data. We extract Candidates, Job postings, and custom properties from Sesame HR and map them to Recruit CRM's Candidate, Contact, Company, and Job objects. Time entries, shift schedules, leave balances, PTO records, and payroll preparation data have no direct equivalent in Recruit CRM; we flag these clearly and deliver them as structured reference exports rather than forcing them into a schema that cannot hold them. Recruit CRM's rate limit (60 requests per minute on accounts with 6 or fewer licenses, 10 per minute per additional license) is lower than Sesame HR's shared 1,000-per-minute company limit, so we adjust our extraction throttle during the Sesame HR pull and our insert pacing during Recruit CRM load.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Sesame HR logo

Sesame HR

What's pushing teams away

  • Customers report a significant gap between the platform's marketing promises and actual delivered functionality, with features that underdeliver in practice.
  • Scheduling features are cited as problematic, with shift management creating conflicts or not enforcing restrictions correctly for diverse contract types.
  • Customer support is described as poor, with slow or unhelpful responses when issues arise during day-to-day use.
  • Unexpected changes to the platform have disrupted established workflows, and some modules are reported as buggy or incomplete.
  • Teams cite missing features for complex HR needs, particularly around performance management and compliance tooling.

Choosing

Recruit CRM & ATS logo

Recruit CRM & ATS

What's pulling them in

  • Agencies choose Recruit CRM for its full customizability — pipelines, stages, and fields can be tailored to any recruitment workflow without developer involvement.
  • Small teams value the built-in CRM and ATS combined in one subscription, eliminating the need to purchase and sync separate systems.
  • The Chrome extension for one-click LinkedIn profile collection streamlines candidate sourcing and reduces manual data entry for recruiters.
  • Responsive customer support with fast issue resolution is consistently cited as a reason teams stick with the platform long-term.
  • Automation options including email sequences and workflow triggers allow recruitment agencies to reduce repetitive manual outreach tasks.

Object mapping

How Sesame HR objects map to Recruit CRM & ATS

Each row shows how a Sesame HR object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Sesame HR

Employee

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

Active and inactive employees migrate to Recruit CRM Candidate records with a custom boolean field hs_hr_employee__c set to true to distinguish HR-origin records from sourced candidates. Standard Candidate fields (first name, last name, email, phone, location) map 1:1 from Sesame HR Employee fields. We extract hire_date, department, job_title, and manager from Sesame HR and store them in Candidate custom fields candidate_hire_date__c, candidate_department__c, candidate_job_title__c, and candidate_manager__c. Employment status (active, terminated, on leave) maps to Candidate custom field candidate_employment_status__c. This mapping does not represent a full ATS-to-CRM conversion; it preserves the talent pool that may be tapped for future roles.

Sesame HR

Candidate / Vacancy

maps to

Recruit CRM & ATS

Job

1:1
Fully supported

Sesame HR job postings and their associated candidates map to Recruit CRM Job records. Each Sesame HR vacancy becomes a Job with title, description, requirements, and status (open/closed/filled). We map Sesame HR's vacancy status to Recruit CRM Job status field: abierta maps to Open, cerrada maps to Closed, andcubierta maps to Filled. Active candidates per vacancy link to the Job via Recruit CRM's candidate_job association. If Sesame HR Starter tier is in use and more than 5 vacancies exist, we flag any hidden vacancies for manual extraction and plan upgrade or alternative sourcing.

Sesame HR

Candidate

maps to

Recruit CRM & ATS

Candidate (application stage)

1:1
Fully supported

Candidate application history in Sesame HR (stage changes, interview notes, offer status) maps to Recruit CRM Candidate records with stage history preserved in custom fields and candidate notes. Recruit CRM's pipeline stages (Applied, Screening, Interview, Offer, Hired, Rejected) are used as the destination stage model; we map Sesame HR's internal stage labels to these equivalents using a customer-approved mapping table defined during scoping.

Sesame HR

Candidate / Employee tags

maps to

Recruit CRM & ATS

Hotlist

lossy
Fully supported

Sesame HR allows custom tags and labels on employees and candidates. We extract all tags and map them to Recruit CRM Hotlist entries: each distinct tag becomes a Hotlist, and records carrying that tag are added to the corresponding Hotlist. Tag deduplication is applied during extraction so that identical labels do not create duplicate Hotlists in Recruit CRM.

Sesame HR

Custom properties

maps to

Recruit CRM & ATS

Custom Fields

1:1
Mapping required

Sesame HR custom fields on Employee and Candidate records map to Recruit CRM Custom Fields on the Candidate object. We read the full custom field schema during discovery, including field type (text, number, date, picklist, multi-select), required flag, and any validation rules. Picklist and multi-select fields require a value-mapping table agreed with the customer; we apply the mapping during the transform step before Recruit CRM insert. New Custom Fields are created in Recruit CRM via the Custom Field API before any Candidate records are imported.

Sesame HR

Contracts

maps to

Recruit CRM & ATS

Candidate custom fields (contract data)

1:1
Fully supported

Sesame HR Contract records (employment type, salary band, start/end dates) are extracted as a structured block and stored in Candidate custom fields on the corresponding migrated Employee record: contract_type__c, contract_start_date__c, contract_end_date__c, and contract_salary_band__c. These fields are informational in Recruit CRM and do not drive any native ATS logic; they are preserved for reference and audit purposes. If the customer requires a full HR system post-migration, contract data should be directed to a dedicated HRMS rather than overloading the ATS.

Sesame HR

Organizational chart

maps to

Recruit CRM & ATS

Recruiter (User) assignment

lossy
Fully supported

Sesame HR's organizational chart is a hierarchical manager-subordinate structure. We extract it as a flat list of manager_id and employee_id relationships. In Recruit CRM, the hiring manager, recruiter, and team lead for each Job are set as Recruit CRM User assignments on the Job record. We match Sesame HR department heads to Recruit CRM Users by email and flag any unmatched managers for the customer's admin to provision.

Sesame HR

Time entries, shifts, leave records, PTO balances, payroll preparation

maps to

Recruit CRM & ATS

Reference export (no direct mapping)

1:1
Fully supported

Time entries, shift schedules, absence records, PTO balances, and payroll preparation data have no native equivalent in Recruit CRM. Recruit CRM is an ATS and recruitment CRM, not an HRMS or payroll system. We export these records as structured CSV and JSON reference packages during the migration handoff. The customer directs these to their ongoing HRMS or payroll system separately. We document the field schema of each export so that the receiving system admin can build the import mapping.

Sesame HR

Reports / audit logs

maps to

Recruit CRM & ATS

Reference documents

1:1
Fully supported

Sesame HR contract data reports, personal data history, and employment data history are exported as PDF and CSV reference artifacts. These are included in the migration package as read-only documents attached to the corresponding Candidate record in Recruit CRM where the API supports file attachment, or delivered as a separate document package for the customer's records. We do not recreate them as live reporting objects in Recruit CRM.

Sesame HR

Documents (contracts, ID copies, certificates)

maps to

Recruit CRM & ATS

Files

1:1
Fully supported

Employee documents such as contracts, ID copies, and certificates are exported as binary files from Sesame HR. We attach them to the corresponding Candidate record in Recruit CRM via the Files API, preserving original filenames and file type. Files are associated with the Candidate record so that hiring managers and recruiters have access to pre-hire documentation within the ATS context. This is informational only; Recruit CRM does not have a native document management or compliance storage module.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Sesame HR logo

Sesame HR gotchas

High

Rate limit shared across all company tokens

Medium

Starter tier caps recruitment at 5 positions

Medium

Payroll data requires downstream reconciliation

Medium

Enterprise tier minimum user count gates key features

Recruit CRM & ATS logo

Recruit CRM & ATS gotchas

High

API rate limits are license-scaled and can throttle bulk migration

Medium

Custom field schemas vary per organization and require field-level mapping

Medium

Files and email attachments require separate extraction and re-upload

Low

Email sequences and automation logic do not transfer between platforms

Pair-specific challenges

  • Recruit CRM has no time-tracking, leave, or payroll module

    Sesame HR's core value proposition for many customers is its full-stack HR coverage: time tracking, PTO balances, shift management, and payroll preparation. Recruit CRM is an ATS and recruitment CRM with no native time-tracking, leave management, or payroll functionality. Teams migrating from Sesame HR that rely on these features must plan a separate HRMS or payroll tool post-migration. We export time entries, leave balances, shift schedules, and payroll preparation data as structured reference CSV packages during migration handoff, but these cannot be imported into Recruit CRM as operational records. Customers should evaluate Workday, BambooHR, Personio, or a local payroll provider to replace Sesame HR's non-recruitment capabilities.

  • Rate-limit coordination requires extraction and load throttling

    Sesame HR enforces a shared rate limit of 1,000 requests per minute across all company tokens. Recruit CRM enforces 60 requests per minute for accounts with 6 or fewer licenses, or 10 per minute per license for larger accounts. The migration must throttle reads from Sesame HR to avoid 429 errors during extraction (especially if existing integrations are active) and throttle inserts into Recruit CRM to avoid rate-limit blocking during load. We coordinate migration windows outside of peak Sesame HR integration activity and use exponential backoff with chunked batch processing on both platforms.

  • Sesame HR Starter vacancy cap may hide recruitment records

    Sesame HR Starter caps active vacancy postings at 5. If the customer has more than 5 open positions on Starter, records beyond the cap are not visible via the API. We detect the plan tier during discovery and extract all visible candidate and vacancy data. We flag any positions that fall outside the Starter API visibility and note them in the migration scope for manual extraction or plan upgrade before migration begins. Active candidates from hidden vacancies are also affected and require manual sourcing.

  • Candidate stage model differs between platforms

    Sesame HR uses its own internal candidate stage labels (Aplicado, En revision, Entrevista, Oferta, etc.). Recruit CRM uses its own ATS pipeline stages (Applied, Screening, Interview, Offer, Hired, Rejected). We do not assume direct label equivalence. A customer-approved stage mapping table is defined during scoping, applied as a transform step before Recruit CRM insert, and validated in the sandbox phase. Incorrect stage mapping causes candidate pipeline data to display in wrong Recruit CRM stages or fail validation.

  • Recruit CRM calendar sync limitations require process adjustment

    Recruit CRM users report that calendar sync with Google Calendar does not synchronize deleted meetings bidirectionally. This is a known Recruit CRM limitation: creating a meeting in Recruit CRM pushes to Google Calendar, but deleting a meeting in Recruit CRM does not delete the corresponding Google Calendar event. Teams relying on calendar-to-ATS synchronization for interview scheduling should document this gap during migration and train recruiters to delete calendar events manually in Google Calendar as well as in Recruit CRM. This is a destination platform limitation, not a migration defect.

Migration approach

Six steps for a successful Sesame HR to Recruit CRM & ATS data migration

  1. Discovery and tier verification

    We audit the Sesame HR tenant for plan tier (Starter/Professional/Enterprise), active vacancy count, candidate record volume, custom field schema on Employee and Candidate objects, tag and label taxonomy, and any existing API integrations hitting the platform concurrently. We verify whether any vacancies are hidden by the Starter 5-position cap. We establish the Recruit CRM account tier and resulting API rate limit (60 rpm or 10 per license) before designing extraction and load pacing. The discovery output is a written migration scope document covering record counts, custom field inventory, and any data that has no Recruit CRM destination (time, leave, payroll).

  2. Stage mapping design and Recruit CRM custom field provisioning

    We design the candidate stage mapping table: each Sesame HR internal stage label maps to a Recruit CRM ATS pipeline stage via a customer-approved table. We create all required Recruit CRM Custom Fields via the API (text, number, date, picklist, multi-select) before any candidate records are inserted. Tags from Sesame HR are mapped to Recruit CRM Hotlists during this phase, with deduplication applied. Recruit CRM is a Sandbox-free platform by default; we validate the schema and mapping in a Recruit CRM staging environment or by running the first batch against a test account before production load.

  3. Data extraction with rate-limit management

    We extract all candidate and job records from Sesame HR via the API with chunked pagination to stay well under the 1,000 requests per minute company-level limit. Extraction runs during off-peak hours relative to the customer's existing Sesame HR integrations. We extract time entries, leave records, shift schedules, payroll preparation data, and org chart as separate reference packages for delivery as CSV and JSON, not as Recruit CRM imports. Employee records are extracted as candidates with the hs_hr_employee__c flag set.

  4. Transform and stage mapping application

    We apply the approved stage mapping table to all candidate records. Custom field value mapping (for picklist and multi-select fields) is applied per the scoping agreement. Tags are translated into Recruit CRM Hotlist memberships. Contract data is embedded into Candidate custom fields. Manager-subordinate relationships from the org chart are translated into Recruit CRM User assignments on Job records. Any records that reference inactive departments or unlinked managers are flagged in a pre-load reconciliation report for the customer to resolve before production insert.

  5. Production load with rate-limit pacing

    We insert records into Recruit CRM in dependency order: Custom Fields first, then Candidates, then Jobs, then Hotlist memberships, then file attachments. Each batch is paced to stay within Recruit CRM's rate limit (monitored via the X-RateLimit-Remaining header on every response). We implement exponential backoff on 429 responses. Active Sesame HR writes are frozen during the production load window. After each batch, we emit a reconciliation report comparing Sesame HR record count by type against Recruit CRM inserted count to confirm completeness.

  6. Cutover, reference export delivery, and automation inventory

    We deliver the time-entry, leave, shift, payroll preparation, and org chart reference packages as structured CSV and JSON with schema documentation for the customer's ongoing HRMS or payroll system. We deliver a written inventory of any Sesame HR recruitment automations, pipeline rules, or workflow triggers in scope, noting that Recruit CRM's automation model differs and these require rebuild by the customer's admin. We conduct a final delta sync of any records modified during the migration window, validate record counts in Recruit CRM, and hand off. We do not provide post-migration admin support, training, or workflow rebuild as standard scope.

Platform deep dives

Context on both ends of the pair

Sesame HR logo

Sesame HR

Source

Strengths

  • Full-stack HR coverage: time tracking, shifts, leave, recruitment, payroll prep, and org chart in one subscription.
  • API supports real-time sync with external payroll systems and internal tools, reducing double data entry.
  • Modular pricing allows teams to start on Starter and upgrade to Enterprise for SSO, unlimited recruitment, and API access.
  • Built with European labor compliance in mind, serving companies in Spain and across the EU and LATAM markets.
  • Employee self-service model reduces HR admin burden for flexitime and part-time workforces.

Weaknesses

  • Only two verified reviews on G2 with a low 1.8/5 rating, making independent peer assessment difficult.
  • Enterprise tier pricing and minimums (300 users) create a significant step-up from Starter, limiting mid-market options.
  • Limited published information on API rate limit behavior and schema documentation for custom integrations.
  • Recruitment module is gated by tier: Starter caps at 5 open positions, forcing an upgrade for growing hiring needs.
  • Reported gaps between marketed feature set and actual product delivery suggest potential over-promise in sales materials.
Recruit CRM & ATS logo

Recruit CRM & ATS

Destination

Strengths

  • Fully customizable pipelines, stages, and fields without requiring developer involvement
  • Combines recruitment CRM and ATS in one subscription for staffing agencies and small teams
  • Built-in email sequences and automation reduce manual outreach work
  • Chrome extension enables one-click LinkedIn profile collection directly into the CRM
  • Responsive customer support cited across multiple reviews with fast resolution times

Weaknesses

  • Several features are gated as paid add-ons rather than included in the base subscription
  • Email functionality has been reported as unreliable by multiple users
  • Interface occasionally lags during high-activity periods in large pipelines
  • Pricing is considered higher than comparable recruitment CRMs by some customers
  • Limited native reporting — users request pre-made report exports rather than manual data pulls

Complexity grading

How hard is this migration?

Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Sesame HR and Recruit CRM & ATS.

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Sesame HR: Not publicly documented as a single numeric ceiling on the official API docs..

  • Data volume sensitivity

    B

    Sesame HR doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Sesame HR to Recruit CRM & ATS migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Sesame HR to Recruit CRM & ATS data migrations

Answers to the questions buyers ask most during Sesame HR to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Sesame HR to Recruit CRM & ATS migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between two and four weeks for accounts with fewer than 500 candidates and 20 job postings. Accounts with 500-2,000 candidates, multiple custom fields, active Hotlists, or a high-volume candidate pool move to four to six weeks because of mapping design, Recruit CRM custom field provisioning, and rate-limit pacing. Sesame HR time-entry and payroll data extraction runs in parallel but does not affect the Recruit CRM load timeline since that data is exported rather than imported into Recruit CRM.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Sesame HR.
Land in Recruit CRM & ATS, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day