> ## 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.

# Ivanti Neurons for ITSM

## About Ivanti Neurons for ITSM

Ivanti Neurons for ITSM is an IT-service-management platform. Connecting it to Serval lets you build workflows that read and write Ivanti business objects (incidents, service requests, changes, problems, tasks, and custom objects) through Ivanti's OData REST API.

## What the Ivanti Neurons for ITSM integration enables

| Capability           | Description                                                                        |
| -------------------- | ---------------------------------------------------------------------------------- |
| Automation workflows | Trigger automated processes that query, create, and update Ivanti business objects |
| API access           | Make authenticated calls to the Ivanti OData/REST API from Serval workflows        |

<Info>
  This integration connects Serval to the Ivanti API for workflow automation. Bidirectional ticket sync is not part of this integration.
</Info>

***

## Ivanti configuration (in Ivanti)

You authenticate Serval with an Ivanti **API Key** (the **Reference ID** of a REST API Key). The key is tied to the tenant, is static, and does not expire.

<Steps>
  <Step title="Create a REST API group (first time only)">
    In the Ivanti Configuration Console, go to **Security Controls** → **API Keys**.

    If you have never used REST API keys on this tenant, create a group for REST API access first. If a group already exists, skip to the next step.
  </Step>

  <Step title="Create a REST API Key">
    1. Click **Add API Key**. The **New API Key** page opens.
    2. The **Reference ID** field is auto-generated — this value is the API Key you will paste into Serval.
    3. (Optional) Restrict the key to specific source IPs by clicking **Add New IP** and entering the address. If you do this, the key only works for requests from those IPs.
    4. Save the key.

    <Warning>
      A REST API Key only works for the tenant it was created on — a key from one tenant cannot authorize calls to another. If you later see a "not authorized" error, confirm the key belongs to this tenant (and that the request comes from an allowed IP, if you set IP restrictions).
    </Warning>
  </Step>

  <Step title="Confirm the service account's permissions">
    The API Key inherits the permissions of the account/role it is associated with. Make sure that account can read and modify the business objects (incidents, service requests, etc.) your workflows will use.
  </Step>
</Steps>

***

## Serval configuration

1. In Serval navigate to **Apps → Available → Ivanti ITSM → Connect**.
2. Complete the form:

   | Field      | Value                                                                                                                           |
   | ---------- | ------------------------------------------------------------------------------------------------------------------------------- |
   | Tenant URL | Your Ivanti tenant host, without `https://` or any path. For `https://company.ivanticloud.com` enter `company.ivanticloud.com`. |
   | API Key    | The **Reference ID** from the REST API Key you created above.                                                                   |
3. Click **Save**.

Serval sends the key on each request as `Authorization: rest_api_key={Reference ID}`; you do not need to format the header yourself.

Once connected, Serval can query and update Ivanti business objects according to the permissions of the account behind the API Key.

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="“Not authorized” errors">
    * Confirm the API Key (Reference ID) was created on the **same tenant** you entered as the Tenant URL.
    * If you added IP restrictions to the key, make sure Serval's egress IPs are allowed.
    * Confirm the key is still **active** in **Security Controls → API Keys**.
  </Accordion>

  <Accordion title="Connection fails immediately after saving">
    * Make sure the Tenant URL is a host only — no `https://`, no `/api/...` path, no trailing slash. For example `company.ivanticloud.com`.
    * The tenant host must be an Ivanti Cloud (`*.ivanticloud.com`) address.
  </Accordion>

  <Accordion title="Workflow can read but not create/update records">
    The account behind the API Key does not have write permission on that business object. Update the account's role in Ivanti to grant the needed access.
  </Accordion>
</AccordionGroup>
