anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
An n8n workflow that phones each person who sends your contact form. One request to Retell AI dials their number from yours, and your voice agent gets their name, email and subject to talk about.
Retell AI callback from a contact form is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Contact form
It starts when someone sends the Contact Us form with:
A phone call from your voice agent to each person who sends the form
What you need before you start.
Voice calls
Places the outbound call from your number and runs your voice agent, which gets the form’s answers as variables.
NeedsRetell AI API key, typed into the node’s header, a Retell phone number and an agent ID
Checked by Mindket on 13 Nov 2026
This n8n workflow phones people back as soon as they send your contact form. The form asks for a name, an email, a phone number and a subject. One HTTP request then asks Retell AI to dial that number from your Retell number, with your voice agent on the line. The agent gets the four answers as variables for its script. Two nodes make it up.
Small businesses and agencies that want every enquiry answered by voice, and that have built a voice agent in Retell or will build one. Skip it if you have no agent yet. The file only starts the call. The conversation lives in Retell.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Home services | Owners of plumbing and cleaning firms | Put the form on the quote page | A plumber’s site rings each visitor back with an agent that books a visit. |
| Clinics and salons | Front desk managers | Let the agent take booking requests from the form | A salon’s agent calls back and asks which day suits. |
| Marketing agencies | Account managers | Give each client a form tied to that client’s agent | An agency builds one agent per client and points each form at it. |
You need a little n8n and a Retell account with a phone number and an agent. Its author puts setup at about 5 minutes, which assumes the agent already exists.
Any n8n that can reach Retell’s API. The form has its own address, so a site’s contact button can link straight to it.
Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Have the Retell number and the agent ready first.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Retell AI | An account and its API key |
| A number | A phone number bought in Retell or imported there |
| A voice agent | Built in Retell, with its agent ID |
workflow.json.HTTP Request, replace <YOUR_RETELL_KEY> in the Authorization header with your Retell API key. The brackets go too, so the header reads Bearer, a space and the key.YOUR_RETELL_NUMBER, with its plus and country code, and your agent’s ID in place of YOUR_AGENT_ID.{{name}}, {{email}} and {{subject}} where the caller’s details belong.Visitors fill in the form and press Get a Call. n8n passes their details to Retell straight away, and Retell dials the number they typed. The form shows its thank-you line at once. What the agent says, and what happens after the call, is set in Retell.
| To change | Where |
|---|---|
| The form’s words | Title, description, labels and button in On form submission. Its description has a word missing |
| What the agent knows | retell_llm_dynamic_variables in the JSON body of HTTP Request |
| Which agent talks | override_agent_id in the body. Leave it out to use the agent set on your number |
| Which number calls | from_number in the body |
Someone sends the form with these answers.
Name: Jordan Price Email: jordan@example.com Phone Number: +14155550123 Subject: A quote for a kitchen leak
n8n posts the caller’s number, your Retell number, your agent’s ID and these four values to Retell, and a moment later the phone rings. Your agent can open with a line like this one, written in Retell:
Hi {{name}}, thanks for your message about {{subject}}. Do you have two minutes?Retell answers the request with the call’s ID and status, which you can read in the run under Executions.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one has two: the form and the call. Test with your own number first. Then open HTTP Request under Executions to read Retell’s answer, where a wrong key or a badly written number shows up.
For experts. The request goes to Retell’s create-phone-call endpoint, with a JSON body that n8n fills from the form.
POST https://api.retellai.com/v2/create-phone-call
Every value goes into the body as typed. A double quote in the subject breaks the JSON. None of the form’s fields is required, so an empty phone number reaches Retell and fails there.
Each form costs a call, and an open form can dial any number.
phone number, with a space. If your agent never fills it in, rename it phone_number in the body and the promptAn n8n workflow that phones people back. When someone sends your contact form, one request asks Retell AI to call
their number from yours, and your voice agent gets their name, email, number and subject to talk about.
workflow.json: the workflow as n8n exports it, two nodes. It holds no credential.README.md: these notes.HTTP Request held a bare placeholder. It now reads <YOUR_RETELL_KEY>.YOUR_RETELL_NUMBER and YOUR_AGENT_ID.+14155550123.workflow.json.HTTP Request, replace <YOUR_RETELL_KEY> in the Authorization header with your Retell API key. The bracketsYOUR_RETELL_NUMBER, with its plus andYOUR_AGENT_ID.The request posts to https://api.retellai.com/v2/create-phone-call. Besides the two numbers and the agent's ID, it
sends four values in retell_llm_dynamic_variables:
| Variable | From the form |
|---|---|
| name | Name |
| email | Email |
| phone number | Phone Number |
| subject | Subject |
Write them in the agent's prompt or first message in double braces, such as {{name}}. A first line might be:
Hi {{name}}, thanks for your message about {{subject}}. Do you have two minutes?
override_agent_id picks the agent for this call only. Remove it from the body to use the agent set on your number.
On form submission. The descriptionretell_llm_dynamic_variables in the same way.phone number, with a space. If your agent never fills it in, rename it phone_number in theREADME.md 4 KB workflow.json 2 KB
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
perplexity-ai · Kit
Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…
numind · Kit
Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…
nace-ai · Kit
Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…