Two kinds of forms — form endpoints that take submissions from your own website into the CRM, and agent forms that tell an AI agent which fields to collect.
Karmaflow.ai has two features called forms, and they do different jobs:
A form endpoint is not a form builder. It is a secure address — https://omni.karmaflow.ai/api/forms/<your-workspace>/<form> — plus an API key, a field map and a submissions log. Your website posts to the address; Karmaflow.ai matches or creates the contact, runs your workflows and keeps every submission.
flowchart LR
V[Visitor fills in<br/>the form on your site] --> J[Your page posts the fields<br/>with the API key]
J --> E[Form endpoint]
E --> S{Checks}
S -->|origin, rate limit,<br/>reCAPTCHA, AI spam score| M[Field map]
M -->|email matches| U[Contact updated]
M -->|new email| C[Contact created<br/>as a lead]
U & C --> T[Timeline entry · workflow trigger<br/>notification email · GA4 lead event]
generate_lead event reaches GA4 — see Google Analytics 4 workflows.| Step | What Karmaflow.ai does |
|---|---|
| Accept | Checks the API key, the page's origin against Allowed Origins, the rate limit, and reCAPTCHA if enabled. |
| Score | Scores the submission for spam against the last ten. Spam is stored and labelled, and the sender still sees a success — so a bot learns nothing. |
| Match | Looks up the contact by email. A match is updated; a new address becomes a contact in the lead lifecycle stage. A submitter on one of your own domains is stored but gets no contact. |
| Record | Writes Submitted web form "…" on the contact's Activity Timeline, fires the Form Endpoint Submission workflow trigger for that form, emails your Email Recipients, and sends the GA4 lead event when the integration is on. |
Everything is kept on the endpoint's Submissions page with its status — Test, Received, Processed, Failed or Spam — and the CRM outcome.
The step-by-step is in Connecting a Website Form: create the endpoint, copy the key, send a test from your page, map the fields, go live.
An agent form is a template of fields — Text or Picklist — that you attach to a chat, voice or task agent. During the interaction the agent works to fill each field and returns the captured values in the same structure every time, so a downstream workflow can rely on them.
Agent forms have no public address and nothing to embed — the agent is the form. A completed agent form fires the Agent Form Submission workflow trigger.
| You want to… | Use |
|---|---|
| Capture leads from a page on your website | A form endpoint |
| Let a partner email you leads | A form endpoint with Email Intake on |
| Have the chat widget or a voice agent ask for specific details | An agent form on that agent |
| Start a workflow when any of these completes | The matching trigger — Form Endpoint Submission or Agent Form Submission |
Permissions: form endpoints need crm:forms:read to view and crm:forms:manage to create or edit; agent forms need manage rights on any agent type.