Skip to content

AI Classify

AI Classify is a step in your form’s Workflow. When a submission arrives, it sends the parts of the submission you choose to AI, asks the questions you set up, and saves one answer per question on the submission. Steps placed after it use those answers to route, filter or enrich the submission.

AI Classify step settings with What should AI read? and the ready-made question sets, next to a submission showing its AI answers for is_spam, topic, urgency and is_frustrated

Use Cases: Filtering spam before anyone reads it, qualifying leads by buying intent and company size, triaging support requests by topic and urgency, routing each request to the right team, spotting refunds, cancellations, bug reports and churn risk.

              ╭───────────────────────╮
              │  Submission received  │
              ╰───────────┬───────────╯
              ╭───────────▼───────────╮
              │      AI Classify      │
              │     Is this spam?     │
              ╰───────────┬───────────╯
              ╭───────────▼───────────╮
              │       If / else       │
              │  is_spam equals true  │
              ╰───────────┬───────────╯
             ╭────────────┴────────────╮
             │ If                      │ Else
  ╭──────────▼──────────╮   ╭──────────▼──────────╮
  │     Mark as spam    │   │      Send email     │
  ╰─────────────────────╯   │     notification    │
                            ╰─────────────────────╯

You decide what AI reads and what it answers. Forminit stores the answers with the submission, shows them in the dashboard and makes them available to every later step as variables.


Each AI Classify step has two parts: a text that tells AI what to read, and a list of questions. For each submission, AI reads the text, answers every question and Forminit saves one answer per question under its Question ID.

 What should AI read?       Questions                   Answers
 ────────────────────────   ─────────────────────────   ─────────────────────────────
 Company: Northwind Ltd     Is this submission spam?    ai.classify.is_spam = false
 Message: Can we book a  →  Which team should handle →  ai.classify.team = sales
 demo for a team of 40?     this request?
                            How ready is the sender     ai.classify.buying_intent = 2
                            to buy?

A later If / else step can then check ai.classify.team, an email subject can include {{ai.classify.buying_intent}}, and a Google Sheets step can write is_spam to a column.

Three things to know before you start:

  • Answers have a type. A question is a Choice (one option from a list), a Score (a number on a scale you define) or Yes / No (true or false). The type decides which comparisons later steps offer.
  • Order matters. Only steps placed after AI Classify on the same path can use its answers. Put it before the If / else that should route on them.
  • Nothing happens until you publish. Like every workflow step, AI Classify runs for new submissions only after you select Publish.

  1. In your Forminit dashboard, open your form and select Workflow in the form header.

  2. Select + where the step should run, usually straight beneath Submission received, then choose AI Classify from the AI group of the action list.

  3. Select the step to open its settings and fill in What should AI read?. Use Add field to insert the form fields your questions are about.

  4. Select Add question. Choose Start from scratch for an empty question, or pick a ready-made question set and edit it.

  5. For each question, write the Question, pick an Answer type and check the Question ID.

  6. Add the steps that should use the answers after AI Classify: an If / else to route on them, an email that includes them, a Google Sheets column that records them.

  7. Select Publish. Submit your form with a sample message, then open the submission to see the answers.

The rest of this page explains each setting, how to use the answers and what to expect when the step runs.


This text box tells AI what to look at for each submission. It is the only part of the submission AI receives.

  • Select Add field to insert a form field as a labelled line, for example Message: {{message}}. When the workflow runs, {{message}} is replaced with that submission’s value.
  • Besides form fields, Add field offers Submitter Country, the two-letter country code of the submitter’s IP address, and the answers of any earlier AI Classify step on the same path.
  • Type fixed facts AI should know, such as what your company sells, your refund policy or the roles you are hiring for. Keep questions out of this box. They have their own section below.

A lead form might read:

Company: {{company}}
Job title: {{job_title}}
Message: {{message}}
What we sell: Project management software for teams

Keep these rules in mind:

  • Add only the fields your questions are about. Extra fields make answers less accurate.
  • A field that a submission does not include is read as empty text.
  • If every field is empty for a submission, AI is not asked. All answers are empty and the result shows No input.
  • The text can be up to 8,000 characters. A longer text cannot be published. Forminit never shortens it silently.

Each step has 1 to 10 questions. A question has three parts:

PartWhat it is
QuestionWhat you want to know, in plain words. AI reads it literally, so ask one clear thing and name exactly what to look at.
Answer typeChoice, Score or Yes / No. See below.
Question IDA short name in snake_case, for example is_spam. It names the answer for later steps. AI never sees it.
Answer typeWhat AI doesAnswer value
ChoicePicks one option from a list of 2 to 10 options. Each option has a name and an optional description of when to pick it.The name of the chosen option, for example sales.
ScoreRates the submission on 2 to 10 ordered levels, lowest first. Levels are numbered from 0.A number from 0 to the top level. It can be fractional, for example 1.4. Empty when AI is less sure than the Minimum confidence.
Yes / NoDecides whether something is true. You can describe what Yes and No mean, both or neither.true or false. It is true only when AI’s confidence reaches the Yes threshold.

Use Choice to sort submissions into categories: which team, which topic, which language.

Give each option a short snake_case name and a one-line description of when to pick it. The description is what AI reads, so make it concrete.

OptionDescription
salesPricing, demos, buying or upgrading
supportHelp using the product or a problem with it
billingInvoices, payments and refunds
otherAnything that fits none of the options above

