> ## Documentation Index
> Fetch the complete documentation index at: https://docs.serval.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpsRamp (Beta)

> Connect OpsRamp to work with alerts, resources, tickets, monitoring, automation, and patching from Serval workflows.

The OpsRamp integration uses a Custom Integration's Key and Secret to access the OpsRamp cloud v2 APIs. It is in beta. Your workflows can search and update resources, work with alerts and tickets, read metrics, configure monitoring, and manage automation and patching through **OpsRamp API request**.

Connecting OpsRamp does not import records, subscribe to alerts, create Serval work items, or synchronize a CMDB. Those operations need workflows that you configure. The integration does not provide an inbound webhook or automatic ticket synchronization.

## Create OpsRamp credentials

1. In OpsRamp, open **Setup > Integrations > Integrations**.
2. Under **Available Integrations**, select **Other > Custom Integration** and install it.
3. Assign a role with the permissions your workflows need. Use a dedicated integration and the smallest appropriate role. Creating tickets, changing monitoring, executing jobs, and installing patches need different permissions.
4. Copy the integration's **Key**, **Secret**, and **API Endpoint**. Use the API endpoint, rather than the browser login URL or a gateway address.
5. Find the target client's **Tenant ID** under **Setup > Accounts**. OpsRamp documents UUIDs and identifiers such as `client_1234` and `msp_1234`.

See OpsRamp's [Getting Started](https://develop.opsramp.com/v2) and [Custom Integration](https://docs.opsramp.com/integrations/custom-integration/custom-integration/) guides for the provider's setup instructions.

## Connect to Serval

Select OpsRamp when adding an integration to your workspace, then enter:

| Field | Value |
| - | - |
| API host | The hostname from your API Endpoint, such as `api.opsramp.com` or `acme.api.opsramp.com`. An `https://` prefix is accepted. Paths, ports, and login or gateway hosts are not supported. |
| Tenant ID | The OpsRamp client or partner identifier your workflows target. |
| Key | Your Custom Integration's Key. |
| Secret | Its matching Secret. |

Serval exchanges the credentials for short-lived access tokens. You do not need to copy or periodically replace an access token. Catalyst help is available in the connection form.

Each connection targets one API host and tenant in request URLs. With partner credentials, create a separate connection for each client you intend to manage; the client's identifier belongs in **Tenant ID**. Partner-level endpoints require the partner's own identifier and appropriate permissions. OpsRamp also checks resource and client identifiers in filters and request bodies against your credential's permissions.

To rotate credentials, reconnect and replace the Key and Secret together. Leaving an existing masked Secret unchanged preserves it. To change the API host or Tenant ID, create a new connection.

## Check the connection

The connection check reads one page of resources. Three health workflows check resource, alert, and incident-ticket reads separately. An empty successful response is valid. Passing a read check does not establish write permissions or prove that an automation or patch operation will succeed.

## Work with the API

| API area | Examples |
| - | - |
| Alerts | Search alerts, inspect history, acknowledge or close alerts, manage escalation and maintenance settings. |
| Resources | Search inventory, read availability and discovered services, manage resource groups and sites. |
| Tickets | Search and create supported ticket types, add notes and responses, inspect custom fields and status settings. |
| Metrics and monitoring | Read metrics, manage monitoring templates, and work with syslog rules. |
| Automation | Manage jobs and process workflows, start supported actions, and inspect their status. |
| Patching | Inspect compliance and baselines, scan resources, and request patch installation. |

Use the [OpsRamp v2 reference](https://develop.opsramp.com/v2) for each operation's required fields and permissions. Ticket entity names are case-sensitive, and custom forms, required fields, statuses, and assignment identifiers vary by tenant. Read those settings before building a create or update request.

Use the operation's path template with unencoded values in `pathParams`. Each value must identify one path segment; separators, encoded route fragments, and `.` or `..` are rejected. Put search filters in `query` instead of embedding them in the path.

### Searches and pagination

Each API request returns one response, including its pagination fields. Follow `nextPage`, `nextPageNo`, or the endpoint's documented continuation fields to retrieve additional pages. The integration does not fetch them automatically.

OpsRamp's `queryString` combines filters with `+`. Supply the unencoded value to the action; the request layer encodes query values. Invalid optional filters can be ignored by OpsRamp, so inspect the returned identifiers before using search results in a write operation. Resource searches default to managed resources, and ticket searches without a creation-date range default to the last 30 days. An empty search does not establish that older or unmanaged records are absent. See [API Overview](https://develop.opsramp.com/v2/api-overview), [Search Resources](https://develop.opsramp.com/v2/api/resource-management/tenantid-resources-search), and [Search Tickets](https://develop.opsramp.com/v2/api/tickets/tenantid-ticketentity-search).

### Retries and asynchronous operations

OpsRamp applies limits per tenant and API category. Reduce concurrency when you receive HTTP 429 and consult the provider's rate-limit response headers. An accepted automation or patch request is not completion: use the corresponding status operation before reporting success.

The integration does not automatically retry API operations. Some OpsRamp `GET` requests execute actions, so the HTTP method alone does not establish that a retry is safe. After a timeout or ambiguous write failure, inspect the operation's status before retrying. An expired-token response clears the cached token for the next request without replaying the failed operation.

## Troubleshooting

| Symptom | What to check |
| - | - |
| Credentials rejected | Confirm the Key and Secret belong to the same Custom Integration and have not been rotated or revoked. |
| A read works but another operation fails | Check the integration's role, the target client, required fields, and permission for that operation. |
| HTTP 407 | OpsRamp documents this as an expired access token. The next request obtains a new token. |
| HTTP 410 | Check whether the OpsRamp tenant is disabled. |
| HTTP 429 | Reduce request frequency and concurrency; follow the provider's rate-limit headers. |
| Wrong or unexpectedly broad search results | Verify the filter names, values, encoding, date window, and pagination. OpsRamp can ignore invalid filters. |

## Scope

The integration covers the cloud v2 alerts, resource management, tickets, metrics, monitoring, automation, and patching APIs. It excludes gateway-local APIs, v3 graph and alert-definition APIs, user and role administration, integration administration, knowledge management, reporting exports, binary transfers, and routes whose published definitions are ambiguous. Use the operations shown by Serval's action picker as the supported surface.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.