L1 Engineer
The L1 Engineer action empowers Neo to autonomously handle Level 1 support tickets. During setup, the user configures it to follow one of two primary resolution paths: executing an RMM script or engaging in a clarification and resolution dialogue with the end-user. This dual capability allows Neo to address a wider range of issues, from automated fixes to those requiring user interaction or acknowledgment.
Automating L1 ticket resolution frees up your technicians to focus on more complex issues, improves response times, and ensures consistent handling of common problems. By configuring the L1 Engineer action for either RMM script execution or user interaction, you can tailor Neo's approach to different types of L1 tickets.
What It Does
The L1 Engineer action attempts to resolve a ticket by:
- Analyzing the ticket to understand the user's issue.
- Following a configured resolution path based on
type_of_work
:- Find and Execute RMM Script Path: If configured for this path, Neo attempts to identify and execute an appropriate RMM script (e.g., restarting a service, clearing cache).
- Clarify with end-user, acknowledge, or resolve Path: If configured for this path, Neo proceeds with user interaction for clarification, resolution guidance, or acknowledgment.
- Managing ticket lifecycle: Optionally, it can assign the ticket to Neo, create time entries, and update ticket statuses based on the progress and outcome.
- Requesting approval: Optionally, it can ask for human approval via Teams before executing an RMM script or performing certain resolution steps.
- Communicating outcomes: Provides messages for MSP internal use (ticket notes) and, if applicable, for the end-client.
How It Works
The L1 Engineer action operates through one of two main workflows based on the type_of_work
selected:
1. Find and Execute RMM Script Path
When type_of_work
is set to "Find and execute RMM Script":
- Input Data: Takes a
PsaTicket
as input. - Ticket Assignment (Optional): If
assign_ticket_to_neo
is true, the ticket is assigned to a pre-configured Neo resource in the PSA. - RMM Script Identification: Neo analyzes the ticket content and, using custom instructions if provided, attempts to identify a relevant RMM script to address the issue.
- Approval (Optional): If
ask_for_approval_before_execution
is true, Neo sends an approval request to the specifiedhuman_in_the_loop_approvers
via Teams. Execution proceeds only upon approval. - Script Execution:
- If approved (or if approval is not required), Neo attempts to execute the identified RMM script.
- It makes up to
number_of_script_attempts
(defined inrmm_script_settings
). - If a script is risky or not found, Neo may try to find an alternative based on custom instructions.
- Issue Verification:
- Ticket Status: If
verify_issue_is_resolved_by
is "Ticket Status", Neo waits forminutes_to_wait_after_script_execution
and then checks if the ticket has been closed by an external system. - End User Message: If
verify_issue_is_resolved_by
is "End User Message", Neo prepares a message for the end-user (often to confirm resolution) which can be sent by a subsequent "Notify Ticket's Contact" action.
- Ticket Status: If
- Time Entry Creation (Optional): If
create_time_entry
is true, a time entry is created for the work performed by Neo. The summary note for the time entry is generated based on the actions taken. - Status Update (Optional): If
update_ticket_status
is true, the ticket status is updated based on the outcome (e.g., in progress, resolved, escalated) as defined instatus_management
. - Output: Generates messages for MSP internal use and potentially for the end-client, along with the overall outcome.
2. Clarify with end-user, acknowledge, or resolve Path
When type_of_work
is set to "Clarify with end-user, acknowledge, or resolve":
- Input Data: Takes a
PsaTicket
as input. - Ticket Assignment (Optional): If
assign_ticket_to_neo
is true AND Neo determines it needs to send a message to the end-user (clarification/resolution), the ticket is assigned to a pre-configured Neo resource. - Resolution Analysis: Neo uses its "Clarify and Resolve" capabilities:
- It analyzes the ticket content, leveraging knowledge from similar past tickets and relevant documents.
- It determines if the issue can be acknowledged, if details need clarification from the user, or if it can guide the user or a technician through resolution steps.
- This process is guided by
clarify_and_resolve_settings
and custom instructions.
- Message Generation:
- For End-User: If clarification is needed or if the user can perform resolution steps, or acknowledgement is required, a message is drafted for the end-user.
- For MSP: A detailed internal summary of the analysis, diagnosis, and proposed steps is generated for
default_messages_for_msp
.
- Approval (Optional): If
ask_for_approval_before_execution
is true (relevant if resolution involves critical steps, though primarily designed for RMM path), Neo sends an approval request. - Time Entry Creation (Optional): If
create_time_entry
is true, a time entry for Neo is created in the PSA. - Status Update (Optional): If
update_ticket_status
is true, the ticket status is updated based on the outcome (e.g., waiting for user, resolved, escalated) as defined instatus_management
. - Output: Generates messages for MSP internal use and for the end-client.
Configuration Fields
When you add the "L1 Engineer" action to a workflow, you'll configure the following:
type_of_work
Determines the primary operational path Neo will take.
- Find and execute RMM Script: Neo will attempt to resolve the issue by identifying and running an RMM script.
- Clarify with end-user, acknowledge, or resolve: Neo will use its conversational AI to interact, gather information, or guide towards a solution without direct RMM script execution by this action.
assign_ticket_to_neo
(default: False
)
If True
, the ticket will be assigned to the pre-configured Neo resource in your PSA.
- For the RMM script path, assignment happens before script execution.
- For the Clarify/Resolve path, assignment happens if Neo determines it needs to send a message to the end-user and is actively working on it.
create_time_entry
(default: False
)
If True
, Neo will create a time entry in your PSA for the work it performs.
update_ticket_status
(default: False
)
If True
, Neo will update the ticket's status based on its progress and the outcome of its actions. The specific statuses are defined in the status_management
field.
status_management
(optional)
Defines how ticket statuses should be managed if update_ticket_status
is True
. This field groups several status settings:
status_to_set_when_in_progress
: (optional) The PSA status to set when Neo begins actively working on the ticket.status_to_set_when_neo_sent_message_to_end_user
: (optional) The PSA status to set after Neo has generated a message for the end-user (e.g., a clarification question or resolution steps).status_to_set_when_resolved
: (optional) The PSA status to set if Neo successfully resolves the ticket.status_to_set_when_escalated
: (optional) The PSA status to set if Neo determines the ticket needs to be escalated to a human technician.
use_custom_instructions
(default: False
)
If True
, Neo will use the provided custom_instructions
to guide its behavior.
custom_instructions
(optional, format: textarea)
Provides specific guidance to Neo for resolving the ticket. These instructions influence how Neo interprets the issue, selects RMM scripts, formulates messages, or decides on resolution steps. This field is shown if use_custom_instructions
is True
.
include_company_custom_instructions
(default: False
)
If True
, Neo will also incorporate any company-level custom instructions defined in the 'Companies' tab, in addition to action-level custom instructions.
ask_for_approval_before_execution
(default: False
)
If True
, Neo will request approval from a human via Microsoft Teams before executing potentially impactful operations like running an RMM script or certain resolution steps.
human_in_the_loop_approvers
(optional)
A list of internal users (selected from Neo Teams Bot users) who will receive the approval request in Teams if ask_for_approval_before_execution
is True
.
rmm_script_settings
(optional)
Configuration specific to the "Find and execute RMM Script" path. This field is shown if type_of_work
is "Find and execute RMM Script".
It includes:
minutes_to_wait_after_script_execution
: (default: 0, max: 30) Time in minutes Neo should wait after an RMM script has completed execution before proceeding (e.g., to allow a system to reboot). Relevant ifverify_issue_is_resolved_by
is "Ticket Status".number_of_script_attempts
: (default: 3) The maximum number of different RMM scripts Neo can try to execute to resolve the issue.verify_issue_is_resolved_by
: (default: "End User Message") Defines how Neo determines if the RMM script resolved the issue:- "Ticket Status": Neo waits for the ticket to be closed by an external system (useful for automated tickets).
- "End User Message": Neo prepares a message to send to the end-user (via a subsequent Notify action) to confirm resolution.
clarify_and_resolve_settings
(optional)
Configuration specific to the "Clarify with end-user, acknowledge, or resolve" path. This field is shown if type_of_work
is "Clarify with end-user, acknowledge, or resolve".
It includes:
acknowledge_issue
: (default:False
) Allow Neo to simply acknowledge the issue with the user if other resolution paths are not suitable or configured.clarify_details_with_user
: (default:False
) Allow Neo to ask the user clarifying questions if the ticket information is insufficient.resolve_issue_with_user
: (default:False
) Allow Neo to attempt to guide the user through self-resolution steps.resolve_issue_with_technician
: (default:False
) Allow Neo to formulate detailed resolution steps intended for a human technician.
Output Fields
This action makes the following information available to subsequent actions in the workflow (via the SimpleNotificationOutput
model):
default_messages_for_dashboard
A list of detailed messages intended for the Neo Dashboard Event History, summarizing the actions taken and outcomes.
default_messages_for_msp
A list of WorkflowMessages
objects intended for MSP internal use, such as adding internal ticket notes or sending internal Teams/Email messages.
default_messages_for_end_client
A list of WorkflowMessages
objects containing messages suitable for sending to the end-client (e.g., acknowledgments, clarification questions, self-resolution steps). These are typically used by a subsequent "Notify Ticket's Contact" action.
credits_consumed
The number of Neo credits consumed by this action.
Use Cases
Automated RMM Script Execution for Common Alerts
- Trigger: New ticket created from an RMM alert (e.g., "Service Down").
- L1 Engineer Configuration:
type_of_work
: "Find and execute RMM Script"rmm_script_settings
: Configureverify_issue_is_resolved_by
to "Ticket Status" and setminutes_to_wait_after_script_execution
.custom_instructions
: "For 'Service Down' alerts, attempt to restart the corresponding service using an RMM script."assign_ticket_to_neo
:True
update_ticket_status
:True
, with appropriatestatus_management
settings.
- Workflow: Neo identifies the alert, finds a script to restart the service, executes it, waits, and if the alert clears (ticket closes), updates the status to Resolved.
Interactive Troubleshooting for Vague User Issues
- Trigger: New ticket created by a user with a vague description (e.g., "My computer is slow").
- L1 Engineer Configuration:
type_of_work
: "Clarify with end-user, acknowledge, or resolve"clarify_and_resolve_settings
: Enableclarify_details_with_user
andresolve_issue_with_user
.custom_instructions
: "If the issue is slowness, ask the user when it started, if it's constant, and what applications are typically running."assign_ticket_to_neo
:True
update_ticket_status
:True
- Subsequent Action: "Notify Ticket's Contact" to send Neo's clarification questions or simple troubleshooting steps.
- Workflow: Neo analyzes the ticket, formulates questions to gather more details (e.g., "When did the slowness start?"), and prepares a message. The ticket status is updated to reflect waiting for user input.
Acknowledge and Escalate Complex Issues
- Trigger: New ticket for a complex, non-standard issue.
- L1 Engineer Configuration:
type_of_work
: "Clarify with end-user, acknowledge, or resolve"clarify_and_resolve_settings
: Enableacknowledge_issue
but keepclarify_details_with_user
andresolve_issue_with_user
False
.update_ticket_status
:True
withstatus_management.status_to_set_when_escalated
configured.
- Subsequent Action: "Notify Ticket's Contact" to send the acknowledgment. "Notify Internal Team" to alert L2/L3 support.
- Workflow: Neo acknowledges the ticket, informs the user it's being looked into, and updates the ticket status to an escalation queue/status.
Best Practices
- Start Specific, Then Generalize: Begin by configuring L1 Engineer for very specific, common, and low-risk scenarios. Gradually expand its scope as you gain confidence.
- Refine Custom Instructions: The quality of
custom_instructions
significantly impacts Neo's effectiveness. Provide clear, concise, and unambiguous instructions.- For RMM scripts, guide Neo on how to choose scripts based on ticket content (keywords, alert types).
- For clarification/resolution, guide Neo on what questions to ask, what information is critical, and what common troubleshooting steps to suggest.
- Use Approval for Sensitive Actions: Enable
ask_for_approval_before_execution
for any RMM scripts or resolution paths that carry risk or you want to oversee initially. - Manage Ticket Statuses Carefully: Define clear
status_management
settings to ensure tickets accurately reflect Neo's actions and current state (e.g., "Waiting on Neo," "Waiting on User," "Resolved by Neo," "Escalated to L2"). - Combine with Notification Actions: The L1 Engineer action prepares messages. Use subsequent "Notify Ticket's Contact" or "Notify Internal Team" actions to deliver these messages.
- Iterate based on Event History: Regularly review the Event History to see how the L1 Engineer action is performing. Use these insights to refine configurations and instructions.
- Test Thoroughly: Before enabling in a production workflow, thoroughly test the L1 Engineer action with various ticket types and scenarios in a test environment or with non-critical workflows.
- Neo's PSA Resource: Ensure the "Neo's Regular Resource PSA ID" is correctly configured in Neo Settings -> PSA, as this is used for
assign_ticket_to_neo
andcreate_time_entry
.