A Choice question always produces one option, so include an option such as other or not_stated when a submission may fit none of the others. Without it, AI has to force every submission into a category.

Use Score when the answer is a matter of degree: urgency, buying intent, sentiment, severity.

Describe each level as a situation rather than a degree. “It needs action today. The sender is blocked or losing money” gives AI something to check. “Very urgent” does not.

LevelDescription
0It can wait. Nothing is blocked for the sender
1It should be handled soon. The sender is slowed down
2It needs action today. The sender is blocked or losing money

The answer is a number from 0 to the top level. It can be fractional, such as 1.4, when a submission sits between two levels. In an If / else condition, compare a Score with greater than or equal, less than or between rather than equals.

When AI is less sure than the Minimum confidence (80% by default), the answer is left empty and the submission shows Needs review. Route these submissions with a does not exist condition, for example to a human inbox.

Use Yes / No for a single check: is this spam, does the sender want a demo, does the report include steps to reproduce.

Phrase the question so that Yes is the case you want to catch, and avoid negatives such as “free of”. “Is the sender asking for money back?” works. “Is this message free of refund requests?” does not.

You can describe what Yes and No mean:

Description
Yes meansThe sender asks for a refund, a chargeback or money back
No meansAny other request, including questions about the refund policy

The answer is true only when AI’s confidence reaches the Yes threshold (80% by default). Otherwise it is false.

  • Raise the threshold when a wrong Yes is costly. Marking a real customer’s message as spam is worse than reading one more spam message.
  • Lower the threshold when a missed case is costly. The ready-made Property maintenance set uses 50% for possible emergencies, because a false alarm costs a phone call and a missed gas leak costs much more.

Two answer types have a confidence slider, and they behave differently:

SettingApplies toDefaultWhen AI’s confidence is below it
Minimum confidenceScore80%The answer is empty and the submission shows Needs review
Yes thresholdYes / No80%The answer is false

Choice questions have no confidence setting. AI always picks an option.

  • Ask one thing per question. Split “Is this urgent and is the sender upset?” into two questions.
  • Name what to look at. “How well does the applicant’s experience match the role they applied for?” tells AI to compare two fields. “Is this a good candidate?” leaves it guessing.
  • Give AI the facts it needs. If the answer depends on your pricing, policy or service area, put that in What should AI read? as a fixed line.
  • Describe options and levels as situations. AI matches the submission against your descriptions, so the better they describe real submissions, the better the answers.
  • Start from a ready-made set. The sets below are written this way. Edit one rather than starting blank.

Add question opens a menu. Start from scratch adds one empty question. Every other entry adds a ready-made set of questions that you can edit, reorder or remove afterwards. When you choose a set, the What should AI read? placeholder suggests matching fields from your form.

GeneralIndustry
Spam filterOrders and returns
Lead qualificationReal estate inquiries
Quote requestsLegal intake
Support triageInsurance claims
Route to a teamNonprofit inquiries
Refunds and cancellationsRenovation and installation
Job applicationsPrint, signage and manufacturing
Customer feedbackProperty maintenance
Churn riskCatering and events
Bug reportsLanguage routing
Business inquiriesAppointment requests
Agency enquiries
Onboarding answers
Safety check

A set can be added only when the step has enough free question slots. Each step holds up to 10 questions.

Every set is listed with its questions, options and levels in the reference at the end of this page.


Each answer is a variable named ai.classify.<question ID>. A question with the ID is_spam produces {{ai.classify.is_spam}}.

Only steps placed after the AI Classify step on the same path can use its answers. A step on another branch, or above the AI step, does not see them.

StepHow it uses the answers
If / elseAI answers are listed first in the field menu, tagged AI. Comparisons depend on the answer type, see the table below.
Send email notification, Send autoresponder emailInsert answers into the subject or body with the variable picker. An answer cannot be used as an email address.
Send webhookThe payload includes the answers under ai.classify, keyed by Question ID.
Send Slack notification, Send Discord notificationMessages can include the answers.
Send to Google SheetsMap an answer to a column. An empty answer leaves the cell empty.
AI Classify (a later step)Add an earlier step’s answers to What should AI read? with Add field.

A webhook payload carries the answers like this:

"ai": {
  "classify": {
    "is_spam": false,
    "team": "sales",
    "urgency": 1.4
  }
}
Answer typeComparisons in If / else
ChoiceEquals, does not equal, is one of, is not one of
ScoreEquals, does not equal, greater than, greater than or equal, less than, less than or equal, between
Yes / NoEquals true or false
All typesExists, does not exist

Use does not exist to route answers that are empty: a Score below the Minimum confidence, a submission with No input, or a step skipped for Plan required.

              ╭────────────────────────────╮
              │        AI Classify         │
              │      urgency (Score)       │
              ╰──────────────┬─────────────╯
              ╭──────────────▼─────────────╮
              │         If / else          │
              ╰──────────────┬─────────────╯
                             │
         ╭───────────────────┼───────────────────╮
         │ If: urgency       │ Else if: urgency  │ Else
         │ does not exist    │ >= 2              │
╭────────▼────────╮ ╭────────▼────────╮ ╭────────▼────────╮
│   Email triage  │ │   Notify Slack  │ │   Email support │
│      inbox      │ │                 │ │                 │
╰─────────────────╯ ╰─────────────────╯ ╰─────────────────╯

