Skip to content

HappyFox Service Desk Triggers and Actions in HappyFox Workflows

Views
6
Last updated

This article describes the triggers and actions available when you connect HappyFox Service Desk to HappyFox Workflows, and lists the incident management operations you can automate between HappyFox Service Desk and your other connected apps.

Applicable Plans: All Plans

Note: HappyFox Service Desk is HappyFox's ITSM platform for managing internal IT incidents and service requests. It is a separate product from HappyFox Help Desk. This integration connects HappyFox Service Desk to HappyFox Workflows so that incidents in Service Desk can trigger workflows, and workflow actions can create or update incidents in Service Desk.


Triggers

HappyFox Service Desk triggers allow HappyFox Workflows to start automatically when incident activity occurs in HappyFox Service Desk.

Trigger When it fires
Incident Created A new incident is created in HappyFox Service Desk.
Incident Updated An existing incident in HappyFox Service Desk is updated — for example, when its status, priority, or assignee changes.

 

Trigger Details

Triggers start a workflow automatically when a specific event happens in HappyFox Service Desk. Both triggers are webhook-based.

 

Trigger data legend

Incident Created

Fires whenever a new incident is created in HappyFox Service Desk. The workflow receives a full snapshot of the incident at the moment of creation, including the requester's contact details, all custom field values, and the first message/description.

Top-level event fields:

Field Description
uuid Unique identifier for this webhook delivery.
event_id Event identifier from Service Desk.
event_type Always incident_created for this trigger.
subdomain The Service Desk account subdomain.
account_url The full URL of the Service Desk account.
display_id The human-readable incident ID (for example, INC-42).
created_at The timestamp when the incident was created.
agent_incident_url Direct URL for an agent to open the incident in the Service Desk UI.
requester_incident_url Direct URL for the requester (end-user) to view the incident.

Incident snapshot (under incident):

Field Description
incident.id Internal numeric ID of the incident.
incident.display_id Human-readable ID (for example, INC-42).
incident.subject Subject line of the incident.
incident.due_date Due date of the incident, if set.
incident.source How the incident was created (for example, email, portal, API).
incident.created_at Creation timestamp.
incident.last_updated_at Timestamp of the most recent update.
incident.status.id / incident.status.name Current status.
incident.priority.id / incident.priority.name Priority level.
incident.impact.id / incident.impact.name Impact level.
incident.urgency.id / incident.urgency.name Urgency level.
incident.team.id / incident.team.name Assigned team (category).
incident.assignment_group.id / incident.assignment_group.name Assignment group, if set.
incident.cc / incident.cc__0, incident.cc__1, … CC recipients (list, also indexed individually).
incident.bcc / incident.bcc__0, incident.bcc__1, … BCC recipients (list, also indexed individually).
incident.tag_{tag_name} One entry per tag applied to the incident.
incident.task_{task_name} One entry per task linked to the incident.
incident.asset_{asset_name} One entry per asset linked to the incident.
incident.{field_id}_{field_name} Ticket custom field values, one key per field. Dropdown fields also include a value_name sub-key with the human-readable option label; multiple-option fields include a value_name list.

Requester (contact) fields (under incident.requester):

Field Description
incident.requester.id Internal ID of the requester contact.
incident.requester.name Requester's full name.
incident.requester.email Requester's email address.
incident.requester.primary_phone Requester's primary phone number.
incident.requester.primary_contact_group Requester's primary contact group.
incident.requester.locked Whether the contact is locked.
incident.requester.group_{group_name} One entry per contact group the requester belongs to.
incident.requester.{field_id}_{field_name} Requester contact custom field values.

First message/description (under incident.first_update):

Field Description
incident.first_update.id ID of the first update entry.
incident.first_update.timestamp Timestamp of the first message.
incident.first_update.by.id / .name / .type / .email Who created the incident.
incident.first_update.message.html Description in HTML format.
incident.first_update.message.text Description as plain text.
incident.first_update.message.message_type Type of message (for example, first_message).
incident.first_update.message.cc / .cc__0, .cc__1, … CC addresses on the first message.
incident.first_update.message.bcc / .bcc__0, .bcc__1, … BCC addresses on the first message.
incident.first_update.message.attachments List of attachments on the first message.

