---
title: entities.process
description: Read process records with the process repository, and change them with the process mutations. Same records as the REST Processes entity.
canonical: https://developers.coevera.com/reference/graphql/process/
section: graphql
verification: schema
generatedFrom: schema f155746 (2026-10-20)
publisher: Coevera
---

# entities.process

Read process records with the process repository, and change them with the process mutations. Same records as the REST Processes entity.

REST: [Processes](https://developers.coevera.com/reference/rest/processes.md).

## Queries

- `getById(entityId: ID!): ProcessEntity` Returns the record with the given id, or null when there is none. Deleted records are returned as well.
- `getByIds(entityIds: [ID!]!): [ProcessEntity!]!` Returns the records with the given ids; ids without a record are left out. Deleted records are returned as well.
- `getAll(limit: Int, offset: Int, filter: ProcessFilterInput, orderBy: [ProcessOrderByInput!], includeDeleted: Boolean): [ProcessEntity!]!` Returns the records that match the filter, paged with limit and offset.
- `getByCriteria(filter: ProcessFilterInput, orderBy: [ProcessOrderByInput!], includeDeleted: Boolean, before: String, after: String, first: Int, last: Int): ProcessEntityConnection` Returns the records that match the filter as a cursor-paginated connection.
- `getChangedFieldsSinceRevision(id: UUID!, revision: Int!): [UUID!]!` Returns the ids of the fields of a record that changed after the given revision. Returns an empty list for entities without change tracking.
- `getActivityTimeline(entityId: ID!, interval: LastActivityInterval!): ProcessTimelineResult!` Returns how many runs of the process succeeded, ended with a warning or failed, bucketed by hour for the last 24 hours or by day for the last 7 or 14 days, in the user's time zone.
- `getByProcessCriteria(listingOptions: ProcessTabDataGridViewOptionsParams!, filter: ProcessFilterInput, orderBy: [ProcessOrderByInput!], before: String, after: String, first: Int, last: Int): ProcessEntityConnection` Returns a page of processes filtered by owner, enabled state, status and tags, in addition to the regular filter.
- `getProcessesWithScheduledActions(bulkFilter: BulkOperationInput!): [ProcessEntity!]!` Returns the processes that have actions scheduled to run later for any of the selected records.
- `getTriggeringProcesses(processId: UUID!): [ProcessEntity!]!` Returns the processes that start the given process from one of their steps.
- `getRecentExecutions(entityId: UUID!, entityName: EntityNameEnum!, limit: Int!): [RecentExecutionItem!]!` Returns the most recent process runs that involved the record, either because the record triggered the process or because a process action created or changed it, newest first.
- `getProcessesWithManualTrigger(limit: Int, offset: Int, filter: ProcessFilterInput, orderBy: [ProcessOrderByInput!]): [ProcessEntity!]!` Returns processes with a manual trigger that the current user is allowed to start, according to each trigger's allowed users and units.
- `convertProcessSchemasToDescriptions(schemas: [String!]!): [String!]!` Converts process definitions into human-readable text descriptions, one per input, in the same order. An empty definition gives an empty string and an invalid one gives the text "error".

## Mutations

- `createProcess(input: CreateProcessInput!, validationLevel: [ValidationLevel!]): CreateProcessPayload` Create one record.
- `updateProcess(input: UpdateProcessInput!, validationLevel: [ValidationLevel!], sessionIdToUpdate: String): UpdateProcessPayload` Update fields.
- `bulkUpdateProcess(input: [CreateOrUpdateProcessInput!]!, deleteInput: [DeleteProcessInput!], validationLevel: [ValidationLevel!], rollbackMethod: RollbackMethod, match: MatchingInput): BulkUpdateProcessPayload` Create or update many; per-item results.
- `deleteProcess(input: DeleteProcessInput!): DeleteProcessPayload` Soft-delete.
- `createProcessFromTemplate(input: CreateProcessFromTemplateInput!, validationLevel: [ValidationLevel!]): CreateProcessFromTemplatePayload` Create one record.

## Types

### ProcessEntity (object)

Automatizer process: an automated workflow that runs its actions when its trigger fires (a record event, a schedule or a webhook).

- `isDeleteProtected: Boolean!` True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
- `id: ID!` Unique identifier of entity.
- `isDeleted: Boolean` Specifies if the entity is considered deleted.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `owner: ClientEntity` User who owns the process.
- `aiConversation: [AiConversationItem!]` AI assistant conversation associated with the process (e.g. records of AI-driven schema generation).
- `deactivationReason: ProcessDeactivationReasonEnum` Why the process is disabled: turned off by a user, suspended after repeated failed runs, or suspended because Automatizer was switched off for the space. NoReason while enabled; read-only.
- `description: String` Free-text description shown alongside the process.
- `isEnabled: Boolean` When true, the process actively responds to its trigger; when false, the process is paused. Toggle via enable/disable mutations.
- `lastSchemaChange: DateTime` Timestamp of the most recent change to settings.
- `lastStatusChange: DateTime` Timestamp of the most recent change to isEnabled.
- `name: String!` Name of the entity and its default text representation.
- `ownerId: ID!` Id of the owning user.
- `settings: ProcessSchema` Process schema as a JSON object conforming to the ProcessSchema type — trigger, nodes and settings. Built via the process builder; validated on write.
- `type: ProcessTypeEnum!` Scope of the process: Personal processes belong to their owner and are started only by the owner's own actions; Space processes apply to the whole space.
- `activityLogs: ProcessActivityLogEntityConnection (7 args)` Activity log runs (one per process execution) recorded for this process.
- `tags: TagRelationEntityConnection (8 args)` Tags attached to the process for organisation/filtering.
- `lastProcessRun: DateTime` Timestamp of the most recent execution of this process. Empty when never run.
- `solutions: SolutionEntityConnection (4 args)` Solutions whose canvas contains this record. Deleted solutions are not included.
- `activity: ProcessTimelineResult!` Activity timeline for the last 24 hours showing per-hour counts of successful, warning, and error process runs.
- `status: ProcessStatusEnum` Overall status of the process, derived from its most recent runs since it was last enabled or its settings changed: Ok, Warning or Error. Ok when there are no runs.
- `recordTriggerEvent: ProcessRecordTriggerEventEnum` For record-triggered processes, the event that starts the process: Create, Update, CreateOrUpdate or Delete, or EmailSent / EmailReceived for email-triggered processes. Empty for other trigger types.
- `triggerType: ProcessTriggerTypeEnum` What starts the process: a record event (ProcessRecordTrigger), a schedule (ProcessScheduleTrigger), a user on selected records (ProcessManualTrigger) or an online form submission (ProcessOnlineFormTrigger).
- `triggerEntityName: EntityNameEnum` For record-based triggers, the entity whose records fire the process (e.g. "Lead"). Empty for non-record triggers.
- `triggerEntityApiName: String` API name of the trigger entity (useful for custom entities where this differs from triggerEntityName). Empty for non-record triggers.
- `documents: [CloudObjectRelationEntity!]` Files attached to the process (e.g. process documentation).
- `instancePermissions: [EntityPermsEnum!]! (1 args)` Permissions the current user has on this record, out of the requested ones.

### ProcessEntityConnection (object)

Paginated list of Process records.

- `pageInfo: PageInfo!` Pagination data for this connection.
- `edges: [ProcessEntityEdge]!` Contains the nodes in this connection.
- `totalCount: Int` Total number of items in the connection.

### ProcessEntityEdge (object)

A Relay edge containing a `ProcessEntity` and its cursor.

- `node: ProcessEntity` The item at the end of the edge
- `cursor: String!` A cursor for use in pagination

### ProcessDeactivationReasonEnumFilterInput (input)

Conditions on an enumeration field. Several conditions given together must all match.

- `eq: [ProcessDeactivationReasonEnum!]` Matches any of the listed values.
- `NOT: ProcessDeactivationReasonEnumFilterInput` Matches values that do not meet this condition.

### ProcessFilterInput (input)

Filter conditions for Process records. Conditions on different fields are combined with AND; use OR, AND and NOT for other combinations.

- `OR: [ProcessFilterInput!]` Matches records that meet at least one of the listed filters.
- `AND: [ProcessFilterInput!]` Matches records that meet all of the listed filters.
- `NOT: ProcessFilterInput` Matches records that do not meet this filter.
- `globalSearchQuery: String` Search term matched against the fields that the global search covers for this entity.
- `id: EntityFilterStringField` Unique identifier of entity.
- `isDeleted: Boolean` Specifies if the entity is considered deleted.
- `modified: EntityFilterDateTimeField` Last modification time.
- `created: EntityFilterDateTimeField` Creation time.
- `deactivationReason: ProcessDeactivationReasonEnumFilterInput` Why the process is disabled: turned off by a user, suspended after repeated failed runs, or suspended because Automatizer was switched off for the space. NoReason while enabled; read-only.
- `description: EntityFilterStringField` Free-text description shown alongside the process.
- `isEnabled: Boolean` When true, the process actively responds to its trigger; when false, the process is paused. Toggle via enable/disable mutations.
- `lastSchemaChange: EntityFilterDateTimeField` Timestamp of the most recent change to settings.
- `lastStatusChange: EntityFilterDateTimeField` Timestamp of the most recent change to isEnabled.
- `name: EntityFilterStringField` Name of the entity and its default text representation.
- `ownerId: EntityFilterStringField` Id of the owning user.
- `type: ProcessTypeEnumFilterInput` Scope of the process: Personal processes belong to their owner and are started only by the owner's own actions; Space processes apply to the whole space.
- `lastProcessRun: DateTime` Timestamp of the most recent execution of this process. Empty when never run.
- `status: ProcessStatusEnum` Overall status of the process, derived from its most recent runs since it was last enabled or its settings changed: Ok, Warning or Error. Ok when there are no runs.
- `recordTriggerEvent: ProcessRecordTriggerEventEnum` For record-triggered processes, the event that starts the process: Create, Update, CreateOrUpdate or Delete, or EmailSent / EmailReceived for email-triggered processes. Empty for other trigger types.
- `triggerType: ProcessTriggerTypeEnum` What starts the process: a record event (ProcessRecordTrigger), a schedule (ProcessScheduleTrigger), a user on selected records (ProcessManualTrigger) or an online form submission (ProcessOnlineFormTrigger).
- `triggerEntityName: EntityNameEnum` For record-based triggers, the entity whose records fire the process (e.g. "Lead"). Empty for non-record triggers.
- `triggerEntityApiName: String` API name of the trigger entity (useful for custom entities where this differs from triggerEntityName). Empty for non-record triggers.
- `owner: ClientFilterInput` User who owns the process. Matches records where a related record meets these conditions.
- `activityLogs: ProcessActivityLogFilterInput` Activity log runs (one per process execution) recorded for this process. Matches records where a related record meets these conditions.
- `tags: TagRelationFilterInput` Tags attached to the process for organisation/filtering. Matches records where a related record meets these conditions.
- `documents: CloudObjectRelationFilterInput` Files attached to the process (e.g. process documentation). Matches records where a related record meets these conditions.

### ProcessOrderByInput (input)

Sorting of Process records. Set exactly one field in each item; list several items to sort by more fields, in order of priority.

- `id: OrderByEnum` Unique identifier of entity.
- `isDeleted: OrderByEnum` Specifies if the entity is considered deleted.
- `modified: OrderByEnum` Last modification time.
- `created: OrderByEnum` Creation time.
- `owner: [ClientOrderByNestedInput!]` User who owns the process. Sorts by fields of the related record, listed in order of priority.
- `deactivationReason: OrderByEnum` Why the process is disabled: turned off by a user, suspended after repeated failed runs, or suspended because Automatizer was switched off for the space. NoReason while enabled; read-only.
- `description: OrderByEnum` Free-text description shown alongside the process.
- `isEnabled: OrderByEnum` When true, the process actively responds to its trigger; when false, the process is paused. Toggle via enable/disable mutations.
- `lastSchemaChange: OrderByEnum` Timestamp of the most recent change to settings.
- `lastStatusChange: OrderByEnum` Timestamp of the most recent change to isEnabled.
- `name: OrderByEnum` Name of the entity and its default text representation.
- `ownerId: OrderByEnum` Id of the owning user.
- `type: OrderByEnum` Scope of the process: Personal processes belong to their owner and are started only by the owner's own actions; Space processes apply to the whole space.
- `lastProcessRun: OrderByEnum` Timestamp of the most recent execution of this process. Empty when never run.
- `solutions: OrderByEnum` Names of the solutions whose canvas contains this process, in name order. Empty when the process is on no solution canvas.
- `status: OrderByEnum` Overall status of the process, derived from its most recent runs since it was last enabled or its settings changed: Ok, Warning or Error. Ok when there are no runs.
- `recordTriggerEvent: OrderByEnum` For record-triggered processes, the event that starts the process: Create, Update, CreateOrUpdate or Delete, or EmailSent / EmailReceived for email-triggered processes. Empty for other trigger types.
- `triggerType: OrderByEnum` What starts the process: a record event (ProcessRecordTrigger), a schedule (ProcessScheduleTrigger), a user on selected records (ProcessManualTrigger) or an online form submission (ProcessOnlineFormTrigger).
- `triggerEntityName: OrderByEnum` For record-based triggers, the entity whose records fire the process (e.g. "Lead"). Empty for non-record triggers.
- `triggerEntityApiName: OrderByEnum` API name of the trigger entity (useful for custom entities where this differs from triggerEntityName). Empty for non-record triggers.

### AiConversationItemParams (input)

One message of a conversation with the AI assistant, written by the user or by the assistant.

- `text: String!` Text of the message.
- `actor: AiConversationItemActor!` Author of the message: the user or the AI assistant.

### CreateOrUpdateProcessInput (input)

Field values of a Process record to create, or to update when its id is set.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID` Unique identifier of entity.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `aiConversation: [AiConversationItemParams!]` AI assistant conversation associated with the process (e.g. records of AI-driven schema generation).
- `description: String` Free-text description shown alongside the process.
- `name: String` Name of the entity and its default text representation.
- `ownerId: ID` Id of the owning user.
- `settings: ProcessSchemaJSONString` Process schema as a JSON object conforming to the ProcessSchema type — trigger, nodes and settings. Built via the process builder; validated on write.
- `type: ProcessTypeEnum` Scope of the process: Personal processes belong to their owner and are started only by the owner's own actions; Space processes apply to the whole space.
- `tags: [CreateTagRelationNoProcessBackrefInput!]` Tags attached to the process for organisation/filtering.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Files attached to the process (e.g. process documentation).

### CreateProcessFromTemplateInput (input)

Parameters of the createProcessFromTemplate mutation.

- `description: String!` Description of the new process.
- `name: String!` Name of the new process.
- `ownerId: ID!` Id of the user who owns the new process. Owner placeholders in the template steps are set to this user.
- `processTemplateId: ID!` Id of the process template to create the process from.
- `type: ProcessTypeEnum!` Type of the new process.

### CreateProcessInput (input)

Field values of a new Process record.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `aiConversation: [AiConversationItemParams!]` AI assistant conversation associated with the process (e.g. records of AI-driven schema generation).
- `description: String` Free-text description shown alongside the process.
- `name: String!` Name of the entity and its default text representation.
- `ownerId: ID!` Id of the owning user.
- `settings: ProcessSchemaJSONString` Process schema as a JSON object conforming to the ProcessSchema type — trigger, nodes and settings. Built via the process builder; validated on write.
- `type: ProcessTypeEnum!` Scope of the process: Personal processes belong to their owner and are started only by the owner's own actions; Space processes apply to the whole space.
- `tags: [CreateTagRelationNoProcessBackrefInput!]` Tags attached to the process for organisation/filtering.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Files attached to the process (e.g. process documentation).

### CreateTagRelationNoProcessBackrefInput (input)

Field values of a new TagRelation record, created together with the record it belongs to.

- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `accountId: ID` Id of the linked account.
- `appointmentId: ID` Id of the linked appointment.
- `contactId: ID` Id of the linked contact.
- `customEntityId: ID` Id of the linked custom entity record.
- `emailId: ID` Id of the linked email.
- `leadId: ID` Id of the linked lead.
- `opptyId: ID` Id of the linked opportunity.
- `projectId: ID` Id of the linked project.
- `quoteId: ID` Id of the linked quote.
- `solutionId: ID` Id of the linked solution.
- `tagId: ID!` Id of the tag attached to the record.
- `taskId: ID` Id of the linked task.
- `revision: Int` Revision when entity was lastly changed.

### DeleteProcessInput (input)

Id of the Process record to delete.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID!` Unique identifier of entity.

### UpdateProcessInput (input)

Id of a Process record and the field values to change.

- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).
- `id: ID!` Unique identifier of entity.
- `modified: DateTime` Last modification time.
- `created: DateTime` Creation time.
- `aiConversation: [AiConversationItemParams!]` AI assistant conversation associated with the process (e.g. records of AI-driven schema generation).
- `description: String` Free-text description shown alongside the process.
- `name: String` Name of the entity and its default text representation.
- `ownerId: ID` Id of the owning user.
- `settings: ProcessSchemaJSONString` Process schema as a JSON object conforming to the ProcessSchema type — trigger, nodes and settings. Built via the process builder; validated on write.
- `type: ProcessTypeEnum` Scope of the process: Personal processes belong to their owner and are started only by the owner's own actions; Space processes apply to the whole space.
- `tags: [CreateTagRelationNoProcessBackrefInput!]` Tags attached to the process for organisation/filtering.
- `documents: [CreateCloudObjectRelationNoBackrefInput!]` Files attached to the process (e.g. process documentation).

