App Catalog

Create app catalog workflow

idApp comes from the apps list. Access workflows start from the catalog template.<br/><br/>Build the graph in steps: create, read the new workflow’s placeholders (GET /workflows/{idWorkflow}/config), then update actions.<br/><br/>A new access workflow runs only once an access request policy uses it, and that link is set in the App Catalog in Torii, not through the API.<br/><br/>

<p><ul><li>Rate limit: 50 requests per minute</li></ul></p>
post/appCatalog/workflows

Request

  • Base URL
    https://api.toriihq.com/v1.0
  • Auth
    API key in header Authorization

Request body

triggerType'requestAccess' | 'temporaryAccessExpired' | 'requestNewApp' required

requestAccess = provisioning workflow and temporaryAccessExpired = deprovisioning workflow (both in the Access workflows tab); requestNewApp = new app request policy.

idAppinteger

Required for requestAccess and temporaryAccessExpired: the app the workflow provisions or deprovisions. Not allowed for requestNewApp.

namestring

Display name. Defaults to <app name> provisioning workflow or <app name> deprovisioning workflow, with (N) added when the app already has N workflows of that kind; New app request policy (N) for a new app request policy.

idinteger

Read-only. Ignored on write.

isDefaultboolean

Read-only. Ignored on write.

isValidboolean

Read-only. Ignored on write.

isDeletedboolean

Read-only. Ignored on write.

createdByinteger

Read-only. Ignored on write.

creationTimestring date

Read-only. Ignored on write.

executionsCountinteger

Read-only. Ignored on write.

Example request

{
  "triggerType": "requestAccess",
  "idApp": 1234,
  "name": "Zoom provisioning",
  "actions": {
    "idRootNode": null,
    "nodes": {}
  },
  "id": 987,
  "isValid": true,
  "createdBy": 55,
  "creationTime": "2026-10-26T10:00:00.000Z",
  "usedByPolicies": [
    {
      "idAccessRequestPolicy": 12,
      "idApp": 1234,
      "name": "Zoom — standard"
    }
  ],
  "executionsCount": 42,
  "latestExecution": {
    "status": "COMPLETED",
    "creationTime": "2026-10-26T09:12:00.000Z",
    "completionTime": "2026-10-26T09:12:05.000Z"
  }
}

Response

Created

Example response

{
  "workflow": {
    "id": 987,
    "name": "Zoom provisioning",
    "triggerType": "requestAccess",
    "idApp": 1234,
    "actions": {
      "idRootNode": null,
      "nodes": {}
    },
    "isValid": true,
    "isActive": true,
    "createdBy": 55,
    "creationTime": "2026-10-26T10:00:00.000Z",
    "usedByPolicies": [
      {
        "idAccessRequestPolicy": 12,
        "idApp": 1234,
        "name": "Zoom — standard"
      }
    ],
    "executionsCount": 42,
    "latestExecution": {
      "status": "COMPLETED",
      "creationTime": "2026-10-26T09:12:00.000Z",
      "completionTime": "2026-10-26T09:12:05.000Z"
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.