Webex · Capability
Webex Messaging — People
Webex Messaging — People. 6 operations. Lead operation: List People. Self-contained Naftiko capability covering one Webex business surface.
What You Can Do
GET
Listpeople
— List People
/v1/people
POST
Createaperson
— Create a Person
/v1/people
GET
Getmyowndetails
— Get My Own Details
/v1/people/me
GET
Getpersondetails
— Get Person Details
/v1/people/{personid}
PUT
Updateaperson
— Update a Person
/v1/people/{personid}
DELETE
Deleteaperson
— Delete a Person
/v1/people/{personid}
MCP Tools
list-people
List People
read-only
idempotent
create-person
Create a Person
get-my-own-details
Get My Own Details
read-only
idempotent
get-person-details
Get Person Details
read-only
idempotent
update-person
Update a Person
idempotent
delete-person
Delete a Person
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Webex Messaging — People
description: 'Webex Messaging — People. 6 operations. Lead operation: List People. Self-contained Naftiko capability covering
one Webex business surface.'
tags:
- Webex
- People
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
WEBEX_API_KEY: WEBEX_API_KEY
capability:
consumes:
- type: http
namespace: messaging-people
baseUri: ''
description: Webex Messaging — People business capability. Self-contained, no shared references.
resources:
- name: people
path: /people
operations:
- name: listpeople
method: GET
description: List People
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: email
in: query
type: string
description: List people with this email address. For non-admin requests, either this or `displayName` are required.
With the exception of partner admins and a managed org r
- name: displayName
in: query
type: string
description: List people whose name starts with this string. For non-admin requests, either this or email are required.
- name: id
in: query
type: string
description: List people by ID. Accepts up to 85 person IDs separated by commas. If this parameter is provided then
presence information (such as the `lastActivity` or `stat
- name: orgId
in: query
type: string
description: List people in this organization. Only admin users of another organization (such as partners) may use
this parameter.
- name: roles
in: query
type: string
description: List of roleIds separated by commas.
- name: callingData
in: query
type: boolean
description: Include Webex Calling user details in the response.
- name: locationId
in: query
type: string
description: List people present in this location.
- name: max
in: query
type: number
description: Limit the maximum number of people in the response. If `callingData`=true, then `max` will not be more
than 100. If `locationId` is specified then `max` will no
- name: excludeStatus
in: query
type: boolean
description: Omit people status/availability to enhance query performance.
- name: createaperson
method: POST
description: Create a Person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: callingData
in: query
type: boolean
description: Include Webex Calling user details in the response.
- name: minResponse
in: query
type: boolean
description: Set to `true` to improve performance by omitting person details and returning only the ID in the response
when successful. If unsuccessful the response will hav
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: people-me
path: /people/me
operations:
- name: getmyowndetails
method: GET
description: Get My Own Details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: callingData
in: query
type: boolean
description: Include Webex Calling user details in the response.
- name: people-personId
path: /people/{personId}
operations:
- name: getpersondetails
method: GET
description: Get Person Details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: personId
in: path
type: string
description: A unique identifier for the person.
required: true
- name: callingData
in: query
type: boolean
description: Include Webex Calling user details in the response.
- name: updateaperson
method: PUT
description: Update a Person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: personId
in: path
type: string
description: A unique identifier for the person.
required: true
- name: callingData
in: query
type: boolean
description: Include Webex Calling user details in the response.
- name: showAllTypes
in: query
type: boolean
description: Include additional user data like `#attendee` role.
- name: minResponse
in: query
type: boolean
description: Set to `true` to improve performance by omitting person details in the response. If unsuccessful the
response will have optional error details.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deleteaperson
method: DELETE
description: Delete a Person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: personId
in: path
type: string
description: A unique identifier for the person.
required: true
authentication:
type: bearer
token: '{{env.WEBEX_API_KEY}}'
exposes:
- type: rest
namespace: messaging-people-rest
port: 8080
description: REST adapter for Webex Messaging — People. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/people
name: people
description: REST surface for people.
operations:
- method: GET
name: listpeople
description: List People
call: messaging-people.listpeople
with:
email: rest.email
displayName: rest.displayName
id: rest.id
orgId: rest.orgId
roles: rest.roles
callingData: rest.callingData
locationId: rest.locationId
max: rest.max
excludeStatus: rest.excludeStatus
outputParameters:
- type: object
mapping: $.
- method: POST
name: createaperson
description: Create a Person
call: messaging-people.createaperson
with:
callingData: rest.callingData
minResponse: rest.minResponse
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/people/me
name: people-me
description: REST surface for people-me.
operations:
- method: GET
name: getmyowndetails
description: Get My Own Details
call: messaging-people.getmyowndetails
with:
callingData: rest.callingData
outputParameters:
- type: object
mapping: $.
- path: /v1/people/{personid}
name: people-personid
description: REST surface for people-personId.
operations:
- method: GET
name: getpersondetails
description: Get Person Details
call: messaging-people.getpersondetails
with:
personId: rest.personId
callingData: rest.callingData
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateaperson
description: Update a Person
call: messaging-people.updateaperson
with:
personId: rest.personId
callingData: rest.callingData
showAllTypes: rest.showAllTypes
minResponse: rest.minResponse
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleteaperson
description: Delete a Person
call: messaging-people.deleteaperson
with:
personId: rest.personId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: messaging-people-mcp
port: 9090
transport: http
description: MCP adapter for Webex Messaging — People. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-people
description: List People
hints:
readOnly: true
destructive: false
idempotent: true
call: messaging-people.listpeople
with:
email: tools.email
displayName: tools.displayName
id: tools.id
orgId: tools.orgId
roles: tools.roles
callingData: tools.callingData
locationId: tools.locationId
max: tools.max
excludeStatus: tools.excludeStatus
outputParameters:
- type: object
mapping: $.
- name: create-person
description: Create a Person
hints:
readOnly: false
destructive: false
idempotent: false
call: messaging-people.createaperson
with:
callingData: tools.callingData
minResponse: tools.minResponse
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-my-own-details
description: Get My Own Details
hints:
readOnly: true
destructive: false
idempotent: true
call: messaging-people.getmyowndetails
with:
callingData: tools.callingData
outputParameters:
- type: object
mapping: $.
- name: get-person-details
description: Get Person Details
hints:
readOnly: true
destructive: false
idempotent: true
call: messaging-people.getpersondetails
with:
personId: tools.personId
callingData: tools.callingData
outputParameters:
- type: object
mapping: $.
- name: update-person
description: Update a Person
hints:
readOnly: false
destructive: false
idempotent: true
call: messaging-people.updateaperson
with:
personId: tools.personId
callingData: tools.callingData
showAllTypes: tools.showAllTypes
minResponse: tools.minResponse
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-person
description: Delete a Person
hints:
readOnly: false
destructive: true
idempotent: true
call: messaging-people.deleteaperson
with:
personId: tools.personId
outputParameters:
- type: object
mapping: $.