• Get started
  • Documentation

Integrate Opsgenie with Freshservice

Freshservice logo

Overview

What does the integration offer?

Use the Freshservice Integration to forward Freshservice alerts to Opsgenie. Opsgenie determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

How does the integration work?

  • When a new ticket is created in Freshservice, an alert is automatically created in Opsgenie through integration.

  • When the status of a triggered event is changed from 2 or 3 to 4 or 5, Opsgenieautomatically closes the alert.

If Send alert updates back to Freshservice is selected, actions for Freshservice are run in Freshservice when a chosen action is run in Opsgenie for alerts created by the Freshservice integration.

If Create Freshservice tickets for Opsgenie alert is selected, actions for Freshservice are run in Freshservice when a chosen action is run in Opsgenie for alerts with a different source than the integration itself. Learn more about mapping alert actions.

Set up the integration

Freshservice is a bidirectional integration. Setting it up involves the following steps:

  • Add a Freshservice integration in Opsgenie

  • Map alert actions

  • Configure the integration in Freshservice

Add a Freshservice integration

This integration is only available with Standard and Enterprise plans in Opsgenie, and Premium and Enterprise plans in Jira Service Management.

Adding the integration from your team dashboard will make your team the owner of the integration. This means Opsgenie will assign the alerts received through this integration to your team only. Follow the rest of the steps in this section to set up the integration.

To add a Freshservice integration in Opsgenie:

  1. Go to Settings > Integrations.

  2. Select Add integration.

  3. Run a search and select “Freshservice”.

  4. On the next screen, enter a name for the integration.

  5. Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.

  6. Select Continue.
    The integration is saved at this point.

  7. Expand the Steps to configure the integration section and copy the URL.
    You will use this URL while configuring the integration in Freshservice later.

  8. Select Turn on integration.
    The rules you create for the integration will work only if you turn on the integration.

Configure the integration in Freshservice

Instructions for new versions for Freshservice

1. From Admin > Workflow Automator, select New Automator and select Ticket.

2. Add a new event and set the following rules:

  • "Status Is Changed" From "Closed" To "Any Status" (for notifications on reopened tickets)

  • "Status Is Changed" From "Any Status" To "Close" (for notifications on closed tickets)

  • "Status Is Changed" From "Resolved" To "Any Status" (for notifications on reopened tickets)

  • "Status Is Changed" From "Any Status" To "Resolved" (for notifications on resolved tickets)

3. Add an Action for the event and select Trigger Webhook.

4. Paste the URL you copied while adding the integration in Opsgenie into Callback URL.

Freshservice action

5. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.

6. Select all the other fields in the content section.

7. Select Done.

8. Select Activate.

9. Add another event and set the following rule: "Note is Added" of type "Public" (for notifications on public notes).

10. Add an Action for the event and select Trigger Webhook.

11. Paste the URL you copied while adding the integration in Opsgenie into Callback URL.

12. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.

13. Paste the JSON from here.

14. Select Done.

Freshservice action

15. Select Activate.

Freshservice activate

16. Add another event and set the following rule: "Note is Added" of type "Private" (for notifications on private note).

17. Add an Action for the event and select Trigger Webhook.

18. Paste the URL you copied while adding the integration in Opsgenie into Callback URL.

19. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.

20. Paste the JSON from here.

Freshservice action

21. Select Done.

22. Select Activate.

Instructions for older versions of Freshservice UI

A Dispatch'r rule is needed to send Webhook notifications for new tickets, and an Observer rule to send notifications on ticket actions (such as add note, close, reopen, and so on).

Add Dispatch'r rule

  1. On the Admin > Dispatch'r Rule screen, select Add rule.

  2. Enter "Opsgenie Create Alert" for the name.

  3. In the actions section, select "Trigger Webhook" from dropdown.

  4. Paste the URL you copied while adding the integration in Opsgenie into Callback URL.

  5. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.

  6. Select all the other fields in the content section.

  7. Select Save.

Freshservice dispatch rule

