Build an agent in minutes, give it a number, and let it run outbound campaigns or answer inbound - with live transcripts, AI summaries, and a clean hand-off to a human when it matters.
Built for teams that live on the phone
Design the agent, point it at a number, and Line handles the calls, the follow-ups, and the record of every conversation.
Give it a persona, a script, the services it can offer, and the rules it must follow. One agent runs sales, support or booking - whatever you set.
Upload a list and Line works through it at a safe, throttled pace - respecting quiet hours and your do-not-call list.
Point a number at Line and your agent picks up, exactly how you set it.
Every call kept with a full transcript and an AI summary of the outcome.
The conversation carries on over text, with the whole call in mind.
Every agent gets a private URL and key - trigger calls and read the history straight from your own code.
Set who it is, what it offers, and how the call should go. Test it in the browser before anyone else hears it.
Use the number you call from, or point an incoming number at Line so your agent can answer.
Dial one number, run a whole campaign, or take the call yourself from the browser. Watch it all live.
Set the persona, the script, and the rules in one place - then listen in as it runs a real conversation.
Line is made to run real calls to real people - so the safeguards come as standard.
Prove a number is yours before it can be dialled, so an agent can never be pointed at a stranger.
Campaigns pause outside the hours you set and skip anyone on your do-not-call list, automatically.
If Line already has someone's email, the agent confirms the one on file instead of asking again.
See outbound and inbound as two voices over time, with average length and daily volume at a glance.
Every account is its own tenant. Your agents, calls, contacts and campaigns are yours alone.
Every agent has a private URL and key - trigger calls and pull the history straight from your code.
A live view of what's on the line right now, a two-track history of outbound and inbound, and one click into any transcript. Built to be operated, not just admired.
Open the console →Start free and pay for what you use. Talk to us when you need volume, SLAs, or dedicated numbers.
Yes. Line places outbound calls and answers inbound ones over the real phone network, not just browser demos. When a call needs a human, you can take it yourself in the browser instead of the agent.
Free to start, then pay per call minute (about $0.09/min in our example). Voice and AI are included; the underlying model and telephony are billed at provider cost. No monthly commitment on Build or Pro - you only pay for minutes you actually use.
A few minutes. Create an agent, tell it who it is and how the call should go, test it in the browser, then connect a number. No code required.
Yes. Upload a list or paste numbers and Line dials at a safe, throttled pace - respecting quiet hours and your do-not-call list - with a live view of what's done, calling, waiting, and failed.
Yes. Choose "Myself" on the dialer and talk to the contact directly from your browser using your mic and speakers, instead of the AI.
A full transcript and an AI summary - the outcome, what the person wanted, and the next step - plus a two-track view of outbound vs inbound activity, all searchable in your console.
Yes. Every agent has a private URL and secret key, so you can start calls and pull the full call history straight from your own app with a simple API request.
Yes. Every account is its own workspace - your agents, calls, contacts, campaigns and messages are yours alone and separate from every other account.
# Every agent has its own URL and secret key
curl -X POST "https://your-domain/line/api/v1/agents/AGENT_ID/calls" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"+447700900123","name":"Sarah"}'
const res = await fetch(
"https://your-domain/line/api/v1/agents/AGENT_ID/calls", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ to: "+447700900123", name: "Sarah" }),
});
// -> { status: "calling", call_id: "..." }
import requests
requests.post(
"https://your-domain/line/api/v1/agents/AGENT_ID/calls",
headers={"Authorization": "Bearer YOUR_KEY"},
json={"to": "+447700900123", "name": "Sarah"},
)
The agent's identity, script and rules come from its settings - the only field you send is the number. Read the whole call history back from the same URL. See the docs ->
Build your first agent in minutes. No card to start.