For the complete documentation index, see llms.txt. This page is also available as Markdown.

Generic GraphQL request action

What is GraphQL?

Learn more about GraphQL in its official documentation here.

GraphQL is an open-source query language for APIs and a server-side runtime for fulfilling those queries. It enables clients to interact with a single endpoint to get the exact data they need, without chaining requests together. Unlike traditional REST APIs that return fixed datasets, GraphQL allows clients to request specific data, eliminating over-fetching or under-fetching of data and offering improved efficiency. The GraphQL Schema defines the structure of the data and available operations, serving as a clear contract between the frontend and backend. Like REST APIs, GraphQL is composed of a basic request and response for each call. While REST APIs rely on multiple endpoints for this process, GraphQL shifts the responsibility of defining what should be called back to the user.

GraphQL in Rewst works off of two operation types:

  1. Query: Used for reading or fetching data

  2. Mutation: Used for writing, updating, or deleting data

GraphQL has a third operation type called subscription. Rewst's generic GraphQL action currently only supports queries and mutations. If there is a subscription you are looking to use in Rewst, please submit a request to our product team for a dedicated action.

What is the Rewst GraphQL generic request action?

The Rewst GraphQL generic request action is used for making authenticated requests against Rewst's GraphQL API. This action is available in the Rewst actions section of the Workflow Builder's actions library, but is open-ended in its capabilities. It enables:

  • Direct API access: Execute custom GraphQL queries and mutations against Rewst's backend

  • Advanced data retrieval: Access data structures not available through standard actions

  • Custom automation: Build sophisticated workflows with precise data control

  • Administrative operations: Perform bulk operations and administrative tasks programmatically

Make your choices in the Parameters tab of the action's settings to set it up in your workflow:

  • Operation type: Choose the type of GraphQL operation, query or mutation

  • Graph operation: The name of the specific GraphQL operation to execute

    • Uses the Graph Operations reference

    • Options in the drop-down list will dynamically populate based on your selected operation type

  • Variable values: Variables to pass to the GraphQL operation

    • JSON object type, but can be passed via Jinja

    • Contains the input parameters for the selected operation

  • Response fields: Enter text into this field to specify the fields to include in the GraphQL response

    • Only provide the inner content, as it will be wrapped in curly braces

    • Example, id orgName email { name }

  • Raw query: The complete raw GraphQL query string to execute

    • An advanced alternative to using the other fields and selectors in the Parameters tab

    • Allows for full control over query structure

Every plural list query in the Generic GraphQL Request action accepts up to two filtering arguments: where and search. They are not interchangeable.

Where: Equality only - field: valueWHERE field = value

where accepts a flat object of field: value pairs. Each pair is rendered as WHERE field = value. There's no way to express greater than, in this list, contains substring, etc. through where.

The set of fields exposed in each <Object>WhereInput type is hand-curated by Rewst engineering, not auto-derived from the GraphQL model. That is why Tags exposes id, name, orgId for filtering but not color or description, even though those columns exist on the model.

Search: Accepts operator wrappers

search accepts a <Object>SearchInput type whose fields are wrapped in comparison expressions. The wrapper type depends on the column type:

Wrapper
Operators supported

id_comparison_exp

_eq, _ne, _in, _nin

string_comparison_exp

_eq, _neq, _in, _nin, _like, _nlike, _ilike, _nilike, _substr, _lt, _lte, _gt, _gte

int_comparison_exp

_eq, _neq, _in, _nin, _lt, _lte, _gt, _gte

float_comparison_exp

_eq, _neq, _in, _nin, _lt, _lte, _gt, _gte

bool_comparison_exp

_eq, _ne

json_comparison_exp

_eq, _ne, _contains

Use search whenever you need anything other than strict equality, or any time the field you want to filter on isn't exposed by where.

Example: isEnabled is not on OrganizationWhereInput, but it is on OrganizationSearchInput.

Generic GraphQL request action usage examples

Basic query example

Mutation example

Raw query example

Tag example

Generic GraphQL request action: Allowed operations

Schema reference

Key entity types include:

  • Organization: Core organizational data and settings

  • Workflow: Automation workflow definitions and execution data

  • Action: Available actions and their configurations

  • Trigger: Event triggers and their configurations

  • Form: Dynamic forms and field definitions

  • Template: Reusable templates and scripts

  • User: User accounts and permissions

  • Pack: Integration packs and their components

Operation type: Queries

Action and configuration queries

actionOption - Retrieves a specific action option configuration.

GraphQL schema

ActionOptionWhereInput supported fields

Field
Type

optionLabel

String

optionValue

String

organizationId

ID

packConfigId

ID

packConfig

PackConfigWhereInput (nested)

resourceName

String

Is where or search mandatory?

Yes: where with enough fields to identify a single row — typically packConfigId plus optionValue or optionLabel. The parent packConfig must belong to an organization that you manage. No search input is needed.

Usage example

actionOptions-Retrieves multiple action options with filtering and sorting.

GraphQL schema

ActionOptionWhereInput supported fields

Field
Type

optionLabel

String

optionValue

String

organizationId

ID

packConfigId

ID

packConfig

PackConfigWhereInput (nested)

resourceName

String

Is where or search mandatory?

Yes: where: { packConfigId: <id> } (or organizationId) plus limit/offset. The parent packConfig must belong to an organization that you manage.

No search input required— only equality filtering via where.

Usage example

localReferenceOptions-Gets dropdown options for picking another Rewst object such as a workflow, template or form, inside a parameter

GraphQL schema

Is where or search mandatory?

Yes: required modelName and orgId

Note: search here is a plain string matched against the option label, not a SearchInput with operator wrappers.

Usage example

resourceTypesByPack-Gets resource types organized by pack.

GraphQL schema

Is where or search mandatory?

No - takes no where, search, or pagination.

Action management queries

action-Retrieves a specific action definition.

GraphQL schema

ActionInput (where) supported fields

Field
Type

runner_type

String

deprecated

Boolean

description

String

enabled

Boolean

hidden

Boolean

id

ID

name

String

category

String

outputSchema

JSON

pack

PackInput (nested)

packId

ID

parameters

JSON

ref

String

uid

ID

ActionSearch supported fields

Field
Wrapper

deprecated

bool_comparison_exp

description

string_comparison_exp

enabled

bool_comparison_exp

hidden

bool_comparison_exp

id

id_comparison_exp

name

string_comparison_exp

outputSchema

json_comparison_exp

parameters

json_comparison_exp

ref

string_comparison_exp

uid

id_comparison_exp

category

string_comparison_exp

pack

PackSearchInput (nested)

Is where or search mandatory?

where or search narrow enough to match a single action — typically id, or packId + ref. Note: ActionInput is the where-input despite the name. It's reused as the create/update input.

Usage example

actions-Retrieves multiple actions with filtering.

GraphQL schema

ActionInput (where) supported fields

Field
Type

runner_type

String

deprecated

Boolean

description

String

enabled

Boolean

hidden

Boolean

id

ID

name

String

category

String

outputSchema

JSON

pack

PackInput (nested)

packId

ID

parameters

JSON

ref

String

uid

ID

ActionSearch supported fields

Field
Wrapper

deprecated

bool_comparison_exp

description

string_comparison_exp

enabled

bool_comparison_exp

hidden

bool_comparison_exp

id

id_comparison_exp

name

string_comparison_exp

outputSchema

json_comparison_exp

parameters

json_comparison_exp

ref

string_comparison_exp

uid

id_comparison_exp

category

string_comparison_exp

pack

PackSearchInput (nested)

Is where or search mandatory?

limit (defaults to 100) and offset. Scope by packId (where: { packId: <id> }) or by pack (search: { pack: { id: { _eq: <id> } } }) when possible — unscoped calls return every action visible to your managed orgs.

actionsForOrg-Gets actions available to a specific organization.

GraphQL schema

ActionInput (where) supported fields

Field
Type

runner_type

String

deprecated

Boolean

description

String

enabled

Boolean

hidden

Boolean

id

ID

name

String

category

String

outputSchema

JSON

pack

PackInput (nested)

