Skip to main content

Attach Files to Halo Ticket

The Attach Files to Halo Ticket action attaches email attachments to an existing Halo ticket. Supply the ticket ID and the action uploads the incoming email's attachments to that ticket.

Building Block

This is a building block workflow action. It iterates over the incoming email's attachments and uploads each one to the Halo API, optionally checking for duplicates first. Use this as a step in a larger workflow after creating or updating a ticket. Learn more about the difference between workflow actions and single API call actions.

Email Containers Only

This action is only available for Hosted Mailbox and Remote Mailbox containers. It requires an incoming email with attachments to process.

When to Use This Action

Use this action when:

  • You need to copy an incoming email's attachments onto a Halo ticket
  • You want to preserve the original email as an .eml file on the ticket for future reference
  • You are building a workflow that creates or updates a ticket and then persists the related attachments

Don't use this action for:

  • Non-email sources: This action only works for Hosted Mailbox and Remote Mailbox containers. For other data sources, use the standard Halo ticket update actions.
  • Adding text or HTML notes: Use Create Halo Ticket Note to add a note.

Configuration

Connection

FieldDescription
Halo ConnectionSelect the Halo connection to use for this action.

Ticket

FieldDescription
Ticket IDThe ID of the Halo ticket to attach files to. Supports text expressions with {{variable}} syntax, such as {{custom.created.id}}.

Attachment Options

FieldDescriptionDefault
Attach Email AttachmentsWhen enabled, uploads all attachments from the incoming email to the ticket.Enabled
Attach Original Email .emlWhen enabled, uploads the original email as a single .eml file to the ticket.Disabled
Prevent Duplicate AttachmentsWhen enabled, skips any file whose name already exists on the ticket.Enabled

Error Handling

FieldDescription
Error HandlingAction to take if the upload fails.
OptionBehavior
ExceptionHalt processing and report the error
BounceReturn the email/item to the sender
ContinueContinue to the next action
StopStop this rule but allow other rules to process
Stop AllStop all processing for this message

Returned Variables

When you configure Store the results in Variable, the result is a summary of the upload. Access properties using dot syntax.

Example usage: {{custom.myVariable.attached_count}}

VariableTypeDescription
.attached_countnumberThe number of files uploaded to the ticket
.filenamesarray of stringsThe names of the files uploaded to the ticket

Example Use Cases

Attach Email Attachments After Creating a Ticket

After creating a ticket with Create Halo Ticket:

SettingValue
Ticket ID{{custom.created.id}}
Attach Email AttachmentsEnabled
Attach Original Email .emlEnabled
Prevent Duplicate AttachmentsEnabled

FAQs

What fields are required?

You must provide a Halo Connection and a Ticket ID. At least one of Attach Email Attachments or Attach Original Email .eml must be enabled for the action to upload anything.

What happens if the email has no attachments?

If Attach Email Attachments is enabled and the email has no attachments, the action sets .attached_count to 0 and .filenames to an empty array. If Attach Original Email .eml is also enabled, the original .eml file is still uploaded.

How does duplicate prevention work?

When Prevent Duplicate Attachments is enabled, the action queries the ticket's existing attachments and skips any upload whose filename matches a file already on the ticket. The skipped files do not appear in .filenames.

Can I use this action with non-email data sources?

No. This action is only available for Hosted Mailbox and Remote Mailbox containers because it reads attachments from the incoming email.

Reply-All Storm Catcher

Because this action always runs in an email container, it always has an inbound email to work with. When the provided ticket ID is valid and the email has a Message-ID, MSPintegrations records the Message-ID against the Halo ticket ID on the selected Halo connection after the attachments finish uploading.

A later reply in the same email thread that lacks the Halo ticket tag can then be matched to this ticket by Update Halo Ticket from Email through its In-Reply-To and References headers.

The association is recorded even when no files are uploaded (for example, when all attachments are skipped by duplicate prevention), because the email itself still references the ticket. The association is scoped to the Halo connection you selected on this action.