HRMS migration
Field-level mapping, validation, and rollback between SignalHire and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
SignalHire
Source
Crelate
Destination
Compatibility
7 of 12
objects map 1:1 between SignalHire and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
SignalHire is a B2B contact database and enrichment platform — it surfaces professional profiles, verified emails, phone numbers, and social links but provides no candidate management, job posting, or placement tracking capabilities. Crelate is a recruitment platform combining an ATS, Recruiting CRM, and intelligent sourcing in one system. These platforms serve different roles: SignalHire is a prospecting data source; Crelate is a full recruiting workflow engine. Migrating between them requires mapping flat contact records (People Profiles with verification scores and multiple email/phone variants) into Crelate's relational schema (Candidates with Skills, Tags, Job Orders, Clients, and Placement records). We extract SignalHire People Profiles with all returned contact fields, verification status, and social links; map company enrichment data to Crelate Clients and Client Contacts; reconstruct lead list membership as Tags and Candidate Groups; and transfer engagement metadata if present. We do not migrate SignalHire credit balances, integration configurations, or the SignalHire browser extension. SignalHire's lack of a documented bulk export feature means migration scoping must account for API and CSV-based extraction. Crelate's own migration guides confirm the typical timeline of one to three weeks for straightforward transfers, scaling with record volume and schema complexity.
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 SignalHire 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.
SignalHire
People Profile
Crelate
Candidate
1:1SignalHire People Profile records map to Crelate Candidate records. We extract the SignalHire UID, full name, current job title, company, location, LinkedIn profile URL, and all returned work history entries. SignalHire's email verification status (Valid/Risky/Unknown) and deliverability score migrate as custom fields on the Crelate Candidate record. If the candidate's SignalHire profile includes multiple email addresses, the primary (highest-confidence) email maps to Crelate's primary contact field and alternates populate a custom multi-email field.
SignalHire
Company Profile
Crelate
Client + Client Contact
1:manySignalHire Company Profiles (30M+ scraped records) do not map directly to Crelate Clients because SignalHire company data lacks the firmographic depth and relationship ownership that Crelate Clients require. We extract company name, domain, industry, size range, and LinkedIn company URL from SignalHire Company Profiles and use them as a preliminary enrichment layer: where a matching Crelate Client or Client Contact already exists, we attach the SignalHire company data as a custom enrichment block. For net-new company records, we create a Crelate Client stub with the SignalHire-sourced domain and industry. Recruiters must validate and enrich the Client record with owned firmographic data post-migration.
SignalHire
Email Address (verified)
Crelate
Candidate: Primary Email + enrichment custom field
1:1SignalHire returns email addresses with a verification status (Valid, Risky, Unknown) and a confidence score. We map the Valid emails to Crelate's standard email field on the Candidate record, preserving the SignalHire verification status in a custom field signalhire_email_status__c and the confidence score in signalhire_email_score__c. Risky and Unknown emails migrate to a custom multi-email field signalhire_alternate_emails__c as a semicolon-delimited list. This preserves the full SignalHire enrichment signal for the recruiter to act on inside Crelate.
SignalHire
Phone Number
Crelate
Candidate: Phone + Mobile
1:1SignalHire phone records include country code, line type (mobile/landline), and verification confidence. The primary phone (highest confidence) maps to Crelate's Candidate phone field. Additional phones with a mobile line type map to the mobile phone field. All returned phone variants with line type metadata migrate to a custom field signalhire_phones__c as a structured text block (format: '+1XXXXXXXXXX [mobile]'). The verification confidence score is preserved in signalhire_phone_score__c.
SignalHire
Social Profile Links
Crelate
Candidate: LinkedIn URL + custom social links field
1:1SignalHire stores social profile URLs (LinkedIn, Twitter, GitHub, etc.) as URL arrays per person. The LinkedIn URL migrates to Crelate's LinkedIn URL field if present. All other social links (Twitter, GitHub, Xing, etc.) migrate to a custom field signalhire_social_links__c as a JSON-encoded list or semicolon-delimited string. The platform identifier for each link is preserved for downstream segmentation.
SignalHire
Lead List / Talent Pool
Crelate
Candidate: Tag + Group
many:1SignalHire lead lists and talent pools are many-to-many relationships between list IDs and People Profile UIDs. We reconstruct each named list as a Crelate Candidate Group (the primary container) and add the constituent members as Candidate Group entries. The original SignalHire list name and list ID are preserved as group metadata fields. Candidates that appeared in multiple SignalHire lists receive multiple Crelate Group memberships. This mapping requires enumerating all distinct list IDs in the source account during discovery, as SignalHire does not expose list membership through a single API endpoint.
SignalHire
SignalHire UID
Crelate
Candidate: signalhire_uid__c (custom field)
1:1The SignalHire-generated unique identifier (UID) for each People Profile migrates as a read-only custom field on the Crelate Candidate record. This field serves as the migration provenance reference and allows the customer to cross-check any migrated record back to the original SignalHire profile. The field is not used for deduplication because Crelate generates its own Candidate IDs.
SignalHire
Work History
Crelate
Candidate: Employment History entries
1:manySignalHire People Profiles include work history entries (job title, company name, start date, end date, description). These map to Crelate's Candidate employment history section as discrete entries with job title, company, dates, and description preserved. The most recent work history entry from SignalHire becomes the Candidate's current position, which Crelate surfaces in search and list views. We flag any work history entries where the SignalHire company name differs from the matched Crelate Client name for reconciliation.
SignalHire
SignalHire verification status (overall)
Crelate
Candidate: signalhire_profile_score__c (custom field)
lossySignalHire surfaces an aggregate verification score per profile combining email, phone, and social link confidence. We extract this composite score and migrate it as a numeric custom field signalhire_profile_score__c on the Candidate record. Recruiters can use this field to sort and filter migrated prospects by data quality at time of migration. Crelate's native candidate scoring is separate and can be applied by the recruiting team post-migration.
SignalHire
SignalHire team members (roster)
Crelate
Crelate: User provisioning (admin reconciliation)
1:1SignalHire team plans include a team roster with name, email, and role. We export the team roster as a structured list and hand it to the customer's Crelate admin for User provisioning. SignalHire team member roles (Admin, Member) do not map directly to Crelate User Roles and Permissions, which are defined per Crelate tier. The admin maps each SignalHire team member to the appropriate Crelate seat and permission level. We do not migrate SignalHire team member records as Crelate Users directly because user provisioning requires admin action and identity verification.
SignalHire
SignalHire integration settings
Crelate
Crelate: CRM/ATS integrations (rebuild required)
lossySignalHire CRM and ATS integrations (Salesforce, Pipedrive, Zoho field mappings, sync directions, webhook URLs) are destination-specific and do not migrate. We export the raw SignalHire contact data; the customer must reconfigure integrations in Crelate's Business tier integrations (Google Calendar, Outlook Calendar, RingCentral, Indeed, Dice, CareerBuilder, Monster, Zapier, and Crelate's API access). We provide a written inventory of every active SignalHire integration as a reference for the Crelate admin to rebuild.
SignalHire
SignalHire credit balance
Crelate
Not migrated
1:1Credits are a SignalHire-specific billing mechanism with no Crelate equivalent. We do not migrate credit balances. Unused SignalHire credits are forfeited at account cancellation. The migration cost and timeline are scoped independently of any remaining credits; the customer should exhaust or accept forfeiture of credit balances before cancellation.
| SignalHire | Crelate | Compatibility | |
|---|---|---|---|
| People Profile | Candidate1:1 | Fully supported | |
| Company Profile | Client + Client Contact1:many | Fully supported | |
| Email Address (verified) | Candidate: Primary Email + enrichment custom field1:1 | Fully supported | |
| Phone Number | Candidate: Phone + Mobile1:1 | Fully supported | |
| Social Profile Links | Candidate: LinkedIn URL + custom social links field1:1 | Fully supported | |
| Lead List / Talent Pool | Candidate: Tag + Groupmany:1 | Fully supported | |
| SignalHire UID | Candidate: signalhire_uid__c (custom field)1:1 | Fully supported | |
| Work History | Candidate: Employment History entries1:many | Fully supported | |
| SignalHire verification status (overall) | Candidate: signalhire_profile_score__c (custom field)lossy | Fully supported | |
| SignalHire team members (roster) | Crelate: User provisioning (admin reconciliation)1:1 | Fully supported | |
| SignalHire integration settings | Crelate: CRM/ATS integrations (rebuild required)lossy | Fully supported | |
| SignalHire credit balance | Not migrated1: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.
SignalHire gotchas
Unlimited plan credit cap is hidden in tooltip text
Credit consumed per lookup, not per successful result
API async mode requires a publicly accessible callback URL
Company profiles are scraped derivatives, not authoritative records
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 data audit
We audit the customer's SignalHire account for People Profile count, Company Profile count, distinct lead list IDs and sizes, email/phone/social link field density, and any CSV enrichment exports already generated. We also identify the SignalHire API rate limits and estimate credit consumption for re-extraction. In parallel, we review the Crelate Business or Business Plus configuration, existing Crelate Users and permission structure, and any Client or Job records already present. The discovery output is a written migration scope with record counts per object, a list of SignalHire lead lists to reconstruct as Crelate Candidate Groups, and a credit-consumption estimate for the extraction phase.
Schema design and custom field provisioning
We design the destination Crelate schema including custom fields on the Candidate record (signalhire_uid__c, signalhire_email_status__c, signalhire_email_score__c, signalhire_phone_score__c, signalhire_phones__c, signalhire_social_links__c, signalhire_profile_score__c, signalhire_alternate_emails__c) and any Candidate Group metadata fields needed to preserve SignalHire list names. Custom fields are provisioned in the Crelate test environment before any data loads. If Crelate Client records are to be created from SignalHire Company Profiles, we configure those custom fields on the Client object as well.
Extraction and staging
We extract People Profiles via the SignalHire API in synchronous mode with batch chunking and exponential backoff. We pull all returned fields per profile including work history, email variants with verification status, phone variants with line type, and social links. Company Profiles are extracted separately and joined to People Profiles by company domain for deduplication. Lead list membership is enumerated by list ID, producing a membership table of list ID to profile UID. All extracted data stages in a structured CSV and JSON format before transformation begins.
Transformation and deduplication
We transform extracted SignalHire records into Crelate Candidate format: primary email to the Crelate email field, primary phone to the Crelate phone field, verification status and confidence to custom fields, LinkedIn URL to the Crelate LinkedIn field, and all additional contact variants to enrichment custom fields. Work history entries transform into Crelate employment history records. The lead list membership table transforms into Candidate Group entries. We deduplicate Candidates by email address (exact match) and by SignalHire UID before loading to prevent duplicate records in Crelate.
Test migration and reconciliation
We run a full test migration into the customer's Crelate test environment. The customer's recruiting lead spot-checks 25-50 randomly selected Candidates against the original SignalHire profiles: name accuracy, email correctness, phone presence, LinkedIn URL validity, and lead list membership reconstruction. Any mapping corrections (wrong field, missing data, formatting issue) are logged and corrected before production migration. Crelate's test environment access is a prerequisite; we coordinate with the customer's Crelate admin to provision test access before this step.
Production migration and cutover
We run the production migration in dependency order: Crelate Users validated (if any SignalHire team members map to existing Crelate users by email), Candidate records loaded with all custom enrichment fields, Candidate Group membership reconstructed from the lead list membership table, and Client stubs created for unmatched company domains. SignalHire writes are frozen during the production cutover window. We run a delta pass to capture any records modified during the window. Crelate becomes the system of record. We deliver the integration inventory document and the custom field reference guide for the Crelate admin to complete integration reconfiguration. We support a one-week hypercare window for reconciliation issues.
Platform deep dives
SignalHire
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 SignalHire 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
SignalHire: Not publicly documented; credits serve as the primary usage gate rather than explicit request-rate limits.
Data volume sensitivity
SignalHire exposes a bulk API — large-volume migrations stream efficiently.
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 SignalHire to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your SignalHire 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 SignalHire
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.