Put the does not exist branch first. Otherwise an empty answer fails every comparison and falls through to Else, where it is easy to miss.

On Pro and higher, a workflow can hold up to 5 AI Classify steps, with up to 3 on one path. The Free plan allows one. A later step can read an earlier step’s answers in its What should AI read? text, for example to ask a follow-up question only about submissions that were not spam.

If two earlier AI Classify steps use the same Question ID, the step that uses the answer asks you to pick which one it means.

Renaming a Question ID does not update steps that already use the old name. When you select Publish, Forminit lists the broken references so you can point each one at the new name.


Available on all plans.

Use one contact form for sales, support and general enquiries. This example adds the Spam filter and Route to a team sets to one AI Classify step, then routes on both answers with a single If / else.

  1. Add AI Classify after Submission received.

  2. In What should AI read?, use Add field to insert the sender’s name, email and message.

  3. Select Add question, then Spam filter. Select Add question again, then Route to a team. The step now has two questions: is_spam (Yes / No) and team (Choice).

  4. Add If / else after AI Classify and configure its branches using the table.

  5. On the If branch, add Mark as spam. On each other branch, add Send email notification and set its recipient.

  6. Select Publish, then submit one sample enquiry for each route and one obvious spam message.

BranchConditionAction
Ifis_spam equals trueMark as spam
Else ifteam equals salesEmail sales@example.com
Else ifteam equals supportEmail support@example.com
ElseNo earlier branch matchedEmail hello@example.com
                              ╭───────────────────────╮
                              │  Submission received  │
                              ╰───────────┬───────────╯
                              ╭───────────▼───────────╮
                              │      AI Classify      │
                              │    is_spam · team     │
                              ╰───────────┬───────────╯
                              ╭───────────▼───────────╮
                              │       If / else       │
                              ╰───────────┬───────────╯
         ╭─────────────────────┬──────────┴──────────┬─────────────────────╮
         │ If: is_spam         │ Else if: team       │ Else if: team       │ Else
         │ equals true         │ equals sales        │ equals support      │
╭────────▼────────╮   ╭────────▼────────╮   ╭────────▼────────╮   ╭────────▼────────╮
│   Mark as spam  │   │      Email      │   │      Email      │   │      Email      │
╰─────────────────╯   │      sales@     │   │     support@    │   │      hello@     │
                      ╰─────────────────╯   ╰─────────────────╯   ╰─────────────────╯

The spam check comes first, so a spam message never reaches a team inbox. Billing questions fall through to Else, because the billing option has no branch of its own. Add an Else if for it when your billing team wants its own inbox.

Forminit’s own spam protection runs before the workflow, so this step sees only submissions that passed it. AI Classify adds a second layer for messages that look legitimate to filters but not to a reader: SEO offers, link requests, vendor pitches.

Requires Pro or higher for the Google Sheets and Slack steps.

Use a lead form with company, job title and message fields. This example records every lead in Google Sheets, then alerts sales in Slack only for leads who are ready to buy or ask for a demo.

  1. Add Send to Google Sheets after Submission received and map the lead’s name, email and company to columns.

  2. Add AI Classify after the Google Sheets step. In What should AI read?, insert the company, job title and message fields, then add a line describing what you sell.

  3. Select Add question, then Lead qualification. The set adds buying_intent (Score, levels 0 to 2), company_size (Choice) and wants_demo (Yes / No).

  4. Add If / else after AI Classify. Set the If branch to Match any with two conditions: buying_intent greater than or equal 2, and wants_demo equals true.

  5. On the If branch, add Send Slack notification for your sales channel and include {{ai.classify.company_size}} in the message.

  6. On the Else branch, add Send email notification for your general enquiries inbox.

  7. Select Publish and submit sample leads: one that mentions a budget and timeline, one asking for a demo, and one that is only browsing.

                ╭───────────────────────╮
                │  Submission received  │
                ╰───────────┬───────────╯
                ╭───────────▼───────────╮
                │ Send to Google Sheets │
                ╰───────────┬───────────╯
                ╭───────────▼───────────╮
                │      AI Classify      │
                │     buying_intent     │
                │       wants_demo      │
                ╰───────────┬───────────╯
                ╭───────────▼───────────╮
                │       If / else       │
                │  buying_intent >= 2   │
                │  or wants_demo true   │
                ╰───────────┬───────────╯
              ╭─────────────┴─────────────╮
              │ If                        │ Else
  ╭───────────▼───────────╮   ╭───────────▼───────────╮
  │      Notify sales     │   │     Email general     │
  │        in Slack       │   │       enquiries       │
  ╰───────────────────────╯   ╰───────────────────────╯

A message that mentions a budget and a start date scores 2 and reaches Slack. A message asking about pricing scores around 1 and goes to the general inbox. If AI is less sure than the Minimum confidence, buying_intent is empty and the lead follows Else as well, so nobody is lost.

Google Sheets runs before AI Classify, so every lead is recorded even when classification fails. To record the answers too, place the Google Sheets step after AI Classify and map buying_intent and company_size to columns.


WhereWhat you see
Submission detailOne block per question with its answer, above the sender details. While AI is working it shows Classifying….
Submission Workflow sectionThe AI Classify step with its status and answers. When it failed, a Retry button.
Settings > LogsEntries labelled AI Classify: completed, no input, skipped, retry scheduled or held.
Form AnalyticsFor each AI Classify question, how many of the form’s submissions got each answer. Pro and higher.