packId

ID

parameters

JSON

ref

String

uid

ID

ActionSearch supported fields

Field
Wrapper

deprecated

bool_comparison_exp

description

string_comparison_exp

enabled

bool_comparison_exp

hidden

bool_comparison_exp

id

id_comparison_exp

name

string_comparison_exp

outputSchema

json_comparison_exp

parameters

json_comparison_exp

ref

string_comparison_exp

uid

id_comparison_exp

category

string_comparison_exp

pack

PackSearchInput (nested)

Is where or search mandatory?

orgId plus limit/offset. Use this instead of actions when you want the action list as it appears for one specific org.

System and debug queries

announcement-Gets system announcements.

debug-Debug endpoint for system information.

GraphQL schema:

Component management queries

component-Retrieves a specific component definition.

GraphQL schema

Is where or search mandatory?

No - identified directly by id.

components-Gets multiple components for an organization.

GraphQL schema

Is where or search mandatory?

No - scoped solely by orgId. Filter client-side or use componentsByRoots for specific IDs.

componentsByRoots-Gets components by their root IDs.

GraphQL schema

Is where or search mandatory?

No - identified by rootIds list.

componentTree-Gets the component tree structure.

GraphQL schema

Is where or search mandatory?

No - identified by id and returns the latest version's tree.

Crate management queries

crate-Retrieves a specific crate.

GraphQL schema

CrateWhereInput supported fields

Field
Type

description

String

id

ID

lastPublishedAt

String

name

String

orgId

ID

primaryPack

PackWhereInput (nested)

status

String

tokens

JSON

workflow

WorkflowWhereInput (nested)

workflowId

ID

gid

ID

isPublic

Boolean

CrateSearchInput supported fields

Field
Wrapper

description

string_comparison_exp

id

id_comparison_exp

lastPublishedAt

string_comparison_exp

name

string_comparison_exp

primaryPack

PackSearchInput (nested)

tokens

json_comparison_exp

workflow

WorkflowSearch (nested)

Is where or search mandatory?

where or search narrow enough to match a single Crate — typically id or gid. Pass selectedOrgId to control the per-org isUnpackedForSelectedOrg flag.

crates-Gets multiple crates with filtering and sorting.

GraphQL schema

CrateWhereInput supported fields

Field
Type

description

String

id

ID

lastPublishedAt

String

name

String

orgId

ID

primaryPack

PackWhereInput (nested)

status

String

tokens

JSON

workflow

WorkflowWhereInput (nested)

workflowId

ID

gid

ID

isPublic

Boolean

CrateSearchInput supported fields

Field
Wrapper

description

string_comparison_exp

id

id_comparison_exp

lastPublishedAt

string_comparison_exp

name

string_comparison_exp

primaryPack

PackSearchInput (nested)

tokens

json_comparison_exp

workflow

WorkflowSearch (nested)

Is where or search mandatory?

limit and offset, plus a scoping filter — typically where: { orgId: <id> }, where: { isPublic: true }, or search: { name: { _ilike: "%foo%" } }. Unscoped calls are slow.

crateExportInfo-Gets export information for a workflow to crate.

GraphQL schema

Is where or search mandatory?

No - workflowId returns an unstructured JSON blob.

crateTokenTypes-Gets available crate token types.

GraphQL schema

Is where or search mandatory?

No - Returns values like text, linebreak, selectVar, inputVar, selectPackVar, etc.

crateUnpackingArgumentSet-Gets crate unpacking argument sets.

GraphQL schema

CrateUnpackingArgumentSetWhereInput supported fields

Field
Type

crateId

ID

id

ID

orgId

ID

Is where or search mandatory?

Yes - where narrow enough to match a single set — typically id, or crateId + orgId. No search input is needed.

Feature preview queries

featurePreviewSetting-Gets a specific feature preview setting.

GraphQL schema

FeaturePreviewSettingWhereInput supported fields

Field
Type

id

ID

label

String

Is where or search mandatory?

Yes - at least one of id or label on where. No search input is needed.

featurePreviewSettings-Gets multiple feature preview settings.

GraphQL schema

Is where or search mandatory?

No - no search input, no limit/offset . The table is small and unpaginated.

Foreign object reference queries

foreignObjectReference-Gets a specific foreign object reference.

GraphQL schema

ForeignObjectReferenceWhereInput supported fields

Field
Type

id

ID

referenceId

ID

identifier

ID

workflowExecution

WorkflowExecutionWhereInput (nested)

action

ActionInput (nested)

actionId

ID

packConfig

PackConfigWhereInput (nested)

packConfigId

ID

orgId

ID

Is where or search mandatory?

Yes - For where, at least one filter — typically id, or referenceId + orgId. No search input is needed.

foreignObjectReferences-Gets multiple foreign object references.

GraphQL schema

ForeignObjectReferenceWhereInput supported fields

Field
Type

id

ID

referenceId

ID

identifier

ID

workflowExecution

WorkflowExecutionWhereInput (nested)

action

ActionInput (nested)

actionId

ID

packConfig

PackConfigWhereInput (nested)

packConfigId

ID

orgId

ID

Is where or search mandatory?

No search input and no limit/offset — scope with where: { orgId: <id> } to avoid pulling cross-organization rows.

Form management queries

form-Retrieves a specific form definition, gets a single form.

GraphQL schema

FormWhereInput — supported fields

Field
Type

clonedFromId

ID

id

ID

isSynchronized

Boolean

name

String

orgId

ID

triggers

TriggerWhereInput (nested)

triggerId

[ID]

unpackedFromId

ID

FormSearchInput — supported fields

Field
Wrapper

clonedFromId

id_comparison_exp

createdBy

UserSearchInput (nested)

id

id_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

organization

OrganizationSearchInput (nested)

organizationId

id_comparison_exp

triggerId

id_comparison_exp

unpackedFromId

id_comparison_exp

updatedBy

UserSearchInput (nested)

Is where or search mandatory?

Yes - At least one filter is needed, identifying a single form - typically id on where.

forms-Gets multiple forms with filtering.

GraphQL schema

FormWhereInput — supported fields

Field
Type

clonedFromId

ID

id

ID

isSynchronized

Boolean

name

String

orgId

ID

triggers

TriggerWhereInput (nested)

triggerId

[ID]

unpackedFromId

ID

FormSearchInput — supported fields

Field
Wrapper

clonedFromId

id_comparison_exp

createdBy

UserSearchInput (nested)

id

id_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

organization

OrganizationSearchInput (nested)

organizationId

id_comparison_exp

triggerId

id_comparison_exp

unpackedFromId

id_comparison_exp

updatedBy

UserSearchInput (nested)

Is where or search mandatory?

limit and offset.

Note: forms runs SpiceDB permission filtering with a scan-budget cap (default 5× limit). For low-auth-ratio tenants the helper may return hasMore: false before exhausting the table — raise limit if a while (hasMore) paginator stops short.

packConfigsForForm-Gets pack configurations associated with a form.

GraphQL schema

Is where or search mandatory?

No - formId, orgId.

evaluatedForm-Gets an evaluated form for a specific trigger.

GraphQL schema

EvaluatedFormWhereInput supported fields

Field
Type

orgId

ID! (required)

triggerId

ID! (required)

Is where or search mandatory?

No search input is needed. Use both orgId and triggerId on where - both non-null.

Microsoft CSP queries

microsoftCSPCustomer-Gets Microsoft CSP customer information.

GraphQL schema

MicrosoftCSPCustomerWhereInput supported fields

Field
Type

companyName

String

cspTenantId

String

hasConsent

Boolean

id

ID

linkedOrganizations

OrganizationWhereInput (nested)

tenantId

String

Is where or search mandatory?

Yes - cspPackConfigId plus at least one filter on where to identify the customer. No search input is needed.

microsoftCSPCustomers-Gets multiple Microsoft CSP customers.

GraphQL schema

MicrosoftCSPCustomerSearchInput supported fields

Field
Wrapper

companyName

string_comparison_exp

cspTenantId

string_comparison_exp

hasConsent

bool_comparison_exp

id

