Hyreflow
Integrations

SourceWhale

Recruiting outreach sequencer — push sourced candidates into existing campaigns and report. Key gotcha: there is no create-campaign API; the campaign must already exist in the UI.

Use SourceWhale to sync sourced/enriched candidates into recruiting outreach — list campaigns and projects, add or modify candidates, search by email/phone/social, and pull dashboard stats.

Free on Hyreflow (0 credits) — runs on your own SourceWhale credentials, not self-serve yet; contact Hyreflow to get it enabled.

Capabilities

ToolDoesCost
sourcewhale_list_campaignsList campaigns (read-only — no create-campaign API)Free
sourcewhale_list_projectsList projectsFree
sourcewhale_add_candidatesAdd candidates into a campaign/projects (optional immediate send)Free
sourcewhale_modify_candidateUpdate a candidate (needs candidateId)Free
sourcewhale_search_candidatesFind candidates by socialLink / photo / email / phoneFree
sourcewhale_dashboard_statisticsReporting (from/to, YYYY-MM-DD)Free

Guidance

  • No create-campaign endpoint. You can only read campaigns and add candidates into one that already exists. Tell the user to create the campaign + its message steps in the SourceWhale UI first, wait for confirmation, then resolve its id via list_campaigns.
  • send_immediately: true STARTS outreach — treat it as irreversible: confirm explicitly and default to false/omit.
  • Dry-run bulk loads — add ONE candidate, show the request/response, get go-ahead before more.
  • modify_candidate requires a valid candidateId — get it from search_candidates.
  • Dedupe by email with search_candidates before adding.
  • userEmail scopes most calls (set SOURCEWHALE_USER_EMAIL once); if a campaign doesn't appear, it was created under a different user.
hyreflow tools execute sourcewhale sourcewhale_add_candidates \
  --payload '{"candidates":[{"firstName":"Ada","lastName":"Lovelace","email":"[email protected]"}],"campaign_id":"<campaign_id>"}'

Source + enrich candidates into a CSV → map rows to the candidate object → add_candidates. Inspect the CSV first; never read large CSVs into context.

On this page