The submissions table does not show AI columns. Open a submission to see its answers, or open the form’s Analytics page for totals across all of its submissions, such as how many were spam or how many leads asked for a demo.

A submission’s AI block shows one of these states:

StateMeaning
Classifying…AI is working on this submission. Later steps wait for it.
Needs reviewA Score answer was below the Minimum confidence. That answer is empty.
No inputEvery field in What should AI read? was empty for this submission. AI was not asked.
FailedAI could not be reached or returned an error. The workflow stopped at this step. See failures and retries.
Plan requiredThe step was skipped because the form’s plan does not include it. See Plans.

AI Classify runs when a submission arrives, before any step placed after it. The workflow waits for the answers, so later steps always see them.

The workflow’s Test button never calls AI. In a test, the AI Classify step shows AI not run, and branches that depend on AI answers are not predicted. AI runs only for real submissions. To check your questions, publish the workflow and submit a few sample messages.

If AI fails, for example because the AI service is busy or unreachable, the submission is kept and the workflow stops at the AI Classify step. Steps before it have already run. Steps after it have not.

╭─────────────────────────╮
│  Send to Google Sheets  │  ✓ ran before AI Classify, not run again
╰────────────┬────────────╯
┏━━━━━━━━━━━━▼━━━━━━━━━━━━┓
┃       AI Classify       ┃  ✗ failed, the workflow stops here
┗━━━━━━━━━━━━┯━━━━━━━━━━━━┛  ↻ Retry continues from this step
             │
╭────────────▼────────────╮
│ Send email notification │  runs once AI Classify succeeds
╰─────────────────────────╯

Forminit retries automatically when the failure is temporary. You can also select Retry in the submission’s Workflow section. The workflow then continues from the AI step: it classifies the submission and runs the steps after it. Steps that already ran, such as an email that was already sent, do not run again.

Submissions received before you added the step are never classified automatically, including after an upgrade. Only an explicit Retry reruns a failed step, and only for that submission.


For each submission, Forminit sends the text produced by What should AI read?, together with your questions, options and descriptions, to an AI service, and stores the answers with the submission.

Nothing outside that text is sent. A form field you did not add is not included, and neither are Question IDs or submissions caught by Forminit’s spam protection, which never reach the workflow. To keep a field such as the sender’s email out of AI’s view, leave it out of What should AI read?.

AI Classify is off until you add it. Forms whose workflow has no AI Classify step send nothing to the AI service, and a new step runs only for submissions received after you publish it. The AI service processes the text in the United States and does not use it to train models. It is listed with the other subprocessors on the GDPR page.


LimitValue
AI Classify steps per workflow5 on Pro and higher, 1 on Free
AI Classify steps on one path3
Questions per step1 to 10
Options per Choice question2 to 10
Levels per Score question2 to 10
What should AI read? text8,000 characters
All questions, options and descriptions in one step8,000 characters

A workflow that exceeds a limit cannot be published. Forminit points to the step that needs fixing.


AI Classify is available on all plans, including Free. The Free plan allows one AI Classify step per workflow. Adding another asks you to upgrade to Pro, which allows up to 5. For forms in a workspace, the workspace owner’s plan applies. See pricing for plan details.

Answer counts on the form’s Analytics page need Pro or higher, like the rest of Analytics. On Free, the answers still appear on each submission and work in later steps.

After a downgrade, AI Classify steps that your new plan does not include stay in the workflow but are skipped. Their answers are empty, the rest of the workflow still runs, and the submission shows Plan required. Conditions on their answers then behave as if the answer does not exist. The steps run again for new submissions after an upgrade.


ProblemWhat to check
The answers do not appear in an If / else field menuThe AI Classify step must be before the If / else on the same path. Move it, then publish.
A submission shows No inputEvery field in What should AI read? was empty for it. Check that the inserted fields match the names your form sends, and add the fields your questions are about.
A Score answer is empty or shows Needs reviewAI was less sure than the Minimum confidence. Route empty answers with does not exist, make the level descriptions more distinct, or lower the slider.
A Yes / No answer is false when it should be truePhrase the question so Yes is the case you want to catch, describe what Yes means, and lower the Yes threshold if missed cases cost more than false alarms.
A Choice answer is often wrongAdd a one-line description to each option, include an other option, and remove fields the question is not about from What should AI read?.
Publish reports the text is too longWhat should AI read?, and all questions with their options and descriptions, must each stay within 8,000 characters. Remove fields or shorten fixed facts.
Publish lists broken referencesA Question ID was renamed. Point each listed step at the new name.
You cannot add another AI Classify stepThe Free plan allows one AI Classify step per workflow. Pro and higher allow up to 5, with up to 3 on one path.
Test shows AI not runExpected. Test is a dry run. Publish and submit a sample to see real answers.
The step shows FailedOpen the submission’s Workflow section for the error. Forminit retries temporary failures automatically, or select Retry.
The step shows Plan requiredThe form’s plan, or the workspace owner’s plan, does not include this step, for example a second AI Classify step on the Free plan. Upgrade to run it for new submissions.
Old submissions have no answersSubmissions received before the step was published are never classified automatically.

