Webex · Capability

Webex Contact Center — Skill

Webex Contact Center — Skill. 10 operations. Lead operation: List Skill(s). Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexSkill

What You Can Do

GET
Getallconfig2 — List Skill(s)
/v1/organization/{orgid}/skill
POST
Createconfig3 — Create a new Skill
/v1/organization/{orgid}/skill
POST
Saveallconfig2 — Bulk save Skill(s)
/v1/organization/{orgid}/skill/bulk
POST
Populatejsonattributesbyorgidandskillid — Populate json-attributes field for a given skill-id of an organization
/v1/organization/{orgid}/skill/populate-json-attr/{id}
POST
Purgeinactiveconfig2 — Purge inactive Skill(s)
/v1/organization/{orgid}/skill/purge-inactive-entities
GET
Getconfig3 — Get specific Skill by ID
/v1/organization/{orgid}/skill/{id}
PUT
Updateconfig3 — Update specific Skill by ID
/v1/organization/{orgid}/skill/{id}
DELETE
Deleteconfig3 — Delete specific Skill by ID
/v1/organization/{orgid}/skill/{id}
GET
Getincomingreferences2 — List references for a specific Skill
/v1/organization/{orgid}/skill/{id}/incoming-references
GET
Getallconfigwithmetadata4 — List Skill(s)
/v1/organization/{orgid}/v2/skill

MCP Tools

list-skill-s

List Skill(s)

read-only idempotent
create-new-skill

Create a new Skill

bulk-save-skill-s

Bulk save Skill(s)

populate-json-attributes-field-given

Populate json-attributes field for a given skill-id of an organization

purge-inactive-skill-s

Purge inactive Skill(s)

get-specific-skill-id

Get specific Skill by ID

read-only idempotent
update-specific-skill-id

Update specific Skill by ID

idempotent
delete-specific-skill-id

Delete specific Skill by ID

idempotent
list-references-specific-skill

List references for a specific Skill

read-only idempotent
list-skill-s-2

List Skill(s)

read-only idempotent

Capability Spec