id_comparison_exp

linkedOrganizations

OrganizationSearchInput (nested)

tenantId

string_comparison_exp

Is where or search mandatory?

cspPackConfigId. No limit/offset — results are scoped to the supplied pack config.

Trigger instance queries

orgTriggerInstance-Gets a specific organization trigger instance.

GraphQL schema

OrgTriggerInstanceWhereInput supported fields

Field
Type

id

ID

orgId

ID

organization

OrganizationInput (nested)

triggerId

ID

trigger

TriggerWhereInput (nested)

OrgTriggerInstanceSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

orgId

id_comparison_exp

organization

OrganizationInput (nested)

triggerId

id_comparison_exp

trigger

TriggerSearchInput (nested)

Is where or search mandatory?

At least one filter is needed identifying a single instance — typically id, or orgId + triggerId.

orgTriggerInstances-Gets multiple organization trigger instances.

GraphQL schema

OrgTriggerInstanceWhereInput supported fields

Field
Type

id

ID

orgId

ID

organization

OrganizationInput (nested)

triggerId

ID

trigger

TriggerWhereInput (nested)

OrgTriggerInstanceSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

orgId

id_comparison_exp

organization

OrganizationInput (nested)

triggerId

id_comparison_exp

trigger

TriggerSearchInput (nested)

Is where or search mandatory?

limit and offset .

Organization variable queries

orgVariable-Gets a specific organization variable.

GraphQL schema

OrgVariableWhereInput supported fields

Field
Type

id

ID

name

String

value

String

category

OrgVariableCategory

orgId

ID

organization

OrganizationWhereInput (nested)

packConfigId

ID

packConfig

PackConfigWhereInput (nested)

OrgVariableSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

value

string_comparison_exp

category

OrgVariableCategorySearchInput

orgId

id_comparison_exp

organization

OrganizationSearchInput (nested)

packConfigId

id_comparison_exp

packConfig

PackConfigSearch (nested)

Is where or search mandatory?

At least one filter is required— typically id, or orgId + name. Pass maskSecrets: false only when raw secret values are required.

orgVariables-Gets multiple organization variables.

GraphQL schema

OrgVariableWhereInput supported fields

Field
Type

id

ID

name

String

value

String

category

OrgVariableCategory

orgId

ID

organization

OrganizationWhereInput (nested)

packConfigId

ID

packConfig

PackConfigWhereInput (nested)

OrgVariableSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

value

string_comparison_exp

category

OrgVariableCategorySearchInput

orgId

id_comparison_exp

organization

OrganizationSearchInput (nested)

packConfigId

id_comparison_exp

packConfig

PackConfigSearch (nested)

Is where or search mandatory?

Yes - limit and offset; scope with where: { orgId: <id> }.

visibleOrgVariables-Gets organization variables visible to a specific organization.

GraphQL schema

OrgVariableWhereInput supported fields

Field
Type

id

ID

name

String

value

String

category

OrgVariableCategory

orgId

ID

organization

OrganizationWhereInput (nested)

packConfigId

ID

packConfig

PackConfigWhereInput (nested)

OrgVariableSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

value

string_comparison_exp

category

OrgVariableCategorySearchInput

orgId

id_comparison_exp

organization

OrganizationSearchInput (nested)

packConfigId

id_comparison_exp

packConfig

PackConfigSearch (nested)

Is where or search mandatory?

Yes - filter via search. Results include cascading variables from parent orgs. No where input is required. visibleForOrgId, limit, offset.

Organization management queries

organization-Gets a specific organization.

GraphQL schema

OrganizationWhereInput supported fields

Field
Type
Notes

id

ID

isStaff

Boolean

managedOrgs

OrganizationWhereInput (recursive)

managingOrg

OrganizationWhereInput (recursive)

managingOrgId

ID

name

String

Exact match only

orgSlug

String

rocSiteId

String

tags

OrganizationTagsWhereInput

Nested: { id: [ID!] }

users

UserWhereInput

Filter orgs by their users

domain

String

OrganizationSearchInput supported fields

Field
Wrapper

createdAt

string_comparison_exp

id

id_comparison_exp

installedPacks

PackSearchInput

isDeleted

bool_comparison_exp

isEnabled

bool_comparison_exp

isInternal

bool_comparison_exp

isOnboarding

bool_comparison_exp

isStaff

bool_comparison_exp

managedOrgs

OrganizationSearchInput (recursive)

managingOrg

OrganizationSearchInput (recursive)

managingOrgId

id_comparison_exp

name

string_comparison_exp

orgSlug

string_comparison_exp

resultsRetentionDays

int_comparison_exp

rocSiteId

string_comparison_exp

tags

TagSearchInput

users

UserSearchInput

Is where or search mandatory?

At least one of where or search to identify the org — typically where: { id: <id> } or where: { orgSlug: <slug> }.

organizations-Gets multiple organizations.

GraphQL schema

OrganizationWhereInput supported fields

Field
Type
Notes

id

ID

isStaff

Boolean

managedOrgs

OrganizationWhereInput (recursive)

managingOrg

OrganizationWhereInput (recursive)

managingOrgId

ID

name

String

Exact match only

orgSlug

String

rocSiteId

String

tags

OrganizationTagsWhereInput

Nested: { id: [ID!] }

users

UserWhereInput

Filter orgs by their users

domain

String

Not filterable via where - available via search: isEnabled, isInternal, isDeleted, isOnboarding, createdAt, resultsRetentionDays

Not filterable at all - neither where nor search): isMsp, tid, deletedAt

OrganizationSearchInput supported fields

Field
Wrapper

createdAt

string_comparison_exp

id

id_comparison_exp

installedPacks

PackSearchInput

isDeleted

bool_comparison_exp

isEnabled

bool_comparison_exp

isInternal

bool_comparison_exp

isOnboarding

bool_comparison_exp

isStaff

bool_comparison_exp

managedOrgs

OrganizationSearchInput (recursive)

managingOrg

OrganizationSearchInput (recursive)

managingOrgId

id_comparison_exp

name

string_comparison_exp

orgSlug

string_comparison_exp

resultsRetentionDays

int_comparison_exp

rocSiteId

string_comparison_exp

tags

TagSearchInput

users

UserSearchInput

Is where or search mandatory?

Yes, in practice. organizations is one of the three unbounded tables. Always pass:

  • where: { managingOrgId: CTX.organization.id } or a search filter, and

  • limit (recommended ≤ 100) and offset for pagination.

Worked example: Listing disabled organizations

isEnabled is not on OrganizationWhereInput, so this fails:

Use search instead:

orgSearch-Performs organization search with breadcrumbs.

GraphQL schema

Is where or search mandatory?

