TalentSourcer AITalentSourcer AI
Agentic Use

CLI

Install and use the TalentSourcer AI CLI for terminal workflows and automation.

Use the CLI when you want a direct terminal interface or when an agent works in your local workspace.

Install the CLI:

npm install -g @talentsourcer/cli

Create a personal access token in TalentSourcer AI:

  1. Open Settings.
  2. Go to Personal Access Tokens.
  3. Create a token with the scopes your workflow needs.
  4. Copy the token once. Do not paste it into agent chat.

Authenticate locally:

talentsourcer auth token set

Verify the connection:

talentsourcer auth status --json

The CLI defaults to the production TalentSourcer AI API. You normally do not need to configure a host.

Common examples

List projects:

talentsourcer projects list --json

Create a project:

talentsourcer projects create \
  --title "Senior Backend Engineer" \
  --company "Acme" \
  --location "Berlin, Germany" \
  --json

List briefings for a project:

talentsourcer briefings list --project <projectId> --json

Update briefing requirements from a JSON file:

talentsourcer briefings update-requirements <briefingId> \
  --from-file ./requirements.json \
  --json

Create a search:

talentsourcer searches create \
  --project <projectId> \
  --name "LinkedIn search" \
  --description "Senior backend profiles from LinkedIn" \
  --json

Create and fill a Research Canvas:

talentsourcer research-canvases create \
  --project <projectId> \
  --name "Berlin fintech market map" \
  --json

talentsourcer research-canvases add-companies <researchCanvasId> \
  --from-file ./research-companies.json \
  --json

talentsourcer research-canvases add-terms <researchCanvasId> \
  --from-file ./research-terms.json \
  --json

talentsourcer research-canvases add-notes <researchCanvasId> \
  --from-file ./research-notes.json \
  --json

List completed candidate checks:

talentsourcer candidate-checks list \
  --project <projectId> \
  --status Completed \
  --limit 50 \
  --json

Create a shortlist:

talentsourcer shortlists create \
  --project <projectId> \
  --name "Top candidates" \
  --description "Candidates selected for recruiter review" \
  --json

Move candidates without email to another shortlist:

talentsourcer shortlists candidates <sourceShortlistId> \
  --email-availability missing_email \
  --json

talentsourcer shortlists move-candidates <sourceShortlistId> \
  --target <targetShortlistId> \
  --from-file ./shortlist-candidate-ids.json \
  --json

Create a draft campaign from a JSON flow:

talentsourcer campaigns create \
  --project <projectId> \
  --name "Outbound v1" \
  --from-file ./campaign-flow.json \
  --json

Review manual outreach tasks:

talentsourcer outreach-tasks list --scope my --limit 50 --json

Remove campaign candidates from a specific company:

talentsourcer campaigns candidates <campaignId> \
  --current-employer "Acme" \
  --json

talentsourcer campaigns remove-candidates <campaignId> \
  --from-file ./campaign-enrollment-ids.json \
  --json

Troubleshooting

If the CLI says you are not authenticated, run:

talentsourcer auth token set
talentsourcer auth status --json

If a command returns a permission error, create a new personal access token with the missing scope and authenticate the CLI again.

Research Canvas commands require research_canvases:read for list/get and research_canvases:write for create/update/add/remove actions.

On this page