Message and Question

Simple building blocks for precise conversation control

Not every step in an AI agent needs a full AI node.

Sometimes the flow only needs to say something specific.

Message node

Send exactly what you want the user to see

The Message node sends a fixed message to the user exactly as written.

There is no AI interpretation, rewriting, retrieval, or generation.

ExampleMessage

If the message configured in the node is:

Thanks. I have everything I need.

that is the message the user receives.

This makes the Message node useful when wording needs to be predictable and controlled.

Question node

Ask one question and wait for the answer

The Question node asks a single question.

Once the answer is received, the flow continues to whatever node is connected next.

For example:Question
The user replies.

The conversation pauses until the user replies.

This makes Question useful when the workflow only needs one piece of information and a full AI Form would be unnecessary.

Sometimes it only needs to ask one question, wait for the answer, and continue.

That is where the Message and Question nodes are useful.

They are lightweight building blocks that can be placed at the beginning, middle, or end of a flow and combined with Router, AI Answer, Document Search, Data Search, AI Form, Human Handoff, and other nodes.

They give customers direct control over individual moments in the conversation without adding unnecessary AI behavior.

Message

Control what happens after the message

After sending the fixed message, the customer chooses what should happen next.

Available options are:

Message

Choose Continue the conversation when the message is only one step in a larger flow.

For example:

Message

I can help with that. First, I need one detail.

↓

Question

What is your email address?

Or:

Message

Here are the available options.

↓

AI Answer

continues the conversation

When a Router is configured to evaluate Every message, the next user message can be routed again based on the new intent.

When a Router was configured for First message only, that initial routing decision has already been made, so the flow continues within the selected path.

This makes Message useful for both intermediate steps and conversation endings.

Message node examples

Beginning of a flow

I can help you with product questions, appointments, or support.

Then continue to Router.

Between two steps

I found the matching record. I just need one more detail before we continue.

Then continue to Question.

Before handoff

Thanks. I'm connecting you with a member of our team now.

Then continue to Human Handoff.

Ending a flow

Your request has been submitted successfully.

Then end the conversation.

When to use a Message node

Message is useful for:

  • greetings
  • instructions
  • confirmations
  • transitions between steps
  • disclosures
  • next-step explanations
  • completion messages
  • closing statements
  • status updates
  • short fixed notices

It can appear anywhere in the flow.

For example:

Start

↓

Message

Welcome. I can help you find the right service.

↓

Router

Or:

AI Form

collects information

↓

Message

Thanks. Your information has been submitted.

↓

Human Handoff

Or:

Document Search

answers the question

↓

Message

If you need anything else, just send another message.

Why use Message instead of AI Answer

AI Answer is designed to interpret and generate responses.

Message is designed to be exact.

Use Message when the text should always stay the same.

Use AI Answer when the response should depend on the conversation, instructions, knowledge, web information, or enabled skills.

For example:

Message

Your request has been received.

is appropriate when every user should see the same confirmation.

But:

Explain which service is most relevant based on what the user asked.

belongs in AI Answer because the response needs reasoning and context.

Question

Validate the reply when format matters

Question can optionally validate the user's response.

Turn on Validate reply when the answer needs to match a specific format or approved value.

QuestionExample

Email domain restrictions

Email validation can be made more specific with optional domain rules.

Customers can define:

Email domain restrictions

For example:

company.com, agency.org

Only email addresses from the approved domains will pass.

This is useful for internal or partner-only flows.

For example:

gmail.com, yahoo.com

Addresses from those domains will be rejected.

This can be useful when the workflow requires a business email rather than a personal address.

EmailQuestion → AI Answer

The conversation pauses until the user replies.

If the reply does not pass validation:

  1. the user sees an error message
  2. the question is asked again

If any response is acceptable, validation can stay off.

Available validation types

Question can validate several common input types.

Email

Checks that the answer is a valid email address.

Example:

The flow continues only after a valid email is provided.

Phone Number

Checks that the reply is formatted as a phone number.

Useful for:

  • callback requests
  • appointment follow-up
  • service requests
  • customer contact details