AI Classify is available on all plans, including Free. The Free plan allows one AI Classify step per workflow, and Pro and higher allow up to 5. For forms in a workspace, the workspace owner’s plan applies.

Does AI Classify run on submissions I already received?

Section titled “Does AI Classify run on submissions I already received?”

No. The step runs only for submissions that arrive after you publish it. Old submissions are never classified automatically, and only an explicit Retry reruns a failed step.

Only the text produced by What should AI read?, together with your questions, options and descriptions. Question IDs are never sent, and neither is any form field you did not add to that text.

Can I test AI Classify without a real submission?

Section titled “Can I test AI Classify without a real submission?”

No. The workflow’s Test button is a dry run that never calls AI. The AI step shows AI not run, and branches that depend on its answers are not predicted. Publish the workflow and submit a sample to see real answers.

AI was less sure than the question’s Minimum confidence, so the answer was left empty and the submission shows Needs review. Route these submissions with a does not exist condition, or lower the slider if you prefer an answer over a review.

Yes. A Score is a number from 0 to the top level and can be fractional, such as 1.4, when a submission sits between two levels. Compare it with greater than or equal, less than or between rather than equals.

In every step placed after AI Classify on the same path: If / else conditions, email notification and autoresponder subjects and bodies, webhook payloads, Slack and Discord messages, Google Sheets columns, and the What should AI read? text of a later AI Classify step. An answer cannot be used as an email address.

Can I see how many submissions got each answer?

Section titled “Can I see how many submissions got each answer?”

Yes, on Pro and higher. The form’s Analytics page counts the answers to each AI Classify question across all submissions in the form, for example how many submissions were spam or how many leads asked for a demo.

The submission is kept and the workflow stops at the AI Classify step. Forminit retries automatically when the failure is temporary, and you can select Retry in the submission’s Workflow section. The workflow then continues from the AI step, and steps that already ran do not run again.


Every set as it ships in the product, with its questions, answer types, Question IDs, options and levels. Add a set from the Add question menu, then edit, reorder or remove its questions like any other.

  • The suggested What should AI read? text uses placeholders such as {{message}}. When you add a set, the placeholder suggests matching fields from your form. Select Add field to insert your own fields in their place, and keep any fixed facts the set relies on, such as what you sell.
  • Every Score question uses a Minimum confidence of 80% and every Yes / No question uses a Yes threshold of 80%, except where noted.
  • A set can be added only when the step has enough free question slots. Each step holds up to 10 questions.
SetUse it toQuestion IDs
Spam filterCatch ads, scams and bot messages before anyone reads themis_spam
Lead qualificationRate buying intent and company size, and spot demo requestsbuying_intent, company_size, wants_demo
Quote requestsSize the project and check for a budget and timelineproject_size, budget_stated, timeline
Support triageSort requests by topic and urgency, and flag upset customerstopic, urgency, is_frustrated
Route to a teamSend each submission to sales, support or billingteam
Refunds and cancellationsSpot refund and cancellation requests so you can act fastrefund_requested, cancellation_requested
Job applicationsRate role fit and seniority, and check for work samplesrole_fit, seniority, has_work_samples
Customer feedbackMeasure sentiment, sort feedback and find who wants a replysentiment, feedback_type, wants_reply
Churn riskFind unhappy customers who may leave, and whychurn_risk, mentions_competitor, main_reason
Bug reportsRate severity and check that the report can be reproducedseverity, has_steps
Business inquiriesSeparate sales leads from partners, press, recruiters and vendorsinquiry_type
Agency enquiriesTell new projects apart from client support, partners and sales pitchesenquiry_type
Onboarding answersCheck that a client’s written answer really answers your questionanswer_complete
Safety checkFlag abusive messages and sensitive personal datais_abusive, has_sensitive_data
Orders and returnsSort shop messages into order status, returns, damage and cancellationsorder_request, has_order_number
Real estate inquiriesTell buyers, sellers and renters apart and see how soon they moveclient_type, move_timeline, financing_ready
Legal intakeFind the practice area and flag matters with a close deadlinepractice_area, is_time_sensitive
Insurance claimsSort claims by type and catch reports with missing detailsclaim_type, details_missing
Nonprofit inquiriesRoute donors, volunteers, event guests and people asking for helpcontact_reason
Renovation and installationSort jobs by service and intent, and spot descriptions that need more detailservice_category, request_intent, description_ready
Print, signage and manufacturingFind the product, spot who needs design help and check the job can be pricedproduct, needs_design_help, spec_clear
Property maintenanceSend repairs to the right trade and flag possible emergencies for reviewtrade, possibly_urgent
Catering and eventsRoute by event type and tell catering-only requests from full serviceevent_type, service_level
Language routingDetect the language so the right person replieslanguage
Appointment requestsTell new bookings apart from changes, cancellations and questionsrequest_type

The first 14 sets are listed under General in the menu, the rest under Industry.

Catch ads, scams and bot messages before anyone reads them.

Suggested What should AI read? text:

Name: {{name}}
Email: {{email}}
Message: {{message}}
  1. Is this submission spam? Yes / No, is_spam
    • Yes means: Unsolicited advertising, scams, SEO or link offers, or automated junk
    • No means: A real person writing about something relevant to us

Forminit’s own spam protection runs before the workflow, so this set sees only submissions that passed it. Use it for messages that pass filters but a reader would still bin.

