> For the complete documentation index, see [llms.txt](https://sitasys-ag.gitbook.io/evalink-talos/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sitasys-ag.gitbook.io/evalink-talos/management-api/workflows.md).

# Manage workflows

## Introduction

Managed workflows allow you to define & manage your workflows globally and selectively link them to specific sites.

Global workflows are only used as a fallback option when there is no workflow defined on-site level for a specific.

## create a new workflow from a template

<mark style="color:green;">`POST`</mark> `https://talos-app.io/api/workflow-service/workflows/create-from-template`

Use this endpoint to create a new workflow from a new template.

#### Headers

| Name          | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| Authorization | string | Use "Bearer" followed by your API Token. |

#### Request Body

| Name               | Type   | Description                             |
| ------------------ | ------ | --------------------------------------- |
| userId             | string | The needed userId                       |
| workflowTemplateId | string | The Id of the template you will create. |
| alarmId            | string | The alarmId related to this template.   |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## list the workflow's template by companyId

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/workflow-service/workflow-templates/search/findByCompanyId{companyId}`

Use this endpoint to get the templates by their companyId

#### Path Parameters

| Name      | Type   | Description                   |
| --------- | ------ | ----------------------------- |
| companyId | string | The companyId of the company. |

#### Headers

| Name          | Type   | Description                             |
| ------------- | ------ | --------------------------------------- |
| Authorization | string | Use "Bearer" followed by your API-Token |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## list the workflow by the alarmId

<mark style="color:blue;">`GET`</mark> `https://talos-app.io/api/workflow-service/workflows/search/findByAlarmId`

Use this endpoint to get workflows by their alarmId.&#x20;

#### Path Parameters

| Name          | Type   | Description                             |
| ------------- | ------ | --------------------------------------- |
| Authorization | string | Use "Bearer" followed by your API-Token |

#### Query Parameters

| Name    | Type   | Description                      |
| ------- | ------ | -------------------------------- |
| alarmId | string | The alarmId of the needed alarm. |

{% tabs %}
{% tab title="200 " %}

```
{
  "alarmAttachmentStrategy": "NEVER",
  "alarmId": "string",
  "automated": true,
  "companyId": "string",
  "createdDate": 0,
  "deviceGroupId": "string",
  "deviceId": "string",
  "editingUserId": "string",
  "entityStatus": "string",
  "id": "string",
  "links": {
    "empty": true
  },
  "outcome": "string",
  "outcomeList": "string",
  "parkedUntil": 0,
  "reportingMode": "EVENT_LOG_ONLY",
  "rootBlockId": "string",
  "shortId": "string",
  "workflowStatus": "ABORTED",
  "workflowTemplateId": "string",
  "workflowTemplateName": "string"
}
```

{% endtab %}
{% endtabs %}

## delete the workflow by its id

<mark style="color:red;">`DELETE`</mark> `https://talos-app.io/api/workflow-service/workflows/{id}`

Use this endpoint to delete a workflow using its id.

#### Path Parameters

| Name | Type   | Description   |
| ---- | ------ | ------------- |
| id   | string | The needed id |

#### Headers

| Name          | Type   | Description                             |
| ------------- | ------ | --------------------------------------- |
| Authorization | string | Use "Bearer" followed by your API-Token |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## update the workflow by its id

<mark style="color:purple;">`PATCH`</mark> `https://talos-app.io/api/workflow-service/workflows/{id}`

It updates the workflow by its Id.

#### Path Parameters

| Name | Type   | Description   |
| ---- | ------ | ------------- |
| id   | string | The needed Id |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | Use "Bearer" followed by the API-Token |

#### Request Body

| Name      | Type   | Description           |
| --------- | ------ | --------------------- |
| deviceId  | string | The Id of the device  |
| companyId | string | The Id of the company |
| alarmId   | string | The Id of the alarm   |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

```
{
  "alarmAttachmentStrategy": "NEVER",
  "alarmId": "string",
  "automated": true,
  "companyId": "string",
  "createdDate": 0,
  "deviceGroupId": "string",
  "deviceId": "string",
  "editingUserId": "string",
  "id": "string",
  "outcome": "string",
  "outcomeList": "string",
  "parkedUntil": 0,
  "reportingMode": "EVENT_LOG_ONLY",
  "rootBlockId": "string",
  "shortId": "string",
  "workflowStatus": "ABORTED",
  "workflowTemplateId": "string",
  "workflowTemplateName": "string"
}
```
