Knock · Arazzo Workflow

Knock Bulk Set Tenants and Verify

Version 1.0.0

Bulk upsert tenants, wait for the operation to complete, then list tenants to verify.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub NotificationMessagingInfrastructureWorkflowsCross-ChannelEmailSMSPushIn-AppChatSlackWebhookMCPAI AgentsDeveloper PlatformArazzoWorkflows

Provider

knock-app

Workflows

bulk-set-tenants-verify
Bulk upsert tenants, poll the bulk operation, then list tenants.
Submits a batch of tenants, polls the returned bulk operation until completed or failed, and lists tenants to verify the result.
3 steps inputs: apiKey, nameFilter, tenants outputs: bulkOperationId, bulkStatus, successCount
1
bulkSetTenants
Submit the batch of tenants, returning a bulk operation handle to poll.
2
pollBulkOperation
Fetch the bulk operation and check its status. Re-runs this step while the operation is still queued or processing.
3
listTenants
List tenants, optionally filtered by name, to verify the bulk upsert registered the tenants.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Knock Bulk Set Tenants and Verify
  summary: Bulk upsert tenants, wait for the operation to complete, then list tenants to verify.
  description: >-
    Bulk setting tenants returns a bulk-operation handle that processes
    asynchronously. This flow submits a batch of tenants, polls the bulk
    operation until it reaches a terminal status, and then lists tenants to
    verify the upsert. Every 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: bulkOperationsApi
  url: ../openapi/knock-app-bulk-operations-api-openapi.yml
  type: openapi
- name: tenantsApi
  url: ../openapi/knock-app-tenants-api-openapi.yml
  type: openapi
workflows:
- workflowId: bulk-set-tenants-verify
  summary: Bulk upsert tenants, poll the bulk operation, then list tenants.
  description: >-
    Submits a batch of tenants, polls the returned bulk operation until
    completed or failed, and lists tenants to verify the result.
  inputs:
    type: object
    required:
    - apiKey
    - tenants
    properties:
      apiKey:
        type: string
        description: Knock secret API key (sk_...) used as a Bearer token.
      tenants:
        type: array
        description: The list of tenant payloads to upsert in bulk.
        items:
          type: object
      nameFilter:
        type: string
        description: Optional name filter applied when listing tenants to verify.
  steps:
  - stepId: bulkSetTenants
    description: >-
      Submit the batch of tenants, returning a bulk operation handle to poll.
    operationId: bulkSetTenants
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        tenants: $inputs.tenants
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      bulkOperationId: $response.body#/id
  - stepId: pollBulkOperation
    description: >-
      Fetch the bulk operation and check its status. Re-runs this step while the
      operation is still queued or processing.
    operationId: getBulkOperation
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: id
      in: path
      value: $steps.bulkSetTenants.outputs.bulkOperationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      bulkStatus: $response.body#/status
      successCount: $response.body#/success_count
    onSuccess:
    - name: bulkDone
      type: goto
      stepId: listTenants
      criteria:
      - context: $response.body
        condition: $.status == 'completed'
        type: jsonpath
    - name: bulkStillRunning
      type: goto
      stepId: pollBulkOperation
      criteria:
      - context: $response.body
        condition: $.status == 'queued' || $.status == 'processing'
        type: jsonpath
  - stepId: listTenants
    description: >-
      List tenants, optionally filtered by name, to verify the bulk upsert
      registered the tenants.
    operationId: listTenants
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: name
      in: query
      value: $inputs.nameFilter
    - name: page_size
      in: query
      value: 50
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tenants: $response.body#/entries
  outputs:
    bulkOperationId: $steps.bulkSetTenants.outputs.bulkOperationId
    bulkStatus: $steps.pollBulkOperation.outputs.bulkStatus
    successCount: $steps.pollBulkOperation.outputs.successCount

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/knock-app-bulk-set-tenants-verify-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.