Rate buying intent and company size, and spot demo requests.

Suggested What should AI read? text:

Company: {{company}}
Job title: {{job_title}}
Message: {{message}}
What we sell: Project management software for teams

Replace the last line with what your company sells. AI uses it to judge whether the sender is a fit.

  1. How ready is the sender to buy? Score, buying_intent
    • 0: Just browsing or researching. No plans or needs mentioned
    • 1: Interested. Asks about features, pricing or fit
    • 2: Ready to buy. Mentions a budget, a timeline or a purchase decision
  2. How big is the sender’s company, based on what they wrote? Choice, company_size
    • individual: A freelancer or a single person
    • small: A small team of up to about 50 people
    • mid_market: A company of about 50 to 1,000 people
    • enterprise: A large organization with more than 1,000 people
    • not_stated: The submission doesn’t say
  3. Is the sender asking for a demo or a sales call? Yes / No, wants_demo

Size the project and check for a budget and timeline.

Suggested What should AI read? text:

Service needed: {{service}}
Project details: {{details}}
Start date: {{start_date}}
  1. How big is the project the sender describes? Score, project_size
    • 0: A small one-off task or a quick fix
    • 1: A defined project of a few days or weeks
    • 2: A large or ongoing project with several parts
  2. Does the sender mention a budget or price range? Yes / No, budget_stated
  3. When does the sender want the work to start? Choice, timeline
    • asap: Right away or within two weeks
    • this_quarter: Within the next three months
    • later: More than three months away
    • not_stated: The submission doesn’t say

Sort requests by topic and urgency, and flag upset customers.

Suggested What should AI read? text:

Subject: {{subject}}
Message: {{message}}
Plan: {{plan}}
  1. What is the request mainly about? Choice, topic
    • account: Signing in, passwords or account settings
    • billing: Invoices, payments, plans or refunds
    • bug: Something isn’t working as expected
    • how_to: A question about how to use the product
    • feature_request: A request for something the product doesn’t do yet
    • other: Anything that fits none of the options above
  2. How urgent is this request? Score, urgency
    • 0: It can wait. Nothing is blocked for the sender
    • 1: It should be handled soon. The sender is slowed down
    • 2: It needs action today. The sender is blocked or losing money
  3. Is the sender upset or frustrated? Yes / No, is_frustrated

Send each submission to sales, support or billing.

Suggested What should AI read? text:

Subject: {{subject}}
Message: {{message}}
  1. Which team should handle this request? Choice, team
    • sales: Pricing, demos, buying or upgrading
    • support: Help using the product or a problem with it
    • billing: Invoices, payments and refunds
    • other: Anything that fits none of the options above

Spot refund and cancellation requests so you can act fast.

Suggested What should AI read? text:

Order number: {{order_number}}
Message: {{message}}
Refund policy: Refunds are possible within 30 days of purchase.

Replace the policy line with your own. It helps AI tell a refund request from a question about the policy.

  1. Is the sender asking for money back? Yes / No, refund_requested
    • Yes means: The sender asks for a refund, a chargeback or money back
    • No means: Any other request, including questions about the refund policy
  2. Does the sender want to cancel a subscription, order or booking? Yes / No, cancellation_requested

Rate role fit and seniority, and check for work samples.

Suggested What should AI read? text:

Role applied for: {{position}}
Experience: {{experience}}
Portfolio: {{portfolio_url}}
Role requirements: 3+ years of React and TypeScript

Replace the requirements line with the role’s own. The role fit score compares the application against it.

  1. How well does the applicant’s experience match the role they applied for? Score, role_fit
    • 0: No relevant experience is mentioned
    • 1: Some related experience, but key skills are missing
    • 2: Relevant experience that covers most key skills
    • 3: Strong, directly relevant experience across all key skills
  2. What seniority level does the applicant describe? Choice, seniority
    • entry: Student, intern or less than 2 years of experience
    • mid: About 2 to 5 years of experience
    • senior: More than 5 years, or a lead or management role
    • not_stated: The application doesn’t say
  3. Does the application include a link to a portfolio, GitHub or work samples? Yes / No, has_work_samples

Measure sentiment, sort feedback and find who wants a reply.

Suggested What should AI read? text:

Rating: {{rating}}
Feedback: {{feedback}}
  1. How does the sender feel about their experience? Score, sentiment
    • 0: Very unhappy. Angry or complaining
    • 1: Disappointed or somewhat unhappy
    • 2: Neutral or mixed
    • 3: Satisfied
    • 4: Delighted. Full of praise
  2. What kind of feedback is this? Choice, feedback_type
    • praise: Positive comments about the product or service
    • complaint: A problem or something the sender is unhappy with
    • suggestion: An idea for an improvement
    • question: The sender mainly wants an answer
    • other: Anything that fits none of the options above
  3. Does the sender ask for a reply or a follow-up? Yes / No, wants_reply

Find unhappy customers who may leave, and why.

Suggested What should AI read? text:

Plan: {{plan}}
How likely to recommend us (0 to 10): {{score}}
Comment: {{comment}}
  1. How likely is the sender to stop using our product or service? Score, churn_risk
    • 0: Happy and plans to keep using it
    • 1: Has complaints but no sign of leaving
    • 2: Is considering leaving or downgrading
    • 3: Says they are leaving or have already cancelled
  2. Does the sender mention switching to or comparing us with another company? Yes / No, mentions_competitor
  3. What is the main reason for the sender’s feedback? Choice, main_reason
    • price: Cost, pricing or value for money
    • quality: Bugs, reliability or product quality
    • support: The help or service they received
    • ease_of_use: The product is hard to use or learn
    • missing_feature: Something they need is missing
    • other: Anything that fits none of the options above

