How to update Ticket Replies, Notes, and Fields Using Power Automate
You can use Microsoft Power Automate together with the BoldDesk REST API to automate ticket updates without manual intervention. This approach is useful for integrating external systems, automating workflows, and updating tickets based on business events.
Using the BoldDesk REST API, you can:
- Post a Public Reply to a ticket.
- Add a Public Note.
- Add a Private Note.
- Update Ticket Fields.
In this example, an Instant Cloud Flow is used as the trigger. However, you can use any Power Automate trigger that suits your business requirements.
Prerequisites
Before creating the flow, ensure that:
- You have access to Microsoft Power Automate.
- You have a valid BoldDesk account with API access.
- You have generated a valid BoldDesk API Key.
- You know your BoldDesk portal URL.
- You have permission to update tickets in BoldDesk.
- You have a valid Ticket ID available for testing.
Step 1. Create an Instant Cloud Flow
-
Go to Power Automate.
-
Click Create.
-
Select Instant Cloud Flow.
-
Choose a trigger and create the flow.
Step 2. Configure Trigger Inputs
You can configure input parameters that will be provided when the flow runs.
Common examples include:
-
Ticket ID
-
Reply content
-
Note content
-
Status ID
-
Agent email address
-
Ticket field values
These inputs can later be referenced as dynamic content within the flow.
Step 3. Add the HTTP Action
-
Click the + icon.
-
Select Add an action.
-
Search for HTTP.
-
Select the HTTP action.
Step 4. Configure the HTTP Request
Configure the HTTP action with the required API endpoint, authentication details, and request payload.
-
Set the Method to POST.
-
Enter the API endpoint URL.
-
Configure the required authentication header.
-
In the Body section, add the request payload.
-
Use dynamic values where required, such as Ticket ID, Agent Email, or other flow variables.
Sample Payload and API URL below for posting Public Reply:
URL: https://{yourdomain}.bolddesk.com/api/v1/ticketId/updates
{
"ticketStatusId": 3,
"cc": [
1000,
1002
],
"replyOnBehalfOfRequester": false,
"dontAppendOnBehalfOfRequesterMessage": false,
"description": "Ticket update has been posted",
"timeSpent": 5,
"messageTags": "tag1",
"updatedByuserIdorEmailId": "[email protected]",
"skipEmailNotification": false
}
Use your portal values for the ticketStatusId, updatedByuserIdorEmailId, and cc.
Save and Test the Flow
-
Click Save.
-
Once the flow is saved, click Test.
-
Run the flow using sample values.
-
Verify that the HTTP action completes successfully.
Kindly follow the same procedures for updating Ticket fields, Public and Private notes. The only differences will be in the URL and payload. The API URL and payload are provided below for your reference.
For Public Note
URL: https://{yourdomain}.bolddesk.com/api/v1/tickets/ticketId/notes?isPublicNote=true
{
"description": "Ticket public note has been posted",
"timeSpent": 5,
"messageTags": "tag1",
"updatedByuserIdorEmailId": "[email protected]",
"skipEmailNotification": false
}
For Private Note
URL: https://{yourdomain}.bolddesk.com/api/v1/tickets/ticketId/notes?isPublicNote=false
{
"description": "Ticket private note has been posted",
"timeSpent": 5,
"messageTags": "tag1",
"updatedByuserIdorEmailId": "[email protected]",
"skipEmailNotification": false
}
For Updating Ticket Fields
URL: https://{yourdomain}.bolddesk.com/api/v1/tickets/ticketId/update_fields?skipDependencyValidation=true
{
"fields": {
"categoryId": 11,
"typeId": 1,
"cf_application_name": "BoldDesk",
"cf_efforts_spent_in_hours": "10",
"cf_gitlab_yes": true,
"cf_incident_type": 75
}
}
Troubleshooting
401 Unauthorized
Possible Cause
- Invalid API key
- Missing authentication header
- Expired credentials
Resolution
- Verify the API key.
- Verify the Authorization header.
- Regenerate the API key if required.
403 Forbidden
Possible Cause
- Insufficient API permissions
- User cannot modify tickets
Resolution
- Verify agent permissions within BoldDesk.
- Ensure the API account has access to the ticket.
404 Not Found
Possible Cause
- Invalid Ticket ID
- Incorrect API endpoint
Resolution
- Confirm that the ticket exists.
- Verify the API URL.
400 Bad Request
Possible Cause
- Invalid JSON payload
- Invalid status ID
- Invalid field values
Resolution
- Validate the request body.
- Verify portal-specific IDs.
- Confirm custom field names and values.
Frequently Asked Questions
-
Can I use a trigger other than Instant Cloud Flow?
Yes. Any Power Automate trigger can be used, including scheduled triggers, SharePoint actions, Microsoft Forms submissions, Microsoft Teams actions, and external connectors. -
Can I update multiple ticket fields in one request?
Yes. Include all required field values inside the fields object of the request payload. -
Do custom fields require API names?
Yes. Custom fields must be referenced using their API names rather than their display names. -
Can I suppress email notifications?
Yes. Set: “skipEmailNotification”: true to prevent notifications from being sent.