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 account. Connect it from the dashboard Integrations page with your API key (SourceWhale → Settings → API/Integrations) and the user email of the SourceWhale login the actions should run as. From the CLI: hyreflow byok set sourcewhale --api-key <key> --field user_email=<login>.

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: it is the user email you connected with, and every call defaults to it (override per call with user_email); 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