In order to make the first comment in child tickets private, we'll need to create a Zendesk target that will be called on ticket creation to convert the public comment into a private.
So, first, you'll need to navigate to Zendesk Settings > Extensions > Add target > HTTP target
Title: MPM Make Comment Private
URL:
https://<SUBDOMAIN>.zendesk.com/api/v2/tickets/{{ticket.id}}/comments/{{ticket.latest_comment.id}}/make_private.json
Note: Replace <SUBDOMIAN> with your subdomain
Method: PUT
Content-type: JSON
Basic authentification: Enabled
Username: It should be an email from admin slash token - For example admin@myndbend.com/token
Password: Generate API token and paste it as password
Select "Update target" and click save.
Once this is created, in triggers, you will see a new option in Notify target in your triggers - Called MPM Make comment private. We need to send an empty body like this:
Zendesk will give you a validation error for empty but just ignore it.
This will turn the latest comment on the ticket into a private comment.
Now, in order to turn first comment private, in your ticket template add some tag - for example - mpm_make_first_comment_private
Create a new trigger with conditions:
- Ticket is created
- Tags contain at least one of the following - mpm_make_first_comment_private
Actions:
- Notify target MPM Make Comment Private
This will turn the first comment into a private comment on child ticket creation. However, that comment was public for a split second and may trigger an email to your requester in case you're creating child tickets in the name of the requester.
All of the emails are sent via triggers in Zendesk - Zendesk has a couple of triggers that handle it and those are created in Zendesk when you first start using it. Notifying requester the triggers are called "Notify requester on _____".
You'll need to modify those triggers to make sure your requesters don't receive the initial email. Options we have here:
- If you don't want them to receive any emails on child tickets - just add the condition that tags don't contain tag mpm_child_ticket
- If you don't want them to receive the initial email add a condition that the ticket doesn't contain mpm_make_first_comment_private (in this case you need to add action to the trigger that uses this tag to remove it as well)
Those are some of the options, but you'll need to tweak them to match your use cases.