Webex · Capability

Webex Cloud Calling — External Voicemail

Webex Cloud Calling — External Voicemail. 25 operations. Lead operation: List Calls. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexExternal Voicemail

What You Can Do

GET
Listcalls — List Calls
/v1/telephony/calls
POST
Answer — Answer
/v1/telephony/calls/answer
POST
Bargein — Barge In
/v1/telephony/calls/bargein
POST
Dial — Dial
/v1/telephony/calls/dial
POST
Divert — Divert
/v1/telephony/calls/divert
POST
Hangup — Hangup
/v1/telephony/calls/hangup
GET
Listcallhistory — List Call History
/v1/telephony/calls/history
POST
Hold — Hold
/v1/telephony/calls/hold
POST
Mute — Mute
/v1/telephony/calls/mute
POST
Park — Park
/v1/telephony/calls/park
POST
Pauserecording — Pause Recording
/v1/telephony/calls/pauserecording
POST
Pickup — Pickup
/v1/telephony/calls/pickup
POST
Pull — Pull
/v1/telephony/calls/pull
POST
Push — Push
/v1/telephony/calls/push
POST
Reject — Reject
/v1/telephony/calls/reject
POST
Resume — Resume
/v1/telephony/calls/resume
POST
Resumerecording — Resume Recording
/v1/telephony/calls/resumerecording
POST
Retrieve — Retrieve
/v1/telephony/calls/retrieve
POST
Startrecording — Start Recording
/v1/telephony/calls/startrecording
POST
Stoprecording — Stop Recording
/v1/telephony/calls/stoprecording
POST
Transfer — Transfer
/v1/telephony/calls/transfer
POST
Transmitdtmf — Transmit DTMF
/v1/telephony/calls/transmitdtmf
POST
Unmute — Unmute
/v1/telephony/calls/unmute
GET
Getcalldetails — Get Call Details
/v1/telephony/calls/{callid}
POST
Postexternalvoicemailmwi — Set or Clear Message Waiting Indicator (MWI) Status
/v1/telephony/externalvoicemail/mwi

MCP Tools

list-calls

List Calls

read-only idempotent
answer

Answer

barge

Barge In

dial

Dial

divert

Divert

hangup

Hangup

list-call-history

List Call History

read-only idempotent
hold

Hold

mute

Mute

park

Park

pause-recording

Pause Recording

pickup

Pickup

pull

Pull

push

Push

reject

Reject

resume

Resume

resume-recording

Resume Recording

retrieve

Retrieve

read-only
start-recording

Start Recording

stop-recording

Stop Recording

transfer

Transfer

transmit-dtmf

Transmit DTMF

unmute

Unmute

get-call-details

Get Call Details

read-only idempotent
set-clear-message-waiting-indicator

Set or Clear Message Waiting Indicator (MWI) Status

Capability Spec