Add Observer rule

  1. On the Admin > Observer Rule screen, select Add rule.

  2. Enter “Opsgenie Add Note Or Close Or Re-open" for the name.

  3. In the When Any of these events occur section, add the following conditions in the given order:

    1. "Status Is Changed" From "Closed" To "Any Status" (for notifications on reopened tickets)

    2. "Status Is Changed" From "Any Status" To "Close" (for notifications on closed tickets)

    3. "Status Is Changed" From "Resolved" To "Any Status" (for notifications on reopened tickets)

    4. "Status Is Changed" From "Any Status" To "Resolved" (for notifications on resolved tickets)

    5. "Note is Added" of type "Any" (for private and public note notifications)

  4. In the perform these actions section, select "Trigger Webhook" from the dropdown.

  5. Paste the URL you copied while adding the integration in Opsgenie into Callback URL.

  6. Select "POST" for the request type, "JSON" for encoding, and "Simple" for content.

  7. Select all the other fields in the content section.

  8. Select Save.

Freshservice observer rule

Map alert actions

Define mappings between Opsgenie actions and Freshservice actions.

For alerts created by Freshservice

In the Send alert updates back to Freshservice section, map Opsgenie actions to Freshservice actions when the alert source is Freshservice (the alert is created by the integration itself). For example, you can add a public comment to the Freshservice ticket when the alert is acknowledged. To do this, define If alert is acknowledged in Opsgenie, a public comment to the ticket in Freshservice.

For the other Opsgenie alerts

In the Create Freshservice tickets for Opsgenie alerts section, map Opsgenie actions to Freshservice actions when the alert source is NOT Freshservice (the alert source is some other integration).

  • Map one Opsgenie action to create a ticket in Freshservice action. The Opsgenie action does not have to be alert is created; you can select from a list of Opsgenie actions for this mapping. However, this rule won’t work if you use SSO to log in to Freshservice.

  • The actions a tag is added to the alert and a custom action is executed on alert slightly differ from the rest of the actions. When you select either, you will see an extra field to specify for which tag or for which custom action this mapping should work.

  • You can enter multiple comma-separated tags. If you enter multiple tags, the mapping will work if the alert has one or more of the specified tags. Leave the tags field empty if you want the mapping to work for any tag.

  • If you map a Opsgenieaction to multiple Freshservice actions, you will get an error except for the a tag is added to the alert and a custom action is executed on alert actions. You can save multiple mappings for these actions because they will differ by the given tags and the given custom action names.

Sample payload sent from Freshserviceto Opsgenie

(in JSON format)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 { "freshdesk_webhook": { "ticket_id": "INC-3", "ticket_subject": "trial", "ticket_description": "Test ticket", "ticket_url": "https://opsgenie.freshservice.com/helpdesk/tickets/3", "ticket_public_url": "https://opsgenie.freshservice.com/public/tickets/cfc13eb4a143ef632d219870a11ee6cd", "ticket_portal_url": "https://opsgenie.freshservice.com/support/tickets/3", "ticket_due_by_time": "Thu, 27 Aug, 2015 at 3:36 PM GMT +0300", "ticket_tags": "tag1, tag", "ticket_latest_public_comment": null, "ticket_group_name": "grp1", "ticket_agent_name": "agent1", "ticket_agent_email": "agent1@asd.com", "ticket_satisfaction_survey": "asd", "ticket_department_name": "Customer Support", "approval_url": null, "approval_portal_url": null, "ticket_status": "Open", "ticket_priority": "Low", "ticket_source": "Phone", "ticket_type": "Incident", "ticket_requester_name": "Tuba Ozturk", "ticket_requester_firstname": "Tuba", "ticket_requester_lastname": "Ozturk", "ticket_requester_email": "tubaozturk92@gmail.com", "ticket_requester_phone": "1234", "ticket_requester_address": "", "helpdesk_name": "opsgenie", "triggered_event": "{ticket_action:created}" } }

Opsgenie parses this payload as follows:

(in JSON format)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 { "ticket_id" : "2", "subject" : "test subject", "description" : "test deskripsiyon", "url" : "2", "portal_url" : "https://opsgenie.freshdesk.com/support/tickets/2", "due_by_time" : "March 23 2016 at 10:06 AM", "tags" : [ "tag1", "tag2" ], "latest_public_comment" : "pablik", "group_name" : "Product Management", "agent_name" : "eycint", "agent_email" : "agent1@asd.com", "satisfaction_survey" : "test data", "status" : "Open", "priority" : "Medium", "source" : "Phone", "ticket_type" : "Incident", "requester_name" : "halit okumus", "requester_first_name" : "halit", "requester_last_name" : "Incident", "requester_phone" : "1222", "requester_address" : "adres", "company_name" : "OpsGenie", "company_description" : "compa desc", "company_note" : "compnot", "helpdesk_name" : "opsgenie", "event_type" : "Create" }

Still need help?

The Atlassian Community is here for you.