Incident Updated

Fires whenever an existing incident is updated — for example, when its status changes, a reply is added, a field is edited, or a tag is applied. The workflow receives both a snapshot of the current incident state and a summary of what changed in this specific update.

Note: Change fields (for example, status_change_to, tags_change_from) are only present in the event data when that property was actually modified in the triggering update. If a field didn't change, its _change_to / _change_from keys won't appear.

Top-level event fields:

Field Description
uuid Unique identifier for this webhook delivery.
event_id Event identifier from Service Desk.
event_type Always incident_updated for this trigger.
subdomain The Service Desk account subdomain.
account_url The full URL of the Service Desk account.
timestamp Timestamp of this specific update.

Update activity fields (present only when changed):

Field Description
by.id / by.name / by.type / by.email The person or system that made the update.
message_type The kind of update (for example, note, reply, field_change).
html / text The message body, if this update included a reply or note.
cc / bcc / recipients Recipients of the message, if applicable.
is_call_note Whether the message was logged as a call note.
status_change_to / status_change_from Status before and after the change.
priority_change_to / priority_change_from Priority before and after.
impact_change_to / impact_change_from Impact before and after.
urgency_change_to / urgency_change_from Urgency before and after.
assignee_change_to / assignee_change_from Assignee before and after.
team_change_to / team_change_from Team (category) before and after.
due_date_change_to / due_date_change_from Due date before and after.
subject_change_to / subject_change_from Subject before and after.
due_by_change_to / due_by_change_from SLA due-by time before and after.
tags_change_to / tags_change_from Comma-separated tag lists before and after the change.
incident_tag The single most relevant tag from this tag change — the first newly added tag, or the last tag in the updated list if only removals occurred.
{field_id}_{field_name}_change_from / {field_id}_{field_name}_change_to Custom field value before and after a change, one pair per modified custom field.

Incident snapshot (under incident): Same structure as the Incident Created trigger, with one difference — the tags field is omitted from the incident snapshot on this trigger. Use tags_change_to, tags_change_from, and incident_tag (listed above) to access tag information for an update event.

 


Actions

HappyFox Service Desk actions let you create and update incidents in HappyFox Service Desk directly from a workflow step.

Action What it does
Create Incident Creates a new incident in HappyFox Service Desk with fields such as subject, description, priority, and category.
Update Incident Updates the fields of an existing incident in HappyFox Service Desk, such as its status, priority, or assignee.

 

Action Details

Each action below lists the fields you configure, along with whether each field is required.

Validation note legend

Term Meaning
Required The workflow will not run this action if the field is missing or blank.
At least one required The action requires at least one field from a named group — you don't need to fill in all of them, but you must fill in at least one.
Optional The field can be left empty; the action will still run.
Text A plain text string.
Rich text A text field that accepts HTML formatting (bold, lists, inline images, etc.).
Yes/No toggle A boolean true/false switch.
List (multiple entries) One or more structured objects; see sub-fields below each entry.
Selection (pick one) A searchable dropdown; type to filter and pick a single value from the live options fetched from your Service Desk account.

Note on selection fields: Fields backed by an entity — Team, Priority, Status, Assignee, Impact, Urgency — accept a human-readable name and resolve it to the correct Service Desk ID automatically at runtime.

Create Incident

Creates a new incident in HappyFox Service Desk. The requester's name, a team (category), a subject, and a description are always required. At least one contact method — email or phone — must also be provided for the requester.

