ArgorantDocs

Find and email 200 people

From who you sell to, to a running campaign. Narrow the search to about 200 people, save them, write the emails with a personal line, add the people, choose the mailboxes and launch after a yes.

This guide takes about 15 minutes. The searching is free. Adding the people costs 1 credit per person whose email passes the check, so about 200 credits. The emails themselves come with your plan.

You need an API key, a plan or enough credits, and at least one connected mailbox. Check the mailboxes with GET /api/v1/inboxes. No mailbox yet? Connect a Google Workspace in one step, connect Microsoft 365 in the app, connect a mailbox from any other provider, or order new mailboxes with POST /api/v1/inboxes/quote.

Say who you sell to

Pick the job titles, the industry, the country and the company size. Use the free word lists to get the exact names:

Shell
curl -G "https://app.argorant.com/api/v1/lookups/industries" -H "Authorization: Bearer $ARGORANT_API_KEY" --data-urlencode "q=logistics"

Narrow the count to about 200

Shell
curl -G "https://app.argorant.com/api/v1/people/count" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  --data-urlencode "title=Head of Operations,COO" --data-urlencode "industries=Truck Transportation" \
  --data-urlencode "country=Netherlands" --data-urlencode "employee_range=51-200"
# {"count": 214}

Too many? Add a city, a seniority or a smaller company size. Too few? Add more titles or countries. Counting is free, so try as often as you like.

Look at a page of them

Shell
curl -G "https://app.argorant.com/api/v1/people/search" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  --data-urlencode "title=Head of Operations,COO" --data-urlencode "industries=Truck Transportation" \
  --data-urlencode "country=Netherlands" --data-urlencode "employee_range=51-200"

If the roles and companies look right, go on. If not, change the filters and count again.

Save them as a list

Shell
curl -X POST "https://app.argorant.com/api/v1/lists" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  -H "Idempotency-Key: ops-nl-list" -H "Content-Type: application/json" \
  -d '{"name":"Ops leaders NL trucking","filters":{"title":"Head of Operations,COO","industries":"Truck Transportation","country":"Netherlands","employee_range":"51-200"}}'

Write down the list_id. The list fills itself in a few seconds.

Create the campaign

Shell
curl -X POST "https://app.argorant.com/api/v1/campaigns" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  -H "Idempotency-Key: ops-nl-campaign" -H "Content-Type: application/json" \
  -d '{"name":"NL trucking ops Q4","daily_limit":40,"timezone":"Europe/Amsterdam","window_start":"08:30","window_end":"16:30"}'

It is a draft. New campaigns send plain text on weekdays and have no unsubscribe line unless you set include_unsubscribe to true.

Write the emails

Shell
curl -X POST "https://app.argorant.com/api/v1/campaigns/$ID/emails" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  -H "Idempotency-Key: ops-nl-emails-1" -H "Content-Type: application/json" \
  -d '{"emails":[
    {"subject":"Planning at {{company_normalized}}","body":"Hi {{first_name}},\n\n{{custom_opener}}\n\nWe help trucking firms cut empty miles. Worth a short call next week?\n\nBest, Maria"},
    {"body":"Hi {{first_name}}, just bringing this back up. Happy to send a two-minute video instead.","delay_days":3}
  ]}'

{{company_normalized}} is the company name people say. {{custom_opener}} is a personal line per person, set up next. Leftover text such as [link] comes back in warnings, and the campaign will not launch until it is gone.

Add a personal line (optional)

Set up the line once, with a fallback that reads well for anyone:

Shell
curl -X PUT "https://app.argorant.com/api/v1/campaigns/$ID/personalization" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"variables":[{"name":"opener","instruction":"One sentence about something recent at their company.","fallback":"Hope the busy season treats you well."}]}'

Then GET .../personalization lists the people still on the fallback, with facts about their company, and PATCH .../leads/custom-fields saves the lines you or your agent wrote, up to 5,000 per call. A line someone already has stays unless you send "overwrite": true, so a second run never replaces lines by accident. An instruction can be up to 4,000 characters and each line 20 to 300 (max_length, 150 by default); see Write personal lines for every limit.

Add the people

Shell
curl -X POST "https://app.argorant.com/api/v1/campaigns/$ID/leads" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  -H "Idempotency-Key: ops-nl-leads" -H "Content-Type: application/json" \
  -d '{"list_id": 312}'

The first answer may be a question (needs_choice: true): how many addresses are confirmed and how many sit at domains that accept every address. Ask the user, then call again with "grades": ["valid"] (recommended) or ["valid", "catch_all"]. Each new person costs 1 credit. People whose email fails the check are never added or charged.

Choose the mailboxes

Shell
curl -X POST "https://app.argorant.com/api/v1/campaigns/$ID/senders" -H "Authorization: Bearer $ARGORANT_API_KEY" \
  -H "Content-Type: application/json" -d '{"all_connected": true}'

Launch after a yes

Shell
curl "https://app.argorant.com/api/v1/campaigns/$ID" -H "Authorization: Bearer $ARGORANT_API_KEY"

Show the user the emails, the number of people and the mailboxes. launch_blockers must be empty. Then, only after their yes:

Shell
curl -X POST "https://app.argorant.com/api/v1/campaigns/$ID/launch" -H "Authorization: Bearer $ARGORANT_API_KEY" -H "Idempotency-Key: ops-nl-launch"

Replies arrive in the inbox. Answer replies shows how to read them, answer in the same thread and track your pipeline. GET /api/v1/campaigns/$ID/analytics gives the daily numbers.

On this page