cloud-calling-external-voicemail.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Cloud Calling — External Voicemail
  description: 'Webex Cloud Calling — External Voicemail. 25 operations. Lead operation: List Calls. Self-contained Naftiko
    capability covering one Webex business surface.'
  tags:
  - Webex
  - External Voicemail
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBEX_API_KEY: WEBEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloud-calling-external-voicemail
    baseUri: ''
    description: Webex Cloud Calling — External Voicemail business capability. Self-contained, no shared references.
    resources:
    - name: telephony-calls
      path: /telephony/calls
      operations:
      - name: listcalls
        method: GET
        description: List Calls
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: lineOwnerId
          in: query
          type: string
          description: The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned
            by the user invoking the API.
    - name: telephony-calls-answer
      path: /telephony/calls/answer
      operations:
      - name: answer
        method: POST
        description: Answer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-bargeIn
      path: /telephony/calls/bargeIn
      operations:
      - name: bargein
        method: POST
        description: Barge In
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-dial
      path: /telephony/calls/dial
      operations:
      - name: dial
        method: POST
        description: Dial
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-divert
      path: /telephony/calls/divert
      operations:
      - name: divert
        method: POST
        description: Divert
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-hangup
      path: /telephony/calls/hangup
      operations:
      - name: hangup
        method: POST
        description: Hangup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-history
      path: /telephony/calls/history
      operations:
      - name: listcallhistory
        method: GET
        description: List Call History
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: query
          type: string
          description: The type of call history records to retrieve. If not specified, then all call history records are retrieved.
    - name: telephony-calls-hold
      path: /telephony/calls/hold
      operations:
      - name: hold
        method: POST
        description: Hold
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-mute
      path: /telephony/calls/mute
      operations:
      - name: mute
        method: POST
        description: Mute
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-park
      path: /telephony/calls/park
      operations:
      - name: park
        method: POST
        description: Park
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-pauseRecording
      path: /telephony/calls/pauseRecording
      operations:
      - name: pauserecording
        method: POST
        description: Pause Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-pickup
      path: /telephony/calls/pickup
      operations:
      - name: pickup
        method: POST
        description: Pickup
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-pull
      path: /telephony/calls/pull
      operations:
      - name: pull
        method: POST
        description: Pull
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-push
      path: /telephony/calls/push
      operations:
      - name: push
        method: POST
        description: Push
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-reject
      path: /telephony/calls/reject
      operations:
      - name: reject
        method: POST
        description: Reject
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-resume
      path: /telephony/calls/resume
      operations:
      - name: resume
        method: POST
        description: Resume
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-resumeRecording
      path: /telephony/calls/resumeRecording
      operations:
      - name: resumerecording
        method: POST
        description: Resume Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-retrieve
      path: /telephony/calls/retrieve
      operations:
      - name: retrieve
        method: POST
        description: Retrieve
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-startRecording
      path: /telephony/calls/startRecording
      operations:
      - name: startrecording
        method: POST
        description: Start Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-stopRecording
      path: /telephony/calls/stopRecording
      operations:
      - name: stoprecording
        method: POST
        description: Stop Recording
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-transfer
      path: /telephony/calls/transfer
      operations:
      - name: transfer
        method: POST
        description: Transfer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-transmitDtmf
      path: /telephony/calls/transmitDtmf
      operations:
      - name: transmitdtmf
        method: POST
        description: Transmit DTMF
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-unmute
      path: /telephony/calls/unmute
      operations:
      - name: unmute
        method: POST
        description: Unmute
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: telephony-calls-callId
      path: /telephony/calls/{callId}
      operations:
      - name: getcalldetails
        method: GET
        description: Get Call Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: callId
          in: path
          type: string
          description: The call identifier of the call.
          required: true
        - name: lineOwnerId
          in: query
          type: string
          description: The ID of a user, workspace, or virtual line for which there is a secondary line on a device owned
            by the user invoking the API.
    - name: telephony-externalVoicemail-mwi
      path: /telephony/externalVoicemail/mwi
      operations:
      - name: postexternalvoicemailmwi
        method: POST
        description: Set or Clear Message Waiting Indicator (MWI) Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
          description: Unique identifier for the user or workspace.
          required: true
        - name: orgId
          in: query
          type: string
          description: 'Id of the organization to which the user or workspace belongs. If not provided, the orgId of the Service
            App is used. If provided, the organization must be the '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-calling-external-voicemail-rest
    port: 8080
    description: REST adapter for Webex Cloud Calling — External Voicemail. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/telephony/calls
      name: telephony-calls
      description: REST surface for telephony-calls.
      operations:
      - method: GET
        name: listcalls
        description: List Calls
        call: cloud-calling-external-voicemail.listcalls
        with:
          lineOwnerId: rest.lineOwnerId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/answer
      name: telephony-calls-answer
      description: REST surface for telephony-calls-answer.
      operations:
      - method: POST
        name: answer
        description: Answer
        call: cloud-calling-external-voicemail.answer
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/bargein
      name: telephony-calls-bargein
      description: REST surface for telephony-calls-bargeIn.
      operations:
      - method: POST
        name: bargein
        description: Barge In
        call: cloud-calling-external-voicemail.bargein
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/dial
      name: telephony-calls-dial
      description: REST surface for telephony-calls-dial.
      operations:
      - method: POST
        name: dial
        description: Dial
        call: cloud-calling-external-voicemail.dial
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/divert
      name: telephony-calls-divert
      description: REST surface for telephony-calls-divert.
      operations:
      - method: POST
        name: divert
        description: Divert
        call: cloud-calling-external-voicemail.divert
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/hangup
      name: telephony-calls-hangup
      description: REST surface for telephony-calls-hangup.
      operations:
      - method: POST
        name: hangup
        description: Hangup
        call: cloud-calling-external-voicemail.hangup
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/history
      name: telephony-calls-history
      description: REST surface for telephony-calls-history.
      operations:
      - method: GET
        name: listcallhistory
        description: List Call History
        call: cloud-calling-external-voicemail.listcallhistory
        with:
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/hold
      name: telephony-calls-hold
      description: REST surface for telephony-calls-hold.
      operations:
      - method: POST
        name: hold
        description: Hold
        call: cloud-calling-external-voicemail.hold
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/mute
      name: telephony-calls-mute
      description: REST surface for telephony-calls-mute.
      operations:
      - method: POST
        name: mute
        description: Mute
        call: cloud-calling-external-voicemail.mute
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/park
      name: telephony-calls-park
      description: REST surface for telephony-calls-park.
      operations:
      - method: POST
        name: park
        description: Park
        call: cloud-calling-external-voicemail.park
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/pauserecording
      name: telephony-calls-pauserecording
      description: REST surface for telephony-calls-pauseRecording.
      operations:
      - method: POST
        name: pauserecording
        description: Pause Recording
        call: cloud-calling-external-voicemail.pauserecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/pickup
      name: telephony-calls-pickup
      description: REST surface for telephony-calls-pickup.
      operations:
      - method: POST
        name: pickup
        description: Pickup
        call: cloud-calling-external-voicemail.pickup
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/pull
      name: telephony-calls-pull
      description: REST surface for telephony-calls-pull.
      operations:
      - method: POST
        name: pull
        description: Pull
        call: cloud-calling-external-voicemail.pull
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/push
      name: telephony-calls-push
      description: REST surface for telephony-calls-push.
      operations:
      - method: POST
        name: push
        description: Push
        call: cloud-calling-external-voicemail.push
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/reject
      name: telephony-calls-reject
      description: REST surface for telephony-calls-reject.
      operations:
      - method: POST
        name: reject
        description: Reject
        call: cloud-calling-external-voicemail.reject
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/resume
      name: telephony-calls-resume
      description: REST surface for telephony-calls-resume.
      operations:
      - method: POST
        name: resume
        description: Resume
        call: cloud-calling-external-voicemail.resume
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/resumerecording
      name: telephony-calls-resumerecording
      description: REST surface for telephony-calls-resumeRecording.
      operations:
      - method: POST
        name: resumerecording
        description: Resume Recording
        call: cloud-calling-external-voicemail.resumerecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/retrieve
      name: telephony-calls-retrieve
      description: REST surface for telephony-calls-retrieve.
      operations:
      - method: POST
        name: retrieve
        description: Retrieve
        call: cloud-calling-external-voicemail.retrieve
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/startrecording
      name: telephony-calls-startrecording
      description: REST surface for telephony-calls-startRecording.
      operations:
      - method: POST
        name: startrecording
        description: Start Recording
        call: cloud-calling-external-voicemail.startrecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/stoprecording
      name: telephony-calls-stoprecording
      description: REST surface for telephony-calls-stopRecording.
      operations:
      - method: POST
        name: stoprecording
        description: Stop Recording
        call: cloud-calling-external-voicemail.stoprecording
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/transfer
      name: telephony-calls-transfer
      description: REST surface for telephony-calls-transfer.
      operations:
      - method: POST
        name: transfer
        description: Transfer
        call: cloud-calling-external-voicemail.transfer
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/transmitdtmf
      name: telephony-calls-transmitdtmf
      description: REST surface for telephony-calls-transmitDtmf.
      operations:
      - method: POST
        name: transmitdtmf
        description: Transmit DTMF
        call: cloud-calling-external-voicemail.transmitdtmf
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/unmute
      name: telephony-calls-unmute
      description: REST surface for telephony-calls-unmute.
      operations:
      - method: POST
        name: unmute
        description: Unmute
        call: cloud-calling-external-voicemail.unmute
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/calls/{callid}
      name: telephony-calls-callid
      description: REST surface for telephony-calls-callId.
      operations:
      - method: GET
        name: getcalldetails
        description: Get Call Details
        call: cloud-calling-external-voicemail.getcalldetails
        with:
          callId: rest.callId
          lineOwnerId: rest.lineOwnerId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/telephony/externalvoicemail/mwi
      name: telephony-externalvoicemail-mwi
      description: REST surface for telephony-externalVoicemail-mwi.
      operations:
      - method: POST
        name: postexternalvoicemailmwi
        description: Set or Clear Message Waiting Indicator (MWI) Status
        call: cloud-calling-external-voicemail.postexternalvoicemailmwi
        with:
          id: rest.id
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-calling-external-voicemail-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Cloud Calling — External Voicemail. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-calls
      description: List Calls
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-external-voicemail.listcalls
      with:
        lineOwnerId: tools.lineOwnerId
      outputParameters:
      - type: object
        mapping: $.
    - name: answer
      description: Answer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.answer
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: barge
      description: Barge In
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.bargein
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: dial
      description: Dial
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.dial
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: divert
      description: Divert
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.divert
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hangup
      description: Hangup
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.hangup
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-call-history
      description: List Call History
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-external-voicemail.listcallhistory
      with:
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: hold
      description: Hold
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.hold
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: mute
      description: Mute
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.mute
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: park
      description: Park
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.park
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: pause-recording
      description: Pause Recording
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.pauserecording
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: pickup
      description: Pickup
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.pickup
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: pull
      description: Pull
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.pull
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: push
      description: Push
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.push
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: reject
      description: Reject
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.reject
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: resume
      description: Resume
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.resume
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: resume-recording
      description: Resume Recording
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.resumerecording
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve
      description: Retrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.retrieve
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: start-recording
      description: Start Recording
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.startrecording
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: stop-recording
      description: Stop Recording
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.stoprecording
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: transfer
      description: Transfer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.transfer
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: transmit-dtmf
      description: Transmit DTMF
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.transmitdtmf
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: unmute
      description: Unmute
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.unmute
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-call-details
      description: Get Call Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-external-voicemail.getcalldetails
      with:
        callId: tools.callId
        lineOwnerId: tools.lineOwnerId
      outputParameters:
      - type: object
        mapping: $.
    - name: set-clear-message-waiting-indicator
      description: Set or Clear Message Waiting Indicator (MWI) Status
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-external-voicemail.postexternalvoicemailmwi
      with:
        id: tools.id
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.