No - WhereInput/SearchInput - search here is a plain free-text string matched against org name, not an operator-wrapper type. ReturnsOrgSearchResult (id, name, hasChildren, breadcrumbs, managingOrgId, supportAccessStatus, isInternal), not fullOrganization`.

softDeletedOrgs-Gets soft-deleted organizations.

GraphQL schema

Is where or search mandatory?

There is no where/search/pagination. Scoping is solely managingOrgId.

Pack action option queries

packActionOption-Gets a specific pack action option.

GraphQL schema

PackActionOptionWhereInput supported fields

Field
Type

id

ID

packId

ID

name

String

path

String

method

HTTPMethod

paginate

Boolean

queryParams

JSON

pathParams

JSON

headers

JSON

requiredPathVars

[String!]

requiredQueryVars

[String!]

requiredHeaderVars

[String!]

resultsKey

String

valueField

String

label

String

labelIsTemplate

Boolean

valueFieldIsPath

Boolean

Is where or search mandatory?

Yes - There is no search input — equality filtering via where only. PackActionOptionWhereInput

packActionOptions-Gets multiple pack action options.

GraphQL schema

PackActionOptionsWhereInput supported fields

Field
Type

id

ID

packId

ID

name

String

path

String

method

HTTPMethod

paginate

Boolean

queryParams

JSON

pathParams

JSON

headers

JSON

requiredPathVars

[String!]

requiredQueryVars

[String!]

requiredHeaderVars

[String!]

resultsKey

String

valueField

String

label

String

labelIsTemplate

Boolean

valueFieldIsPath

Boolean

Is where or search mandatory?

There is no search input — equality filtering via where only. limit, offset; scope with where: { packId: <id> }.

Pack bundle queries

packBundle-Gets a specific pack bundle.

GraphQL schema

PackBundleWhereInput supported fields

Field
Type

description

String

id

ID

name

String

packs

PackWhereInput (nested)

ref

String

Is where or search mandatory?

Yes - there is no search input. Use where (non-null) with at least one identifying field — typically id or ref.

packBundles-Gets multiple pack bundles.

GraphQL schema

PackBundleSearchInput — supported fields

Field
Wrapper

description

string_comparison_exp

id

id_comparison_exp

name

string_comparison_exp

packs

PackSearchInput (nested)

ref

String (equality only — plain string, not a comparison exp)

Is where or search mandatory?

limit and offset

Pack configuration queries

packConfig-Gets a specific pack configuration.

GraphQL schema

PackConfigWhereInput supported fields

Field
Type

actionOptions

ActionOptionWhereInput (nested)

config

JSON

default

Boolean

description

String

id

ID

metadata

JSON

name

String

orgId

ID

pack

PackWhereInput (nested)

packId

ID

ref

ID

PackConfigSearch supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

default

bool_comparison_exp

description

string_comparison_exp

config

json_comparison_exp

metadata

json_comparison_exp

orgId

id_comparison_exp

pack

PackSearchInput (nested)

packId

id_comparison_exp

Is where or search mandatory?

Yes - Use at least one of where or search to identify the config.

Note: config and metadata are @sensitive and may be redacted depending on caller permissions.

packConfigs-Gets multiple pack configurations.

GraphQL schema

PackConfigWhereInput supported fields

Field
Type

actionOptions

ActionOptionWhereInput (nested)

config

JSON

default

Boolean

description

String

id

ID

metadata

JSON

name

String

orgId

ID

pack

PackWhereInput (nested)

packId

ID

ref

ID

PackConfigSearch supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

default

bool_comparison_exp

description

string_comparison_exp

config

json_comparison_exp

metadata

json_comparison_exp

orgId

id_comparison_exp

pack

PackSearchInput (nested)

packId

id_comparison_exp

Is where or search mandatory?

Yes - orgId scoping via where or search — unscoped calls return everything visible to the caller.

There is no limit/offset — this query does not accept pagination args. Always scope aggressively - e.g. where: { orgId: <id>, packId: <id> }.

packConfigsForOrg-Gets pack configurations for a specific organization.

GraphQL schema

Is where or search mandatory?

No - There is no where/search/pagination. It's scoped solely by packIds + orgId.

Pack management queries

pack-Gets a specific integration pack.

GraphQL schema

PackWhereInput supported fields

Field
Type

actions

ActionInput (nested)

packType

PackType

description

String

id

ID

installedBy

OrganizationWhereInput (nested)

name

String

packBundleId

ID

ref

String

orgId

ID

status

PackStatus

isOauthConfiguration

Boolean

Is where or search mandatory?

Yes - where with at least one identifying field — typically id or ref. There is no search input.

packsAndBundlesByInstalledState-Gets packs and bundles organized by installation state.

GraphQL schema

Is where or search mandatory?

There is no where/search/pagination. Returns installedPacksAndBundles and marketplacePacksAndBundles. orgId is mandatory.

Page management queries

page-Gets a specific page definition.

GraphQL schema

PageWhereInput supported fields

Field
Type

id

ID

name

String

siteId

ID

site

SitePropertiesInput (nested: { id: ID, domain: String })

path

String

domain

String

orgId

ID

clonedFromId

ID

_

String (editor render hint — ignored server-side)

Is where or search mandatory?

Yes - where (non-null) with at least one identifying field — typically id or siteId + path. There is no search input.

pages-Gets multiple pages.

GraphQL schema

PageSearchInput supported fields

Field
Type
Notes

name

String

Equality only — plain string, NOT a string_comparison_exp

siteId

ID

Equality only

Is where or search mandatory?

Yes - limit and offset; scope with where: { orgId: <id> } or where: { siteId: <id> }.

PageSearchInput does not accept _eq/_in/_like wrappers despite being named search.

pageVars-Gets page variables.

GraphQL schema

Is where or search mandatory?

id. query is an arbitrary JSON object passed as URL query params for variable resolution.

Permission queries

permission-Gets a specific permission.

GraphQL schema

PermissionWhereInput supported fields

Field
Type

id

ID

templateId

ID

objectId

String

objectType

String

permissionType

String

Is where or search mandatory?

There is no search input and no limit/offset. Scope to a specific object to keep result sets small (typically objectId + objectType).

permissions-Gets multiple permissions.

GraphQL schema

PermissionWhereInput supported fields

Field
Type

id

ID

templateId

ID

objectId

String

objectType

String

permissionType

String

Is where or search mandatory?

There is no search input and no limit/offset. Scope to a specific object to keep result sets small (typically objectId + objectType).

Sensor type queries

sensorType-Gets a specific sensor type.

GraphQL schema

SensorTypeInput (where) supported fields

Field
Type

description

String

enabled

Boolean

entryPoint

String

id

ID

name

String

notifyOnTriggerChanges

Boolean

packId

ID

ref

String

SensorTypeSearchInput supported fields

Field
Wrapper

description

string_comparison_exp

enabled

bool_comparison_exp

entryPoint

string_comparison_exp

id

id_comparison_exp

name

string_comparison_exp

notifyOnTriggerChanges

Boolean (equality only)

packId

id_comparison_exp

ref

string_comparison_exp

Is where or search mandatory?

Yes - where or search with at least one filter field is required.

sensorTypes-Gets multiple sensor types.

GraphQL schema

SensorTypeInput (where) supported fields

Field
Type

description

String

enabled

Boolean

entryPoint

String

id

ID

name

String

notifyOnTriggerChanges

Boolean

packId

ID

ref

String

SensorTypeSearchInput supported fields

Field
Wrapper

description

string_comparison_exp

enabled

bool_comparison_exp

entryPoint

string_comparison_exp

id

id_comparison_exp

name

string_comparison_exp

notifyOnTriggerChanges

Boolean (equality only)

packId

id_comparison_exp

ref

string_comparison_exp

Is where or search mandatory?

limit and offset.

Site and app management queries

site-Gets a specific site/app.

GraphQL schema

SiteWhereInput supported fields

Field
Type

id

ID

isLive

Boolean

name

String

domain

String

orgId

ID

customDomain

String

isDnsValidated

Boolean

useCustomDomain

Boolean

clonedFromId

ID

isSynchronized

Boolean

SiteSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

isLive

bool_comparison_exp

name

string_comparison_exp

domain

string_comparison_exp

organization

OrganizationSearchInput (nested)

organizationId

id_comparison_exp

customDomain

string_comparison_exp

isDnsValidated

bool_comparison_exp

useCustomDomain

bool_comparison_exp

clonedFromId

id_comparison_exp

Is where or search mandatory?

Yes - where or search with at least one filter field.

sites-Gets multiple sites/apps.

GraphQL schema

SiteWhereInput supported fields

Field
Type

id

ID

isLive

Boolean

name

String

domain

String

orgId

ID

customDomain

String

isDnsValidated

Boolean

useCustomDomain

Boolean

clonedFromId

ID

isSynchronized

Boolean

SiteSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

isLive

bool_comparison_exp

name

string_comparison_exp

domain

string_comparison_exp

organization

OrganizationSearchInput (nested)

organizationId

id_comparison_exp

customDomain

string_comparison_exp

isDnsValidated

bool_comparison_exp

useCustomDomain

bool_comparison_exp

clonedFromId

id_comparison_exp

Is where or search mandatory?

There is no limit/offset. Always scope by orgId to keep result sets small.

getAppPermissions-Gets app permissions for an organization.

GraphQL schema

Is where or search mandatory?

orgId

getSiteTheme-Gets site theme configuration.

GraphQL schema

Is where or search mandatory?

One of id or domain.

Tag management queries

tag-Gets a specific tag.

GraphQL schema

TagWhereInput supported fields

Field
Type
Notes

id

ID

name

String

Exact match only — use search.name for _like/_ilike

orgId

ID

Recommended on every call (see scoping rule above)

organizations

TagOrganizationsWhereInput

Nested filter: { id: [ID] } — match tags assigned to any of these orgs

TagSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

orgId

id_comparison_exp

organizations

OrganizationSearchInput (recursive)

Is where or search mandatory?

Use limit and offset.

It is not filterable via where , despite existing on the Tag model: color, description, createdAt, updatedAt, crates, packs, triggers.

tags-Gets multiple tags.

GraphQL schema

TagWhereInput supported fields

Field
Type
Notes

id

ID

name

String

Exact match only — use search.name for _like/_ilike

orgId

ID

Recommended on every call (see scoping rule above)

organizations

TagOrganizationsWhereInput

Nested filter: { id: [ID] } — match tags assigned to any of these orgs

It is not filterable via where , despite existing on the Tag model: color, description, createdAt, updatedAt, crates, packs, triggers.

TagSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

name

string_comparison_exp

orgId

id_comparison_exp

organizations

OrganizationSearchInput (recursive)

Is where or search mandatory?

Schema-level: no. Practically: yes — pass where: { orgId: CTX.organization.id } to avoid the auto-inject path. This is the operation that produced the Symbol(or)/Symbol(eq)/Symbol(in) error.

crateTags-Gets tags associated with crates.

GraphQL schema

Is where or search mandatory?

tag.orgId, limit and offset.

Task and execution analytics queries

dailyTaskCountsByDateRange-Gets daily task counts within a date range.

GraphQL schema

Is where or search mandatory?

orgId, startDate, endDate

taskExecutionStats-Gets task execution statistics.

GraphQL schema

Is where or search mandatory?

orgId. createdSince is optional but recommended to bound the scan.

taskLog-Gets a specific task log entry.

GraphQL schema

TaskLogWhereInput supported fields

Field
Type

executionTime

String

id

ID

input

JSON

message

String

originalParentTaskId

String

originalPrincipalOrgId

String

originalPrincipalOrgName

String

originalRunAsOrgId

String

originalRunAsOrgName

String

originalWorkflowExecutionId

String

originalWorkflowTaskId

String

parentTaskId

ID

principalOrgId

ID

result

JSON

runAsOrgId

ID

status

String

taskExecutionId

ID

workflowExecutionId

ID

workflowTaskId

ID

TaskLogSearchInput supported fields

Field
Wrapper

id

ID (equality only)

originalPrincipalOrgId

string_comparison_exp

originalPrincipalOrgName

string_comparison_exp

originalRunAsOrgId

string_comparison_exp

originalRunAsOrgName

string_comparison_exp

principalOrgId

id_comparison_exp

runAsOrgId

id_comparison_exp

status

string_comparison_exp

workflowExecutionId

id_comparison_exp

Is where or search mandatory?

Yes - where or search with at least id or workflowExecutionId is required.

Note: input and result are sensitive fields and may be redacted.

taskLogs-Gets multiple task log entries.

GraphQL schema

TaskLogWhereInput supported fields

Field
Type

executionTime

String

id

ID

input

JSON

message

String

originalParentTaskId

String

originalPrincipalOrgId

String

originalPrincipalOrgName

String

originalRunAsOrgId

String

originalRunAsOrgName

String

originalWorkflowExecutionId

String

originalWorkflowTaskId

String

parentTaskId

ID

principalOrgId

ID

result

JSON

runAsOrgId

ID

status

String

taskExecutionId

ID

workflowExecutionId

ID

workflowTaskId

ID

TaskLogSearchInput supported fields

Field
Wrapper

id

ID (equality only)

originalPrincipalOrgId

string_comparison_exp

originalPrincipalOrgName

string_comparison_exp

originalRunAsOrgId

string_comparison_exp

originalRunAsOrgName

string_comparison_exp

principalOrgId

id_comparison_exp

runAsOrgId

id_comparison_exp

status

string_comparison_exp

workflowExecutionId

id_comparison_exp

Is where or search mandatory?

workflowExecutionId(viawhereorsearch), limit, and offset. task_logs` is one of the three large unbounded tables — unscoped or unpaginated calls will time out.

