Prismatic · Arazzo Workflow

Prismatic List Integrations and Deployed Instances

Version 1.0.0

List all integrations, then list the deployed instances that reference them.

1 workflow 1 source API 1 provider
View Spec View on GitHub Embedded iPaaSIntegrationsWorkflowsConnectorsAI AgentsMCPCode-NativeLow-CodeArazzoWorkflows

Provider

prismatic

Workflows

list-integrations-and-instances
Enumerate integration definitions and their deployed instances.
Runs the documented listIntegrations and listInstances GraphQL queries in sequence using the supplied access token, returning both the integration nodes and the instance nodes with their customer and integration references.
2 steps inputs: accessToken outputs: instances, integrations
1
listIntegrations
executeGraphQLQuery
Run the documented listIntegrations GraphQL query.
2
listInstances
executeGraphQLQuery
Run the documented listInstances GraphQL query to enumerate deployed instances and their customer and integration references.

Source API Descriptions

Arazzo Workflow Specification

prismatic-list-integrations-and-instances-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Prismatic List Integrations and Deployed Instances
  summary: List all integrations, then list the deployed instances that reference them.
  description: >-
    Provides a complete picture of what has been built versus what is actually
    deployed. The flow first runs the documented listIntegrations GraphQL query
    to enumerate every integration definition, then runs the documented
    listInstances GraphQL query to enumerate the instances deployed to customers,
    each of which carries its parent customer and integration. Both reads share a
    single inline bearer credential. Note: Prismatic is a GraphQL-over-HTTP API,
    so each read is a separate request body sent through the single
    executeGraphQLQuery endpoint, with the query strings taken from the
    specification examples.
  version: 1.0.0
sourceDescriptions:
- name: prismaticGraphqlApi
  url: ../openapi/prismatic-graphql-api-openapi.yml
  type: openapi
workflows:
- workflowId: list-integrations-and-instances
  summary: Enumerate integration definitions and their deployed instances.
  description: >-
    Runs the documented listIntegrations and listInstances GraphQL queries in
    sequence using the supplied access token, returning both the integration
    nodes and the instance nodes with their customer and integration references.
  inputs:
    type: object
    required:
    - accessToken
    properties:
      accessToken:
        type: string
        description: A valid Prismatic JWT access token to authenticate the queries.
  steps:
  - stepId: listIntegrations
    description: Run the documented listIntegrations GraphQL query.
    operationId: executeGraphQLQuery
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        query: >-
          query listIntegrations {
            integrations {
              nodes {
                id
                name
                description
              }
            }
          }
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      integrations: $response.body#/data/integrations/nodes
  - stepId: listInstances
    description: >-
      Run the documented listInstances GraphQL query to enumerate deployed
      instances and their customer and integration references.
    operationId: executeGraphQLQuery
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        query: >-
          query listInstances {
            instances {
              nodes {
                id
                name
                customer {
                  id
                  name
                }
                integration {
                  id
                  name
                }
              }
            }
          }
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      instances: $response.body#/data/instances/nodes
  outputs:
    integrations: $steps.listIntegrations.outputs.integrations
    instances: $steps.listInstances.outputs.instances