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:
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
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
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
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
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
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:
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
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
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
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:
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.
Your first call
The quickstart. With one API key you count a market, look at the people, reveal a few, save them as a list and prepare a campaign. Counting and looking are free.
Find one email
A person's name and company domain in, their work email out. One person at a time, or a list of up to 10,000 people, from the API, the command line, your AI assistant or the app.