Freshservice

With Opal's Freshservice integration, you can:

  • Sync access requests with Freshservice tickets to grant access for the lifetime of the ticket
  • Create audit tickets for access requests
  • Propagate access to end systems using Freshservice tickets

Configuration requirements

To connect Freshservice with Opal, you must:

  • Be an Opal Admin
  • Have admin access to your Freshservice account to generate an API key
  • Be on version 1.1.065.1 and later, if you self-host Opal

1. Create a Freshservice API key

To enable the Freshservice integration, an administrator of your Freshservice account should create an API key:

  1. Log in to your Freshservice account
  2. Click on your profile icon in the top right corner
  3. Go to Profile Settings
  4. Navigate to the API Key section in the right sidebar
  5. Copy your existing API key or generate a new one
  6. Save the generated key—you'll use it in the next step

2. Add your Freshservice details to Opal

In Opal, go to Configuration > Organization Settings > Productivity Integrations and select Connect next to Freshservice.

Enter your Freshservice domain (e.g., if your Freshservice URL is https://acme.freshservice.com, enter acme.freshservice.com) and the API key from the previous step, then save the integration.

Access requests with Freshservice tickets

After you integrate Freshservice, when making an access request, you can enable the option to Expire access when ticket is closed, which allows Opal to reference existing Freshservice tickets.

When you select Search for tickets, a list of Freshservice tickets populates, showing tickets assigned to you in Freshservice based on the Freshservice account that corresponds to your Opal email address.

Click on any of these support tickets to attach the ticket to the access request.

By default, an expiration time bound is required when making any access request. After the request is approved, access expiration is determined by the combination of this expiration time bound and the closure of the support ticket. Access will expire according to the minimum of these two events: if the ticket is closed before the expiration time bound is reached, access will be revoked when the ticket is closed. Similarly, if the expiration time bound is reached before the closure of the ticket, access is revoked when the expiration time bound is reached.

If you want to attach an access request to a support ticket without an expiration time bound, you may select Indefinite under the expiration options and bind the request to a support ticket.

Create audit tickets

To create audit tickets in Freshservice for every access request, enable Freshservice as a ticketing provider under Configuration > Organization Settings > Access Requests.

Whenever a user requests access in Opal, Opal creates a ticket in Freshservice, allowing you to audit every access request in your own system. Audit tickets are auto-closed by Opal when access expires. You can manually close audit tickets in Freshservice, but this has no effect in Opal.

Propagate access with tickets

See the ticket propagation guide to learn how to propagate access with tickets connected to your Freshservice account. This can be especially useful for systems that still require manual access propagation and require someone to be notified via a ticket.