Template management queries

template- Gets a specific template.

GraphQL schema

TemplateInput (where) supported fields

Field
Type

body

String

clonedFromId

ID

contentType

String

description

String

id

ID

isSynchronized

Boolean

language

String

name

String

orgId

ID

tagIds

[ID!]

unpackedFromId

ID

Is where or search mandatory?

Yes - where with at least one filter field, typically id. There is no search input.

templates-Gets multiple templates.

GraphQL schema

TemplateSearch supported fields

Field
Wrapper

clonedFromId

id_comparison_exp

contentType

string_comparison_exp

description

string_comparison_exp

id

id_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

organization

OrganizationSearchInput (nested)

unpackedFromId

id_comparison_exp

Is where or search mandatory?

limit and offset

jinjaTemplate-Gets a Jinja template for rendering.

GraphQL schema

Trigger type queries

triggerType-Gets a specific trigger type.

GraphQL schema

TriggerTypeWhereInput supported fields

Field
Type

description

String

id

ID

isPoll

Boolean

isWebhook

Boolean

name

String

packId

ID

parametersSchema

JSON

outputSchema

JSON

ref

String

triggers

TriggerWhereInput (nested)

enabled

Boolean

Is where or search mandatory?

Yes - where with at least one filter field. There is no search input.

triggerTypes-Gets multiple trigger types.

GraphQL schema

Field
Wrapper

description

string_comparison_exp

id

id_comparison_exp

isPoll

Boolean (equality only)

isWebhook

Boolean (equality only)

name

string_comparison_exp

pack

PackSearchInput (nested)

parametersSchema

json_comparison_exp

outputSchema

json_comparison_exp

ref

string_comparison_exp

triggers

TriggerSearchInput (nested)

enabled

bool_comparison_exp

Is where or search mandatory?

limit and offset

Trigger management queries

trigger-Gets a specific trigger.

GraphQL schema

TriggerWhereInput supported fields

Field
Type

clonedFromId

ID

criteria

JSON

description

String

enabled

Boolean

formId

ID

id

ID

isSynchronized

Boolean

name

String

orgId

ID

orgInstances

OrgTriggerInstanceWhereInput (nested)

parameters

JSON

state

JSON

triggerType

TriggerTypeInput (nested)

triggerTypeId

ID

unpackedFromId

ID

workflowId

ID

TriggerSearchInput supported fields

Field
Wrapper

clonedFromId

id_comparison_exp

criteria

json_comparison_exp

description

string_comparison_exp

enabled

Boolean (equality only)

formId

id_comparison_exp

id

id_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

organization

OrganizationSearchInput (nested)

orgId

id_comparison_exp

orgInstances

OrgTriggerInstanceSearchInput (nested)

packOverrides

PackOverrideSearchInput (nested)

parameters

json_comparison_exp

state

json_comparison_exp

triggerType

TriggerTypesSearchInput (nested)

triggerTypeId

id_comparison_exp

unpackedFromId

id_comparison_exp

workflow

WorkflowSearch (nested)

workflowId

id_comparison_exp

Is where or search mandatory?

Yes - where or search with at least one filter field.

workflowCompletionListeners-Gets triggers configured to listen for workflow completion events.

GraphQL schema:

triggers-Gets multiple triggers.

GraphQL schema

TriggerWhereInput supported fields

Field
Type

clonedFromId

ID

criteria

JSON

description

String

enabled

Boolean

formId

ID

id

ID

isSynchronized

Boolean

name

String

orgId

ID

orgInstances

OrgTriggerInstanceWhereInput (nested)

parameters

JSON

state

JSON

triggerType

TriggerTypeInput (nested)

triggerTypeId

ID

unpackedFromId

ID

workflowId

ID

TriggerSearchInput supported fields

Field
Wrapper

clonedFromId

