Whatfix · Capability

Whatfix Digital Adoption

Unified digital adoption platform capability composing Whatfix's end-user management, content management, analytics, and segmentation APIs into customer-facing workflows for adoption monitoring, onboarding analytics, and content governance.

Run with Naftiko Digital AdoptionAnalyticsOnboardingContent ManagementUser SegmentationChange Management

What You Can Do

GET
List end users — List all end users tracked in Whatfix.
/v1/end-users
PUT
Upsert end user — Create or update an end user with segmentation attributes.
/v1/end-users
GET
List content — List all content items with optional type and status filters.
/v1/content
GET
List segments — List all user segments.
/v1/segments
GET
Get flow analytics — Get flow views, completions, and completion rates.
/v1/analytics/flows
GET
Get end user engagement — Get content engagement broken down by end user.
/v1/analytics/end-users
GET
Get self help analytics — Get Self Help content view counts.
/v1/analytics/self-help
GET
Get user task completion — Get task list completion status for each end user.
/v1/analytics/task-completion
GET
Get most popular flows — Download most popular flows report in JSON or CSV.
/v1/reports/popular-flows

MCP Tools

list-end-users

List all end users tracked in Whatfix for adoption monitoring.

read-only
upsert-end-user

Sync an end user into Whatfix with segmentation attributes from your identity system.

idempotent
list-content

List all Whatfix content items including flows, tooltips, task lists, and surveys.

read-only
list-segments

List all user segments defined for content targeting and personalization.

read-only
get-flow-analytics

Get flow analytics showing views, completions, and completion rates for a date range.

read-only
get-end-user-engagement

Get end user engagement analytics showing content interactions per user.

read-only
get-self-help-analytics

Get analytics for Self Help widget showing which content users search for and view.

read-only
get-user-task-completion

Get task list completion status for onboarding or training tracking per user.

read-only
get-most-popular-flows

Get a report of the most popular flows to understand what guidance users engage with most.

read-only

APIs Used

whatfix

Capability Spec

digital-adoption.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Whatfix Digital Adoption"
  description: >-
    Unified digital adoption platform capability composing Whatfix's end-user management,
    content management, analytics, and segmentation APIs into customer-facing workflows
    for adoption monitoring, onboarding analytics, and content governance.
  tags:
    - Digital Adoption
    - Analytics
    - Onboarding
    - Content Management
    - User Segmentation
    - Change Management
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      WHATFIX_API_TOKEN: WHATFIX_API_TOKEN
      WHATFIX_ACCOUNT_ID: WHATFIX_ACCOUNT_ID
      WHATFIX_USER_EMAIL: WHATFIX_USER_EMAIL

