OpsRamp

Integrate Squadcast bi-directionally with OpsRamp

OpsRamp is an IT infrastructure monitoring and management tool. With this integration, we should be able to get incidents from OpsRamp into Squadcast and sync the Incident status and assigned user information bidirectionally.

Please follow the below steps to Integrate and configure Squadcast with OpsRamp.

Create Global Squadcast custom Integration in OpsRamp

In your OpsRamp dashboard, go to the Integrations page and do not select any clients and click on the Custom Integration button.

Enter the name of the integration as SquadcastHQ and optionally upload the Squadcast logo image and click on the Install button.

Configure Inbound settings (Squadcast to OpsRamp)

In the Custom Integration details page, in the Inbounds tab, select the Authentication type as OAuth2 and click Save.

Then copy the generated Key, Secret and Base URL and keep it somewhere safe. The Base URL can be copied from the Access token url and will be in this format: https://xxxxxx.api.opsramp.com

Configure OpsRamp integration in Squadcast

Go to your Squadcast dashboard and visit the Integrations page and click on the Integrate button under OpsRamp.

Paste the key we obtained from the previous step under Cliend ID, secret under Client secret , Partner Unique ID and the Base URL and click Save.

You can find the Partner Unique ID from your Partner Details page under Account Management in your OpsRamp dashboard.

Create an OpsRamp Service in Squadcast

Go to the Services page in Squadcast and click on the Add Service button and enter the Service Name, Service Description and select the Integration type as OpsRamp and assign an escalation policy.

Copy the generated OpsRamp Webhook URL and click Save.

Configure Outbound settings (OpsRamp to Squadcast)

Go back to your Squadcast custom Integration page in OpsRamp and click on the Outbound tab.

Select the Notification Type as REST API and paste the OpsRamp webhook URL that you obtained from the previous step in the Base URL and then select NONE for Authentication type and click the Save button.

Note: OpsRamp status mapping will be auto handled by Squadcast.

Then select Integration Events and click on the Add button to add the Create Incident and Update Incident events.

Create Incident Event

Enter the Name as Create Incident and the On values as Service Desk, Incident and Create.

Then select the Web Method as POST and add headers Accept and Content Type as application/json and paste the below content as payload and click Save.

{
"incident_id": "$incident.uniqueId",
"subject": "$incident.subject",
"description": "$incident.impact",
"status": "$incident.status.name",
"priority": "$incident.priority.name",
"assigned_user_fullname": "$incident.assignedTo.fullName",
"assigned_user_email": "$incident.assignedTo.email",
"access_url": "$utils.ticketAccessURL($incident.id,$incident.client.id,$incident.msp.id,$incident.serviceProviderId)",
"status_updatedby_fullname": "$incident.statusUpdatedBy.fullName",
"status_updatedby_email": "$incident.statusUpdatedBy.email",
"client_name": "$incident.client.name",
"client_id": "$incident.client.uniqueId",
"type": "incidents"
}

Incident Update Event

Enter the Name as Incident Update and the On values as Service Desk, Incident and Update.

Then select the Web Method as POST and add headers Accept and Content Type as application/json and paste the below content as payload and click Save.

{
"incident_id": "$incident.uniqueId",
"subject": "$incident.subject",
"description": "$incident.impact",
"status": "$incident.status.name",
"priority": "$incident.priority.name",
"assigned_user_fullname": "$incident.assignedTo.fullName",
"assigned_user_email": "$incident.assignedTo.email",
"access_url": "$utils.ticketAccessURL($incident.id,$incident.client.id,$incident.msp.id,$incident.serviceProviderId)",
"status_updatedby_fullname": "$incident.statusUpdatedBy.fullName",
"status_updatedby_email": "$incident.statusUpdatedBy.email",
"client_name": "$incident.client.name",
"client_id": "$incident.client.uniqueId",
"type": "incidents"
}

Create Service Request Event

Enter the Name as Create Service Request and the On values as Service Desk, Service Request and Create.

Then select the Web Method as POST and add headers Accept and Content Type as application/json and paste the below content as payload and click Save.

{
"incident_id": "$serviceRequest.uniqueId",
"subject": "$serviceRequest.subject",
"description": "$serviceRequest.impact",
"status": "$serviceRequest.status.name",
"priority": "$serviceRequest.priority.name",
"assigned_user_fullname": "$serviceRequest.assignedTo.fullName",
"assigned_user_email": "$serviceRequest.assignedTo.email",
"access_url": "$utils.ticketAccessURL($serviceRequest.id,$serviceRequest.client.id,$serviceRequest.msp.id,$serviceRequest.serviceProviderId)",
"status_updatedby_fullname": "$serviceRequest.statusUpdatedBy.fullName",
"status_updatedby_email": "$serviceRequest.statusUpdatedBy.email",
"client_name": "$serviceRequest.client.name",
"client_id": "$serviceRequest.client.uniqueId",
"type": "serviceRequests"
}

Update Service Request Event

Enter the Name as Update Service Request and the On values as Service Desk, Service Request and Update.

Then select the Web Method as POST and add headers Accept and Content Type as application/json and paste the below content as payload and click Save.

{
"incident_id": "$serviceRequest.uniqueId",
"subject": "$serviceRequest.subject",
"description": "$serviceRequest.impact",
"status": "$serviceRequest.status.name",
"priority": "$serviceRequest.priority.name",
"assigned_user_fullname": "$serviceRequest.assignedTo.fullName",
"assigned_user_email": "$serviceRequest.assignedTo.email",
"access_url": "$utils.ticketAccessURL($serviceRequest.id,$serviceRequest.client.id,$serviceRequest.msp.id,$serviceRequest.serviceProviderId)",
"status_updatedby_fullname": "$serviceRequest.statusUpdatedBy.fullName",
"status_updatedby_email": "$serviceRequest.statusUpdatedBy.email",
"client_name": "$serviceRequest.client.name",
"client_id": "$serviceRequest.client.uniqueId",
"type": "serviceRequests"
}

With this we have completed the Integration. Now you can follow the below steps to enable Squadcast Integration for individual clients in OpsRamp.

Enable Squadcast Integration for clients

Go to the Integrations page and select the client for whom you want to enable the Squadcast Integration, click on Custom Integration.

In the Install Custom Integrations dialog, Enter the name for the integration (Squadcast) and optionally upload the Squadcast logo and make sure the Use Partnet configuration and events checkbox is enabled and then select SquadcastHQ from the drop down and click on the Install button.

Repeat this step for all the clients to whom you want the Squadcast integration enabled.