Webex Templates API

The Templates API from Webex — 2 operation(s) for templates.

Operations 2

GET /templates List Flow Templates #
GET /templates/{id} Get a Flow Template #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/webex-templates-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

webex-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Webex Contact Center Templates API
  version: 1.0.0
  description: The Webex Contact Center APIs allow developers to deeply integrate, configure, and manage cloud-based contact center solutions.
  x-provenance:
    method: harvested
    authored_by: Cisco Webex
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
  x-evidence:
  - type: source
    url: https://github.com/webex/webex-openapi-specs/blob/main/public-spec/webex-contact-center.json
  - type: raw
    url: https://raw.githubusercontent.com/webex/webex-openapi-specs/main/public-spec/webex-contact-center.json
tags:
- name: Templates
paths:
  /templates:
    get:
      tags:
      - Templates
      summary: List Flow Templates
      description: 'List available flow templates that can be used to create new flows.


        Scope: `cjp:config_read`'
      operationId: listFlowTemplates
      parameters:
      - name: type
        in: query
        description: Filter by flow or subflow.
        required: false
        schema:
          type: string
          enum:
          - flow
          - subflow
        example: flow
      responses:
        '200':
          description: Array of template metadata with IDs, names, and descriptions.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlowTemplate'
                example:
                - id: tmpl-customer-callback
                  name: Customer Callback
                  description: Offers a callback when estimated wait time exceeds a threshold.
                  type: flow
        '401':
          description: Unauthorized.
          content: {}
        '403':
          description: Forbidden.
          content: {}
        '404':
          description: Not Found.
          content: {}
        '429':
          description: Too Many Requests.
          content: {}
  /templates/{id}:
    get:
      tags:
      - Templates
      summary: Get a Flow Template
      description: 'Retrieve a specific flow template by its ID. Use this to inspect a template''s flow structure before creating a flow from it.


        Scope: `cjp:config_read`'
      operationId: getFlowTemplate
      parameters:
      - name: id
        in: path
        description: Template ID.
        required: true
        schema:
          type: string
        example: tmpl-customer-callback
      responses:
        '200':
          description: Template metadata and flow structure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowTemplate'
        '401':
          description: Unauthorized.
          content: {}
        '403':
          description: Forbidden.
          content: {}
        '404':
          description: Not Found.
          content: {}
        '429':
          description: Too Many Requests.
          content: {}