capability:
  consumes:
    - import: whatfix
      location: ./shared/whatfix-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: digital-adoption-api
      description: "Unified REST API for digital adoption monitoring, user management, and analytics."
      resources:
        - path: /v1/end-users
          name: end-users
          description: "End user tracking and segmentation."
          operations:
            - method: GET
              name: list-end-users
              description: "List all end users tracked in Whatfix."
              call: "whatfix.list-end-users"
              with:
                page: "rest.page"
                pageSize: "rest.pageSize"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: upsert-end-user
              description: "Create or update an end user with segmentation attributes."
              call: "whatfix.upsert-end-user"
              with:
                userId: "rest.userId"
                email: "rest.email"
                name: "rest.name"
                attributes: "rest.attributes"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/content
          name: content
          description: "Whatfix content items (flows, tooltips, task lists)."
          operations:
            - method: GET
              name: list-content
              description: "List all content items with optional type and status filters."
              call: "whatfix.list-content"
              with:
                type: "rest.type"
                status: "rest.status"
                page: "rest.page"
                pageSize: "rest.pageSize"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/segments
          name: segments
          description: "User segments for content targeting."
          operations:
            - method: GET
              name: list-segments
              description: "List all user segments."
              call: "whatfix.list-segments"
              with:
                page: "rest.page"
                pageSize: "rest.pageSize"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/analytics/flows
          name: flow-analytics
          description: "Flow performance analytics."
          operations:
            - method: GET
              name: get-flow-analytics
              description: "Get flow views, completions, and completion rates."
              call: "whatfix.get-flow-analytics"
              with:
                startDate: "rest.startDate"
                endDate: "rest.endDate"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/analytics/end-users
          name: user-engagement
          description: "End user engagement analytics."
          operations:
            - method: GET
              name: get-end-user-engagement
              description: "Get content engagement broken down by end user."
              call: "whatfix.get-end-user-engagement"
              with:
                startDate: "rest.startDate"
                endDate: "rest.endDate"
                page: "rest.page"
                pageSize: "rest.pageSize"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/analytics/self-help
          name: self-help-analytics
          description: "Self Help widget content analytics."
          operations:
            - method: GET
              name: get-self-help-analytics
              description: "Get Self Help content view counts."
              call: "whatfix.get-self-help-analytics"
              with:
                startDate: "rest.startDate"
                endDate: "rest.endDate"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/analytics/task-completion
          name: task-completion
          description: "Task list completion analytics per user."
          operations:
            - method: GET
              name: get-user-task-completion
              description: "Get task list completion status for each end user."
              call: "whatfix.get-user-task-completion"
              with:
                startDate: "rest.startDate"
                endDate: "rest.endDate"
                page: "rest.page"
                pageSize: "rest.pageSize"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/reports/popular-flows
          name: popular-flows-report
          description: "Most popular flows report."
          operations:
            - method: GET
              name: get-most-popular-flows
              description: "Download most popular flows report in JSON or CSV."
              call: "whatfix.get-most-popular-flows"
              with:
                format: "rest.format"
                startDate: "rest.startDate"
                endDate: "rest.endDate"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: digital-adoption-mcp
      transport: http
      description: "MCP server for AI-assisted digital adoption monitoring and content management."
      tools:
        - name: list-end-users
          description: "List all end users tracked in Whatfix for adoption monitoring."
          hints:
            readOnly: true
            openWorld: true
          call: "whatfix.list-end-users"
          with:
            page: "tools.page"
            pageSize: "tools.pageSize"
          outputParameters:
            - type: object
              mapping: "$."

        - name: upsert-end-user
          description: "Sync an end user into Whatfix with segmentation attributes from your identity system."
          hints:
            readOnly: false
            idempotent: true
          call: "whatfix.upsert-end-user"
          with:
            userId: "tools.userId"
            email: "tools.email"
            name: "tools.name"
            attributes: "tools.attributes"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-content
          description: "List all Whatfix content items including flows, tooltips, task lists, and surveys."
          hints:
            readOnly: true
            openWorld: true
          call: "whatfix.list-content"
          with:
            type: "tools.type"
            status: "tools.status"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-segments
          description: "List all user segments defined for content targeting and personalization."
          hints:
            readOnly: true
            openWorld: true
          call: "whatfix.list-segments"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-flow-analytics
          description: "Get flow analytics showing views, completions, and completion rates for a date range."
          hints:
            readOnly: true
            openWorld: false
          call: "whatfix.get-flow-analytics"
          with:
            startDate: "tools.startDate"
            endDate: "tools.endDate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-end-user-engagement
          description: "Get end user engagement analytics showing content interactions per user."
          hints:
            readOnly: true
            openWorld: false
          call: "whatfix.get-end-user-engagement"
          with:
            startDate: "tools.startDate"
            endDate: "tools.endDate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-self-help-analytics
          description: "Get analytics for Self Help widget showing which content users search for and view."
          hints:
            readOnly: true
            openWorld: false
          call: "whatfix.get-self-help-analytics"
          with:
            startDate: "tools.startDate"
            endDate: "tools.endDate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-user-task-completion
          description: "Get task list completion status for onboarding or training tracking per user."
          hints:
            readOnly: true
            openWorld: false
          call: "whatfix.get-user-task-completion"
          with:
            startDate: "tools.startDate"
            endDate: "tools.endDate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-most-popular-flows
          description: "Get a report of the most popular flows to understand what guidance users engage with most."
          hints:
            readOnly: true
            openWorld: false
          call: "whatfix.get-most-popular-flows"
          with:
            startDate: "tools.startDate"
            endDate: "tools.endDate"
          outputParameters:
            - type: object
              mapping: "$."