How do I send my website form submissions to an AI agent automatically?
You send form submissions to an AI agent by giving the agent a webhook address and telling your form to send each new submission to it. When someone presses Submit, the form sends their answers to that address as a web request. The agent receives them within seconds and starts working on that one submission.
The sending side is usually easy, because most form tools support webhooks already:
- Form builders. Typeform, Tally, and Jotform each have a webhooks setting where you paste an address, and they send every completed response to it.
- Website platforms. Webflow can send a webhook for each form submission on your site, set up in the site's integration settings.
- Google Forms. Google Forms has no webhook setting, so you add a short Apps Script that runs when the form is submitted and sends the answers to the address.
- A form on your own site. Your site's form handler sends one extra request to the address after it saves the submission.
- Automation tools. If your form already feeds Zapier or Make, you can add a step that forwards each submission to the address.
The receiving side is where the job gets harder. A webhook carries data and nothing else. Something has to be waiting at the other end that knows what to do with a demo request, knows enough about your business to tell a good lead from a poor one, and can actually reply and update your CRM. If you build that yourself with a model's API, you need a server to receive the request, a prompt, a connection to your CRM and your email, and some way to keep a retried request from being handled twice.
A good result is simple to describe. Every submission is picked up within moments, handled by the same standing instructions, checked against what's true about the person, and finished with a reply, a CRM record, and a note to your team when the lead is worth their time.
Kite is built to be the agent at the receiving end. You give it the instructions, it gives you the address, and every submission after that becomes a small piece of finished work.
How to get started
Start by telling Kite what should happen each time someone submits the form. You can do this in the Kite web app or in Slack:
"Whenever someone fills in the contact form on our pricing page, work out who they are, draft a reply, and add them to HubSpot. Tell me right away about anyone from a company with more than 50 people."
Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. Because it has already researched your company, it knows your ideal customer profile, your current customers, and your competitors, so your request can be short. Kite turns it into a workflow that runs on each new submission and gives you the address to send them to.
To record leads, connect your CRM through OAuth, which is a sign-in screen where you approve access. To send replies from your own inbox, connect Gmail or Outlook the same way. Otherwise replies go out from your team's Kite email address. Kite's research comes from its built-in sources, so you don't need separate accounts for that.
Kite records leads in your CRM on its own, because that's routine work. By default, it asks before it sends an email to anyone outside your team, so each reply waits for your approval at first. Once you trust its replies, you can let Kite send them without asking.
How Kite receives and handles each form submission
What does Kite set up?
Kite creates a workflow whose trigger is a webhook rather than a schedule. A workflow is a standing job Kite runs again and again, and this one runs each time its address receives a submission.
The workflow stores your instructions once: which tools to use, what a strong lead looks like for this form, what the reply should offer, and who to tell. Each submission arrives with only its own details, such as the person's name, email, and answers. Kite reads those details alongside the stored instructions on every run, so a change to how leads should be handled is one update to the workflow rather than a change to the form.
Kite then gives you the webhook address. The address contains a long secret code, and the code is what lets a request start the workflow, so Kite shares it with you once and never posts it in a shared channel. Treat it like a password. Until something sends a submission to it, the workflow sits idle.
How do I connect my form to the address?
You connect the form by pasting the address into wherever your form sends its webhooks, or by having your site send a request to it. Kite tells you which route fits your form and walks you through it.
For a form builder such as Typeform, Tally, or Jotform, paste the address into the form's webhook setting and save. For a site Kite built and hosts, Kite adds the request to the form's submit handler itself. For a site your developers run, they add one request that sends the submission's fields to the address after the form saves. For Google Forms, Kite gives you the short Apps Script to paste in.
To test it, submit the form once yourself. The address answers right away to say the submission was accepted, and the work happens just after. You'll see the run appear in Kite a moment later. An address that's wrong or belongs to a paused workflow answers that it wasn't found, which tells you to check the paste.
What should the form send?
The form should send every field Kite needs to do the job, and most forms already do. At a minimum that means the person's name, work email, and company, plus the question or message they wrote.
A few extra fields make the work noticeably better:
- Hidden fields for where the person came from. A UTM source or the page the form sat on tells Kite which campaign brought the lead in.
- The form's name. When several forms send to one address, the name tells Kite which one this is.
- A submission ID. Most form tools include one, and it keeps two different submissions with identical answers from being mistaken for a repeat.
Each submission can be up to 64 KB, which is far larger than any ordinary form. A form that uploads files should send links to the files rather than the files themselves.
What if the same submission arrives twice?
Kite drops repeat deliveries of the same submission, so a retry from your form tool doesn't start the work again. Form tools retry when they don't hear back quickly, and without this check, one lead could get two replies.
How long Kite remembers a submission depends on what the form sends. When the request carries an event ID in a header, such as the standard Idempotency-Key header or one your form tool names in its documentation, Kite drops repeats of that event for 24 hours. Kite reads the header name from the tool's documentation rather than guessing it. Without an ID, Kite drops identical submissions that arrive within about five minutes of each other.
What does Kite do with each submission?
Each submission starts its own run, so ten submissions after a webinar get ten separate decisions. Kite reads the answers to find out who the person is and what they asked for, and it treats everything they typed as information about them, never as instructions to follow.
Next, Kite checks those answers against outside evidence. It confirms the person's role and company from their public professional profile and the company's website. Its built-in sources add the company's size, industry, and funding, along with recent news such as a new hire or a product launch. It also searches your CRM, which shows whether the person is already a customer, an open deal, or someone your team spoke to last year.
With that evidence, Kite judges the lead against your ideal customer profile and writes a one-line reason, such as "Marketing lead at a 70-person software company that asked about pricing for five seats." It drafts a short reply that answers the person's question first and offers one next step that suits the fit, such as your booking link for a strong lead or a useful guide for a weaker one.
How is the lead recorded and reported?
Kite records every lead in your connected CRM and then reports what it did. It searches for the person first and updates an existing contact rather than creating a duplicate. The record carries the person's answers, the fit and its reason, the reply status, and the next step, in the fields your CRM uses.
When a lead matches what you asked to hear about, Kite tells your team right away. Every run also ends with a short summary. For a team with Slack, it goes to the thread or channel the workflow names. For a team without Slack, Kite emails it from the team's Kite address to the person who set up the workflow, and replying to that email continues the conversation. Each run also appears as its own conversation in the Kite web app.
Changing or pausing the workflow
You change how submissions are handled by asking Kite to update the workflow, and the address stays the same, so the form needs no changes. Ask Kite to pause it, and it turns off both the workflow and its webhook, so new submissions are turned away until you switch it back on. If you also want the same work to run on a schedule, such as a daily digest of every lead, Kite can add a schedule alongside the webhook.
What the finished work contains
When the webhook is connected, your form becomes the starting point for finished work rather than a list of rows someone has to read.
The workflow
A standing job in Kite with your instructions for this form, its webhook address, and any schedule you added, which you can update or pause by asking.
The connected form
Your form, site, or automation tool sends every new submission to the address, with the hidden fields and submission ID that make the work more accurate.
One run per submission
Each submission gets its own conversation in Kite, with the research, the fit and its reason, and the draft reply.
The CRM record
A new or updated contact with the person's answers, the fit, the reply status, and the next step.
The reply and the alert
A short email that answers the person, sent or waiting for your approval, and a quick note to your team when a lead is worth their time.
Common questions
Do I need Zapier to send form submissions to an AI agent?
No, you don't need Zapier if your form can send webhooks itself, as Typeform, Tally, Jotform, and Webflow forms can. Zapier or Make is useful when your form only connects through them, and in that case a single step forwards each submission to Kite's address.
Can I send Google Forms submissions to an AI agent?
Yes. Google Forms has no webhook setting, so you add an Apps Script to the form that runs on each submission and sends the answers to the webhook address. Kite gives you the script, and you paste it into the form's script editor and approve it once.
Can one webhook handle several forms?
Yes, several forms can send to one address, as long as each sends its form name so Kite knows which it is. When two forms need different replies or a different bar for a strong lead, such as a demo request and a newsletter sign-up, a separate workflow for each keeps the instructions simple.
Is this the same as an AI agent that fills in forms?
No. Form-filling agents complete forms on other websites for you. This page covers the opposite direction: people fill in your form, and the agent receives and handles what they sent.