Webex Templates API
The Templates API from Webex — 2 operation(s) for templates.
The Templates API from Webex — 2 operation(s) for templates.
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. These APIs cover agent lifecycle management, queue and routing configuration, customer journey tracking, and access to real-time and historical analytics. Use cases include embedding agent controls in custom UIs, automating workforce management, integrating with CRM and ticketing systems, and building custom reporting dashboards. The APIs empower organizations to deliver personalized, efficient customer experiences and optimize contact center operations.
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'
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
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'
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'
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.