Freshservice
Integrate Freshservice and Apono with your access requests
Integrating Freshservice with Apono allows users to create a Freshservice ticket that triggers an access request in Apono. Depending on your preferred workflow, you can then manage approvals in Slack, Microsoft Teams, CLI, or the Apono web portal.
This solution is customizable. Approvals can either be handled within Freshservice or through Apono’s approval flows in external tools.
Prerequisites
Apono API Token
Credentials enabling secure, programmatic access to the Apono API
Apono IDs
Apono identifiers required for the Freshservice integration:
Integration ID
Resource ID
Permissions
Follow these steps to obtain these IDs:
On the Inventory page, on the Resources tab, click Basic.
From the Integration dropdown menu, select one integration. Only the resources associated with the integration will be displayed.
Click a resource from the list. The Entitlements Details panel appears.
From the page URL, copy the values for the
integrationandresourceIdquery strings.In the Entitlements Details panel, on the Entitlements tab, copy each of the values under the PERMISSION column.
Freshservice Admin Permission
Permission to manage all features except billing
Build a workflow
Freshservice's user interface and features may change over time. If any of the following steps have changed, please refer to Freshservice's documentation.
Freshservice's Workflow Automator allows you to define the events and conditions that trigger an access request, and configure the necessary web requests to communicate with the Apono API.

Follow these steps to build a workflow:
In Freshservice, click Admin. The admin page appears.
In the search field, enter Workflow Automator.
Click Workflow Automator. The Workflow Automator page appears.
Click New Workflow. The New Workflow panel opens.
Enter a meaningful Title for the workflow.
Select the relevant Module.
Under Workflow Type, select Event Based Workflow.
Click Create. The New Workflow panel closes and the Event panel opens.
Define the event that triggers this workflow.
Defining an Event

Follow these steps to define an event:
In the first field, build the event from the dropdown options.
Select who can perform the event.
Click Done. The Event panel closes. The module appears on the canvas.
(Optional) Define a condition for the event.
Defining a Condition
Follow these steps to define a condition:
From the side menu, click and drag a Condition module to the canvas. The Condition panel opens.
Define the condition with the Match or Build Expression option.
Click Done. The Condition panel closes. The module appears on the canvas.
Define a web request to retrieve the user's ID.
Defining a Web Request

Follow these steps to retrieve the user's ID:
From the side menu, click and drag a Web Request module to the canvas. The Web Request panel opens.
If a condition has been added, be sure that the module is positioned at the end of the YES branch
Under Request Type, select GET.
Under Endpoint, enter https://api.apono.io/api/v2/users/{{ticket.from_email}}.
From the Credentials dropdown menu, select Inline Credential.
From the Authentication Type dropdown menu, select API key.
Under Key, enter Authorization.
Under Value, enter Bearer APONO_API_TOKEN. Be sure to replace APONO_API_TOKEN with the value of your Apono personal API token.
At the bottom of the panel, in the Enter Label field, add a label for the web request module, such as Grab User ID.
Click Done. The Web Request panel closes. The module appears on the canvas.
Parse the user ID.
Defining a JSON Parser

Follow these steps to define the JSON parser:
From the side menu, click and drag a JSON Parser module to the canvas. The JSON Parser panel opens.
Under Source, click { + }. The Placeholders menu appears.
Click Web Request Fields > response_body.
Click X to close the Placeholders menu.
Copy and paste the following JSON object into the JSON field.
Click Generate Output to generate the fields necessary for the next step. The output appears in the Output panel.
In the Enter Label field, enter a label for the module, such as Parse User ID.
Click Done. The JSON Parser panel closes. The module appears on the canvas.
Define a web request to create an access request.
Defining a Web Request

Follow these steps to create an access request:
From the side menu, click and drag a Web Request module to the canvas.
Under Request Type, select POST.
Under Endpoint, enter https://api.apono.io/api/v3/access-requests.
From the Credentials dropdown menu, select Inline Credential.
From the Authentication Type dropdown menu, select API key.
Under Key, enter Authorization.
Under Value, enter Bearer APONO_API_TOKEN. Be sure to replace APONO_API_TOKEN with the value of your Apono personal API token.
Copy and paste the following JSON payload into the Body field. This payload contains all the parameters required by the Apono API.
Be mindful of the following points regarding this payload:
Be sure to replace the following placeholders with the actual Apono ID values:
APONO_INTEGRATION_IDRESOURCE_ID_1,RESOURCE_ID_2PERMISSION_1,PERMISSION_2
Click Insert Placeholders to verify the placeholders. The Placeholders window opens.
For
user_id, check Parser Fields > P1 - Parse User ID > root > id.For
justification, check Tickets > Description. The_textappended to the placeholder ensures that additional HTML is removed from the description.
Add a header:
Under Headers, click Add Header.
Under Key, enter Content-Type.
Under Value, enter application/json.
At the bottom of the panel, in the Enter Label field, add a label for the module, such as Access Request.
Click Done. The Web Request panel closes. The module appears on the canvas.
Click Activate. The Activate Automator popup window appears.
Click Confirm.
Last updated
Was this helpful?
