Create ConnectWise Ticket
The Create ConnectWise Ticket action creates a new service ticket in ConnectWise Manage. It matches the sender's email address to an existing ConnectWise Contact and Company, then creates the ticket with the board, status, priority, and other classification details you specify.
This is a workflow action. It accepts a contact email address and uses it to locate the matching ConnectWise Contact and Company before creating the ticket. You must supply the Service Board directly. Learn more about the difference between workflow actions and single API call actions.
When to Use This Action
Use this action when:
- You want to create new ConnectWise tickets from incoming human-generated emails
- You want ConnectWise to associate the ticket with the correct company based on the sender's email address
Don't use this action for:
- Updating existing tickets: Use Update ConnectWise Ticket instead.
- Automated alert emails: System-generated emails from monitoring tools or automated systems are better handled with different actions.
- Scheduled tasks: This action is designed for email-based workflows and is only available for Hosted Mailboxes and Pollers.
Common Pattern: Pairing with Update ConnectWise Ticket
This action is typically used together with Update ConnectWise Ticket in a two-step pattern:
- Update ConnectWise Ticket runs first and attempts to find an existing ticket
- If no ticket is found, Create ConnectWise Ticket runs next to create a new one
This pattern handles both replies to existing tickets and new support requests with a single rule:
Rule: "Process Support Email"
1. Update ConnectWise Ticket
- If ticket found: adds note, workflow stops (or continues based on your setting)
- If no ticket found: sets flag and continues to next action
2. Create ConnectWise Ticket
- Creates new ticket only if step 1 didn't find one
Configuration
Contact & Company Matching
| Field | Description |
|---|---|
| Contact Email Address | The email address used to locate a matching ConnectWise Contact and Company. Default: {{email.from.address}}. |
| Default Company | The fallback Company when no matching Contact or domain is found. Required. |
Basic Information
| Field | Description |
|---|---|
| Summary | The ticket summary/title (max 100 characters). Supports template variables like {{email.subject}}. |
| Initial Description | The initial ticket description, which appears in the first note. Supports template variables. |
Classification
| Field | Description |
|---|---|
| Service Board | The service board for the ticket. Required. |
| Status | The initial ticket status. If not provided, uses the board's default status. |
| Type | The service type. Options depend on the selected board. |
| Sub-Type | The service sub-type. Options depend on the selected board and type. |
| Item | The service item. Options depend on the selected board. |
| Priority | The ticket priority level. |
| Source | The ticket source (e.g., Email, Phone, Portal). |
Severity & Impact
| Field | Description |
|---|---|
| Severity | The severity level: Low, Medium, or High. |
| Impact | The impact level: Low, Medium, or High. |
| Budget Hours | The budgeted hours for this ticket. |
Workflow Controls
| Field | Description |
|---|---|
| After Creating Ticket | What to do after the ticket is created successfully. Default: Stop All. Options: Continue, Stop, Stop All. |
| Error Handling | What to do if ticket creation fails. Options: Exception, Bounce, Continue, Stop, Stop All. |
Connection
| Field | Description |
|---|---|
| ConnectWise Connection | Select the ConnectWise connection to use. Required. |
Returned Variables
When you configure Store the results in Variable, these variables become available for use in subsequent actions:
Status Flags
| Variable | Type | Description |
|---|---|---|
LocatedExistingContact | bool | true if a matching Contact was found for the sender's email |
LocatedExistingCompany | bool | true if a matching Company was found |
UsedDefaultCompany | bool | true if the ticket was assigned to the Default Company |
CreatedNewTicket | bool | true if the ticket was created successfully |
CreatedNewTicketCausedError | bool | true if ticket creation failed |
ContactEmailAddress | string | The email address used for matching |
CompanyDomain | string | The domain portion of the contact email |
Created Objects
| Variable | Type | Description |
|---|---|---|
Ticket | object | The created ConnectWise ticket |
Contact | object | The matched Contact (if found) |
Company | object | The matched or default Company |
Example usage: {{custom.myVariable.Ticket.id}} or {{custom.myVariable.Ticket.summary}}
Ticket Properties
| Property | Type | Description |
|---|---|---|
id | int | The ticket ID |
summary | string | The ticket summary |
board | object | The service board (id, name) |
status | object | The ticket status (id, name) |
company | object | The associated company (id, identifier, name) |
contact | object | The associated contact (id, name) |
FAQs
What fields are required?
At minimum, you must provide:
- ConnectWise Connection
- Default Company
- Summary
- Service Board
All other fields are optional and will use defaults if not specified.
How do I use template variables?
The Summary and Initial Description fields support text expressions. Common examples:
{{email.subject}}: The email subject line{{email.from.address}}: The sender's email address{{email.from.display}}: The sender's display name{{email.body}}: The full email body
What happens if ticket creation fails?
The behavior depends on your Error Handling setting:
| Setting | Behavior |
|---|---|
| Exception | Stop processing and report the error |
| Bounce | Return the email to the sender |
| Continue | Continue to the next action |
| Stop | Stop this rule but allow other rules to process |
| Stop All | Stop all processing for this message |