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

# FortiCloud Asset Management

> Connect FortiCloud Asset Management to Triggr with a FortiCloud IAM API user to track Fortinet products, contracts and expiry dates.

Triggr lists, registers, updates and decommissions the Fortinet products on a FortiCloud account, with their contracts, expiry dates and licence files. To work with FortiGates themselves, use [FortiGate Cloud](https://kb.mspprocess.com/integrations/fortinet/fortigate-cloud.md), [FortiGate](https://kb.mspprocess.com/integrations/fortinet/fortigate.md) or [FortiManager](https://kb.mspprocess.com/integrations/fortinet/fortimanager.md).

You need to be the FortiCloud account's primary user or an IAM user with SysAdmin permissions.

## Set up FortiCloud

**1. Create a permission profile**

In [FortiCloud IAM](https://support.fortinet.com/iam), go to **Permission Profiles > Add New**, set Status to Active, click Add Portal and add Asset Management. Under Resources, choose Read Only, or Read & Write if workflows register, update or decommission products, then click Save.

**2. Add a dedicated API user**

Go to **Users > Add New > API User**, enter an Email, select the profile in Permission Profile and click Add. A FortiCloud API user can have only one active token, so don't share it with scripts, other tools or [FortiGate Cloud](https://kb.mspprocess.com/integrations/fortinet/fortigate-cloud.md).

**3. Download the credentials**

Click Download Credentials, set a password for the ZIP file and click Proceed. The file holds the API user's ID and password; each download resets them, and the previous ones stop working.

See Fortinet's [Adding an API user](https://docs.fortinet.com/document/forticloud/latest/identity-access-management-iam/282341/adding-an-api-user) guide.

## Connect it in Triggr

**1. Open the integration**

Go to **Integrations > FortiCloud Asset Management** and click **Configure** on the Base Configuration card.

![The Base Configuration card with Status Not Configured, Admin Consent Not Required and a Configure button.](https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/integrations-common/base-configuration.png?fit=max\&auto=format\&n=nyuVXZ1rouDTTEvu\&q=85\&s=bb81acb082055015f91beda7b4876f35)

**2. Enter the API user's credentials**

Enter the IAM API User Password and IAM API User ID from the credentials file, leave OAuth client\_id (optional) empty, then click **Save Configuration**.

![The FortiCloud Asset Management configuration window with IAM API User Password, IAM API User ID and OAuth client\_id (optional) fields, an Allow insecure TLS switch under Advanced, and a Save Configuration button.](https://mintcdn.com/triggr/nyuVXZ1rouDTTEvu/images/fortinet-forticloud-asset-management/configure.png?fit=max\&auto=format\&n=nyuVXZ1rouDTTEvu\&q=85\&s=2a0de03c631cc582fb24dff40c8da5b1)

There's no client mapping; workflows pick a product by serial number. List Products needs `serialNumber` or `expireBefore` in its body; to list everything, use a far-future date such as `{ "expireBefore": "2030-01-01T00:00:00" }`.

## Troubleshooting

> [accordion] Errors mentioning customerapiauth
>
> Fortinet rejected the sign-in. Use the API user's ID (not your sign-in email) and the newest credentials file, and check it lists `assetmanagement` as a client ID.

> [accordion] 401 or 403 errors from actions
>
> Changes need Read & Write on Asset Management. If the API user is used elsewhere, create a dedicated one for Triggr.

> [accordion] List Products returns no products
>
> The API user only sees the FortiCloud account it was created in.

> [accordion] Rate limits
>
> Fortinet allows 100 calls a minute, 1,000 an hour and 10 failed calls an hour. Run large workflows in smaller batches.


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