id_comparison_exp

criteria

json_comparison_exp

description

string_comparison_exp

enabled

Boolean (equality only)

formId

id_comparison_exp

id

id_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

organization

OrganizationSearchInput (nested)

orgId

id_comparison_exp

orgInstances

OrgTriggerInstanceSearchInput (nested)

packOverrides

PackOverrideSearchInput (nested)

parameters

json_comparison_exp

state

json_comparison_exp

triggerType

TriggerTypesSearchInput (nested)

triggerTypeId

id_comparison_exp

unpackedFromId

id_comparison_exp

workflow

WorkflowSearch (nested)

workflowId

id_comparison_exp

Is where or search mandatory?

Yes - limit and offset, plus a scoping filter (typically where: { orgId: <id> } or workflowId). hasTagIds and excludeTagIds are convenience filters layered on top of where/search.

triggerDbNotificationErrors-Gets database notification errors for a trigger.

GraphQL schema

Is where or search mandatory?

triggerId

User invite queries

userInvite-Gets a specific user invite.

GraphQL schema

UserInviteWhereInput supported fields

Field
Type

acceptedAt

String

email

String

id

ID

isAccepted

Boolean

organization

OrganizationWhereInput (nested)

orgId

ID

sendEmail

Boolean

UserInviteSearchInput supported fields

Field
Wrapper

email

string_comparison_exp

id

id_comparison_exp

organization

OrganizationSearchInput (nested)

orgId

id_comparison_exp

sendEmail

bool_comparison_exp

Is where or search mandatory?

Yes - use where or search with at least one filter field. Only available when ENABLE_ADMIN_APPROVAL_REQUESTS is OFF.

userInvites-Gets multiple user invites.

GraphQL schema

UserInviteWhereInput supported fields

Field
Type

acceptedAt

String

email

String

id

ID

isAccepted

Boolean

organization

OrganizationWhereInput (nested)

orgId

ID

sendEmail

Boolean

UserInviteSearchInput supported fields

Field
Wrapper

email

string_comparison_exp

id

id_comparison_exp

organization

OrganizationSearchInput (nested)

orgId

id_comparison_exp

sendEmail

bool_comparison_exp

Is where or search mandatory?

limit, offset, and a scoping filter, typically where: { orgId: <id> }). Only available when ENABLE_ADMIN_APPROVAL_REQUESTS is OFF.

User management queries

me-Gets current user information.

GraphQL schema

Is where or search mandatory?

No - returns the currently authenticated user and their organization respectively.

userOrganization-Gets the user's organization.

GraphQL schema:

user-Gets a specific user.

GraphQL schema

GetUserWhereInput supported fields

Field
Type

id

ID

isSuperuser

Boolean

managedOrgs

OrganizationWhereInput (nested)

organization

OrganizationWhereInput (nested)

orgId

ID! (required)

roleIds

[String!]

sub

String

username

String

isTestUser

Boolean

isApiUser

Boolean

UserSearchInput supported fields

Field
Wrapper

createdAt

string_comparison_exp

id

id_comparison_exp

isApiUser

bool_comparison_exp

isSuperuser

bool_comparison_exp

isTestUser

bool_comparison_exp

managedOrgs

OrganizationSearchInput (nested)

organization

OrganizationSearchInput (nested)

orgId

id_comparison_exp

roleIds

string_comparison_exp

sub

string_comparison_exp

username

string_comparison_exp

Is where or search mandatory?

orgId on where is non-null — every user lookup must be scoped to an org. createdAt is filterable only via search, not where.

users-Gets multiple users.

GraphQL schema

GetUserWhereInput supported fields

Field
Type

id

ID

isSuperuser

Boolean

managedOrgs

OrganizationWhereInput (nested)

organization

OrganizationWhereInput (nested)

orgId

ID! (required)

roleIds

[String!]

sub

String

username

String

isTestUser

Boolean

isApiUser

Boolean

UserSearchInput supported fields

Field
Wrapper

createdAt

string_comparison_exp

id

id_comparison_exp

isApiUser

bool_comparison_exp

isSuperuser

bool_comparison_exp

isTestUser

bool_comparison_exp

managedOrgs

OrganizationSearchInput (nested)

organization

OrganizationSearchInput (nested)

orgId

id_comparison_exp

roleIds

string_comparison_exp

sub

string_comparison_exp

username

string_comparison_exp

Is where or search mandatory?

orgId on where (non-null), limit, and offset.

getTestUsers-Gets test users.

GraphQL schema

Is where or search mandatory?

Yes - requires orgId on where.

getTestUserSession-Gets current test user session.

GraphQL schema

Is where or search mandatory?

No.

Workflow analytics queries

timeSavedGroupByWorkflow-Gets time saved statistics grouped by workflow.

GraphQL schema

Is where or search mandatory?

orgId, updatedAt, useStatsTable

timeSavedGroupBySubOrg-Gets time saved statistics grouped by sub-organization.

GraphQL schema:

workflowExecutionStats-Gets workflow execution statistics.

GraphQL schema

Is where or search mandatory?

orgId, createdSince.

workflowExecution-Gets a specific workflow execution.

GraphQL schema

WorkflowExecutionWhereInput supported fields

Field
Type
Notes

id

ID

orgId

ID

Required in practice

originatingExecutionId

ID

status

String

Exact match only

numAwaitingResponseTasks

Int

workflow

WorkflowWhereInput

Nested filter on parent workflow

workflowId

ID

Not filterable via where - use search instead: createdAt, processedCompletionAt, organization

WorkflowExecutionSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

orgId

id_comparison_exp

originatingExecutionId

id_comparison_exp

status

string_comparison_exp

numAwaitingResponseTasks

int_comparison_exp

workflow

WorkflowSearch

createdAt

string_comparison_exp

processedCompletionAt

string_comparison_exp

organization

OrganizationSearchInput

Is where or search mandatory?

Yes - id via where or search. workflow_executions is partitioned — pass id so the lookup hits a single partition. createdAt and processedCompletionAt are filterable only via search.

workflowExecutions-Gets multiple workflow executions.

GraphQL schema

WorkflowExecutionWhereInput supported fields

Field
Type
Notes

id

ID

orgId

ID

Required in practice

originatingExecutionId

ID

status

String

Exact match only

numAwaitingResponseTasks

Int

workflow

WorkflowWhereInput

Nested filter on parent workflow

workflowId

ID

Not filterable via where - use search instead: createdAt, processedCompletionAt, organization

WorkflowExecutionSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

orgId

id_comparison_exp

originatingExecutionId

id_comparison_exp

status

string_comparison_exp

numAwaitingResponseTasks

int_comparison_exp

workflow

WorkflowSearch

createdAt

string_comparison_exp

processedCompletionAt

string_comparison_exp

organization

OrganizationSearchInput

Is where or search mandatory?

Yes, strongly. workflow_executions is the largest of the three unbounded tables. An unscoped query is essentially guaranteed to time-out. Always pass:

  • orgId (via where or search)

  • limit (recommended ≤ 50; payloads are large)

  • offset for pagination

  • A createdAt lower bound on search if you can will drastically narrow the partition scan

Shared pagination rule: Every plural query should be called with limit and offset. Queries against the largest tables— workflowExecutions, taskLogs, organizations, and anything that traverses into them— will time out without it.

Worked example: Recent failed executions for the current org

workflowExecutionContexts-Gets workflow execution contexts.

GraphQL schema

Is where or search mandatory?

workflowExecutionId. Always scoped to one execution — there is no list form.

dailyTimeSavedByDateRange-Gets daily time saved within a date range.

GraphQL schema

Is where or search mandatory?

orgId, startDate, endDate

Workflow patch queries

workflowPatch-Gets a specific workflow patch.

GraphQL schema

Is where or search mandatory?

id

workflowPatches-Gets multiple workflow patches.

GraphQL schema

WorkflowPatchWhereInput — supported fields

Field
Type

comment

String

user

UserWhereInput (nested)

patchType

PatchType

workflowId

ID

foreignId

ID

createdAt

String

updatedAt

String

Is where or search mandatory?

