Bentley Systems · Arazzo Workflow

Bentley Publish a Form Template and Submit an Instance

Version 1.0.0

Create a form template, submit a filled instance against it, and attach supporting media.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Infrastructure EngineeringDigital TwinBIMCADReality CaptureConstructionAsset ManagementGeospatialiTwiniModelArazzoWorkflows

Provider

bentley-systems

Workflows

publish-form
Create a form template, submit an instance against it, and attach a file.
Creates a reusable form template, submits a filled form instance that references that template, and attaches a supporting file to the instance.
3 steps inputs: attachment, instance, template outputs: attachmentId, definitionId, formId
1
createTemplate
Create the reusable form template. Its definition id is referenced by the submitted instance.
2
submitInstance
Submit a filled form instance against the created template, carrying the template's definition id so the values map to the right schema.
3
attachToInstance
Attach a supporting file to the submitted form instance so the captured data carries its evidence.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Bentley Publish a Form Template and Submit an Instance
  summary: Create a form template, submit a filled instance against it, and attach supporting media.
  description: >-
    Forms drive inspections, checklists, and field data capture. A reusable form
    template is defined once, then field crews submit instances against it and
    attach supporting evidence. This workflow creates a form template, submits a
    filled instance that references the template, and attaches a supporting file
    to that instance. Each step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: attachmentsApi
  url: ../openapi/bentley-systems-attachments-api-openapi.yml
  type: openapi
- name: instancesApi
  url: ../openapi/bentley-systems-instances-api-openapi.yml
  type: openapi
- name: templatesApi
  url: ../openapi/bentley-systems-templates-api-openapi.yml
  type: openapi
workflows:
- workflowId: publish-form
  summary: Create a form template, submit an instance against it, and attach a file.
  description: >-
    Creates a reusable form template, submits a filled form instance that
    references that template, and attaches a supporting file to the instance.
  inputs:
    type: object
    required:
    - template
    - instance
    properties:
      template:
        type: object
        description: The form template (definition) payload (e.g. displayName, iTwinId, fields).
      instance:
        type: object
        description: The form instance payload with the captured field values.
      attachment:
        type: object
        description: The attachment metadata payload for the instance (e.g. fileName, caption).
  steps:
  - stepId: createTemplate
    description: >-
      Create the reusable form template. Its definition id is referenced by the
      submitted instance.
    operationId: CreateTemplate
    requestBody:
      contentType: application/json
      payload: $inputs.template
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      definitionId: $response.body#/formDefinition/id
  - stepId: submitInstance
    description: >-
      Submit a filled form instance against the created template, carrying the
      template's definition id so the values map to the right schema.
    operationId: CreateInstance
    requestBody:
      contentType: application/json
      payload:
        formDefinitionId: $steps.createTemplate.outputs.definitionId
        instance: $inputs.instance
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      formId: $response.body#/form/id
  - stepId: attachToInstance
    description: >-
      Attach a supporting file to the submitted form instance so the captured
      data carries its evidence.
    operationId: CreateAttachment
    parameters:
    - name: formId
      in: path
      value: $steps.submitInstance.outputs.formId
    requestBody:
      contentType: application/json
      payload: $inputs.attachment
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      attachmentId: $response.body#/attachment/id
  outputs:
    definitionId: $steps.createTemplate.outputs.definitionId
    formId: $steps.submitInstance.outputs.formId
    attachmentId: $steps.attachToInstance.outputs.attachmentId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/bentley-systems-publish-form-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.