Field Description Validation
Requester Name The full name of the person raising the incident. Required · Text
Requester Email The email address of the requester. Must be a valid email address. At least one required (with Requester Phone) · Text
Requester Phone The phone number of the requester. Must be a valid phone number. At least one required (with Requester Email) · Text
Team The Service Desk team (category) the incident should be routed to. Required · Selection (pick one)
Requester Custom Fields Custom field values to set on the requester's contact record. Each row includes id (the custom field's numeric ID, required), name (display name, optional), type (text, number, date, dropdown, or multiple_option), and value (for dropdown, the exact option name; for multiple_option, a comma-separated list of option names; for date, a standard format such as YYYY-MM-DD — past dates are not allowed). Optional · List (multiple entries)
Priority The priority level of the incident. Optional · Selection (pick one)
Assignee The staff member to assign the incident to. Optional · Selection (pick one)
Status The initial status of the incident. Optional · Selection (pick one)
Custom Fields Custom field values to set on the incident itself. Same structure as Requester Custom Fields. Ticket custom fields may be scoped to a specific team — if the field isn't available for the selected Team, Service Desk returns an error. Optional · List (multiple entries)
Subject The title or subject line of the incident. Must not exceed the Service Desk character limit. Required · Text
Description The full description of the incident. Cannot be blank. Inline images are detected and automatically uploaded as attachments. Required · Rich text
Impact The impact level of the incident. Optional · Selection (pick one)
Urgency The urgency level of the incident. Optional · Selection (pick one)
Resolution The resolution notes for the incident. Can be set at creation time. Optional · Rich text
Is Private When enabled, marks the incident as private so it is not visible to the requester. Defaults to No. Optional · Yes/No toggle

Update Incident

Updates an existing incident in HappyFox Service Desk, identified by its Incident ID. The Incident ID is always required. At least one other field must be provided — the action will not run if only the ID is given with everything else blank.

Field Description Validation
Incident ID The numeric ID of the incident to update. Required · Text (numeric string)
Team The team (category) to reassign the incident to. At least one required* · Selection (pick one)
Status The updated status of the incident. At least one required* · Selection (pick one)
Priority The updated priority level. At least one required* · Selection (pick one)
Assignee The updated assignee for the incident. At least one required* · Selection (pick one)
Due Date The due date for resolving the incident. Accepted formats: YYYY-MM-DD, MM-DD-YYYY, DD-MM-YYYY, 1 Jan 2026. Alternatively, enter a plain positive integer (for example, 5) to set the due date that many days from today. Past dates and negative numbers are not allowed. At least one required* · Text
Tags Tags to apply to the incident, separated by commas (for example, bug,urgent,backend). Blank tags are not allowed. At least one required* · List (multiple entries)
Time Spent The amount of time logged on this incident, in seconds (for example, 60 for 1 minute, 3600 for 1 hour). Must be a non-negative integer. At least one required* · Text
Impact The updated impact level. At least one required* · Selection (pick one)
Urgency The updated urgency level. At least one required* · Selection (pick one)
Subject The updated subject line of the incident. At least one required* · Text
Custom Fields Ticket custom field values to update on the incident. Same structure and rules as in Create Incident. At least one required* · List (multiple entries)

* At least one of Team, Status, Priority, Assignee, Due Date, Tags, Time Spent, Impact, Urgency, Subject, or Custom Fields must be provided alongside the Incident ID.

 


Use cases

Create a Service Desk incident when a critical ticket is escalated in Help Desk: When a ticket in HappyFox Help Desk is escalated to critical priority or marked as a major incident, automatically create a corresponding incident in HappyFox Service Desk — ensuring the IT team has a structured ITSM record to manage the incident through its full lifecycle, separate from the customer-facing ticket.

Update a Service Desk incident when a Help Desk ticket is resolved: When a related HappyFox Help Desk ticket is resolved, automatically update the linked Service Desk incident's status — keeping both systems aligned without requiring agents to manually update records in both platforms.

Escalate a Service Desk incident to other apps when it is created: When the Incident Created trigger fires in HappyFox Service Desk, use subsequent workflow actions to notify a Slack channel, create a Jira issue, or send an SMS via JustCall — routing the incident to the right tools automatically based on its category or priority.

Track incident resolution back to the originating ticket: When a Service Desk incident is updated to a resolved status (Incident Updated trigger), automatically add a private note or update the status of the linked HappyFox Help Desk ticket — giving the customer-facing team immediate visibility into the resolution without checking Service Desk manually.