### BulkUpdateProcessPayload (object)

Result of the bulkUpdateProcess mutation.

- `result: BulkUpdateResults!` Ids of the created, updated and deleted records, and the items that failed.

### CreateProcessFromTemplatePayload (object)

Result of the createProcessFromTemplate mutation.

- `process: ProcessEntity` The created process.

### CreateProcessPayload (object)

Result of the createProcess mutation.

- `process: ProcessEntity` The created record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### DeleteProcessPayload (object)

Result of the deleteProcess mutation.

- `process: ProcessEntity` The deleted record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### UpdateProcessPayload (object)

Result of the updateProcess mutation.

- `process: ProcessEntity` The updated record.
- `clientMutationId: String` Optional client-supplied identifier passed on a mutation input and echoed back unchanged on its payload, so a client can correlate the response with its request (Relay convention).

### AiConversationItemActor (enum)

Author of a message in an AI assistant conversation.

- `User` Message written by the user.
- `System` Response from the AI assistant.

### LastActivityInterval (enum)

Period covered by an automation process's activity timeline.

- `Last24hours` Last 24 hours, grouped by hour.
- `Last7days` Last 7 days, grouped by day.
- `Last14days` Last 14 days, grouped by day.

### ProcessDeactivationReasonEnum (enum)

Why an Automatizer process is currently disabled.

