Agent infrastructure
for work beyond the call.

Build and deploy agents that complete tasks using web lookups, phone, email, fax, and human in the loop tooling. One request, and it keeps going until an answer comes back.

WHAT YOUR AGENTS USEContact researchVoiceEmailFaxDocumentsYour team
POST /v1/tasksYOUR CODE
{
  "type": "employment_verification",
  "subject": { "name": "Dana Whitfield" },
  "target": { "employer": "Kesterline Foods" },
  "channels": ["voice", "email", "fax"],
  "escalate_on": ["conflicting_information"],
  "webhook": "https://you.example/hooks/groundrail"
}
webhook, 2d 1h 36m laterWHAT COMES BACK
TITLE
Logistics Coordinator II
EMPLOYED
Mar 2021 to present
CHANNELS USED
voice, email
ESCALATIONS
1, resolved by your team
THE PROBLEM

A phone call is the first five minutes of a three-day job.

The counterparty is an institution that would rather not talk to you. Getting an answer out of them takes more than one channel and more than one day.

STEP 1You call.Nine options in the phone tree. None of them says HR.
STEP 2They say email it.So the call was never going to be the answer.
STEP 3They ask for a fax.With a signed release attached, addressed to the right desk.
STEP 4A person has to look.The form comes back with a date that doesn't match.
HOW IT WORKS

See a task run start to finish.

Four tasks a customer’s agent might run, one from each of four industries, replayed a step at a time. Each is a single POST to /v1/tasks. The agent is theirs. The parts it calls are ours. Names, numbers, and companies are made up, the mechanics are not.

Monday 9:12am·step 1 of 6
CALL
Kesterline Foods, HR
8 minutes 41 seconds, one phone tree, one hold
AGENT
I'm calling to verify employment for Dana Whitfield. Can I confirm the dates with you?
HR
We don't do those by phone. Email it to hr@kesterlinefoods.com.

The agent gets through to a person, and the person says no. That answer changes the plan.

THE STACK

Six things your agents can do, one endpoint.

See the platform →

You compose them per task. All of it runs in production today, none of it is on a roadmap.

channels: ["research"]
Contact research
Finds the right party and the right way to reach them before anything gets dialed. Most outbound work dies at the first step.
channels: ["voice"]
Voice
Outbound and inbound. Phone trees, hold, transfers, gatekeepers, callbacks, and voicemail detection tuned on hundreds of thousands of calls into institutional phone systems.
channels: ["email"]
Email
Threaded exchanges the agent runs on its own, grounded in your knowledge base and the earlier thread. Replies, attachments, follow-up cadence, bounces.
channels: ["fax"]
Fax
Send and receive, with the agent reading what comes back. Cover sheets, transmission confirmations, retries, page counts.
documentPolicy: { … }
Documents
Send, receive, read, sort, flag, redact. Release forms, signed authorizations, records packets.
retry, waits, resume
Orchestration
One request chains all of the above, retries, waits, and picks back up days later. The task sleeps between steps and wakes on an event, not a timer.
HUMAN IN THE LOOP

Agents do a lot. Not everything.

Some steps need a person. A date that doesn’t match. A signature that isn’t there. A clerk who will only speak to a human.

Groundrail ships the tooling your team works in when that happens: every escalation from every channel lands in one queue, typed, with the whole task attached. That is what lets a handful of people supervise work that used to take a floor of them.

Review queue14 OPEN
DATES DON'T MATCH
Kesterline Foods says March 2021. The applicant said November 2020.
Resolve
SIGNATURE MISSING
The release from Meridian Health came back without a signature block.
Resolve
WANTS A PERSON, ON THE LINE NOW
An adjuster at Alder Mutual asked to be transferred to someone.
Take
“We built this stack to run our own verification business. Six people complete more than 300,000 verifications a year on it.”
PM
Peter MarlerCEO, Superunit (YC S24)
CODE EXAMPLES

Start from a real task.

Read the docs →
employment-verification.sh
curl https://api.usegroundrail.com/v1/tasks \
  -H "Authorization: Bearer $GROUNDRAIL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "employment_verification",
    "subject": { "name": "Dana Whitfield", "ssn_last4": "4471" },
    "target": { "employer": "Kesterline Foods", "phone": "+14155550142" },
    "channels": ["voice", "email", "fax"],
    "documents": [{ "role": "release", "url": "https://…/release.pdf" }],
    "escalate_on": ["conflicting_information", "needs_verification"],
    "webhook": "https://api.client.example/webhooks/groundrail"
  }'
HANDLING

Regulated work, handled the way your auditor expects.

FCRA
Permissible purpose recorded per task. A dispute-ready trail on every step.
Call recording
Consent notice played per jurisdiction. Two-party states handled by policy, not by hand.
PHI
Anything outside the authorization is redacted on receipt. Access scoped per request.
Retention
Per-tenant windows. Recordings, transcripts, and documents expire on schedule.
SOC 2
Type II underway. Current report and controls available under NDA.
Data residency
US-only processing by default. Subprocessor list published.
SOLUTIONS

What teams build on Groundrail.

All solutions →
Background screeningHealthcare recordsClaims operationsRevenue cycleLegal case operationsBusiness verification

Tell us what you are building.

Four questions, then pick a time. We will come back with which building blocks cover it and what it costs to run.

HOW IS THIS PRICED

Usage-based. You pay for what the agents consume, metered per call, message, page, and token. Talk to us for volume pricing.