WhatsApp · Capability

WhatsApp Flows API — Flows

WhatsApp Flows API — Flows. 5 operations. Lead operation: WhatsApp Get Flow. Self-contained Naftiko capability covering one Whatsapp business surface.

Run with Naftiko WhatsappFlows

What You Can Do

GET
Getflow — WhatsApp Get Flow
/v1/{flow-id}
POST
Updateflow — WhatsApp Update Flow
/v1/{flow-id}
DELETE
Deleteflow — WhatsApp Delete Flow
/v1/{flow-id}
GET
Listflows — WhatsApp List Flows
/v1/{waba-id}/flows
POST
Createflow — WhatsApp Create Flow
/v1/{waba-id}/flows

MCP Tools

whatsapp-get-flow

WhatsApp Get Flow

read-only idempotent
whatsapp-update-flow

WhatsApp Update Flow

whatsapp-delete-flow

WhatsApp Delete Flow

idempotent
whatsapp-list-flows

WhatsApp List Flows

read-only idempotent
whatsapp-create-flow

WhatsApp Create Flow

Capability Spec

flows-flows.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: WhatsApp Flows API — Flows
  description: 'WhatsApp Flows API — Flows. 5 operations. Lead operation: WhatsApp Get Flow. Self-contained Naftiko capability
    covering one Whatsapp business surface.'
  tags:
  - Whatsapp
  - Flows
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WHATSAPP_API_KEY: WHATSAPP_API_KEY
capability:
  consumes:
  - type: http
    namespace: flows-flows
    baseUri: https://graph.facebook.com/v21.0
    description: WhatsApp Flows API — Flows business capability. Self-contained, no shared references.
    resources:
    - name: flow-id
      path: /{flow-id}
      operations:
      - name: getflow
        method: GET
        description: WhatsApp Get Flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: string
          description: Comma-separated fields to return
      - name: updateflow
        method: POST
        description: WhatsApp Update Flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteflow
        method: DELETE
        description: WhatsApp Delete Flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: waba-id-flows
      path: /{waba-id}/flows
      operations:
      - name: listflows
        method: GET
        description: WhatsApp List Flows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: string
          description: Comma-separated fields to return
      - name: createflow
        method: POST
        description: WhatsApp Create Flow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.WHATSAPP_API_KEY}}'
  exposes:
  - type: rest
    namespace: flows-flows-rest
    port: 8080
    description: REST adapter for WhatsApp Flows API — Flows. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/{flow-id}
      name: flow-id
      description: REST surface for flow-id.
      operations:
      - method: GET
        name: getflow
        description: WhatsApp Get Flow
        call: flows-flows.getflow
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: updateflow
        description: WhatsApp Update Flow
        call: flows-flows.updateflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteflow
        description: WhatsApp Delete Flow
        call: flows-flows.deleteflow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/{waba-id}/flows
      name: waba-id-flows
      description: REST surface for waba-id-flows.
      operations:
      - method: GET
        name: listflows
        description: WhatsApp List Flows
        call: flows-flows.listflows
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createflow
        description: WhatsApp Create Flow
        call: flows-flows.createflow
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: flows-flows-mcp
    port: 9090
    transport: http
    description: MCP adapter for WhatsApp Flows API — Flows. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: whatsapp-get-flow
      description: WhatsApp Get Flow
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: flows-flows.getflow
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: whatsapp-update-flow
      description: WhatsApp Update Flow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: flows-flows.updateflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: whatsapp-delete-flow
      description: WhatsApp Delete Flow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: flows-flows.deleteflow
      outputParameters:
      - type: object
        mapping: $.
    - name: whatsapp-list-flows
      description: WhatsApp List Flows
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: flows-flows.listflows
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: whatsapp-create-flow
      description: WhatsApp Create Flow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: flows-flows.createflow
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.