components:
  schemas:
    FlowV2Variable:
      title: FlowV2Variable
      type: object
      description: A flow variable.
      additionalProperties: true
      properties:
        name:
          type: string
          description: Variable name.
          example: FlowVar1
        type:
          type: string
          description: Variable data type (for example, `STRING`, `INTEGER`, `BOOLEAN`).
          example: STRING
        value:
          type: string
          description: Default value as a string.
          example: var1
        description:
          type: string
          description: Human-readable description of the variable.
          example: ''
        isCAD:
          type: boolean
          description: True if this variable is exposed as Call-Associated Data.
          example: true
        isAgentEditable:
          type: boolean
          description: True if agents can edit the variable value at runtime.
          example: true
        isReportable:
          type: boolean
          description: True if the variable is included in reporting.
          example: false
        isSecure:
          type: boolean
          description: True if the variable holds sensitive data and must be masked in logs and reports.
          example: false
    FlowV2Edge:
      title: FlowV2Edge
      type: object
      description: 'An edge connecting two flow nodes. Edge `condition` aliases are normalized server-side: `done` is rewritten to `out`, `NewPhoneContact` is rewritten to `out`, and `defaultBranch` is rewritten to `default`.'
      additionalProperties: true
      properties:
        key:
          type: string
          description: Stable, unique edge key within the flow. Used as the patch-merge key for `upsert_edges` and `remove_edge_keys`.
          example: edge-1
        from_node:
          type: string
          description: Name of the source node. Must reference a node in the same process.
          example: NewPhoneContact
        from_port:
          type: string
          description: Output port name on the source node. Must match an `outputPorts[].name` exposed by the source activity definition.
          example: out
        to_node:
          type: string
          description: Name of the target node. Must reference a node in the same process.
          example: PlayMessage_1
        condition:
          type: string
          description: 'Branch condition this edge fires on. Aliases: `done` -> `out`, `NewPhoneContact` -> `out`, `defaultBranch` -> `default`.'
          example: out
    FlowV2:
      title: FlowV2
      type: object
      description: Flow JSON document (formerly Flow IR / FDL 2.0). Describes a flow as top-level metadata plus arrays of nodes, edges, variables, event flows, and preferences.
      additionalProperties: true
      properties:
        flowName:
          type: string
          description: Name of the flow.
          example: Customer_Support_Main
        flowType:
          type: string
          description: Flow type. One of `FLOW` or `SUBFLOW`.
          enum:
          - FLOW
          - SUBFLOW
          example: FLOW
        contactType:
          type: string
          description: Channel type the flow is intended for (for example, `telephony`, `customMessaging`, `workItem`, `genericAction`).
          example: telephony
        description:
          type: string
          description: Human-readable description of the flow.
          example: Routes inbound support calls to the main support queue.
        version:
          type: integer
          format: int64
          description: Monotonically increasing version number of the document.
          example: 3
        status:
          type: string
          description: Lifecycle state of the document. One of `Draft` or `Published`.
          enum:
          - Draft
          - Published
          example: Draft
        nodes:
          type: array
          description: Activity nodes in the main flow process.
          items:
            $ref: '#/components/schemas/FlowV2Node'
        edges:
          type: array
          description: Edges connecting nodes in the main flow process.
          items:
            $ref: '#/components/schemas/FlowV2Edge'
        variables:
          type: array
          description: Flow variables.
          items:
            $ref: '#/components/schemas/FlowV2Variable'
        eventFlows:
          type: array
          description: Event-handler subflows bound to specific events.
          items:
            $ref: '#/components/schemas/FlowV2EventFlow'
        preferences:
          type: array
          description: Flow-level preferences.
          items:
            $ref: '#/components/schemas/FlowV2Preference'
      example:
        flowName: Customer_Support_Main
        flowType: FLOW
        contactType: telephony
        description: Routes inbound support calls to the main support queue.
        version: 3
        status: Draft
        nodes:
        - name: NewPhoneContact
          activityName: NewPhoneContact
          inputs: {}
          outputs: {}
          position:
            x: 100
            y: 200
        - name: PlayMessage_1
          activityName: PlayMessage
          inputs:
            audioFile: welcome.wav
          outputs: {}
          position:
            x: 300
            y: 200
        edges:
        - key: edge-1
          from_node: NewPhoneContact
          from_port: out
          to_node: PlayMessage_1
          condition: out
        variables:
        - name: FlowVar1
          type: STRING
          value: var1
          description: ''
          isCAD: true
          isAgentEditable: true
          isReportable: false
          isSecure: false
        eventFlows: []
        preferences:
        - name: hideSecureCADWarning
          type: Boolean
          value: 'true'
    FlowTemplate:
      title: FlowTemplate
      type: object
      description: Flow template metadata and flow structure used to seed new flows.
      additionalProperties: true
      example:
        id: tmpl-customer-callback
        name: Customer Callback
        description: Offers a callback when estimated wait time exceeds a threshold.
        type: flow
      properties:
        id:
          type: string
          description: Template ID.
          example: tmpl-customer-callback
        name:
          type: string
          description: Template name.
          example: Customer Callback
        description:
          type: string
          description: Human-readable description of the template.
          example: Offers a callback when estimated wait time exceeds a threshold.
        type:
          type: string
          description: Template kind. One of `flow` or `subflow`.
          enum:
          - flow
          - subflow
          example: flow
        flow:
          $ref: '#/components/schemas/FlowV2'
    FlowV2Preference:
      title: FlowV2Preference
      type: object
      description: A flow-level preference.
      additionalProperties: true
      properties:
        name:
          type: string
          description: Preference name.
          example: hideSecureCADWarning
        type:
          type: string
          description: Preference value type.
          example: Boolean
        value:
          type: string
          description: Preference value, encoded as a string.
          example: 'true'
    FlowV2Node:
      title: FlowV2Node
      type: object
      description: A node in a flow process graph. Each node represents one activity instance.
      additionalProperties: true
      properties:
        name:
          type: string
          description: Stable, unique node name within the flow. Used as the patch-merge key for `upsert_nodes` and `remove_node_names`.
          example: PlayMessage_1
        activityName:
          type: string
          description: Activity type this node instantiates. Must match an `activityName` returned by `listActivityDefinitions`.
          example: PlayMessage
        inputs:
          type: object
          description: Input values for the activity, keyed by input name. Shape depends on the activity definition.
          additionalProperties: true
          example:
            audioFile: welcome.wav
        outputs:
          type: object
          description: Declared output bindings for the activity, keyed by output name. Used to map activity outputs to flow variables.
          additionalProperties: true
          example: {}
        position:
          type: object
          description: Node position on the flow canvas.
          properties:
            x:
              type: number
              description: Horizontal coordinate in pixels.
              example: 300
            y:
              type: number
              description: Vertical coordinate in pixels.
              example: 200
    FlowV2EventFlow:
      title: FlowV2EventFlow
      type: object
      description: An event-handler subflow bound to a specific event. The subflow runs when its bound event fires.
      additionalProperties: true
      properties:
        event:
          type: string
          description: Name of the event this subflow handles. Must reference an event from `listEventSpecifications`.
          example: AgentDisconnected
        nodes:
          type: array
          description: Activity nodes in the event-handler process.
          items:
            $ref: '#/components/schemas/FlowV2Node'
        edges:
          type: array
          description: Edges in the event-handler process.
          items:
            $ref: '#/components/schemas/FlowV2Edge'
  securitySchemes:
    oauth2:
      flows:
        authorizationCode:
          authorizationUrl: /
          scopes: {}
          tokenUrl: /
      type: oauth2
    bearer-key:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
    BEARER_TOKEN_FROM_CI:
      type: http
      in: header
      scheme: bearer
    Bearer:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT bearer token authentication. Obtain your token from the Webex Developer Portal.