Build Message
The "Build Message" action leverages AI to craft messages based on your specific instructions and the content of PSA entities (tickets or time entries). It's designed to help you generate dynamic, context-aware communications for various purposes within your workflows.
This action allows you to create customized messages with dynamic content for notifications, alerts, or automated responses. You can tailor communication for internal teams or end clients, ensuring clarity and consistency.
What It Does
- Takes a list of PSA tickets or time entries as input.
- Accepts detailed
instructions
from you on how and when to create a message, and what content it should include. - Uses AI to analyze the provided entity data (ticket details, notes, time entry information) and your instructions.
- Optionally includes details from related Service Calls (Scheduled Entries) when processing Autotask tickets if
include_service_call_details
is enabled. - Optionally includes custom (UDF) field information when generating messages if
include_custom_fields
is enabled. - Generates a message if the AI determines it's appropriate based on your instructions.
- Outputs the generated message, categorizing it for internal MSP use, end-client communication, or dashboard display, depending on the selected
message_type
. - This action does not consume any credits.
How It Works
1. Input Entities and Instructions
The action receives a list of PSA entities (tickets or time entries) and a set of instructions
. These instructions guide the AI on the message's content, tone, and purpose.
2. AI-Powered Message Generation
Neo's AI processes each entity. It examines the entity's content (like ticket notes, summary, status for tickets; or notes, hours, work type for time entries) along with any included service call details (for Autotask) and custom field information (if enabled). It also considers the current date and time to make messages more relevant. Based on your instructions
, the AI decides if a message should be created and then crafts it.
3. Output Based on Message Type
The generated messages are then made available in the output fields.
- If
message_type
is "Internal", messages are placed indefault_messages_for_msp
. - If
message_type
is "Customer Facing", messages are placed indefault_messages_for_end_client
. - A detailed log of what was generated (or why not) for each entity is always available in
default_messages_for_dashboard
.
Configuration Fields
When you add the "Build Message" action to a workflow, you'll configure the following:
default_data
A list of PSA entities (tickets or time entries) that the action will use to generate messages. This typically comes from a "Find Entities" action or the trigger itself.
instructions
This is a crucial field where you define in plain text how Neo should build the message. You can specify conditions for message creation, content to include, desired tone, and formatting. (Default: "Create a nice message describing the ticket information and summarize the notes.") (Format: Textarea)
The instructions
field is key to controlling the output of this action. Be as clear and specific as possible.
include_service_call_details
(Autotask only) A boolean field (true/false). If set to true
, Neo will include details from Service Calls (Scheduled Entries) associated with the Autotask ticket in the content provided to the AI for message generation.
(Default: false)
include_custom_fields
A boolean field (true/false). If set to true
, Neo will include information from custom (UDF) fields when generating the message. This allows the AI to reference and incorporate custom field data into the generated content.
(Default: false)
message_type
Determines the intended audience and output field for the generated message.
- Internal: The message is intended for internal MSP use. Output will be in
default_messages_for_msp
. - Customer Facing: The message is intended for the end client. Output will be in
default_messages_for_end_client
. (Default: Internal)
Output Fields
This action makes the following information available to subsequent actions in the workflow:
default_messages_for_msp
A list of WorkflowMessages
intended for internal MSP use (e.g., to be added as an internal ticket note or sent via Teams). This field is populated if message_type
is set to "Internal" and a message was generated.
default_messages_for_end_client
A list of WorkflowMessages
intended for the end client (e.g., to be sent via email through a "Notify Ticket's Contact" action). This field is populated if message_type
is set to "Customer Facing" and a message was generated.
default_messages_for_dashboard
A list of strings providing a detailed summary of the action's execution for each processed entity, including the generated message or the reason why a message was not created. This is useful for logging and debugging in the Neo Dashboard Event History.
default_fields_to_update
This field will be empty as the "Build Message" action itself does not directly update any PSA fields. However, it's available for other actions in the workflow to populate if needed.
credits_consumed
The number of credits consumed by this action. For "Build Message", this is always 0.
Use Cases
Creating Dynamic Internal Summaries
- Trigger: When a ticket status changes to "Resolved".
- Action: Use "Build Message" with
instructions
like "Generate a brief internal summary of the resolution steps and final outcome for ticket [TicketNumber]." andmessage_type
set to "Internal". - Follow-up: Use Add Ticket Note to add the
default_messages_for_msp
as an internal note.
Crafting Customer-Facing Updates
- Trigger: When a significant update is made to a ticket.
- Action: Use "Build Message" with
instructions
such as "Create a polite update for the customer about ticket [TicketNumber]. Mention that we are currently working on [TicketSummary] and the next update will be [CustomField.NextUpdateETA]." andmessage_type
set to "Customer Facing". - Follow-up: Use Notify Ticket's Contact to send the
default_messages_for_end_client
.
Standardizing Scheduled Notifications
- Scenario: Send a weekly digest of open high-priority tickets to a manager.
- Previous Action: "Find Entities" to get all open high-priority tickets.
- Action: Use "Build Message" with
instructions
"For each ticket, list its number, title, and current technician. Format as a bullet point." andmessage_type
"Internal". - Follow-up: Use Notify Internal Team to send the compiled
default_messages_for_msp
.
Best Practices
- Be Specific in Instructions: The more detailed and clear your
instructions
are, the better the AI will understand your requirements and generate the desired message. Explain the context, desired tone, and specific information to include or exclude. - Use Placeholders Wisely: While the AI can infer context, you can guide it by using bracketed placeholders in your
instructions
for common ticket fields if you want to be explicit (e.g., "[TicketNumber]", "[TicketSummary]", "[ContactName]"). The AI will use the actual data from the ticket. - Test and Iterate: Always test your "Build Message" configuration with a few sample tickets or time entries to see the output. Refine your
instructions
based on the results to achieve the perfect message. - Choose the Correct
message_type
: Ensuremessage_type
aligns with how you intend to use the generated message in subsequent workflow actions (e.g., "Internal" for internal notes, "Customer Facing" for client emails). - Leverage
include_service_call_details
for Autotask: If you're using Autotask and scheduled entry information is important for your messages, enable this option.
Related Actions
The output of "Build Message" is often used by notification or PSA update actions, such as: