HRMS migration
Field-level mapping, validation, and rollback between Softgarden and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Softgarden
Source
Crelate
Destination
Compatibility
8 of 12
objects map 1:1 between Softgarden and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Softgarden to Crelate crosses a language boundary and an architectural divide. Softgarden uses German-language field labels (Bewerber, Bewerbungen, Stellen, Katalogwerte) and a PUSH export interface that only transmits applicant data when a candidate enters a configured trigger status, permanently excluding any record already past that stage before integration setup. We identify that historical gap during discovery, extract what can be retrieved per-record via the Frontend API v3, and flag manual retrieval for the remainder. Crelate's REST API v3 accepts per-record creates with querystring api_key authentication and enforces required attributes (Company requires Name, Job requires Name, Note requires Body, Task requires Body) that Softgarden records may not populate without transformation. Custom fields, application sources, pipeline stage names, and catalog values all require explicit mapping because neither platform publishes a bulk migration endpoint. We do not migrate Softgarden workflows, absence.io personnel files, or onboarding module records as they sit in separate product instances not accessible via the main ATS API.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Softgarden object lands in Crelate, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Softgarden
Bewerber (Applicant)
Crelate
Person
1:1Softgarden Bewerber records map to Crelate Person. The Softgarden applicant base data (name, contact fields, profile picture URL) maps to Crelate Person fields. The PerRecord API call pattern applies: we query Softgarden per applicant record and create per Person in Crelate. The German field label bewerber_vorname maps to Person.FirstName and bewerber_nachname to Person.LastName. We resolve the German-language field labels during the discovery phase by reading a sample of Softgarden records to build the translation matrix before bulk extraction begins.
Softgarden
Bewerbung (Application)
Crelate
Job Order or Placement
1:manySoftgarden Bewerbung links a Bewerber to a Stellen (position) and tracks the pipeline stage. We split on status: Bewerbungen in active pipeline stages map to Crelate Job Order records; Bewerbungen in Hired, Onboarding, or similar terminal stages map to Crelate Placement records. The Softgarden application identifier becomes the external_id on the Crelate record for deduplication if the migration is re-run. Application creation timestamps and status-transition timestamps migrate as Crelate date fields for pipeline audit history.
Softgarden
Stellen (Position/Job Posting)
Crelate
Job
1:1Softgarden Stellen (job postings) map to Crelate Job records. The position title, description, department, and publication status migrate directly. Active versus archived positions from Softgarden map to Crelate Job.Status field (Open, Closed, On Hold). The Softgarden Stellen identifier becomes the external_id on the Crelate Job for cross-reference during the application mapping phase.
Softgarden
Attachments (Lebenslauf/CV, profile pictures, documents)
Crelate
Document
1:1Softgarden attachments—CVs (Lebenslauf), profile pictures, and general application documents—migrate as Crelate Document records linked via ContentDocumentLink to the parent Person or Job Order. The API provides dedicated endpoints for attachment retrieval and upload. We migrate binary attachments directly from the Softgarden attachment API rather than relying on system-generated applicant PDFs, which are only available when a candidate enters a configured trigger status.
Softgarden
Application Source (Bewerbungsquelle)
Crelate
Source field or Tag
1:1Softgarden tracks which channel (job board, direct, referral) each application originated from via application sources (Katalogwerte). We map these catalog values to Crelate's source field on the Person or Job Order record. If the customer has custom-named sources in Softgarden, we configure corresponding source values in Crelate during schema setup before migration begins. Custom source names that have no direct Crelate equivalent become Tags in a 'ApplicationSource' tag category.
Softgarden
Pipeline Stages (Bewerbungsstatus/stages)
Crelate
Status field or Tag
lossySoftgarden uses configurable workflow stages (New, Screening, Interview, Offer, Hired, Onboarding). We preserve stage names and transition timestamps in Crelate. Each Softgarden pipeline stage becomes either a Crelate status value or a Tag depending on whether the customer's pipeline has branching or conditional stages. Crelate's field mapping feature (documented in Crelate Help Center) allows custom form answers to map directly to parent record columns, which we use for stage name migration.
Softgarden
Katalogwerte (Catalog Values)
Crelate
Picklist fields (custom or standard)
lossySoftgarden uses Katalogwerte for structured dropdowns (location, department, employment type, salary band). The API exposes a dedicated endpoint for resolving catalog values. We enumerate all active catalog values during discovery, then configure equivalent picklist fields in Crelate before migration. If the customer has dozens of active catalog values, we batch-create the Crelate picklist options as a pre-migration configuration step so that record import does not trigger picklist validation errors.
Softgarden
Applicant PDF (system-generated summary)
Crelate
Document
1:1Softgarden's system-generated applicant PDF—including all attachments—only becomes available via the Applicant Data Export PUSH interface when a candidate enters the configured trigger status. We migrate raw CV and document attachments directly from the attachment API instead of relying on the composed PDF, because candidates still in early pipeline stages may not yet have a generated PDF. The raw attachments provide the same content without the status-trigger dependency.
Softgarden
Custom Fields (application and position)
Crelate
Custom fields
lossySoftgarden does not publish a dedicated API endpoint to enumerate all custom fields and their types. We discover active custom fields by querying a representative sample of application and position records during the discovery phase and inferring the schema from field presence across the dataset. Discovered custom fields are then created as equivalent Crelate custom fields (Short Answer, Picklist, Date, Numeric, etc.) before record migration begins. This discovery step adds modest time to scoping but is required before any data moves.
Softgarden
Owner/User
Crelate
User
1:1Softgarden Owners (assigned recruiters, hiring managers) map to Crelate User records. We resolve by matching the email address. If a Softgarden Owner has no corresponding Crelate User, the record is held in a reconciliation queue for the customer's admin to provision the User account before record import resumes. This is identical to the reconciliation pattern used in Crelate's own documented migration approach.
Softgarden
Candidate Score/Rating
Crelate
Custom numeric field or star rating field
1:1If Softgarden's application workflow includes a candidate scoring or rating field (configured via custom fields), we map it to a Crelate custom numeric field or a Crelate 1-5 star rating field (a built-in field type within Crelate's custom field options). The star rating field provides a visual representation and is fully searchable in Crelate's interface.
Softgarden
Absence.io Data (Personnel files, time recording)
Crelate
Not applicable
1:1Softgarden's acquired absence.io module (personnel files, absence management, time recording) sits in a separate product instance not accessible via the main Softgarden ATS API. We do not migrate absence.io data. If the customer needs absence and time recording data in Crelate, they must use Crelate's native absence features (if available in their plan) or a dedicated HRIS integration post-migration.
| Softgarden | Crelate | Compatibility | |
|---|---|---|---|
| Bewerber (Applicant) | Person1:1 | Fully supported | |
| Bewerbung (Application) | Job Order or Placement1:many | Fully supported | |
| Stellen (Position/Job Posting) | Job1:1 | Fully supported | |
| Attachments (Lebenslauf/CV, profile pictures, documents) | Document1:1 | Fully supported | |
| Application Source (Bewerbungsquelle) | Source field or Tag1:1 | Fully supported | |
| Pipeline Stages (Bewerbungsstatus/stages) | Status field or Taglossy | Fully supported | |
| Katalogwerte (Catalog Values) | Picklist fields (custom or standard)lossy | Fully supported | |
| Applicant PDF (system-generated summary) | Document1:1 | Fully supported | |
| Custom Fields (application and position) | Custom fieldslossy | Fully supported | |
| Owner/User | User1:1 | Fully supported | |
| Candidate Score/Rating | Custom numeric field or star rating field1:1 | Fully supported | |
| Absence.io Data (Personnel files, time recording) | Not applicable1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Softgarden gotchas
Applicant Data Export only captures data from setup point onward
No publicly documented bulk API—migrations run per-record
German-language field labels require translation mapping
Applicant PDF export is status-triggered, not on-demand
No public API documentation for custom field registry
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and German field label audit
We audit the source Softgarden instance: active Bewerber count, active Stellen count, Bewerbung pipeline stage names, active Katalogwerte catalog values, application source names, custom field presence across a sample of records, and attachment volume. We read the German-language field labels directly from the API response to build the translation matrix (Bewerber to Applicant, Bewerbung to Application, Stellen to Position, Katalogwerte to Catalog Values). We identify the status-trigger configuration used by any existing export setup and flag the historical gap. The discovery output is a written migration scope covering record counts, custom field inventory, catalog value list, and the status-gap gap analysis.
Crelate schema configuration
We configure the Crelate destination schema before any data moves. This includes creating custom picklist fields for each active Katalogwerte value (department, location, employment type), creating custom fields for each discovered Softgarden custom field with type-matched Crelate field types, configuring source field options for application source values, and setting up pipeline status values that map to Softgarden's configurable stages. We also create the tag categories required if any catalog or source values lack direct Crelate picklist equivalents. Crelate field mapping features (copying custom form answers to parent record columns) are documented and tested during this phase.
Record dependency ordering and per-record extraction
We extract Softgarden records in strict dependency order: Stellen (positions) first, then Bewerber (applicants), then Bewerbungen (applications) linked to resolved Stellen and Bewerber references. Attachments are extracted in parallel with their parent records and buffered for Crelate Document creation after the parent record exists. We use per-record API calls against Softgarden's Frontend API v3 with throttling to avoid rate-limit issues. For applicants in the status-gap (already past the export trigger status before integration setup), we perform additional per-record queries against the applicant endpoint if accessible.
Crelate import in dependency order with required-attribute validation
We import records into Crelate in dependency order: Jobs first (fulfilling the Name required attribute), then Persons, then Job Orders and Placements (with Job and Person lookups resolved). Notes and Tasks migrate after their parent records exist. We pre-validate each record against Crelate's required-attribute schema before insert and transform nulls to placeholders where necessary. Tags and source field values are populated from the mapped catalog and application source values. Custom fields are populated from the Softgarden custom field mapping defined in discovery.
Attachment migration and document linking
Binary attachments (CVs, profile pictures, documents) migrate from Softgarden's attachment API as Crelate Documents. Each Document is created and linked via ContentDocumentLink to its parent Person record (for CVs and pictures) or Job Order record (for job-specific documents). We skip the system-generated applicant PDF path entirely and migrate raw attachments instead to avoid the status-trigger dependency. Attachment file names and MIME types are preserved for audit traceability.
Cutover, validation, and workflow handoff
We freeze Softgarden writes during cutover, run a final delta migration of any records modified during the migration window, then hand off Crelate as the system of record. We deliver a reconciliation report comparing Softgarden record counts against Crelate record counts per object. We deliver a written inventory of every active Softgarden workflow, pipeline automation, or application routing rule requiring rebuild in Crelate. We do not rebuild Softgarden workflows as Crelate automations within the migration scope. We support a one-week hypercare window for reconciliation issues raised by the customer's recruiting team.
Platform deep dives
Softgarden
Source
Strengths
Weaknesses
Crelate
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Softgarden and Crelate.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Softgarden: Not publicly documented by Softgarden. The API documentation does not specify rate limits, so we default to conservative request pacing and monitor for 429 responses to adjust dynamically..
Data volume sensitivity
Softgarden doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Softgarden to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Softgarden to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Softgarden
Other ways to arrive at Crelate
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.