Uses orderBy (an enum), not the order array used by most other plural queries. where: { workflowId }, limit, offset.

There is no search input.

Workflow management queries

workflow-Gets a specific workflow.

GraphQL schema

WorkflowWhereInput supported fields

Field
Type

clonedFromId

ID

unpackedFromId

ID

crates

CrateWhereInput (nested)

description

String

id

ID

input

[String]

isSynchronized

Boolean

name

String

orgId

ID

output

[JSON]

schemaVersion

String

timeout

Int

version

String

type

WorkflowType

visibleForOrganizations

ID

WorkflowSearch supported fields

Field
Wrapper

createdAt

string_comparison_exp

clonedFromId

id_comparison_exp

description

string_comparison_exp

id

id_comparison_exp

input

string_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

orgId

id_comparison_exp

organization

OrganizationSearchInput (nested)

org_id

id_comparison_exp (alias)

output

string_comparison_exp

schemaVersion

string_comparison_exp

tags

TagSearchInput (nested)

tasks

id_comparison_exp

timeout

int_comparison_exp

tokens

json_comparison_exp

updatedAt

string_comparison_exp

updatedBy

UserSearchInput (nested)

version

string_comparison_exp

visibleForOrganizations

id_comparison_exp

Is where or search mandatory?

Yes - id via where or search. Note: createdAt, updatedAt, and tokens are filterable only via search.

workflows-Gets multiple workflows.

GraphQL schema

WorkflowWhereInput supported fields

Field
Type

clonedFromId

ID

unpackedFromId

ID

crates

CrateWhereInput (nested)

description

String

id

ID

input

[String]

isSynchronized

Boolean

name

String

orgId

ID

output

[JSON]

schemaVersion

String

timeout

Int

version

String

type

WorkflowType

visibleForOrganizations

ID

WorkflowSearch supported fields

Field
Wrapper

createdAt

string_comparison_exp

clonedFromId

id_comparison_exp

description

string_comparison_exp

id

id_comparison_exp

input

string_comparison_exp

isSynchronized

bool_comparison_exp

name

string_comparison_exp

orgId

id_comparison_exp

organization

OrganizationSearchInput (nested)

org_id

id_comparison_exp (alias)

output

string_comparison_exp

schemaVersion

string_comparison_exp

tags

TagSearchInput (nested)

tasks

id_comparison_exp

timeout

int_comparison_exp

tokens

json_comparison_exp

updatedAt

string_comparison_exp

updatedBy

UserSearchInput (nested)

version

string_comparison_exp

visibleForOrganizations

id_comparison_exp

Is where or search mandatory?

limit and offset. Scope by orgIdworkflows is a large table and unscoped calls will be slow.

workflowNote-Gets a specific workflow note.

GraphQL schema

WorkflowNoteWhereInput supported fields

Field
Type

id

ID

title

String

content

String

metadata

JSON

clonedFromId

ID

index

Int

workflowId

ID

Is where or search mandatory?

id or workflowId on where . There is no search input.

workflowNotes-Gets multiple workflow notes.

GraphQL schema

WorkflowNoteSearchInput supported fields

Field
Wrapper

id

id_comparison_exp

title

string_comparison_exp

content

string_comparison_exp

metadata

json_comparison_exp

clonedFromId

id_comparison_exp

index

int_comparison_exp

workflowId

id_comparison_exp

Is where or search mandatory?

limit and offset. Scope by workflowId.

workflowTask-Gets a specific workflow task.

GraphQL schema

WorkflowTaskWhereInput supported fields

Field
Type

action

ActionInput (nested)

actionId

ID

description

String

humanSecondsSaved

Int

id

ID

input

JSON

isMocked

Boolean

join

Int

metadata

JSON

mockInput

JSON

name

String

next

[WorkflowTransitionInput!]

retry

WorkflowTaskRetryInput

runAsOrgId

String

timeout

Int

with

WorkflowTaskWithItemsInput

workflowId

ID

workflow

WorkflowWhereInput (nested)

Is where or search mandatory?

Yes - id or workflowId and a discriminator on where. There is no search input.

workflowTasks-Gets multiple workflow tasks.

GraphQL schema

WorkflowTaskWhereInput supported fields

Field
Type

action

ActionInput (nested)

actionId

ID

description

String

humanSecondsSaved

Int

id

ID

input

JSON

isMocked

Boolean

join

Int

metadata

JSON

mockInput

JSON

name

String

next

[WorkflowTransitionInput!]

retry

WorkflowTaskRetryInput

runAsOrgId

String

timeout

Int

with

WorkflowTaskWithItemsInput

workflowId

ID

workflow

WorkflowWhereInput (nested)

Is where or search mandatory?

Yes - where: { workflowId }, limit, offset. workflow_tasks is large — unscoped calls will be slow. There is no search input.

Each of the mutation expanders below contains information that includes the necessary updates you'll need to make for use of the mutation. Be sure to reference this information accordingly.

Operation type: Mutations

Action option mutations

createActionOptions-Creates multiple action options.

GraphQL schema

Necessary modifications

Each item should supply packConfigId, organizationId, optionLabel, optionValue, and resourceName. Pass replace: true to overwrite the existing set; otherwise rows are appended.

Usage example

Clone operations mutations

Component mutations

createComponent-Creates a new component.

GraphQL schema

Necessary modifications

component.orgId, component.name, component.nodeTree.

updateComponent-Updates an existing component.

GraphQL schema

Necessary modifications

component.id, component.name, component.orgId. Pass through existing name/orgId values when only editing the tree.

deleteComponent-Deletes a component.

GraphQL schema

Necessary modifications

Id.

duplicateComponent-Duplicates an existing component.

GraphQL schema

Necessary modifications

Id.

Foreign object reference mutations

createForeignObjectReference-Creates a foreign object reference.

GraphQL schema

Necessary modifications

orgId and referenceId on the input

createOrUpdateForeignObjectReference-Creates or updates a foreign object reference.

GraphQL schema

Necessary modifications

orgId and referenceId

Form mutations

createForm-Creates a new form.

GraphQL schema

Necessary modifications

form with orgId.

Usage example

submitForm-Submits form data and triggers associated workflow.

GraphQL schema

Necessary modifications

id, values, triggerId, orgId

setFormTags-Sets tags for a form.

GraphQL schema

Necessary modifications

id and tagIds.

shallowCloneForm-Creates a shallow clone of a form.

GraphQL schema

Necessary modifications

id, orgId.

updateForm-Updates an existing form.

GraphQL schema

Necessary modifications

form with id.

deleteForm-Deletes a form.

GraphQL schema

Necessary modifications

id

Organization trigger instance mutations

updateOrgTriggerInstance-Updates an organization trigger instance.

GraphQL schema

Necessary modifications

orgTriggerInstance, and an id or orgId + triggerId on the input to identify the row.

Organization variable mutations

createOrgVariable-Creates a new organization variable.

GraphQL schema:

Necessary modifications

cascade, name, value, orgId.

Usage example

deleteOrgVariable-Deletes an organization variable.

GraphQL schema

Necessary modifications

id

updateOrgVariables-Updates multiple organization variables.

GraphQL schema

Necessary modifications

orgVariables (non-empty); each entry requires id and name.

Organization management mutations

bulkCreateOrganizations-Creates multiple organizations in bulk.

GraphQL schema

Necessary modifications

organizations (non-empty); each item requires name.

bulkDeleteOrganizations-Deletes multiple organizations in bulk.

GraphQL schema

Necessary modifications

organizationIds

createOrganization-Creates a single organization.

GraphQL schema

Necessary modifications

name on each item.

Note: createOrganizations returns nullable elements — a per-row failure yields a null slot rather than aborting the batch.

createOrganizations-Creates multiple organizations.

GraphQL schema

Necessary modifications

organizationinput

deleteOrganization-Deletes an organization.

GraphQL schema

Necessary modifications

id

updateManagedAndSubOrganizations-Updates all managed and suborganizations.

GraphQL schema

Necessary modifications

organization.id (the parent org whose tree is being updated). Returns the count of affected rows.