- `NoReason` The process is enabled.
- `Manual` A user disabled the process.
- `TooManyErrors` The process was suspended automatically after its last 20 record-triggered runs failed.
- `DisabledFeature` The process was suspended because Automatizer was switched off for the space.

### ProcessRecordTriggerEventEnum (enum)

Record event that starts a record-triggered process.

- `Create` A record is created.
- `CreateOrUpdate` A record is created or updated.
- `Update` A record is updated.
- `Delete` A record is deleted.
- `EmailSent` An outgoing email is sent (email-triggered processes).
- `EmailReceived` An incoming email is received (email-triggered processes).

### ProcessTimelineItem (object)

Counts of the process runs started within one hour or day of an activity timeline.

- `startTime: DateTime!` Start of the hour or day this item covers, in the user's timezone.
- `endTime: DateTime!` End of the hour or day this item covers.
- `successCount: Int!` Process runs started in this period that ended without problems.
- `warningCount: Int!` Process runs started in this period that ended with warnings.
- `errorCount: Int!` Process runs started in this period that failed.

### ProcessTimelineResult (object)

Activity timeline of process runs, per hour or per day, with totals by outcome.

- `items: [ProcessTimelineItem!]!` One item per hour (last 24 hours) or per day, oldest first, including periods without runs.
- `successCount: Int!` Process runs in the whole period that ended without problems.
- `warningCount: Int!` Process runs in the whole period that ended with warnings.
- `errorCount: Int!` Process runs in the whole period that failed.

