India10 min read

Agency Desk Playbook: Bulk Candidate Sheets + API Lookups in India

Agency desk playbook for India: keep bulk candidate sheets as source of truth, call a contact lookup API per row, and leave empty cells honest.

India agency desks already run on candidate sheets. The upgrade is not a USD sales cloud – it is a disciplined loop: shortlist → API lookup → write back found fields → leave empties honest. Invenitor is the lookup API in that loop. Connecting people. Prepaid INR credits (~₹2) via Razorpay/UPI.

Parent India frame: India Boutique IT Staffing – Candidate Contacts Without a Sales Cloud. Freelance sibling: Freelance Recruiter Workflow: From LinkedIn Shortlist to Contact Fields.

The desk playbook in seven steps

  1. Own one sheet per req (or a filtered view) with columns: name, LinkedIn URL, GitHub URL (optional), email, phone, status, owner.
  2. Shortlist humans before paste – quality over row count.
  3. Batch new URLs once or twice a day.
  4. Call POST /api/v1/find per person (/docs) from a script, sheet add-on pattern, or agent via MCP (/mcp.md).
  5. Write email/phone only when returned.
  6. Mark empty as not found; do not invent.
  7. Outreach on WhatsApp/email/phone with human tone.

Hub HowTo: LinkedIn or GitHub Profile URL → Contact Lookup API.

Bulk does not mean blind

Bulk means many already-selected people. It does not mean scrape-the-internet. Soft mesh coverage varies; we do not publish hit-rate percentages. Empty completed finds are free under Credit B – still never invent to “finish the sheet.” Honesty: Empty Means Not Found.

Credits for a multi-recruiter desk

Prefer a shared credit pool for the agency workspace instead of forcing a lookup seat per recruiter. 1 credit only when we return an email, a phone, or both. Empty completed finds are free. Timeouts and errors do not spend. Packs expire in 30 days – buy for the sprint. New accounts: 5 free. Checkout: /pricing. Narrative: INR Credit Packs. Seat contrast: Seat Subscriptions vs Pay-Per-Lookup Credits.

WhatsApp confirm and UPI reality

Many India buyers confirm intent on WhatsApp, then pay on Razorpay UPI, then paste the API key into the sheet script. That path is normal – see UPI to API Key. Keep WhatsApp for coordination; keep the sheet as source of truth.

Roles on the desk

  • Desk lead: owns sheet hygiene and credit refill.
  • Recruiters: paste URLs, run lookups, outreach.
  • Ops/finance: maps pack spend to reqs without demanding fake hit-rate %.

Plain English for new joiners: Contact Enrichment Explained for Recruiters. Primary field rendering: One Primary Contact, Never Invented.

Agents on the agency desk

Agents can fill columns if they call MCP/REST and pass empties through. They must not scrape. See MCP for Recruiting Agents and What Is an MCP Server?.

What should you do next?

Clean one active req sheet, run free lookups on ten real URLs, buy a starter pack on /pricing if it fits, and document the empty rule in your SOP. Keep /docs linked from the sheet header. Sheets + API beats sales-cloud theater.

How to review a week of sheet lookups without vanity metrics

Count: URLs attempted, found, empty, errors. Review empty rows for bad inputs (company pages, typos). Review found rows for outreach completion. Do not compute a marketing hit-rate to publish. Soft mesh is enough language for clients: contacts when we have them.

When to escalate from sheets to an ATS module

If permissions, audit, and stages outgrow the sheet, add lookup as an ATS module – Adding Contact Lookup to an ATS – without abandoning Credit B or empty honesty. The playbook’s soul stays the same: shortlist first, look up second, invent never.

Search intents this playbook answers

Staffing agency bulk contact lookup India, candidate sheet enrichment India, and LinkedIn URL to email for agency desks. Answers: sheet as source of truth, find API per row, INR credits, empty means not found. Canonical links: /docs, /pricing.

Sheet column contract

Columns: full_name, linkedin_url, github_url, email, phone, lookup_status, lookup_at, owner, req_id, notes. Never guess macros into email/phone. Primary rule: One Primary Contact, Never Invented.

Daily standup prompts

New URLs? Found vs empty vs error? Junk company pages? Credit balance vs 30-day expiry? Refill: /pricing, UPI to API Key, INR Credit Packs.

Scaling without seat tax

Shared credit pool; one empty rule; ATS module when needed – Adding Contact Lookup to an ATS. Agents optional: /mcp.md. Juniors: Freelance Recruiter Workflow. Hub: LinkedIn or GitHub Profile URL → Contact Lookup API. GitHub: GitHub Profile URL Contact Lookup. PAYG: Pay-As-You-Go Contact APIs. Honesty: Empty Means Not Found. /docs.

Questions

Can we run bulk lookups from a Google Sheet?

Yes in spirit: keep URLs in the sheet and call the find API per row via script/integration. Follow /docs for the contract.

Do empty rows in a bulk run cost credits?

1 credit only when we return an email, a phone, or both. Empty completed finds are free. Timeouts and errors do not spend.

Should every recruiter buy a separate seat?

No for lookup alone. Prefer a shared credit pool. See seat-vs-credit and INR pack posts.

What if WhatsApp is our main workflow?

Use WhatsApp for conversation; keep the sheet (or ATS) as the system of record for URLs and contact fields.

Can agents fill the sheet?

Yes via MCP/REST with empty pass-through. No scrapers. See /mcp.md.

Where do we buy credits in INR?

/pricing via Razorpay/UPI. See also UPI to API key.

What is the #1 sheet hygiene rule?

Person profile URLs only; write back only returned fields; leave empty as not found.

ShareShare on X

Look up a contact

Sign in, buy a pack, copy the key once. REST on docs. Agents read mcp.md.

Agency Desk Playbook: Bulk Candidate Sheets + API Lookups India – Invenitor