All articles
20 min read

How to Make an AI Voice Agent as a Beginner: A Free Step-by-Step System

  • how to make an AI voice agent
  • AI voice agent for beginners
  • AI voice agent tutorial
  • build AI voice agent no code
  • Dograh tutorial
  • AI voice agent course
Original source video by Shreyas Raj. This guide restructures the useful parts for readers and adds current implementation context.

What you need before you start

You do not need a client, a company or any paid model key to start. Do not pay for model keys until you have something working. Learn on free tiers and credits first.

  • A laptop with a decent internet connection. A laptop is the bare minimum for this work.
  • A Dograh Cloud account. It starts with free credits, which in the course was roughly 500 rupees worth, and is enough for your first tests.
  • An n8n account. n8n Cloud has a short free trial, or you can host n8n yourself on a server.
  • A cal.com account for the calendar that takes bookings.
  • An AI assistant you already use, for writing prompts and generating the booking request.
  • Later: a phone number from a telephony provider, and a few hundred rupees to buy it.

Step 0: understand how the thing works

Before you click anything, learn the shape of a voice agent. It has an ear (speech to text), a brain (the language model) and a mouth (text to speech). The delay between the caller finishing and the agent speaking is latency, and you want it to be roughly 500 to 1,000 milliseconds. The model is usually the slowest part, so use a fast model and not a thinking model.

I insist on this step because if you do not understand how the parts work, you cannot fix them, and a client who sees you stuck loses trust. The longer explanation is in the guide to making a great voice agent, linked at the bottom.

Step 1: pick one niche and one job

I built the example around a personal injury law firm. Accidents happen at any hour, so the firm needs someone to answer after hours, take the basic details and book a consultation. The pitch in my cold email was that the firm that picks up first often signs the case. I am giving that as the sales argument I used, not as a proven statistic.

You can use AI to research any niche you do not know. Ask it whether the niche is a good one for voice agents, then ask how a voice agent would work for them, and use the answers to shape the prompt. A narrow, specific niche is easier to build and demo than a general receptionist, and it is also the base of the video strategy at the end of this guide.

Step 2: get to know Dograh Cloud

Dograh is an open source voice agent platform. I use it because it is cheaper than the big hosted platforms and because it is open source, so you can host it yourself later. In the course I used Dograh Cloud so you do not have to set up a server on day one.

The left sidebar has the sections you will use: voice agents, campaigns for outbound calling, models, telephony, tools, files, recordings, developers, agent runs, billing and reports. You can create a folder for each client to keep agents organised. Credits are billed at roughly one cent each, about a minute of calling, and every call is rounded up to a whole minute, so a two second test call still costs a minute.

On the models page, use Dograh's own models while you practise. Bring your own keys only once you are earning from the work.

Step 3: create the agent and write the prompt

Create a new agent from a blank canvas. You get a start node and you add nodes to build the conversation. The builder is node-based. It can feel intimidating at first, but it is a better way to control a call than one giant prompt. Dograh also has an agent builder that creates a first version from a description, which I used in the CRM build.

Set the greeting. You can pre-record the audio, which is common when a company wants a recording notice at the start, or let the agent start with a spoken greeting, for example 'Hey, this is Maya from Texas PI Firm. How can I help you?'. Click test audio to talk to it, or test chat if you do not want to speak.

Your first test will sound bad. In the course the agent had only a greeting, so when I said I had been in an accident it replied that it could not inspect the car. That is expected. The agent knows nothing until you write the prompt.

Write the prompt with AI. Ask your assistant to write a receptionist prompt for your niche, tell it to take basic details and book a consultation, and ask for around 5,000 tokens. The prompt skeleton in the starter kit below is the structure I use. Read the output, delete anything you do not need, and paste it into the start node.

Then raise the quality. Give it my playbook if you have one, or at least tell it to use filler sounds like 'um' and 'ah' sparingly and to have a warm, professional personality, because an agent has no personality by default. Remove any example conversations, JSON and CRM logging blocks the AI adds, because a tool will do that work and the prompt only needs to be short.

Turn on interruption. Leave the knowledge files empty for this job, because big files slow the agent down. Add variable extraction if you want the agent to capture the caller's name, phone, email and the problem during the call.

Step 4: build the booking tool with n8n and cal.com

A prompt makes the agent talk. A tool lets it book. Here is the chain: the agent calls a tool, the tool sends a request to an n8n webhook, n8n books the slot on cal.com, and a Respond to Webhook node sends the result back so the agent can tell the caller.

Where to host n8n. The easy route is n8n Cloud and its free trial. If you prefer to host it yourself for free while you learn, you can use a cloud provider's trial credits to create a small virtual machine. Choose the region nearest you. To let your AI assistant install n8n on that machine you give it an SSH public key, which lets it log in. That is a powerful permission, so use a throwaway machine for practice and keep client data off it.

Build the webhook. In n8n create a workflow and add a Webhook node as the trigger. Set the method to POST, copy the production URL, and in Dograh create an HTTP API tool with a descriptive name such as book_consultation and a short description the model can read. Paste the production URL as the endpoint. Click publish in n8n, then use test tool in Dograh. If the execution shows up in n8n, the trigger works. Test the trigger before you build anything on top of it.