Rate severity and check that the report can be reproduced.

Suggested What should AI read? text:

Page or feature: {{page}}
What happened: {{description}}
Steps to reproduce: {{steps}}
  1. How severe is the reported issue? Score, severity
    • 0: Cosmetic. No impact on how things work
    • 1: A feature is broken or slow, but there is a workaround
    • 2: Blocking. There is no workaround
  2. Does the report explain the steps to reproduce the problem? Yes / No, has_steps

Separate sales leads from partners, press, recruiters and vendors.

Suggested What should AI read? text:

Company: {{company}}
Message: {{message}}
  1. What kind of inquiry is this? Choice, inquiry_type
    • sales: A potential customer interested in buying
    • partnership: A proposal to partner, integrate or resell
    • press: A journalist, podcast or media request
    • job_seeker: Someone asking about jobs or sending a CV
    • vendor_pitch: Someone trying to sell us a product or service
    • other: Anything that fits none of the options above

Tell new projects apart from client support, partners and sales pitches.

Suggested What should AI read? text:

Company: {{company}}
Message: {{message}}
About us: We design, build and maintain websites for small businesses

Replace the last line with a sentence about your agency.

  1. What is the sender getting in touch about? Choice, enquiry_type
    • new_project: A potential client who wants a new website, app or design work
    • client_support: An existing client asking for changes, fixes or help with their site
    • partnership: A proposal to partner, refer clients or white-label work
    • sales_pitch: Someone trying to sell us a product, service or leads
    • job_seeker: Someone asking about jobs or offering to freelance
    • other: Anything that fits none of the options above

Check that a client’s written answer really answers your question.

Suggested What should AI read? text:

Question asked: What makes your business different from competitors?
Answer: {{answer}}

Replace the first line with the question your form asks. Use one AI Classify step per question you want checked, up to the limits above.

  1. How well does the answer respond to the question asked? Score, answer_complete
    • 0: It doesn’t answer the question or is off topic
    • 1: It partly answers it. Key points are missing or vague
    • 2: It answers the question clearly and specifically

Flag abusive messages and sensitive personal data.

Suggested What should AI read? text:

Message: {{message}}
  1. Is the message abusive toward a person? Yes / No, is_abusive
    • Yes means: Insults, threats or harassment aimed at someone
    • No means: Polite, neutral or critical messages that don’t attack anyone
  2. Does the submission include sensitive personal data, like ID numbers, card numbers or health details? Yes / No, has_sensitive_data

Sort shop messages into order status, returns, damage and cancellations.

Suggested What should AI read? text:

Order number: {{order_number}}
Message: {{message}}
  1. What does the customer want help with? Choice, order_request
    • order_status: Where an order is, or when it will arrive
    • return_or_exchange: Sending an item back, or swapping it for another
    • damaged_or_wrong: An item arrived damaged, broken, wrong or missing
    • cancel_order: Cancelling an order before it ships
    • product_question: A question about a product before buying
    • other: Anything that fits none of the options above
  2. Does the message include an order number? Yes / No, has_order_number

Tell buyers, sellers and renters apart and see how soon they move.

Suggested What should AI read? text:

Message: {{message}}
Preferred area: {{area}}
Budget: {{budget}}
  1. What does the sender want to do with a property? Choice, client_type
    • buy: Buy a home or property
    • sell: Sell a home or property they own
    • rent: Rent a place to live or work
    • landlord: Rent out a property they own
    • other: Anything that fits none of the options above
  2. When does the sender want to buy, sell or move? Choice, move_timeline
    • within_30_days: Within the next month
    • within_3_months: In one to three months
    • later: More than three months away
    • not_stated: The submission doesn’t say
  3. Does the sender say they have mortgage pre-approval or cash ready? Yes / No, financing_ready

Find the practice area and flag matters with a close deadline.

Suggested What should AI read? text:

Your matter: {{message}}
Our practice areas: Family, employment and immigration law

Replace the last line with the areas your firm handles.

  1. Which area of law is the sender’s matter about? Choice, practice_area
    • family: Divorce, custody, child support or adoption
    • criminal: Arrests, charges or criminal defense
    • personal_injury: Accidents, injuries or medical negligence
    • employment: Work disputes, dismissal or discrimination
    • immigration: Visas, residency or citizenship
    • business: Contracts, companies or commercial disputes
    • property: Real estate, leases or landlord disputes
    • other: Anything that fits none of the options above
  2. Does the sender mention a deadline, court date or arrest in the coming days? Yes / No, is_time_sensitive

Sort claims by type and catch reports with missing details.

Suggested What should AI read? text:

Policy number: {{policy_number}}
Date of incident: {{incident_date}}
What happened: {{description}}
  1. What kind of insurance claim is this? Choice, claim_type
    • vehicle: Car, motorcycle or other vehicle damage
    • property: Damage to a home, building or belongings
    • health: Medical treatment or health costs
    • travel: Trip cancellation, delays or lost luggage
    • liability: Damage or injury the sender caused to someone else
    • other: Anything that fits none of the options above
  2. Is the report missing when, where or how the incident happened? Yes / No, details_missing