URL

Checks that the answer is a valid web address.

Example:

What is your company website?

This is useful when the workflow needs a website or online resource before moving forward.

List / CSV Lookup

Checks whether the answer matches an allowed value from a list or CSV source.

Examples include:

  • store IDs
  • product codes
  • zip codes
  • location codes
  • membership types
  • approved service areas

For example:

What is your store ID?

The user can only continue if the supplied value exists in the configured lookup data.

This is useful when the business wants to confirm that an identifier or option is valid before continuing.

Custom Pattern

Custom Pattern allows the customer to define a specific format.

For example:

^[A-Z]{2}\d{4}$

could be used for a code consisting of two letters followed by four numbers.

This is useful for structured identifiers such as:

  • reference numbers
  • membership IDs
  • account formats
  • internal codes
  • product identifiers

Use it when the expected format is precise and predictable.

Customize the validation error message

Customers can define what the user sees when validation fails.

For example:

Please provide a valid email address.

Or:

Please enter your company email rather than a personal email address.

The message is shown when the answer fails validation, then the Question node asks again.

This keeps the user inside the flow instead of letting invalid data move forward.

Question is intentionally simple

AI Form is built for structured multi-question information capture.

Question is built for one answer.

Use Question when you need something like:

  • email address
  • phone number
  • order number
  • account ID
  • city
  • product code
  • preferred option
  • confirmation
  • website URL
  • one short piece of context

For example:

Router

detects:

Existing order

↓

Question

What is your order number?

↓

AI Answer

continues using that information

The node does one job and then gets out of the way.

Use Message and Question anywhere in the flow

These nodes are not limited to one part of the conversation.

They can be used at the beginning.

They can connect larger workflow stages.

They can appear before or after AI nodes.

They can be used near the end.

They can also be combined with each other.

For example:

Start

↓

Message

Welcome. I can help with your existing order.

↓

Question

What is your order number?

↓

Data Search

finds the order

↓

AI Answer

explains the result

↓

Message

Thanks for contacting us.

↓

End conversation

The customer decides how simple or complex the flow needs to be.

Example: one-detail support flow

Router

detects:

Order support

↓

Question

What is your order number?

Validation can ensure the number matches the expected format.

↓

Data Search

retrieves the order

↓

AI Answer

handles the request using the retrieved information

This avoids using a multi-question form when one identifier is enough.

Example: controlled handoff

Router

detects:

Speak with support

↓

Question

What is the best email address for follow-up?

Email validation is enabled.

↓

Message

Thanks. I'm connecting you with our support team now.

↓

This gives the customer precise control over what happens immediately before the transfer.

Example: conversation ending

After a workflow is complete:

Message

Your request has been submitted. Thank you.

↓

End conversation

The closing language is fixed, so every user receives the same final message.

Question vs. AI Form

The difference is mainly scope.

Use Question when

You need one answer.

Examples:

  • email
  • phone number
  • order number
  • product code
  • preferred location

Use AI Form when

You need a structured sequence of answers.

Examples:

  • service intake
  • qualification
  • application
  • project brief
  • travel preferences
  • quote request
  • support intake
AI Form also provides more advanced capabilities such as:
  • multiple ordered questions
  • required and optional fields
  • AI Verification
  • AI Answer Cleanup
  • answer labels
  • normalization
  • fixed-value mapping
  • confirmation before submission
  • response summaries

Question is better when adding all of that would be unnecessary.

Question vs. Message

These nodes are often used together, but they do opposite things.

Message

The business sends information to the user.

Question

The business asks for information from the user.

For example:

Message

I found your order.

↓

Question

What email address was used for the purchase?

↓

AI Answer

continues

That simple combination can create a very controlled experience.

Small nodes can make a large flow easier to control

Message and Question are intentionally simple.

They are useful because not every step needs AI generation, search, or a full information-capture workflow.

Use Message when the agent needs to say something exact.

Use Question when the agent needs to ask for one thing.

Then connect them to the next node that should handle the conversation.

Together, they give customers precise control over the small moments that connect the larger parts of an AskHandle agent.