Set up cal.com. Create an event, for example a 45 minute consultation, set your availability and the timezone, and create an API key in the developer settings. In n8n add an HTTP Request node. You do not have to read the API docs line by line. Copy the booking page from the cal.com API reference into your AI assistant, tell it you have the event ID and the API key, and ask for the cURL command. In n8n use import cURL to fill in the node.

Pass the caller's details. In Dograh's tool configuration add LLM parameters: client name, client phone number, client email and call time, each with a plain-language description. The agent will not call the tool without them. In n8n replace the hardcoded values with variables pulled from the webhook, so every caller books under their own name.

Add a Respond to Webhook node, and set the webhook to respond using that node. If you skip it, the agent cannot wait for the answer.

The mistakes you will hit, and the fix for each

  • The tool returns 'not registered'. The method does not match. If the webhook is POST, the tool must send POST.
  • The tool returns 'not found'. You saved the n8n workflow but did not publish it.
  • You used the test URL. Use the production URL once the workflow is published.
  • The booking is rejected as invalid. Send the time in ISO 8601 with a timezone offset, for example 2026-10-05T11:00:00+05:30. Ask your AI assistant to convert it.
  • The phone number fails. Add the country code, such as +91. Tell the agent in the prompt to add it if the caller leaves it off.
  • The email field is undefined. The transcription added spaces or the value came through as a number. Tell the agent to remove all spaces, and convert the variable to a string in n8n.
  • The agent books in the past. A language model does not know today's date. Pass Dograh's current time variable into the prompt.
  • The agent says it booked, but nothing is there. Check the n8n execution log. Never trust the agent's word, check the calendar.

Step 5: let the agent check availability without slowing down

If the agent calls a tool on every turn to check the calendar, the call fills with 'let me check' pauses. A better design is to fetch the booked times once and keep them in the agent's context.

In n8n, create a second webhook for a check_availability tool. Add an HTTP Request node that asks cal.com for upcoming bookings for the next seven days. APIs often return UTC, so add a Code node that converts times to your local timezone and keeps only the start and end times, because the agent does not need attendee names or emails. Add an Aggregate node to combine the many items into one list, then an AI agent node with a short prompt that turns the list into one sentence such as 'these times are booked, all other times are free'. Return that sentence through Respond to Webhook.

Tell the agent in its prompt to accept bookings only seven days ahead. It then answers questions about any time from what it already knows.

Step 6: connect a phone number and call your agent

Open the telephony section in Dograh and add a configuration for your provider. In the course I used Vobiz because it connects easily. You complete KYC with a government ID, recharge the wallet with enough for a number plus tax, buy the cheapest number, copy your account ID and auth token into Dograh, then add the number and choose the agent that answers inbound calls.

Publish the agent so it is attached to the number. If you do not, a generic agent answers and you will think your build is broken. Then call the number from your mobile and book an appointment.

Provider details differ and change. Before buying, ask each one about the billing pulse, minimum recharge, activation fees and the cost to release a number. VoiceLink and Telnyx came up in the course as alternatives, and the cost guide compares what I found.

Step 7: build an outbound campaign

Outbound calling is simpler than the inbound build. Use the same agent logic, create a campaign, choose the agent and the telephony configuration, and upload a CSV of leads. Map the phone column and start the campaign.

Some details cost me time. The phone column has to be named exactly as the platform expects, lowercase with an underscore. Numbers must carry the country code and no spaces. In a spreadsheet, type an apostrophe before a number that starts with a plus so the sheet does not change the plus into an equals sign. Match concurrency to your provider's limit, set a calling schedule, choose retry rules for busy, no answer and voicemail, and set a circuit breaker so a failing campaign stops by itself.

Use outbound on warm leads only. In my experience an AI voice agent does badly selling to cold strangers. A person who filled in a form and expects a call is a different matter. Aim the agent at qualification and at getting them to a human.

Step 8: tune the settings and the cost

  • Use turn detection based on transcription and test it with someone who pauses mid-sentence.
  • Add ambient noise only if it helps the call feel natural.
  • Pass variables such as the caller's name into the prompt using double curly brackets.
  • Disconnect on voicemail for outbound calls.
  • Use context compaction for long calls.
  • Keep your prompt between roughly 3,000 and 5,000 tokens and measure with a tokenizer.
  • Read the transcript after every test before editing the prompt.

Step 9: go beyond one agent

Once you can build one agent, you can build a product around it. In the course I built a CRM for a solar business with Dograh behind it for inbound and outbound calls, a web form that triggers a call within seconds of a lead submitting, a pipeline board, call recordings and transcripts, an API and MCP access, and an admin panel so it can serve many companies. That is a bigger project and a different level of responsibility. If you want to go there, read the enterprise guide first.

Step 10: how to get your first client

My formula is a specific problem, a specific niche, and your AI solution. A client does not find me by my subscriber count. They search for a pain point, such as booking calls for a personal injury firm, and find a video that already solves it. That video can have a thousand views and still bring in a serious client, because the right person watched it. Make ten narrow videos like that in a week. A first video from a new channel may get only ten or fifteen views, and that is normal.