Route donors, volunteers, event guests and people asking for help.

Suggested What should AI read? text:

Name: {{name}}
Message: {{message}}
  1. What is the sender reaching out about? Choice, contact_reason
    • donation: Giving money, goods or a recurring donation
    • volunteering: Offering their time or skills
    • event: Attending, hosting or asking about an event
    • request_help: Asking for support from our programs
    • partnership: A company or group proposing to work together
    • other: Anything that fits none of the options above

Sort jobs by service and intent, and spot descriptions that need more detail.

Suggested What should AI read? text:

Project details: {{message}}
Postcode: {{postcode}}
Our services: Kitchens, bathrooms, flooring, windows, doors and roofing

Replace the last line with the services you offer.

  1. Which kind of work is the customer asking about? Choice, service_category
    • kitchen: Kitchen cabinets, worktops or a full kitchen
    • bathroom: Bathrooms, showers, tiling or toilets
    • flooring: Floors, carpets or laminate
    • windows_doors: Windows, doors or glazing
    • roofing: Roofs, gutters or chimneys
    • extension: Extensions, loft conversions or structural changes
    • other: Anything that fits none of the options above
  2. What does the customer want from us next? Choice, request_intent
    • quote: A price or an estimate
    • site_visit: Someone to visit and look at the job
    • question: An answer to a general question
    • other: Anything that fits none of the options above
  3. Does the description say what work is needed and where in the property? Yes / No, description_ready

Find the product, spot who needs design help and check the job can be priced.

Suggested What should AI read? text:

What you need: {{message}}
Quantity: {{quantity}}
Our products: Business cards, flyers, signs, banners and packaging

Replace the last line with the products you make.

  1. Which product or service is the customer asking for? Choice, product
    • business_cards: Business cards or stationery
    • flyers_brochures: Flyers, leaflets, brochures or posters
    • signs_banners: Signs, banners, displays or window graphics
    • vehicle_graphics: Vehicle wraps, decals or lettering
    • packaging: Boxes, labels or custom packaging
    • custom_manufacturing: A custom part, product or prototype
    • other: Anything that fits none of the options above
  2. Does the customer need help creating the design or artwork? Yes / No, needs_design_help
    • Yes means: They have no artwork yet or ask us to design it
    • No means: They have print-ready artwork or only need printing
  3. Does the request give enough detail to price the job, such as size, quantity or material? Yes / No, spec_clear

Send repairs to the right trade and flag possible emergencies for review.

Suggested What should AI read? text:

Property address: {{address}}
Problem: {{message}}
  1. Which trade is needed to fix the reported problem? Choice, trade
    • plumbing: Leaks, blocked drains, taps, toilets or water pressure
    • electrical: Power, sockets, lights, switches or the fuse box
    • heating: Boilers, radiators, hot water or air conditioning
    • structural: Roofs, walls, ceilings, windows, doors or damp
    • appliances: Ovens, fridges, washing machines or other appliances
    • pests: Insects, rodents or other pests
    • other: Anything that fits none of the options above
  2. Does the report describe a possible safety risk or damage that is happening now? Yes / No, possibly_urgent
    • Yes means: For example a leak, a gas smell, sparks, exposed wiring, no heating in cold weather or a door that won’t lock
    • No means: A problem that can wait for a normal appointment
    • Yes threshold: 50%. This question is tuned to catch possible emergencies, so it accepts more false alarms than the other sets. Route a true answer to someone who can check quickly, not to an automatic callout.

Route by event type and tell catering-only requests from full service.

Suggested What should AI read? text:

Event date: {{event_date}}
Number of guests: {{guests}}
About your event: {{message}}
  1. What kind of event is the customer planning? Choice, event_type
    • wedding: A wedding, engagement or rehearsal dinner
    • corporate: A business meeting, conference, launch or office party
    • private_party: A birthday, anniversary or other private celebration
    • other: Anything that fits none of the options above
  2. How much does the customer want us to provide? Choice, service_level
    • catering_only: Food and drinks only
    • full_service: Food plus staff, setup, decoration or event planning
    • not_stated: The submission doesn’t say

Detect the language so the right person replies.

Suggested What should AI read? text:

Message: {{message}}
  1. Which language is the submission written in? Choice, language
    • english
    • spanish
    • german
    • french
    • portuguese
    • turkish
    • other: Any other language

Add or rename options to match the languages your team answers in. Pair it with Submitter Country in What should AI read? when the message is too short to tell.

Tell new bookings apart from changes, cancellations and questions.

Suggested What should AI read? text:

Preferred date: {{date}}
Message: {{message}}
Opening hours: Monday to Friday, 9:00 to 17:00

Replace the last line with your own opening hours.

  1. What does the sender want to do about an appointment? Choice, request_type
    • new_booking: Book a new appointment
    • reschedule: Move an existing appointment to another time
    • cancel: Cancel an existing appointment
    • question: Ask a question without changing a booking
    • other: Anything that fits none of the options above

  • Workflow - Build the workflow, route with If / else, publish and retry
  • Email Notifications - Include answers in notification subjects and bodies
  • Webhooks - Receive answers in the webhook payload
  • Google Sheets - Record answers as spreadsheet columns

View this page as Markdown