contact-center-skill.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Contact Center — Skill
  description: 'Webex Contact Center — Skill. 10 operations. Lead operation: List Skill(s). Self-contained Naftiko capability
    covering one Webex business surface.'
  tags:
  - Webex
  - Skill
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBEX_API_KEY: WEBEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: contact-center-skill
    baseUri: ''
    description: Webex Contact Center — Skill business capability. Self-contained, no shared references.
    resources:
    - name: organization-orgid-skill
      path: /organization/{orgid}/skill
      operations:
      - name: getallconfig2
        method: GET
        description: List Skill(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: filter
          in: query
          type: string
          description: 'Specify a filter based on which the results will be fetched. Supported filterable fields:  id. '
        - name: attributes
          in: query
          type: string
          description: Specify the attributes to be returned. By default, all attributes are returned along with the specified
            columns. All attributes are supported. except (enumSkill
        - name: page
          in: query
          type: integer
          description: Defines the number of displayed page. The page number starts from 0.
        - name: pageSize
          in: query
          type: integer
          description: Defines the number of items to be displayed on a page. If the number specified is more than allowed
            max page size, the API will automatically adjust the page si
        - name: singleObjectResponse
          in: query
          type: boolean
          description: Specifiy whether to include array fields in the response, This query param should use only if the response
            contain single record, if we are using for multiple o
      - name: createconfig3
        method: POST
        description: Create a new Skill
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: payloadDTO
          in: query
          type: string
          description: Skill configuration data
          required: true
    - name: organization-orgid-skill-bulk
      path: /organization/{orgid}/skill/bulk
      operations:
      - name: saveallconfig2
        method: POST
        description: Bulk save Skill(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: organization-orgid-skill-populate-json-attr-id
      path: /organization/{orgid}/skill/populate-json-attr/{id}
      operations:
      - name: populatejsonattributesbyorgidandskillid
        method: POST
        description: Populate json-attributes field for a given skill-id of an organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          required: true
        - name: id
          in: path
          type: string
          required: true
    - name: organization-orgid-skill-purge-inactive-entities
      path: /organization/{orgid}/skill/purge-inactive-entities
      operations:
      - name: purgeinactiveconfig2
        method: POST
        description: Purge inactive Skill(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: nextStartId
          in: query
          type: string
          description: This is the entity ID from which items for the next purge batch with be selected.
    - name: organization-orgid-skill-id
      path: /organization/{orgid}/skill/{id}
      operations:
      - name: getconfig3
        method: GET
        description: Get specific Skill by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: id
          in: path
          type: string
          description: Resource ID of the Skill.
          required: true
      - name: updateconfig3
        method: PUT
        description: Update specific Skill by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: id
          in: path
          type: string
          description: Resource ID of the Skill.
          required: true
        - name: payloadDTO
          in: query
          type: string
          description: Skill configuration data for update
          required: true
      - name: deleteconfig3
        method: DELETE
        description: Delete specific Skill by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: id
          in: path
          type: string
          description: Resource ID of the Skill.
          required: true
    - name: organization-orgid-skill-id-incoming-references
      path: /organization/{orgid}/skill/{id}/incoming-references
      operations:
      - name: getincomingreferences2
        method: GET
        description: List references for a specific Skill
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: id
          in: path
          type: string
          description: ID of this contact center resource.
          required: true
        - name: type
          in: query
          type: string
          description: Entity type of the other entity that has a reference to this specific entity.
        - name: page
          in: query
          type: integer
          description: Defines the number of displayed page. The page number starts from 0.
        - name: pageSize
          in: query
          type: integer
          description: Defines the number of items to be displayed on a page. If the number specified is more than allowed
            max page size, the API will automatically adjust the page si
    - name: organization-orgid-v2-skill
      path: /organization/{orgid}/v2/skill
      operations:
      - name: getallconfigwithmetadata4
        method: GET
        description: List Skill(s)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgid
          in: path
          type: string
          description: Organization ID to be used for this operation. The specified security token must have permission to
            interact with the organization.
          required: true
        - name: filter
          in: query
          type: string
          description: 'Specify a filter based on which the results will be fetched. All the fields are supported except:
            organizationId, enumSkillValues, createdTime, lastUpdatedTime '
        - name: attributes
          in: query
          type: string
          description: Specify the attributes to be returned. By default, all attributes are returned along with the specified
            columns. All attributes are supported. except (enumSkill
        - name: search
          in: query
          type: string
          description: Filter data based on the search keyword.Supported search columns(name)
        - name: page
          in: query
          type: integer
          description: Defines the number of displayed page. The page number starts from 0.
        - name: pageSize
          in: query
          type: integer
          description: Defines the number of items to be displayed on a page. If the number specified is more than allowed
            max page size, the API will automatically adjust the page si
        - name: singleObjectResponse
          in: query
          type: boolean
          description: Specifiy whether to include array fields in the response, This query param should use only if the response
            contain single record, if we are using for multiple o
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: contact-center-skill-rest
    port: 8080
    description: REST adapter for Webex Contact Center — Skill. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/organization/{orgid}/skill
      name: organization-orgid-skill
      description: REST surface for organization-orgid-skill.
      operations:
      - method: GET
        name: getallconfig2
        description: List Skill(s)
        call: contact-center-skill.getallconfig2
        with:
          orgid: rest.orgid
          filter: rest.filter
          attributes: rest.attributes
          page: rest.page
          pageSize: rest.pageSize
          singleObjectResponse: rest.singleObjectResponse
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createconfig3
        description: Create a new Skill
        call: contact-center-skill.createconfig3
        with:
          orgid: rest.orgid
          payloadDTO: rest.payloadDTO
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organization/{orgid}/skill/bulk
      name: organization-orgid-skill-bulk
      description: REST surface for organization-orgid-skill-bulk.
      operations:
      - method: POST
        name: saveallconfig2
        description: Bulk save Skill(s)
        call: contact-center-skill.saveallconfig2
        with:
          orgid: rest.orgid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organization/{orgid}/skill/populate-json-attr/{id}
      name: organization-orgid-skill-populate-json-attr-id
      description: REST surface for organization-orgid-skill-populate-json-attr-id.
      operations:
      - method: POST
        name: populatejsonattributesbyorgidandskillid
        description: Populate json-attributes field for a given skill-id of an organization
        call: contact-center-skill.populatejsonattributesbyorgidandskillid
        with:
          orgid: rest.orgid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organization/{orgid}/skill/purge-inactive-entities
      name: organization-orgid-skill-purge-inactive-entities
      description: REST surface for organization-orgid-skill-purge-inactive-entities.
      operations:
      - method: POST
        name: purgeinactiveconfig2
        description: Purge inactive Skill(s)
        call: contact-center-skill.purgeinactiveconfig2
        with:
          orgid: rest.orgid
          nextStartId: rest.nextStartId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organization/{orgid}/skill/{id}
      name: organization-orgid-skill-id
      description: REST surface for organization-orgid-skill-id.
      operations:
      - method: GET
        name: getconfig3
        description: Get specific Skill by ID
        call: contact-center-skill.getconfig3
        with:
          orgid: rest.orgid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateconfig3
        description: Update specific Skill by ID
        call: contact-center-skill.updateconfig3
        with:
          orgid: rest.orgid
          id: rest.id
          payloadDTO: rest.payloadDTO
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteconfig3
        description: Delete specific Skill by ID
        call: contact-center-skill.deleteconfig3
        with:
          orgid: rest.orgid
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organization/{orgid}/skill/{id}/incoming-references
      name: organization-orgid-skill-id-incoming-references
      description: REST surface for organization-orgid-skill-id-incoming-references.
      operations:
      - method: GET
        name: getincomingreferences2
        description: List references for a specific Skill
        call: contact-center-skill.getincomingreferences2
        with:
          orgid: rest.orgid
          id: rest.id
          type: rest.type
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organization/{orgid}/v2/skill
      name: organization-orgid-v2-skill
      description: REST surface for organization-orgid-v2-skill.
      operations:
      - method: GET
        name: getallconfigwithmetadata4
        description: List Skill(s)
        call: contact-center-skill.getallconfigwithmetadata4
        with:
          orgid: rest.orgid
          filter: rest.filter
          attributes: rest.attributes
          search: rest.search
          page: rest.page
          pageSize: rest.pageSize
          singleObjectResponse: rest.singleObjectResponse
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: contact-center-skill-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Contact Center — Skill. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-skill-s
      description: List Skill(s)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contact-center-skill.getallconfig2
      with:
        orgid: tools.orgid
        filter: tools.filter
        attributes: tools.attributes
        page: tools.page
        pageSize: tools.pageSize
        singleObjectResponse: tools.singleObjectResponse
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-skill
      description: Create a new Skill
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contact-center-skill.createconfig3
      with:
        orgid: tools.orgid
        payloadDTO: tools.payloadDTO
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-save-skill-s
      description: Bulk save Skill(s)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contact-center-skill.saveallconfig2
      with:
        orgid: tools.orgid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: populate-json-attributes-field-given
      description: Populate json-attributes field for a given skill-id of an organization
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contact-center-skill.populatejsonattributesbyorgidandskillid
      with:
        orgid: tools.orgid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: purge-inactive-skill-s
      description: Purge inactive Skill(s)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contact-center-skill.purgeinactiveconfig2
      with:
        orgid: tools.orgid
        nextStartId: tools.nextStartId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-specific-skill-id
      description: Get specific Skill by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contact-center-skill.getconfig3
      with:
        orgid: tools.orgid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-specific-skill-id
      description: Update specific Skill by ID
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: contact-center-skill.updateconfig3
      with:
        orgid: tools.orgid
        id: tools.id
        payloadDTO: tools.payloadDTO
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-specific-skill-id
      description: Delete specific Skill by ID
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: contact-center-skill.deleteconfig3
      with:
        orgid: tools.orgid
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-references-specific-skill
      description: List references for a specific Skill
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contact-center-skill.getincomingreferences2
      with:
        orgid: tools.orgid
        id: tools.id
        type: tools.type
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: list-skill-s-2
      description: List Skill(s)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contact-center-skill.getallconfigwithmetadata4
      with:
        orgid: tools.orgid
        filter: tools.filter
        attributes: tools.attributes
        search: tools.search
        page: tools.page
        pageSize: tools.pageSize
        singleObjectResponse: tools.singleObjectResponse
      outputParameters:
      - type: object
        mapping: $.