### RecentExecutionItem (object)

Recent process run that involved a record.

- `hasAccess: Boolean!` True when the current user can open the process.
- `id: UUID!` Id of the process that ran.
- `url: String!` Link to the process in the Coevera web app.
- `name: String!` Name of the process.
- `type: ProcessTypeEnum!` Type of the process.
- `status: ProcessStatusEnum!` Overall status of the process (not of this run): Ok, Warning or Error.
- `executionDate: DateTime!` When the process run started.
- `description: String!` Description of the process.

Types several repositories share, such as `PageInfo` and the filter fields, are in the [types index](https://developers.coevera.com/reference/graphql/types.md). The [SDL](https://developers.coevera.com/graphql/schema.graphql) has the whole schema in one file.

## Example

```graphql
query FirstProcesss {
  entities {
    process {
      getByCriteria(first: 3, orderBy: [{ modified: Desc }]) {
        totalCount
        edges { node { id name modified } }
      }
    }
  }
}
```

```bash
curl 'https://{region}.api.coevera.com/api/v100/app/space/{space_id}/graphql/public' \
  --user "$COEVERA_API_KEY:$COEVERA_API_SECRET" \
  --header 'Content-Type: application/json' \
  --data '{"query":"query FirstProcesss { entities { process { getByCriteria(first: 3, orderBy: [{ modified: Desc }]) { totalCount edges { node { id name modified } } } } } }"}'
```