If you cannot show your face, think about whether you are ready to sell. Business is about talking to people, and they trust a face. You do not need a perfect studio. I started with a cheap phone camera and a borrowed laptop.

If you want an outreach channel on top of content, use free value outreach. Do not ask for a call until you have given something. Send a short email that offers to build a tailored demo agent for the prospect's business, and let them reply yes to get a link they can call themselves. This takes sending software, domains, mailboxes, a lead source and an email finder, and it takes a week of warm-up, so do not start it until you have a cash reserve for the tools.

Do not cold call. I would not do it myself and I would not recommend it. Content and warm leads work better.

What this guide does and does not prove

  • It follows a recorded course built in September 2026. Platform screens, prices and free credits change. Check the current ones.
  • Dograh, n8n, cal.com and the telephony providers are named because they were used in the course. This is not a vendor endorsement or a price quote.
  • No client result, revenue figure or deployment count is claimed here.
  • Recording, consent and calling rules vary by country and industry. Get qualified advice before you run real campaigns.

Keep going

If you would rather have a voice agent built than build one, book a call. We will tell you plainly what is worth automating in your business and what is not.

Use it yourself

Beginner voice agent starter kit: prompt skeleton and tool schema

Paste the prompt skeleton into your AI assistant and ask it to fill every bracket for your niche. Then trim the result to about 3,000 to 5,000 tokens.

PROMPT SKELETON
Role: You are [name], the [role] for [business name]. Your one job is to [job, for example answer calls after hours, take the caller's details and book a consultation].

Tone: [warm, professional, calm]. Speak in short sentences. Use filler sounds such as 'um' and 'ah' very sparingly so you sound human. Never sound bored or scripted.

Flow:
1. Greet the caller and ask how you can help.
2. Listen. Show empathy in one short sentence.
3. Collect, one question at a time: full name, phone number, email, what happened or what they need.
4. Offer a consultation. Ask for a preferred day and time.
5. Use the availability information below. Never offer a time that is booked.
6. Use the book_consultation tool once you have name, phone, email and time. Wait for the result before confirming.
7. Repeat the details back and close politely.

Rules:
- Only book up to 7 days ahead. Politely refuse anything later.
- If the caller has no country code, add [+91 or your code].
- Remove all spaces from email addresses.
- Never invent facts, prices or legal or medical advice. If you do not know, say a team member will follow up.
- If the caller is upset, abusive or asks for a person, offer a human callback.
- The current date and time is {{current_time}}.

TOOL: book_consultation
Description: Books a consultation for the caller on the calendar.
Parameters:
- client_name: the caller's full name
- client_phone: the caller's phone number including country code
- client_email: the caller's email address with no spaces
- call_time: the caller's chosen time in ISO 8601 format with timezone offset, for example 2026-10-05T11:00:00+05:30

TOOL: check_availability
Description: Returns the times that are already booked in the next 7 days.
Parameters: none

CSV FOR OUTBOUND
Column headers exactly: name,phone_number
Phone numbers with the country code, no spaces, and in a spreadsheet start each with an apostrophe before the plus sign.

Sources and further reading

Frequently asked questions

Can I make an AI voice agent with no coding experience?
Yes. The course builds a full inbound booking agent and an outbound calling agent without writing code. You use a visual agent builder, a visual workflow tool (n8n) and an AI assistant to generate the prompt and the booking request. You do need to understand what each step does, because you will have to fix it when it breaks.
How much does it cost to build your first AI voice agent?
You can build and test the first version almost for free. Dograh Cloud gave free starting credits in the course, n8n has a free trial or can run on a free-credit server, and cal.com has a free tier. Paid costs start when you buy a phone number and make real calls. The cost guide breaks down each line.
What niche should a beginner pick?
Pick a narrow one where missed calls cost real money and few people have built an example, such as an after-hours intake agent for a specialist firm. A narrow niche is easier to build, easier to demo and easier to explain than a general receptionist.
Which phone provider should I start with?
In the course I used Vobiz because it was the easiest to connect to Dograh, and I mentioned VoiceLink for lower number rent and Telnyx for international numbers. Each has different billing pulses, minimums and fees, so check the current terms before you buy.
Why did my agent say the booking was done but nothing is in the calendar?
Check the usual suspects in order: the workflow is published, the webhook and tool methods match, the production URL is used, the time is in ISO 8601 with an offset, the phone number has a country code, the email has no spaces, and the Respond to Webhook node returns a clear result. Then look at the workflow's execution log.
Do I need to be on camera to get clients?
In my experience, trust is the whole game, and showing your face and your work builds it fastest. You do not need a perfect setup. I started with a cheap phone camera and a borrowed laptop. Make narrow, specific videos that solve one problem for one niche, and let the people who search for that problem find you.
Where do I go after the beginner build?
Read the guide on making a great voice agent for quality, the cost guide for pricing your own stack, and the enterprise guide when a larger client asks about security, tenancy and operations.

Want this working in your business?

Fifteen minutes. Your numbers, our honest read on what AI returns for you. No deck, no pressure.