Corpis
Загрузка

How an AI bot collects leads and requests

Updated: 2026-07-24

For a bot to take requests it needs no form with fields: the agent holds a normal conversation, and when the customer is ready to leave a contact it recognizes that, captures the lead (name, phone or email, the gist of the request) and hands it to you. In Corpis this is a dedicated "Actions" section: you turn on lead capture with one toggle, and the agent invokes it on its own during the dialog — on a website via the widget and in the in-app chat.

Step by step

  1. Create an agent. Open agent creation and set the name, personality and greeting — or describe what you need in words and the AI assistant fills the form.

  2. Open the "Actions" section. In the agent settings go to "Actions" — this is where lead capture and operator handoff live.

  3. Turn on lead capture. Raise the main actor toggle and enable "Lead capture"; optionally add "Handoff to an operator" for hard cases.

  4. Connect a channel. Put the web widget on your site with a script line, or connect a Telegram bot with a @BotFather token — leads flow from the channel where your customers are.

  5. Set up notifications. Enable a push to the owner and, if needed, point a webhook at your CRM — a new lead reaches your sales process at once.

  6. Test and watch the queue. In a real chat with the agent (or via the published web widget) leave a test contact and confirm the request shows up in "Requests and leads"; mark handled ones there too. The preview does not run the actor, so a lead will not land there.

How the bot knows it is time to capture a lead

The agent does not wait for a "leave a request" button. It reads the context of the conversation: when the customer states a task and leaves a phone or email, the agent recognizes the intent and records the lead right inside the dialog, with no separate form. The person meanwhile gets a normal human reply — "thanks, got your request" — not raw JSON.

The key guardrail is against junk leads: the contact is taken from the dialog, and the agent is explicitly forbidden to invent a phone or email. If the data is missing, no lead is created — the agent politely asks for what is left instead. An empty lead never reaches the list.

What goes into a request

Where the lead goes and how you see it

All requests collect in the "Requests and leads" section of the agent settings: a card with the type (lead or handoff to an operator), channel, contact and note, a counter of new ones and a "Handled" button. This is your working queue — nothing gets lost in the thread.

So you do not have to check the list by hand, a new request triggers a notification: a push to the owner and a webhook to your CRM (the request is signed so you can verify the source). The lead lands in your sales process right away, not whenever you remember to open the panel.

When the agent hands the dialog to a human

Lead capture works together with escalation. If a request is beyond the agent's competence, it does not invent an answer but hands the dialog to a live operator — with the reason, the name and the customer contact. For a business this matters more than smooth small talk: an honest "let me pass this to a manager" beats a confidently wrong answer that makes the customer leave.

Two scenarios: website and Telegram

On a website leads are captured by the web widget: the same agent that answers you in chat sits on the page as a bubble button, a visitor writes without signing up, and their requests arrive in your panel. The widget goes in with one script line and does not break your layout (it is isolated in the Shadow DOM).

In Telegram the agent also works for intake: the bot connects with a @BotFather token and can ask the person for a contact via a button — the consent turns into a lead. One and the same agent, one personality and one knowledge base serve both channels — there is no need to configure the behavior twice.

FAQ

How does the bot know a customer is leaving a request?

The agent recognizes it from the dialog context: when the customer states a task and leaves a phone or email, it records the lead itself, with no separate form. The contact is taken from the conversation — the agent is forbidden to invent data, so there are no empty requests.

Where do I see the captured requests?

In the "Requests and leads" section of the agent settings: a list of cards with contact, request gist, channel and status, plus a counter of new ones. Each lead also triggers a push notification and, if configured, a webhook to your CRM.

Does lead capture work in Telegram, not only on a website?

Yes. On a website leads are captured by the web widget, and in Telegram the bot connects with a @BotFather token and can ask the person for a contact via a button. It is the same agent with the same personality — no need to configure the behavior per channel.

What does the bot do if it cannot answer a request?

It does not invent an answer but hands the dialog to a live operator with the reason, name and the customer's contact (the "Handoff to an operator" tool). For a business an honest escalation is safer than a confidently wrong answer that drives the customer away.

Related articles

Create an agent that captures leads