updateOrganization-Updates an organization.

GraphQL schema

Necessary modifications

organization.id. Pass cascadeChildOrgReenable: true to propagate isEnabled: true to child orgs when re-enabling.

bulkUpdateOrganizationFeaturePreviewSettingByLabel-Bulk updates feature preview settings by label.

Necessary modifications

Pack configuration mutations

synchronizePackBundleConfigs-Synchronizes pack bundle configurations.

GraphQL schema

Necessary modifications

orgId, packBundleId, primaryPackConfigId

createPackConfig-Creates a new pack configuration.

GraphQL schema

Necessary modifications

packConfig.name, packConfig.orgId, packConfig.packId.

deletePackConfig-Deletes a pack configuration.

GraphQL schema

Necessary modifications

id, orgId.

refetchPackConfigRefOptions-Refetches pack configuration reference options.

GraphQL schema

Necessary modifications

packConfigId returns a JobRequestedResponse — work is asynchronous.

testPackConfig-Tests a pack configuration.

GraphQL schema

Necessary modifications

packConfig.id returns a JobRequestedResponse — results delivered via actionResults subscription.

updatePackConfig-Updates a pack configuration.

GraphQL schema

Necessary modifications

id on each entry

updatePackConfigs-Updates multiple pack configurations.

GraphQL schema

Pack mutations

generatePackOrBundleAuthUrl-Generates authorization URL for pack or bundle.

GraphQL schema

Necessary modifications

orgId, plus exactly one of packBundleId or packConfigId.

installPack-Installs a pack for an organization. Returns the updated Organization, not the pack.

GraphQL schema

Necessary modifications

orgId, packId

getPackInstallations-Gets pack installation information. Defined as a mutation despite being read-only.

GraphQL schema

Necessary modifications

packId

getPackPageUrl-Gets the URL for a pack page. Defined as a mutation despite being read-only.

GraphQL schema

Necessary modifications

integrationRef, pagePath

updatePack-Updates a pack.

GraphQL schema

Necessary modifications

pack with id to identify the row

Page mutations

createPage-Creates a new page.

GraphQL schema

Necessary modifications

page.name, page.path, page.orgId

updatePage-Updates an existing page.

GraphQL schema

Necessary modifications

page.id, page.siteId. Note: pageNodes is the encoded editor state passed as a string — decoded server-side.

deletePage-Deletes a page.

GraphQL schema

Necessary modifications

deletePage: requires id.

updatePageNode-Updates a page node.

GraphQL schema

Necessary modifications

updatePageNode: requires id, props.

updatePageNodeByCraftId-Updates a page node by craft ID.

GraphQL schema

Necessary modifications

updatePageNodeByCraftId: requires craftId, pageId, props — use when you have the Craft.js editor id rather than the persisted PageNode.id.

Site mutations

createSite-Creates a new site/app.

GraphQL schema

Necessary modifications

site.orgId

updateSite-Updates an existing site/app.

GraphQL schema

Necessary modifications

id on each entry

updateSites-Updates multiple sites.

GraphQL schema

Necessary modifications

id

deleteSite-Deletes a site/app.

GraphQL schema

Necessary modifications

id

validateSiteCustomDomainDNS-Validates custom domain DNS settings.

GraphQL schema

Necessary modifications

id

Tag mutations

createTag - Creates a new tag.

GraphQL schema

Necessary modifications

Use id, name, and orgId on each entry.

deleteTag-Deletes a tag.

GraphQL schema

Necessary modifications

id

updateTag or updateTags-Updates one tag, updates multiple tags.

GraphQL schema

Necessary modifications

id, name, and orgId on each entry.

setOrganizationTags-Sets tags for an organization.

GraphQL schema

Necessary modifications

Use tagIds and orgId. This is a replace operation — passing tagIds: [] clears all tags on the org.

Template mutations

createTemplate-Creates a new template.

GraphQL schema

Necessary modifications

body, name, orgId.

updateTemplate-Updates an existing template.

GraphQL schema

Necessary modifications

template.id

updateTemplate-Updates an existing template.

GraphQL schema

Necessary modifications

template.id

Trigger mutations

Createtrigger- Creates a trigger.

GraphQL schema

Necessary modifications

trigger with triggerTypeId, orgId, and either workflowId or workflow.id.

updatetrigger- Updates a trigger.

GraphQL schema

Necessary modifications

trigger.id

testworkflowtrigger- Fires a trigger against a workflow for testing.

GraphQL schema

Necessary modifications

triggerInstance. workflowId and input are optional but typically supplied.

deletetrigger- Deletes a trigger.

GraphQL schema

Necessary modifications

id

User mutations

updateuserpreferences - Updates preferences for a user

GraphQL schema

Necessary modifications

userId, preferences

createuser - Creates a new user in an organization

GraphQL schema

Necessary modifications

orgId, username, roleIds. Only available when ENABLE_ADMIN_APPROVAL_REQUESTS is OFF.

deleteuser - Deletes a user in an organization

GraphQL schema

Necessary modifications

Only available when ENABLE_ADMIN_APPROVAL_REQUESTS is OFF.

addfavoriteaction - Adds a favorite action

GraphQL schema

Necessary modifications

actionId and index

removefavoriteaction - Removes a favorite action

GraphQL schema

Necessary modifications

actionId and index

setFavoriteActions - Replaces the entire favorites list

GraphQL schema

Necessary modifications

actionId and index

Workflow mutations

createworkflow - Creates a new workflow

GraphQL schema

Necessary modifications

id

deleteworkflow - Deletes a workflow

GraphQL schema

Necessary modifications

id

deleteworkflows - Deletes multiple workflows

GraphQL schema

Necessary modifications

id

deleteWorkflowExecution - Deletes workflow executions

GraphQL schema

Necessary modifications

id

killWorkflowExecution - Kills active workflow executions

GraphQL schema

Necessary modifications

id

shallowcloneworkflow - Creates a shallow clone of a workflow into an org.

GraphQL schema

Necessary modifications

id, orgId. Does not deep-clone referenced objects.

testworkflow - Triggers a one-off test execution of a workflow.

GraphQL schema

Necessary modifications

id, orgId.

bulksetworkflowtags - Replaces tag assignments on multiple workflows in one call.

GraphQL schema

Necessary modifications

workflowIds, tagIds.

createWorkflowCompletionListener - Creates a completion listener trigger.

GraphQL schema

Necessary modifications

listeningToWorkflowId, orgId, handlerWorkflowId, triggerOnStatuses

updateWorkflowCompletionListener - Updates a completion listener trigger.

GraphQL schema

Necessary modifications

triggerId, listeningToWorkflowId, orgId, handlerWorkflowId, triggerOnStatuses.

deleteWorkflowCompletionListener - Deletes a completion listener trigger.

GraphQL schema

Necessary modifications

id

Security considerations

  1. Always validate user inputs before including in queries

  2. Use organization and permission filters to restrict data access

  3. Track usage patterns for potential security issues

Common use cases for the Generic GraphQL request action

Bulk data operations

Action configuration:

  • Operation type: mutation

  • Operation: updateOrgVariables

  • Variable values:

Complex reporting

Action configuration:

  • Operation type: query

  • Operation: workflows

  • Variable values:

  • Fields:

Data synchronization

Action configuration:

  • Operation type: query

  • Operation: organizations

  • Variable values:

  • Fields: id, name, domain, createdAt, managedOrgs { id, name }

Troubleshoot the Generic GraphQL request action

Permission denied

  • Check for query syntax issues

  • You may be attempting to run an unsupported GraphQL action

Query syntax errors

  • Validate GraphQL syntax using a GraphQL validator

  • Check field names against the schema

  • Ensure variable types match the expected schema types

Rate limiting

  • Implement exponential backoff for retries

  • Consider breaking large operations into smaller batches

  • Monitor API usage patterns

Debug tips

  1. Begin with basic queries before building complex operations

  2. For debugging, use the raw_query parameter to see exact queries

  3. Review workflow execution logs for detailed error messages

  4. Build queries incrementally, adding fields and filters gradually

Last updated

Was this helpful?