Skip to content

The Process List

View recently executed processes in the process list. All processes are listed in reverse chronological order, with the most recent process at the top.

The Process List

Logs are retained for 90 days

After 90 days, workflow logs (including the list of processes and tasks) are permanently deleted from the VibeIQ system.

Filter and Search Processes

You can filter and search for processes by date, event, and output.

Filter by Start Date

The filter includes any process that started within the selected date range.

Filter by Event and Output

A workflow process is triggered by an Event. An Event may trigger multiple processes, but each process will only have one Event. Every process has one or more tasks. Every task within a process has an Output. The Output is the result of the task.

You filter processes by these fields using the search bar located above the process list.

The query only applies to the current page of processes

Only the current page of the results are filtered. If you want to search across all processes, enter your search term and page through the results.

Designing a Query

The query uses a case-insensitive substring match on a stringified version of the event and output fields. If a match is found anywhere within a process, the process will be included in the list of results.

When formatting your search query, consider:

  • Newline between elements of the JSON objects are removed
  • Spaces between elements of the JSON objects are removed
  • Escape characters within string values are preserved (e.g. \", \\, \n)

Example

Event
{
    "email": "grace.hopper@yale.edu",
    "name": "Grace Hopper",
}
Output
{
    "rank": "Rear Admiral",
    "languages": [
        { "COBOL": true },
        { "javaScript": false }
    ],
    "quote": "\"A ship in port is safe, but that's not what ships are built for.\""
}
Query Behavior
Search Query Is the Process included in the result?
grace ✅ Yes
Grace ✅ Yes
grace Hopper ✅ Yes
graceHopper ❌ No
rank":"Rear Admiral" ✅ Yes
rank: Rear Admiral ❌ No
rank": "Rear Admiral" ❌ No
languages":[{"cobol":true ✅ Yes
"quote":"a ship is safe ❌ No
"quote":"\"a ship is safe ✅ Yes

Programmatically Inspect and Monitor Processes

You can check the status of a process and view the result of its tasks using HTTP requests and the SDK.

Get Process by Id

Inspect the state of a single process.

curl \
    --location 'https://api.vibeiq.com/prod/api/event-workflow-processes/238cka02-em' \
    --header 'Content-Type: application/json' \
    --header 'X-Api-Key: API_KEY' \
    --header 'X-Api-Org: ORG_KEY' 
import { Entities } from "@contrail/sdk";
await new Entities().get({
    entityName: "event-workflow-process",
    id: "238cka02-em" 
});

Below is an example with two tasks:

{
    "id": "process-123"
    "orgId": "org-123",
    "createdOn": "2024-08-01T18:58:00.098Z",
    "startTime": "2024-08-01T18:58:01.261Z",
    "triggerEvent": {},
    "templateName": "Create Process With Status",
    "eventWorkflowTemplateId": "event-workflow-template-123",
    "taskOutputs": {
        "task-123": {
            "startTime": "2024-08-01T18:58:13.331Z",
            "endTime": "2024-08-01T18:58:23.334Z",
            "event": {},
        },
        "task-456": {
            "startTime": "2024-08-01T18:59:14.470Z",
            "endTime": "2024-08-01T18:59:24.476Z",
            "event": {},
        }
    },
    "eventWorkflowTaskIds": [
        "task-123",
        "task-456",
    ],
    "createdById": "user-123",
    "status": "COMPLETE"
}

Get Many Processes

Get the state of many processes. Supports filters by time, process status, and event workflow template.

Query Params

Filter Results

Use the criteria query parameter to filter results. This parameter is a JSURL-encoded object with of the fields to filter by.

Field Name Description Example
eventWorkflowTemplateId Limit results to processes of a specific event workflow template criteria=~(eventWorkflowTemplateId~%27QQnYCfw0dsadfas)
createdOn The time (UCT) at which the process was first created. Default limit is last 7 days. criteria=~(createdOn~%27BETWEEN*202024-09-30T04*3a00*3a00.145Z*20and*202024-10-02T03*3a59*3a59.145Z)
status Limit results to processes with a specific status. See table below. criteria=~(status~%27FAILED)

Order, Limits, and Pagination

Sequence results with order, limits, and pagination.

Parameter Description Type Example
order The field by which to order processes. Only createdOn is supported. JSURL-encoded Object order=~(~(orderField~%27createdOn~order~%27desc))
take The maximum number of processes to return number task=25
nextPageKey Indicates where the api should resume fetching additional processes string nextPageKey=eyJBTFRfU0syIjoiMjAyNC0xMC0wMVQ
Pagination is sequential

To get to the third page of results, you must load pages one and two, using the nextPageKey in the response as a query parameter in the next request.

Examples

curl
--location "https://admin.vibeiq.com/api/event-workflow-processes?" \
    "criteria=" \
        "~(status~%27FAILED~" \
        "eventWorkflowTemplateId~%27event-workflow-template-123~" \
        "createdOn~%27BETWEEN*202024-09-30T04*3a00*3a00.145Z*20and*202024-10-02T03*3a59*3a59.145Z)&" \
    "order=~(~(orderField~%27createdOn~order~%27desc))&" \
    "take=25&" \
    "nextPageKey=eyJTSyI6Im9yZzo1TWFGb0ZwV="
--header 'Content-Type: application/json' \
--header 'X-Api-Key: API_KEY' \
--header 'X-Api-Org: ORG_KEY' \ 
--header 'Api-Version: 2'
import { API_VERSION, Entities, SortOrderOptions } from '@contrail/sdk';

await contrail.login({
    // your login info
});

const processes = await new Entities().get({
    entityName: 'event-workflow-process',
    criteria: {
        eventWorkflowTemplateId: 'event-workflow-123',
        status: 'FAILED',
        createdOn: 'BETWEEN 2024-10-01T15:10:14.000Z and 2024-10-01T15:10:20.000Z',
    },
    order: [{
        orderField: 'createdOn',
        order: SortOrderOptions.ASC,
    }],
    take: 2,
    apiVersion: API_VERSION.V2,
    nextPageKey:
     'eyJTSyI6Im9yZzo1TWFGb0ZwV=',
});
{
"nextPageKey": "eyJBTFRfU0sxIjoib3JnOjVNYUZv="
"results": [
    {
            "messageGroupId": "org:org-123:event-workflow-template-123_2",
            "endedOn": "2024-10-01T09:50:28.730Z",
            "updatedOn": "2024-10-01T09:50:28.774Z",
            "updatedById": "user-123",
            "templateId": "event-workflow-template-123",
            "createdOn": "2024-10-01T09:50:21.493Z",
            "orgId": "org-123",
            "notifyOnFailure": false,
            "templateName": "Forecast Weather",
            "eventWorkflowTemplateId": "event-workflow-template-123",
            "taskOutputs": {
                    "task-456": {
                        "jsonResponse": {
                            "elevation": 0,
                            "generationtime_ms": 0.015020370483398438,
                            "current": {
                                "temperature_2m": 14.5,
                                "interval": 900,
                                "time": "2024-10-01T09:45"
                            },
                        }
                    }
                },
                "triggerEvent": { "location": "New York, New York" },
                "id": "mAw9dXgzfc1jYPNH",
                "eventWorkflowTaskIds": [
                        "task-456"
                ],
                "createdById": "user-123",
                "status": "FAILED"
        },
        {
                "messageGroupId": "org:org-123:event-workflow-template-123_1",
                "endedOn": "2024-10-01T09:45:26.016Z",
                "updatedOn": "2024-10-01T09:45:26.073Z",
                "updatedById": "user-123",
                "templateId": "event-workflow-template-123",
                "createdOn": "2024-10-01T09:45:21.517Z",
                "orgId": "org-123",
                "notifyOnFailure": false,
                "templateName": "Forecast Weather",
                "eventWorkflowTemplateId": "event-workflow-template-123",
                "taskOutputs": {
                        "task-123": {
                            "jsonResponse": {
                                "elevation": 0,
                                "generationtime_ms": 0.02288818359375,
                                "current": {
                                    "temperature_2m": 13.8,
                                    "interval": 900,
                                    "time": "2024-10-01T09:45"
                                },
                            }
                        }
                },
                "triggerEvent": { "location": "New York, New York" },
                "id": "process-123",
                "eventWorkflowTaskIds": [
                        "task-123"
                ],
                "createdById": "user-123",
                "status": "FAILED"
        },
    ],
}

Programmatic statuses differ from UI statuses

The API uses slightly different statuses than the Admin Console.

UI Status Corresponding API Status
Pending PENDING
Processing ACTIVE
Awaiting AWAITING
Completed COMPLETE
Failed FAILED