Cvent Capabilities

Naftiko 0.5 capability definitions for Cvent - 100 capabilities showing integration workflows and service orchestrations.

Sort
Expand

Reviews access at Cvent via Okta, IAM, and Jira.

naftiko: "0.5"
info:
  label: "Access Review Pipeline"
  description: "Reviews access at Cvent via Okta, IAM, and Jira."
  tags:
    - security
    - access-management
    - okta
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: access-rev
      port: 8080
      tools:
        - name: review
          description: "Review access at Cvent."
          inputParameters:
            - name: dept
              in: body
              type: string
              description: "Department."
          steps:
            - name: ent
              type: call
              call: "okta.get-users"
              with:
                dept: "{{dept}}"
            - name: compare
              type: call
              call: "iam.compare"
              with:
                data: "{{ent.data}}"
            - name: flag
              type: call
              call: "iam.flag"
              with:
                violations: "{{compare.violations}}"
            - name: fix
              type: call
              call: "jira.create-issue"
              with:
                project: "IAM"
                summary: "Violations in {{dept}}"
  consumes:
    - type: http
      namespace: okta
      baseUri: "https://cvent.com.okta.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.okta_api_token"
      resources:
        - name: users
          path: "/users"
          operations:
            - name: get-users
              method: GET
    - type: http
      namespace: iam
      baseUri: "https://iam.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.iam_token"
      resources:
        - name: reviews
          path: "/compare"
          operations:
            - name: compare
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Manages API deprecation at Cvent via consumer identification, notices, and tracking.

naftiko: "0.5"
info:
  label: "API Deprecation Pipeline"
  description: "Manages API deprecation at Cvent via consumer identification, notices, and tracking."
  tags:
    - api-management
    - communications
    - governance
capability:
  exposes:
    - type: mcp
      namespace: api-sunset
      port: 8080
      tools:
        - name: notify-sunset
          description: "Manage API sunset at Cvent."
          inputParameters:
            - name: api
              in: body
              type: string
              description: "API name."
            - name: date
              in: body
              type: string
              description: "Sunset date."
          steps:
            - name: consumers
              type: call
              call: "api-gw.consumers"
              with:
                api: "{{api}}"
            - name: notify
              type: call
              call: "email.batch"
              with:
                to: "{{consumers.emails}}"
                subject: "{{api}} sunset: {{date}}"
            - name: track
              type: call
              call: "analytics.usage"
              with:
                api: "{{api}}"
            - name: ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "API"
                summary: "Sunset {{api}} by {{date}}"
  consumes:
    - type: http
      namespace: api-gw
      baseUri: "https://api-gw.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.api_gw_token"
      resources:
        - name: consumers
          path: "/apis/{{api}}/consumers"
          inputParameters:
            - name: api
              in: path
          operations:
            - name: consumers
              method: GET
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: batch
          path: "/send-batch"
          operations:
            - name: batch
              method: POST
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: usage
          path: "/api-usage"
          operations:
            - name: usage
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

When an attendee checks in via the Cvent OnArrival app, updates their Salesforce contact record with attendance status and logs the check-in to Microsoft Teams event channel.

naftiko: "0.5"
info:
  label: "Attendee Check-In Sync"
  description: "When an attendee checks in via the Cvent OnArrival app, updates their Salesforce contact record with attendance status and logs the check-in to Microsoft Teams event channel."
  tags:
    - events
    - check-in
    - cvent-event-cloud
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: checkin-sync
      port: 8080
      tools:
        - name: sync-checkin
          description: "Sync attendee check-in event to CRM and notify the event team."
          inputParameters:
            - name: registration_id
              in: body
              type: string
              description: "The Cvent registration identifier."
            - name: event_name
              in: body
              type: string
              description: "The event name for messaging."
          steps:
            - name: get-registration
              type: call
              call: "cvent.get-registration-detail"
              with:
                registration_id: "{{registration_id}}"
            - name: update-salesforce
              type: call
              call: "salesforce.update-contact"
              with:
                email: "{{get-registration.email}}"
                event_attendance: "Checked In - {{event_name}}"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "events-live"
                text: "Check-in: {{get-registration.first_name}} {{get-registration.last_name}} ({{get-registration.company}}) has arrived at {{event_name}}."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: registrations
          path: "/registrations/{{registration_id}}"
          inputParameters:
            - name: registration_id
              in: path
          operations:
            - name: get-registration-detail
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://cvent.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: contacts
          path: "/sobjects/Contact"
          operations:
            - name: update-contact
              method: PATCH
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/{{channel_id}}/channels/General/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Calculates an attendee engagement score by combining session attendance from Cvent, app interactions, and post-event survey responses into a composite metric.

naftiko: "0.5"
info:
  label: "Attendee Engagement Score"
  description: "Calculates an attendee engagement score by combining session attendance from Cvent, app interactions, and post-event survey responses into a composite metric."
  tags:
    - events
    - analytics
    - engagement
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: attendee-engagement
      port: 8080
      tools:
        - name: get-engagement-score
          description: "Calculate the engagement score for an event attendee."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: registration_id
              in: body
              type: string
              description: "The attendee registration identifier."
          steps:
            - name: get-attendance
              type: call
              call: "cvent.get-session-attendance"
              with:
                event_id: "{{event_id}}"
                registration_id: "{{registration_id}}"
            - name: get-interactions
              type: call
              call: "cvent.get-app-activity"
              with:
                event_id: "{{event_id}}"
                registration_id: "{{registration_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: session-attendance
          path: "/events/{{event_id}}/registrations/{{registration_id}}/sessions"
          inputParameters:
            - name: event_id
              in: path
            - name: registration_id
              in: path
          operations:
            - name: get-session-attendance
              method: GET
        - name: app-activity
          path: "/events/{{event_id}}/registrations/{{registration_id}}/activity"
          inputParameters:
            - name: event_id
              in: path
            - name: registration_id
              in: path
          operations:
            - name: get-app-activity
              method: GET

Submits an audio-visual equipment request for an event session in Cvent and creates a corresponding task in the venue's ServiceNow instance.

naftiko: "0.5"
info:
  label: "AV Equipment Request"
  description: "Submits an audio-visual equipment request for an event session in Cvent and creates a corresponding task in the venue's ServiceNow instance."
  tags:
    - events
    - venues
    - cvent-event-cloud
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: av-requests
      port: 8080
      tools:
        - name: request-av-equipment
          description: "Submit an AV equipment request for an event session."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: session_id
              in: body
              type: string
              description: "The session identifier."
            - name: equipment_list
              in: body
              type: string
              description: "Comma-separated list of AV equipment needed."
          steps:
            - name: get-session
              type: call
              call: "cvent.get-session"
              with:
                event_id: "{{event_id}}"
                session_id: "{{session_id}}"
            - name: create-request
              type: call
              call: "servicenow.create-request"
              with:
                short_description: "AV request: {{get-session.session_name}} - {{get-session.room}}"
                category: "av_equipment"
                description: "Event: {{get-session.event_name}}. Session: {{get-session.session_name}}. Room: {{get-session.room}}. Date: {{get-session.date}}. Time: {{get-session.start_time}}. Equipment: {{equipment_list}}."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: sessions
          path: "/events/{{event_id}}/sessions/{{session_id}}"
          inputParameters:
            - name: event_id
              in: path
            - name: session_id
              in: path
          operations:
            - name: get-session
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST

Checks S3 bucket at Cvent.

naftiko: "0.5"
info:
  label: "S3 Bucket Stats"
  description: "Checks S3 bucket at Cvent."
  tags:
    - storage
    - aws
    - s3
capability:
  exposes:
    - type: mcp
      namespace: s3-stats
      port: 8080
      tools:
        - name: get-bucket
          description: "Get bucket stats at Cvent."
          inputParameters:
            - name: bucket
              in: body
              type: string
              description: "Bucket."
          call: "s3.get-stats"
          with:
            bucket: "{{bucket}}"
          outputParameters:
            - name: objects
              type: number
              mapping: "$.NumberOfObjects"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_token"
      resources:
        - name: buckets
          path: "/{{bucket}}?metrics"
          inputParameters:
            - name: bucket
              in: path
          operations:
            - name: get-stats
              method: GET

Checks build at Cvent.

naftiko: "0.5"
info:
  label: "Azure DevOps Build Check"
  description: "Checks build at Cvent."
  tags:
    - devops
    - azure-devops
    - ci-cd
capability:
  exposes:
    - type: mcp
      namespace: azdo-build
      port: 8080
      tools:
        - name: check-build
          description: "Check build at Cvent."
          inputParameters:
            - name: project
              in: body
              type: string
              description: "Project."
            - name: build_id
              in: body
              type: string
              description: "Build ID."
          call: "azdo.get-build"
          with:
            project: "{{project}}"
            build_id: "{{build_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: azdo
      baseUri: "https://dev.azure.com/cvent.com"
      authentication:
        type: bearer
        token: "$secrets.azdo_token"
      resources:
        - name: builds
          path: "/{{project}}/_apis/build/builds/{{build_id}}"
          inputParameters:
            - name: project
              in: path
            - name: build_id
              in: path
          operations:
            - name: get-build
              method: GET

Verifies backups at Cvent.

naftiko: "0.5"
info:
  label: "Backup Verification Pipeline"
  description: "Verifies backups at Cvent."
  tags:
    - database
    - backup
    - operations
capability:
  exposes:
    - type: mcp
      namespace: backup-verify
      port: 8080
      tools:
        - name: verify-backups
          description: "Verify backups at Cvent."
          inputParameters:
            - name: db
              in: body
              type: string
              description: "Database."
            - name: date
              in: body
              type: string
              description: "Backup date."
          steps:
            - name: status
              type: call
              call: "backup.get-status"
              with:
                db: "{{db}}"
                date: "{{date}}"
            - name: verify
              type: call
              call: "backup.verify"
              with:
                id: "{{status.backup_id}}"
            - name: log
              type: call
              call: "snowflake.query"
              with:
                query: "INSERT INTO backup_log VALUES ('{{db}}','{{date}}','{{verify.status}}')"
            - name: alert
              type: call
              call: "slack.post-message"
              with:
                channel: "#dba"
                text: "Backup {{db}}: {{verify.status}}"
  consumes:
    - type: http
      namespace: backup
      baseUri: "https://backup.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.backup_token"
      resources:
        - name: backups
          path: "/databases/{{db}}/status"
          inputParameters:
            - name: db
              in: path
          operations:
            - name: get-status
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://cvent.com.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: query
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Retrieves attendee badge data from Cvent for on-site badge printing, including name, company, title, and QR code data.

naftiko: "0.5"
info:
  label: "Badge Printing Data Retrieval"
  description: "Retrieves attendee badge data from Cvent for on-site badge printing, including name, company, title, and QR code data."
  tags:
    - events
    - check-in
    - badges
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: badge-data
      port: 8080
      tools:
        - name: get-badge-data
          description: "Retrieve attendee badge printing data for an event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: registration_id
              in: body
              type: string
              description: "The registration identifier for the attendee."
          call: "cvent.get-badge-data"
          with:
            event_id: "{{event_id}}"
            registration_id: "{{registration_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: badges
          path: "/events/{{event_id}}/registrations/{{registration_id}}/badge"
          inputParameters:
            - name: event_id
              in: path
            - name: registration_id
              in: path
          operations:
            - name: get-badge-data
              method: GET

Analyzes budget variance at Cvent via Oracle, Workday, and Slack.

naftiko: "0.5"
info:
  label: "Budget Variance Pipeline"
  description: "Analyzes budget variance at Cvent via Oracle, Workday, and Slack."
  tags:
    - finance
    - budget
    - oracle
    - workday
capability:
  exposes:
    - type: mcp
      namespace: budget-var
      port: 8080
      tools:
        - name: analyze-variance
          description: "Check budget variance at Cvent."
          inputParameters:
            - name: cc
              in: body
              type: string
              description: "Cost center."
            - name: period
              in: body
              type: string
              description: "Period."
          steps:
            - name: actuals
              type: call
              call: "oracle.get-actuals"
              with:
                cc: "{{cc}}"
                period: "{{period}}"
            - name: budget
              type: call
              call: "workday.get-budget"
              with:
                cc: "{{cc}}"
            - name: compute
              type: call
              call: "analytics.variance"
              with:
                a: "{{actuals.total}}"
                b: "{{budget.total}}"
            - name: alert
              type: call
              call: "slack.post-message"
              with:
                channel: "#finance"
                text: "Variance {{cc}}: ${{compute.variance}}"
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://oracle.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_token"
      resources:
        - name: fin
          path: "/actuals"
          operations:
            - name: get-actuals
              method: GET
    - type: http
      namespace: workday
      baseUri: "https://wd5.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: budgets
          path: "/budgets"
          operations:
            - name: get-budget
              method: GET
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: var
          path: "/compute"
          operations:
            - name: variance
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Plans capacity at Cvent by collecting utilization and forecasting.

naftiko: "0.5"
info:
  label: "Capacity Planning Pipeline"
  description: "Plans capacity at Cvent by collecting utilization and forecasting."
  tags:
    - infrastructure
    - capacity-planning
    - forecasting
capability:
  exposes:
    - type: mcp
      namespace: capacity
      port: 8080
      tools:
        - name: plan-capacity
          description: "Plan capacity at Cvent."
          inputParameters:
            - name: resource
              in: body
              type: string
              description: "Resource type."
            - name: months
              in: body
              type: number
              description: "Forecast months."
          steps:
            - name: util
              type: call
              call: "monitoring.get-util"
              with:
                resource: "{{resource}}"
            - name: forecast
              type: call
              call: "analytics.forecast"
              with:
                current: "{{util.pct}}"
                months: "{{months}}"
            - name: procure
              type: call
              call: "servicenow.create-request"
              with:
                type: "capacity"
                resource: "{{resource}}"
            - name: dashboard
              type: call
              call: "power-bi.refresh"
              with:
                dataset: "capacity"
  consumes:
    - type: http
      namespace: monitoring
      baseUri: "https://monitoring.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.monitoring_token"
      resources:
        - name: util
          path: "/resources/{{resource}}/util"
          inputParameters:
            - name: resource
              in: path
          operations:
            - name: get-util
              method: GET
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: forecast
          path: "/demand"
          operations:
            - name: forecast
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST
    - type: http
      namespace: power-bi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.power_bi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset}}/refreshes"
          inputParameters:
            - name: dataset
              in: path
          operations:
            - name: refresh
              method: POST

Creates a catering order in Cvent Hospitality Cloud based on event attendance counts and dietary preference data from registration.

naftiko: "0.5"
info:
  label: "Catering Order Builder"
  description: "Creates a catering order in Cvent Hospitality Cloud based on event attendance counts and dietary preference data from registration."
  tags:
    - hospitality
    - catering
    - cvent-event-cloud
    - cvent-hospitality-cloud
capability:
  exposes:
    - type: mcp
      namespace: catering-orders
      port: 8080
      tools:
        - name: create-catering-order
          description: "Build a catering order from event registration dietary data."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: meal_type
              in: body
              type: string
              description: "Meal type (breakfast, lunch, dinner, reception)."
            - name: date
              in: body
              type: string
              description: "Catering date in YYYY-MM-DD format."
          steps:
            - name: get-dietary-counts
              type: call
              call: "cvent.get-dietary-summary"
              with:
                event_id: "{{event_id}}"
            - name: create-order
              type: call
              call: "cvent-hospitality.create-catering-order"
              with:
                event_id: "{{event_id}}"
                meal_type: "{{meal_type}}"
                date: "{{date}}"
                headcount: "{{get-dietary-counts.total}}"
                dietary_breakdown: "{{get-dietary-counts.breakdown}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: dietary
          path: "/events/{{event_id}}/dietary-summary"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-dietary-summary
              method: GET
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: catering
          path: "/events/{{event_id}}/catering"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: create-catering-order
              method: POST

Tracks continuing education credits for event attendees by recording session attendance in Cvent and issuing CE certificates via email.

naftiko: "0.5"
info:
  label: "CE Credit Tracker"
  description: "Tracks continuing education credits for event attendees by recording session attendance in Cvent and issuing CE certificates via email."
  tags:
    - events
    - education
    - cvent-event-cloud
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: ce-credits
      port: 8080
      tools:
        - name: issue-ce-certificate
          description: "Issue a CE credit certificate based on session attendance."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: registration_id
              in: body
              type: string
              description: "The attendee registration identifier."
          steps:
            - name: get-attendance
              type: call
              call: "cvent.get-session-attendance"
              with:
                event_id: "{{event_id}}"
                registration_id: "{{registration_id}}"
            - name: send-certificate
              type: call
              call: "outlook.send-email"
              with:
                to: "{{get-attendance.attendee_email}}"
                subject: "Your CE Credits Certificate"
                body: "Congratulations {{get-attendance.first_name}}, you earned {{get-attendance.total_credits}} CE credits at the event. Sessions attended: {{get-attendance.session_count}}."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: session-attendance
          path: "/events/{{event_id}}/registrations/{{registration_id}}/sessions"
          inputParameters:
            - name: event_id
              in: path
            - name: registration_id
              in: path
          operations:
            - name: get-session-attendance
              method: GET
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-email
              method: POST

Monitors cert expiry at Cvent.

naftiko: "0.5"
info:
  label: "Certificate Expiry Pipeline"
  description: "Monitors cert expiry at Cvent."
  tags:
    - security
    - certificates
    - monitoring
capability:
  exposes:
    - type: mcp
      namespace: cert-monitor
      port: 8080
      tools:
        - name: check-certs
          description: "Monitor certs at Cvent."
          inputParameters:
            - name: domains
              in: body
              type: string
              description: "Domains to check."
          steps:
            - name: scan
              type: call
              call: "cert-scanner.scan"
              with:
                domains: "{{domains}}"
            - name: filter
              type: call
              call: "analytics.filter-expiring"
              with:
                certs: "{{scan.results}}"
            - name: ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "SEC"
                summary: "{{filter.count}} certs expiring"
            - name: alert
              type: call
              call: "slack.post-message"
              with:
                channel: "#security"
                text: "Cert alert: {{filter.count}} expiring"
  consumes:
    - type: http
      namespace: cert-scanner
      baseUri: "https://certs.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.cert_token"
      resources:
        - name: scans
          path: "/scan"
          operations:
            - name: scan
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Routes changes at Cvent through ServiceNow and CAB approval.

naftiko: "0.5"
info:
  label: "Change Management Pipeline"
  description: "Routes changes at Cvent through ServiceNow and CAB approval."
  tags:
    - change-management
    - servicenow
    - itil
capability:
  exposes:
    - type: mcp
      namespace: change-mgmt
      port: 8080
      tools:
        - name: process-change
          description: "Process changes at Cvent."
          inputParameters:
            - name: change_id
              in: body
              type: string
              description: "Change ID."
            - name: date
              in: body
              type: string
              description: "Date."
          steps:
            - name: get
              type: call
              call: "servicenow.get-change"
              with:
                id: "{{change_id}}"
            - name: conflicts
              type: call
              call: "servicenow.check-conflicts"
              with:
                date: "{{date}}"
            - name: submit
              type: call
              call: "servicenow.update"
              with:
                id: "{{change_id}}"
                state: "approval"
            - name: notify
              type: call
              call: "email.send"
              with:
                to: "cab@co.com"
                subject: "CAB: {{change_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: changes
          path: "/table/change_request/{{id}}"
          inputParameters:
            - name: id
              in: path
          operations:
            - name: get-change
              method: GET
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST

Optimizes cloud costs at Cvent via Azure, FinOps, Jira, and Power BI.

naftiko: "0.5"
info:
  label: "Cloud Cost Optimization Pipeline"
  description: "Optimizes cloud costs at Cvent via Azure, FinOps, Jira, and Power BI."
  tags:
    - cloud
    - cost-management
    - finops
capability:
  exposes:
    - type: mcp
      namespace: cloud-opt
      port: 8080
      tools:
        - name: optimize
          description: "Optimize cloud costs at Cvent."
          inputParameters:
            - name: provider
              in: body
              type: string
              description: "Provider."
            - name: range
              in: body
              type: string
              description: "Range."
          steps:
            - name: spend
              type: call
              call: "cloud.get-costs"
              with:
                provider: "{{provider}}"
                range: "{{range}}"
            - name: savings
              type: call
              call: "finops.analyze"
              with:
                data: "{{spend.data}}"
            - name: action
              type: call
              call: "jira.create-issue"
              with:
                project: "FINOPS"
                summary: "Save ${{savings.potential}}"
            - name: report
              type: call
              call: "power-bi.refresh"
              with:
                dataset: "cloud"
  consumes:
    - type: http
      namespace: cloud
      baseUri: "https://management.azure.com"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: costs
          path: "/providers/Microsoft.CostManagement/query"
          operations:
            - name: get-costs
              method: POST
    - type: http
      namespace: finops
      baseUri: "https://finops.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.finops_token"
      resources:
        - name: analysis
          path: "/savings"
          operations:
            - name: analyze
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: power-bi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.power_bi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset}}/refreshes"
          inputParameters:
            - name: dataset
              in: path
          operations:
            - name: refresh
              method: POST

Searches Confluence at Cvent.

naftiko: "0.5"
info:
  label: "Confluence Article Search"
  description: "Searches Confluence at Cvent."
  tags:
    - knowledge-management
    - confluence
    - documentation
capability:
  exposes:
    - type: mcp
      namespace: confluence-search
      port: 8080
      tools:
        - name: search-articles
          description: "Search Confluence at Cvent."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "Query."
          call: "confluence.search"
          with:
            query: "{{query}}"
          outputParameters:
            - name: title
              type: string
              mapping: "$.results[0].title"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://cvent.com.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: content
          path: "/content/search"
          operations:
            - name: search
              method: GET

Tracks contract renewals at Cvent via contracts system, email, Jira, and Salesforce.

naftiko: "0.5"
info:
  label: "Contract Renewal Pipeline"
  description: "Tracks contract renewals at Cvent via contracts system, email, Jira, and Salesforce."
  tags:
    - procurement
    - contracts
    - salesforce
    - jira
capability:
  exposes:
    - type: mcp
      namespace: contract-renew
      port: 8080
      tools:
        - name: track
          description: "Track renewals at Cvent."
          inputParameters:
            - name: contract_id
              in: body
              type: string
              description: "Contract ID."
            - name: owner
              in: body
              type: string
              description: "Owner email."
          steps:
            - name: get
              type: call
              call: "contracts.get"
              with:
                id: "{{contract_id}}"
            - name: remind
              type: call
              call: "email.send"
              with:
                to: "{{owner}}"
                subject: "Renewal: {{contract_id}}"
            - name: task
              type: call
              call: "jira.create-issue"
              with:
                project: "PROC"
                summary: "Renew {{contract_id}}"
            - name: crm
              type: call
              call: "salesforce.update"
              with:
                id: "{{contract_id}}"
                stage: "Renewal"
  consumes:
    - type: http
      namespace: contracts
      baseUri: "https://contracts.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.contracts_token"
      resources:
        - name: contracts
          path: "/contracts/{{id}}"
          inputParameters:
            - name: id
              in: path
          operations:
            - name: get
              method: GET
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://cvent.com.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: opps
          path: "/sobjects/Opportunity"
          operations:
            - name: update
              method: PATCH

Reallocates costs at Cvent.

naftiko: "0.5"
info:
  label: "Cost Reallocation Pipeline"
  description: "Reallocates costs at Cvent."
  tags:
    - finance
    - cost-allocation
    - oracle
capability:
  exposes:
    - type: mcp
      namespace: cost-realloc
      port: 8080
      tools:
        - name: reallocate
          description: "Reallocate costs at Cvent."
          inputParameters:
            - name: source
              in: body
              type: string
              description: "Source CC."
            - name: target
              in: body
              type: string
              description: "Target CC."
            - name: amount
              in: body
              type: number
              description: "Amount."
          steps:
            - name: current
              type: call
              call: "oracle.get-alloc"
              with:
                cc: "{{source}}"
            - name: compute
              type: call
              call: "analytics.realloc"
              with:
                source: "{{source}}"
                target: "{{target}}"
                amount: "{{amount}}"
            - name: post
              type: call
              call: "oracle.post-journal"
              with:
                entries: "{{compute.entries}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#finance"
                text: "Reallocated ${{amount}} from {{source}} to {{target}}"
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://oracle.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_token"
      resources:
        - name: allocations
          path: "/cost-centers/{{cc}}/allocations"
          inputParameters:
            - name: cc
              in: path
          operations:
            - name: get-alloc
              method: GET
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: realloc
          path: "/compute"
          operations:
            - name: realloc
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Monitors data pipelines at Cvent via Databricks, Snowflake, Slack, and ServiceNow.

naftiko: "0.5"
info:
  label: "Data Pipeline Monitor Pipeline"
  description: "Monitors data pipelines at Cvent via Databricks, Snowflake, Slack, and ServiceNow."
  tags:
    - data-engineering
    - databricks
    - monitoring
    - slack
capability:
  exposes:
    - type: mcp
      namespace: pipeline-mon
      port: 8080
      tools:
        - name: monitor
          description: "Monitor pipelines at Cvent."
          inputParameters:
            - name: pipeline_id
              in: body
              type: string
              description: "Pipeline ID."
          steps:
            - name: status
              type: call
              call: "databricks.get-run"
              with:
                id: "{{pipeline_id}}"
            - name: quality
              type: call
              call: "snowflake.query"
              with:
                query: "SELECT COUNT(*) FROM out WHERE p='{{pipeline_id}}'"
            - name: alert
              type: call
              call: "slack.post-message"
              with:
                channel: "#data"
                text: "Pipeline {{pipeline_id}}: {{status.state}}"
            - name: incident
              type: call
              call: "servicenow.create-incident"
              with:
                desc: "Pipeline {{pipeline_id}} issue"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://cvent.com.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/runs/get"
          operations:
            - name: get-run
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://cvent.com.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: query
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST

Checks Datadog monitor at Cvent.

naftiko: "0.5"
info:
  label: "Datadog Monitor Check"
  description: "Checks Datadog monitor at Cvent."
  tags:
    - monitoring
    - datadog
    - observability
capability:
  exposes:
    - type: mcp
      namespace: dd-monitor
      port: 8080
      tools:
        - name: check-monitor
          description: "Check monitor at Cvent."
          inputParameters:
            - name: monitor_id
              in: body
              type: string
              description: "Monitor ID."
          call: "datadog.get-monitor"
          with:
            monitor_id: "{{monitor_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.overall_state"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: monitors
          path: "/monitor/{{monitor_id}}"
          inputParameters:
            - name: monitor_id
              in: path
          operations:
            - name: get-monitor
              method: GET

Tests disaster recovery at Cvent via failover, health checks, and reporting.

naftiko: "0.5"
info:
  label: "DR Test Pipeline"
  description: "Tests disaster recovery at Cvent via failover, health checks, and reporting."
  tags:
    - disaster-recovery
    - business-continuity
    - testing
capability:
  exposes:
    - type: mcp
      namespace: dr-test
      port: 8080
      tools:
        - name: test-dr
          description: "Test DR at Cvent."
          inputParameters:
            - name: plan_id
              in: body
              type: string
              description: "Plan ID."
            - name: type
              in: body
              type: string
              description: "Test type."
          steps:
            - name: failover
              type: call
              call: "dr.failover"
              with:
                plan: "{{plan_id}}"
                type: "{{type}}"
            - name: validate
              type: call
              call: "monitoring.check"
              with:
                scope: "critical"
            - name: measure
              type: call
              call: "dr.metrics"
              with:
                id: "{{failover.id}}"
            - name: report
              type: call
              call: "confluence.create-page"
              with:
                title: "DR - {{plan_id}}"
                body: "RTO:{{measure.rto}}m RPO:{{measure.rpo}}m"
  consumes:
    - type: http
      namespace: dr
      baseUri: "https://dr.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.dr_token"
      resources:
        - name: failovers
          path: "/failovers"
          operations:
            - name: failover
              method: POST
    - type: http
      namespace: monitoring
      baseUri: "https://monitoring.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.monitoring_token"
      resources:
        - name: health
          path: "/checks"
          operations:
            - name: check
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://cvent.com.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

Detects infrastructure drift at Cvent via Terraform, Slack, and Jira.

naftiko: "0.5"
info:
  label: "Drift Detection Pipeline"
  description: "Detects infrastructure drift at Cvent via Terraform, Slack, and Jira."
  tags:
    - infrastructure
    - terraform
    - drift-detection
    - devops
capability:
  exposes:
    - type: mcp
      namespace: drift-det
      port: 8080
      tools:
        - name: detect
          description: "Detect drift at Cvent."
          inputParameters:
            - name: ws_id
              in: body
              type: string
              description: "Workspace ID."
            - name: env
              in: body
              type: string
              description: "Environment."
          steps:
            - name: plan
              type: call
              call: "terraform.run"
              with:
                ws: "{{ws_id}}"
            - name: check
              type: call
              call: "terraform.get-plan"
              with:
                run: "{{plan.id}}"
            - name: alert
              type: call
              call: "slack.post-message"
              with:
                channel: "#infra"
                text: "Drift {{env}}: {{check.changes}} changes"
            - name: ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "INFRA"
                summary: "Drift in {{env}}"
  consumes:
    - type: http
      namespace: terraform
      baseUri: "https://app.terraform.io/api/v2"
      authentication:
        type: bearer
        token: "$secrets.terraform_token"
      resources:
        - name: runs
          path: "/runs"
          operations:
            - name: run
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Checks ES index at Cvent.

naftiko: "0.5"
info:
  label: "ES Index Health"
  description: "Checks ES index at Cvent."
  tags:
    - search
    - elasticsearch
    - infrastructure
capability:
  exposes:
    - type: mcp
      namespace: es-health
      port: 8080
      tools:
        - name: check-index
          description: "Check ES index at Cvent."
          inputParameters:
            - name: index
              in: body
              type: string
              description: "Index name."
          call: "es.get-health"
          with:
            index: "{{index}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.status"
            - name: docs
              type: number
              mapping: "$.docs.count"
  consumes:
    - type: http
      namespace: es
      baseUri: "https://es.cvent.com:9200"
      authentication:
        type: bearer
        token: "$secrets.es_token"
      resources:
        - name: indices
          path: "/{{index}}/_stats"
          inputParameters:
            - name: index
              in: path
          operations:
            - name: get-health
              method: GET

Offboards employees at Cvent via Okta, Slack, ServiceNow, and storage.

naftiko: "0.5"
info:
  label: "Employee Offboarding Pipeline"
  description: "Offboards employees at Cvent via Okta, Slack, ServiceNow, and storage."
  tags:
    - hr
    - offboarding
    - okta
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: offboarding
      port: 8080
      tools:
        - name: offboard
          description: "Offboard employees at Cvent."
          inputParameters:
            - name: emp_id
              in: body
              type: string
              description: "Employee ID."
            - name: last_day
              in: body
              type: string
              description: "Last day."
          steps:
            - name: disable
              type: call
              call: "okta.deactivate"
              with:
                user: "{{emp_id}}"
            - name: revoke
              type: call
              call: "slack.remove"
              with:
                user: "{{emp_id}}"
            - name: return
              type: call
              call: "servicenow.create-request"
              with:
                type: "return"
                emp: "{{emp_id}}"
            - name: archive
              type: call
              call: "storage.archive"
              with:
                user: "{{emp_id}}"
  consumes:
    - type: http
      namespace: okta
      baseUri: "https://cvent.com.okta.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.okta_api_token"
      resources:
        - name: users
          path: "/users/{{user}}/lifecycle/deactivate"
          inputParameters:
            - name: user
              in: path
          operations:
            - name: deactivate
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: users
          path: "/users.admin.remove"
          operations:
            - name: remove
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST
    - type: http
      namespace: storage
      baseUri: "https://storage.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.storage_token"
      resources:
        - name: archives
          path: "/archive"
          operations:
            - name: archive
              method: POST

Sends a push notification to event attendees through the Cvent event app, useful for schedule changes, room updates, or announcements.

naftiko: "0.5"
info:
  label: "Event App Push Notification"
  description: "Sends a push notification to event attendees through the Cvent event app, useful for schedule changes, room updates, or announcements."
  tags:
    - events
    - notifications
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: app-notifications
      port: 8080
      tools:
        - name: send-push-notification
          description: "Send a push notification to event app users."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: title
              in: body
              type: string
              description: "Notification title."
            - name: message
              in: body
              type: string
              description: "Notification message body."
            - name: audience
              in: body
              type: string
              description: "Target audience (all, session-track, vip)."
          call: "cvent.send-notification"
          with:
            event_id: "{{event_id}}"
            title: "{{title}}"
            message: "{{message}}"
            audience: "{{audience}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: notifications
          path: "/events/{{event_id}}/notifications"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: send-notification
              method: POST

Exports the full attendee list for an event from Cvent Event Cloud, including registration status, contact details, and session assignments.

naftiko: "0.5"
info:
  label: "Event Attendee List Export"
  description: "Exports the full attendee list for an event from Cvent Event Cloud, including registration status, contact details, and session assignments."
  tags:
    - events
    - attendees
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: event-attendees
      port: 8080
      tools:
        - name: export-attendee-list
          description: "Export the attendee list for a given event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          call: "cvent.list-attendees"
          with:
            event_id: "{{event_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: attendees
          path: "/events/{{event_id}}/attendees"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: list-attendees
              method: GET

Retrieves the budget summary for an event from Cvent, including planned vs actual spend by category, vendor payments, and remaining balance.

naftiko: "0.5"
info:
  label: "Event Budget Summary"
  description: "Retrieves the budget summary for an event from Cvent, including planned vs actual spend by category, vendor payments, and remaining balance."
  tags:
    - events
    - finance
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: event-budget
      port: 8080
      tools:
        - name: get-budget-summary
          description: "Retrieve the budget summary for an event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          call: "cvent.get-budget"
          with:
            event_id: "{{event_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: budgets
          path: "/events/{{event_id}}/budget"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-budget
              method: GET

Syncs upcoming events from the Cvent event calendar to a shared Microsoft Outlook calendar so the entire organization can see upcoming events.

naftiko: "0.5"
info:
  label: "Event Calendar Sync"
  description: "Syncs upcoming events from the Cvent event calendar to a shared Microsoft Outlook calendar so the entire organization can see upcoming events."
  tags:
    - events
    - scheduling
    - cvent-event-cloud
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: calendar-sync
      port: 8080
      tools:
        - name: sync-events-to-calendar
          description: "Sync Cvent events to a shared Outlook calendar."
          inputParameters:
            - name: calendar_id
              in: body
              type: string
              description: "The shared Outlook calendar identifier."
            - name: date_range_start
              in: body
              type: string
              description: "Start date for sync range in YYYY-MM-DD format."
            - name: date_range_end
              in: body
              type: string
              description: "End date for sync range in YYYY-MM-DD format."
          steps:
            - name: get-events
              type: call
              call: "cvent.list-events"
              with:
                start: "{{date_range_start}}"
                end: "{{date_range_end}}"
            - name: create-calendar-entries
              type: call
              call: "outlook.create-batch-events"
              with:
                calendar_id: "{{calendar_id}}"
                events: "{{get-events.items}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: events
          path: "/events"
          operations:
            - name: list-events
              method: GET
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: calendar-events
          path: "/users/me/calendars/{{calendar_id}}/events"
          inputParameters:
            - name: calendar_id
              in: path
          operations:
            - name: create-batch-events
              method: POST

Processes an event cancellation by updating the Cvent event status, sending cancellation notices via HubSpot, refunding registrations, and notifying the team on Microsoft Teams.

naftiko: "0.5"
info:
  label: "Event Cancellation Handler"
  description: "Processes an event cancellation by updating the Cvent event status, sending cancellation notices via HubSpot, refunding registrations, and notifying the team on Microsoft Teams."
  tags:
    - events
    - operations
    - cvent-event-cloud
    - hubspot
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: event-cancellation
      port: 8080
      tools:
        - name: cancel-event
          description: "Process a full event cancellation across all systems."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: cancellation_reason
              in: body
              type: string
              description: "Reason for event cancellation."
          steps:
            - name: cancel-in-cvent
              type: call
              call: "cvent.update-event-status"
              with:
                event_id: "{{event_id}}"
                status: "cancelled"
            - name: get-attendees
              type: call
              call: "cvent.list-attendees"
              with:
                event_id: "{{event_id}}"
            - name: send-cancellation
              type: call
              call: "hubspot.send-batch-email"
              with:
                recipients: "{{get-attendees.emails}}"
                subject: "Event Cancelled - {{cancel-in-cvent.event_name}}"
                template: "event_cancellation"
                reason: "{{cancellation_reason}}"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "events-ops"
                text: "Event {{cancel-in-cvent.event_name}} has been cancelled. Reason: {{cancellation_reason}}. {{get-attendees.count}} attendees notified."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: events
          path: "/events/{{event_id}}"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: update-event-status
              method: PATCH
        - name: attendees
          path: "/events/{{event_id}}/attendees"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: list-attendees
              method: GET
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: batch-email
          path: "/email/public/v1/singleEmail/send"
          operations:
            - name: send-batch-email
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/{{channel_id}}/channels/General/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Clones a past Cvent event configuration including sessions, speakers, and registration types to create a new event, then notifies the planning team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Event Cloner"
  description: "Clones a past Cvent event configuration including sessions, speakers, and registration types to create a new event, then notifies the planning team via Microsoft Teams."
  tags:
    - events
    - operations
    - cvent-event-cloud
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: event-cloning
      port: 8080
      tools:
        - name: clone-event
          description: "Clone a past event configuration to create a new event."
          inputParameters:
            - name: source_event_id
              in: body
              type: string
              description: "The Cvent event identifier to clone from."
            - name: new_event_name
              in: body
              type: string
              description: "The name for the new event."
            - name: new_start_date
              in: body
              type: string
              description: "Start date for the new event in YYYY-MM-DD format."
          steps:
            - name: clone-event
              type: call
              call: "cvent.clone-event"
              with:
                source_id: "{{source_event_id}}"
                name: "{{new_event_name}}"
                start_date: "{{new_start_date}}"
            - name: notify-planners
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "events-planning"
                text: "New event created from template: {{new_event_name}} ({{new_start_date}}). Event ID: {{clone-event.new_event_id}}. Ready for customization."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: events
          path: "/events/{{source_id}}/clone"
          inputParameters:
            - name: source_id
              in: path
          operations:
            - name: clone-event
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/{{channel_id}}/channels/General/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Uploads event presentation materials and session recordings to a SharePoint site organized by event name and session track.

naftiko: "0.5"
info:
  label: "Event Content Upload to SharePoint"
  description: "Uploads event presentation materials and session recordings to a SharePoint site organized by event name and session track."
  tags:
    - events
    - content
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: event-content
      port: 8080
      tools:
        - name: upload-session-content
          description: "Upload event session content to SharePoint."
          inputParameters:
            - name: event_name
              in: body
              type: string
              description: "The event name for folder organization."
            - name: session_name
              in: body
              type: string
              description: "The session name."
            - name: file_name
              in: body
              type: string
              description: "The file name to upload."
            - name: file_content
              in: body
              type: string
              description: "Base64-encoded file content."
          call: "sharepoint.upload-file"
          with:
            folder_path: "Events/{{event_name}}/{{session_name}}"
            file_name: "{{file_name}}"
            content: "{{file_content}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/cvent-events/drive/root:/{{folder_path}}/{{file_name}}:/content"
          inputParameters:
            - name: folder_path
              in: path
            - name: file_name
              in: path
          operations:
            - name: upload-file
              method: PUT

Retrieves the floor plan layout for an event from Cvent including booth locations, session rooms, and common areas.

naftiko: "0.5"
info:
  label: "Event Floor Plan Viewer"
  description: "Retrieves the floor plan layout for an event from Cvent including booth locations, session rooms, and common areas."
  tags:
    - events
    - venues
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: floor-plans
      port: 8080
      tools:
        - name: get-floor-plan
          description: "Retrieve the floor plan layout for an event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          call: "cvent.get-floor-plan"
          with:
            event_id: "{{event_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: floor-plans
          path: "/events/{{event_id}}/floor-plan"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-floor-plan
              method: GET

Pulls event details from Cvent, creates a promotional email campaign in HubSpot with registration link, and schedules the send to the target contact list.

naftiko: "0.5"
info:
  label: "Event Promotion Email Campaign"
  description: "Pulls event details from Cvent, creates a promotional email campaign in HubSpot with registration link, and schedules the send to the target contact list."
  tags:
    - marketing
    - email
    - cvent-event-cloud
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: event-email-promo
      port: 8080
      tools:
        - name: create-promo-campaign
          description: "Create and schedule a promotional email campaign for a Cvent event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: contact_list_id
              in: body
              type: string
              description: "The HubSpot contact list identifier."
            - name: send_date
              in: body
              type: string
              description: "Scheduled send date in YYYY-MM-DD format."
          steps:
            - name: get-event
              type: call
              call: "cvent.get-event"
              with:
                event_id: "{{event_id}}"
            - name: create-email
              type: call
              call: "hubspot.create-marketing-email"
              with:
                name: "{{get-event.title}} - Invitation"
                subject: "You're invited to {{get-event.title}}"
                content: "Join us for {{get-event.title}} on {{get-event.start_date}} at {{get-event.venue_name}}. Register now: {{get-event.registration_url}}"
                list_id: "{{contact_list_id}}"
                send_date: "{{send_date}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: events
          path: "/events/{{event_id}}"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-event
              method: GET
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: marketing-emails
          path: "/marketing/v3/emails"
          operations:
            - name: create-marketing-email
              method: POST

Queries the Cvent Event Cloud for a specific event registration by confirmation number, returning attendee details, session selections, and payment status.

naftiko: "0.5"
info:
  label: "Event Registration Lookup"
  description: "Queries the Cvent Event Cloud for a specific event registration by confirmation number, returning attendee details, session selections, and payment status."
  tags:
    - events
    - registration
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: event-registration
      port: 8080
      tools:
        - name: get-registration
          description: "Look up an event registration by confirmation number."
          inputParameters:
            - name: confirmation_number
              in: body
              type: string
              description: "The event registration confirmation number."
          call: "cvent.get-registration"
          with:
            confirmation_number: "{{confirmation_number}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: registrations
          path: "/registrations/{{confirmation_number}}"
          inputParameters:
            - name: confirmation_number
              in: path
          operations:
            - name: get-registration
              method: GET

Pulls event revenue and registration data from Cvent and pushes it to a Power BI dataset for executive dashboard reporting.

naftiko: "0.5"
info:
  label: "Event Revenue Report to Power BI"
  description: "Pulls event revenue and registration data from Cvent and pushes it to a Power BI dataset for executive dashboard reporting."
  tags:
    - events
    - reporting
    - analytics
    - cvent-event-cloud
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: revenue-reporting
      port: 8080
      tools:
        - name: push-revenue-to-powerbi
          description: "Push event revenue data to Power BI for dashboard reporting."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          steps:
            - name: get-revenue
              type: call
              call: "cvent.get-revenue"
              with:
                event_id: "{{event_id}}"
            - name: push-data
              type: call
              call: "powerbi.push-rows"
              with:
                dataset_id: "$secrets.powerbi_dataset_id"
                table_name: "EventRevenue"
                rows: "{{get-revenue.line_items}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: revenue
          path: "/events/{{event_id}}/revenue"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-revenue
              method: GET
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/tables/{{table_name}}/rows"
          inputParameters:
            - name: dataset_id
              in: path
            - name: table_name
              in: path
          operations:
            - name: push-rows
              method: POST

Calculates event ROI by pulling event costs from Cvent budget, registration revenue from Cvent, and associated pipeline value from Salesforce.

naftiko: "0.5"
info:
  label: "Event ROI Calculator"
  description: "Calculates event ROI by pulling event costs from Cvent budget, registration revenue from Cvent, and associated pipeline value from Salesforce."
  tags:
    - events
    - analytics
    - finance
    - cvent-event-cloud
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: event-roi
      port: 8080
      tools:
        - name: calculate-event-roi
          description: "Calculate return on investment for a completed event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: campaign_id
              in: body
              type: string
              description: "The Salesforce campaign identifier linked to the event."
          steps:
            - name: get-budget
              type: call
              call: "cvent.get-budget"
              with:
                event_id: "{{event_id}}"
            - name: get-revenue
              type: call
              call: "cvent.get-revenue"
              with:
                event_id: "{{event_id}}"
            - name: get-pipeline
              type: call
              call: "salesforce.get-campaign-pipeline"
              with:
                campaign_id: "{{campaign_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: budgets
          path: "/events/{{event_id}}/budget"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-budget
              method: GET
        - name: revenue
          path: "/events/{{event_id}}/revenue"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-revenue
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://cvent.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: campaigns
          path: "/sobjects/Campaign/{{campaign_id}}"
          inputParameters:
            - name: campaign_id
              in: path
          operations:
            - name: get-campaign-pipeline
              method: GET

Creates event announcement posts on LinkedIn and Twitter using event details from Cvent, including event name, date, venue, and registration URL.

naftiko: "0.5"
info:
  label: "Event Social Media Announcement"
  description: "Creates event announcement posts on LinkedIn and Twitter using event details from Cvent, including event name, date, venue, and registration URL."
  tags:
    - marketing
    - social-media
    - cvent-event-cloud
    - linkedin
    - twitter
capability:
  exposes:
    - type: mcp
      namespace: social-announcement
      port: 8080
      tools:
        - name: post-event-announcement
          description: "Post event announcements to social media channels."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          steps:
            - name: get-event
              type: call
              call: "cvent.get-event"
              with:
                event_id: "{{event_id}}"
            - name: post-linkedin
              type: call
              call: "linkedin.create-post"
              with:
                text: "We're excited to announce {{get-event.title}}! Join us {{get-event.start_date}} at {{get-event.venue_name}}. Register: {{get-event.registration_url}}"
            - name: post-twitter
              type: call
              call: "twitter.create-tweet"
              with:
                text: "Join us for {{get-event.title}} on {{get-event.start_date}}! Register now: {{get-event.registration_url}} #events"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: events
          path: "/events/{{event_id}}"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-event
              method: GET
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: posts
          path: "/ugcPosts"
          operations:
            - name: create-post
              method: POST
    - type: http
      namespace: twitter
      baseUri: "https://api.twitter.com/2"
      authentication:
        type: bearer
        token: "$secrets.twitter_token"
      resources:
        - name: tweets
          path: "/tweets"
          operations:
            - name: create-tweet
              method: POST

Checks the Cvent event waitlist and when a spot opens up, automatically registers the next person and sends them a confirmation email via HubSpot.

naftiko: "0.5"
info:
  label: "Event Waitlist Manager"
  description: "Checks the Cvent event waitlist and when a spot opens up, automatically registers the next person and sends them a confirmation email via HubSpot."
  tags:
    - events
    - registration
    - cvent-event-cloud
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: waitlist-management
      port: 8080
      tools:
        - name: process-waitlist
          description: "Process the event waitlist to fill open registration spots."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          steps:
            - name: get-waitlist
              type: call
              call: "cvent.get-waitlist"
              with:
                event_id: "{{event_id}}"
            - name: promote-registrant
              type: call
              call: "cvent.promote-from-waitlist"
              with:
                event_id: "{{event_id}}"
                waitlist_id: "{{get-waitlist.next_in_line_id}}"
            - name: send-confirmation
              type: call
              call: "hubspot.send-transactional-email"
              with:
                to: "{{promote-registrant.email}}"
                subject: "You're in! Registration confirmed"
                template: "waitlist_promotion"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: waitlist
          path: "/events/{{event_id}}/waitlist"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-waitlist
              method: GET
        - name: waitlist-promote
          path: "/events/{{event_id}}/waitlist/{{waitlist_id}}/promote"
          inputParameters:
            - name: event_id
              in: path
            - name: waitlist_id
              in: path
          operations:
            - name: promote-from-waitlist
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: transactional-emails
          path: "/email/public/v1/singleEmail/send"
          operations:
            - name: send-transactional-email
              method: POST

Assigns an exhibitor to a booth in Cvent and sends the booth assignment details along with exhibitor kit information via email.

naftiko: "0.5"
info:
  label: "Exhibitor Booth Assignment"
  description: "Assigns an exhibitor to a booth in Cvent and sends the booth assignment details along with exhibitor kit information via email."
  tags:
    - events
    - exhibitors
    - cvent-event-cloud
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: exhibitor-booths
      port: 8080
      tools:
        - name: assign-booth
          description: "Assign a booth to an exhibitor and send confirmation."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: exhibitor_id
              in: body
              type: string
              description: "The exhibitor identifier."
            - name: booth_number
              in: body
              type: string
              description: "The booth number to assign."
          steps:
            - name: assign-in-cvent
              type: call
              call: "cvent.assign-booth"
              with:
                event_id: "{{event_id}}"
                exhibitor_id: "{{exhibitor_id}}"
                booth: "{{booth_number}}"
            - name: send-confirmation
              type: call
              call: "outlook.send-email"
              with:
                to: "{{assign-in-cvent.exhibitor_email}}"
                subject: "Booth Assignment Confirmed - Booth {{booth_number}}"
                body: "Your booth {{booth_number}} has been confirmed for {{assign-in-cvent.event_name}}. Setup begins {{assign-in-cvent.setup_date}}. Floor plan: {{assign-in-cvent.floor_plan_url}}."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: exhibitor-booths
          path: "/events/{{event_id}}/exhibitors/{{exhibitor_id}}/booth"
          inputParameters:
            - name: event_id
              in: path
            - name: exhibitor_id
              in: path
          operations:
            - name: assign-booth
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-email
              method: POST

Audits expenses at Cvent via Concur, compliance checks, and email.

naftiko: "0.5"
info:
  label: "Expense Audit Pipeline"
  description: "Audits expenses at Cvent via Concur, compliance checks, and email."
  tags:
    - finance
    - travel
    - sap-concur
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: expense-audit
      port: 8080
      tools:
        - name: audit
          description: "Audit expenses at Cvent."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "Report ID."
          steps:
            - name: get
              type: call
              call: "concur.get-report"
              with:
                id: "{{report_id}}"
            - name: check
              type: call
              call: "compliance.check"
              with:
                expenses: "{{get.entries}}"
            - name: flag
              type: call
              call: "workflow.flag"
              with:
                id: "{{report_id}}"
                violations: "{{check.violations}}"
            - name: notify
              type: call
              call: "email.send"
              with:
                to: "{{get.approver}}"
                subject: "Expense {{report_id}} violations"
  consumes:
    - type: http
      namespace: concur
      baseUri: "https://us.api.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: reports
          path: "/expense/reports/{{id}}"
          inputParameters:
            - name: id
              in: path
          operations:
            - name: get-report
              method: GET
    - type: http
      namespace: compliance
      baseUri: "https://compliance.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.compliance_token"
      resources:
        - name: policies
          path: "/check"
          operations:
            - name: check
              method: POST
    - type: http
      namespace: workflow
      baseUri: "https://workflow.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workflow_token"
      resources:
        - name: reviews
          path: "/flag"
          operations:
            - name: flag
              method: POST
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST

Pulls event expense data from Cvent budget and creates an expense report in SAP Concur for finance approval.

naftiko: "0.5"
info:
  label: "Expense Report from Event"
  description: "Pulls event expense data from Cvent budget and creates an expense report in SAP Concur for finance approval."
  tags:
    - finance
    - expenses
    - cvent-event-cloud
    - sap-concur
capability:
  exposes:
    - type: mcp
      namespace: event-expenses
      port: 8080
      tools:
        - name: create-expense-report
          description: "Create an expense report in SAP Concur from Cvent event budget data."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: approver_email
              in: body
              type: string
              description: "The expense approver's email address."
          steps:
            - name: get-expenses
              type: call
              call: "cvent.get-budget"
              with:
                event_id: "{{event_id}}"
            - name: create-report
              type: call
              call: "concur.create-expense-report"
              with:
                name: "Event expenses: {{get-expenses.event_name}}"
                total: "{{get-expenses.actual_total}}"
                approver: "{{approver_email}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: budgets
          path: "/events/{{event_id}}/budget"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-budget
              method: GET
    - type: http
      namespace: concur
      baseUri: "https://us.api.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: reports
          path: "/expense/reports"
          operations:
            - name: create-expense-report
              method: POST

Analyzes feedback at Cvent via surveys, AI sentiment, and Power BI.

naftiko: "0.5"
info:
  label: "Customer Feedback Pipeline"
  description: "Analyzes feedback at Cvent via surveys, AI sentiment, and Power BI."
  tags:
    - customer-experience
    - analytics
    - sentiment-analysis
capability:
  exposes:
    - type: mcp
      namespace: feedback
      port: 8080
      tools:
        - name: analyze
          description: "Analyze feedback at Cvent."
          inputParameters:
            - name: survey_id
              in: body
              type: string
              description: "Survey ID."
          steps:
            - name: collect
              type: call
              call: "survey.get"
              with:
                id: "{{survey_id}}"
            - name: sentiment
              type: call
              call: "ai.analyze"
              with:
                text: "{{collect.responses}}"
            - name: themes
              type: call
              call: "ai.themes"
              with:
                data: "{{collect.responses}}"
            - name: dashboard
              type: call
              call: "power-bi.refresh"
              with:
                dataset: "cx"
  consumes:
    - type: http
      namespace: survey
      baseUri: "https://surveys.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.survey_token"
      resources:
        - name: responses
          path: "/surveys/{{id}}/responses"
          inputParameters:
            - name: id
              in: path
          operations:
            - name: get
              method: GET
    - type: http
      namespace: ai
      baseUri: "https://api.openai.com/v1"
      authentication:
        type: bearer
        token: "$secrets.openai_api_key"
      resources:
        - name: completions
          path: "/chat/completions"
          operations:
            - name: analyze
              method: POST
    - type: http
      namespace: power-bi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.power_bi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset}}/refreshes"
          inputParameters:
            - name: dataset
              in: path
          operations:
            - name: refresh
              method: POST

Checks GitHub repo at Cvent.

naftiko: "0.5"
info:
  label: "GitHub Repo Check"
  description: "Checks GitHub repo at Cvent."
  tags:
    - devops
    - github
    - version-control
capability:
  exposes:
    - type: mcp
      namespace: gh-repo
      port: 8080
      tools:
        - name: get-branch
          description: "Check branch at Cvent."
          inputParameters:
            - name: repo
              in: body
              type: string
              description: "Repo."
            - name: branch
              in: body
              type: string
              description: "Branch."
          call: "github.get-branch"
          with:
            repo: "{{repo}}"
            branch: "{{branch}}"
          outputParameters:
            - name: sha
              type: string
              mapping: "$.commit.sha"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: branches
          path: "/repos/org/{{repo}}/branches/{{branch}}"
          inputParameters:
            - name: repo
              in: path
            - name: branch
              in: path
          operations:
            - name: get-branch
              method: GET

Retrieves event page traffic data from Google Analytics for a specific Cvent event registration page, returning visitor count, conversion rate, and traffic sources.

naftiko: "0.5"
info:
  label: "Google Analytics Event Tracking"
  description: "Retrieves event page traffic data from Google Analytics for a specific Cvent event registration page, returning visitor count, conversion rate, and traffic sources."
  tags:
    - marketing
    - analytics
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: event-analytics
      port: 8080
      tools:
        - name: get-event-page-analytics
          description: "Retrieve web analytics for an event registration page."
          inputParameters:
            - name: page_url
              in: body
              type: string
              description: "The event registration page URL."
            - name: start_date
              in: body
              type: string
              description: "Analytics start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "Analytics end date in YYYY-MM-DD format."
          call: "ga.get-page-report"
          with:
            page_path: "{{page_url}}"
            start: "{{start_date}}"
            end: "{{end_date}}"
  consumes:
    - type: http
      namespace: ga
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/properties/$secrets.ga_property_id:runReport"
          operations:
            - name: get-page-report
              method: POST

Checks Grafana dashboard at Cvent.

naftiko: "0.5"
info:
  label: "Grafana Dashboard Status"
  description: "Checks Grafana dashboard at Cvent."
  tags:
    - monitoring
    - grafana
    - dashboards
capability:
  exposes:
    - type: mcp
      namespace: grafana
      port: 8080
      tools:
        - name: check-dash
          description: "Check dashboard at Cvent."
          inputParameters:
            - name: uid
              in: body
              type: string
              description: "Dashboard UID."
          call: "grafana.get-dash"
          with:
            uid: "{{uid}}"
          outputParameters:
            - name: title
              type: string
              mapping: "$.dashboard.title"
  consumes:
    - type: http
      namespace: grafana
      baseUri: "https://grafana.cvent.com/api"
      authentication:
        type: bearer
        token: "$secrets.grafana_token"
      resources:
        - name: dashboards
          path: "/dashboards/uid/{{uid}}"
          inputParameters:
            - name: uid
              in: path
          operations:
            - name: get-dash
              method: GET

Processes a bulk group registration by creating multiple attendee registrations in Cvent from a list and sending a summary confirmation to the group coordinator.

naftiko: "0.5"
info:
  label: "Group Registration Processor"
  description: "Processes a bulk group registration by creating multiple attendee registrations in Cvent from a list and sending a summary confirmation to the group coordinator."
  tags:
    - events
    - registration
    - cvent-event-cloud
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: group-registration
      port: 8080
      tools:
        - name: process-group-registration
          description: "Process a group registration for multiple attendees."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: coordinator_email
              in: body
              type: string
              description: "The group coordinator's email address."
            - name: attendee_list
              in: body
              type: string
              description: "JSON array of attendee objects with name and email."
          steps:
            - name: create-registrations
              type: call
              call: "cvent.bulk-register"
              with:
                event_id: "{{event_id}}"
                attendees: "{{attendee_list}}"
            - name: send-summary
              type: call
              call: "outlook.send-email"
              with:
                to: "{{coordinator_email}}"
                subject: "Group Registration Confirmed - {{create-registrations.count}} attendees"
                body: "Your group registration for {{create-registrations.event_name}} has been processed. {{create-registrations.count}} attendees registered. Confirmation numbers: {{create-registrations.confirmations}}."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: bulk-registrations
          path: "/events/{{event_id}}/registrations/bulk"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: bulk-register
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-email
              method: POST

Checks the hotel room block status in Cvent Hospitality Cloud, returning rooms reserved, rooms picked up, cutoff date, and rate details.

naftiko: "0.5"
info:
  label: "Hotel Block Status"
  description: "Checks the hotel room block status in Cvent Hospitality Cloud, returning rooms reserved, rooms picked up, cutoff date, and rate details."
  tags:
    - hospitality
    - hotels
    - cvent-hospitality-cloud
capability:
  exposes:
    - type: mcp
      namespace: hotel-blocks
      port: 8080
      tools:
        - name: get-room-block-status
          description: "Check room block status for an event hotel."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: hotel_id
              in: body
              type: string
              description: "The hotel property identifier."
          call: "cvent-hospitality.get-room-block"
          with:
            event_id: "{{event_id}}"
            hotel_id: "{{hotel_id}}"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: room-blocks
          path: "/events/{{event_id}}/hotels/{{hotel_id}}/room-blocks"
          inputParameters:
            - name: event_id
              in: path
            - name: hotel_id
              in: path
          operations:
            - name: get-room-block
              method: GET

Escalates IT incidents at Cvent via ServiceNow, PagerDuty, and Slack.

naftiko: "0.5"
info:
  label: "IT Incident Escalation Pipeline"
  description: "Escalates IT incidents at Cvent via ServiceNow, PagerDuty, and Slack."
  tags:
    - incident-management
    - servicenow
    - pagerduty
    - slack
capability:
  exposes:
    - type: mcp
      namespace: incident-escalation
      port: 8080
      tools:
        - name: escalate-incident
          description: "Escalate incidents at Cvent."
          inputParameters:
            - name: incident_id
              in: body
              type: string
              description: "Incident ID."
            - name: severity
              in: body
              type: string
              description: "Severity."
          steps:
            - name: get-incident
              type: call
              call: "servicenow.get-incident"
              with:
                incident_id: "{{incident_id}}"
            - name: page
              type: call
              call: "pagerduty.create-incident"
              with:
                title: "{{get-incident.description}}"
                urgency: "{{severity}}"
            - name: channel
              type: call
              call: "slack.create-channel"
              with:
                name: "inc-{{incident_id}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#inc-{{incident_id}}"
                text: "P{{severity}}: {{get-incident.description}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/table/incident/{{incident_id}}"
          inputParameters:
            - name: incident_id
              in: path
          operations:
            - name: get-incident
              method: GET
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: incidents
          path: "/incidents"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: channels
          path: "/conversations.create"
          operations:
            - name: create-channel
              method: POST

Retrieves sprint progress at Cvent.

naftiko: "0.5"
info:
  label: "Jira Sprint Progress Lookup"
  description: "Retrieves sprint progress at Cvent."
  tags:
    - project-management
    - jira
    - agile
capability:
  exposes:
    - type: mcp
      namespace: jira-sprint
      port: 8080
      tools:
        - name: get-sprint
          description: "Look up sprint at Cvent."
          inputParameters:
            - name: project_key
              in: body
              type: string
              description: "Project key."
          call: "jira.get-sprints"
          with:
            project: "{{project_key}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.values[0].name"
            - name: state
              type: string
              mapping: "$.values[0].state"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/agile/1.0"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: sprints
          path: "/board/1/sprint"
          operations:
            - name: get-sprints
              method: GET

When negative survey feedback is received from Cvent, creates a Jira issue to track the improvement action item and notifies the product team via Slack.

naftiko: "0.5"
info:
  label: "Jira Task from Event Feedback"
  description: "When negative survey feedback is received from Cvent, creates a Jira issue to track the improvement action item and notifies the product team via Slack."
  tags:
    - events
    - feedback
    - cvent-event-cloud
    - jira
    - slack
capability:
  exposes:
    - type: mcp
      namespace: feedback-to-task
      port: 8080
      tools:
        - name: create-improvement-task
          description: "Create a Jira task from negative event feedback for follow-up."
          inputParameters:
            - name: survey_id
              in: body
              type: string
              description: "The Cvent survey identifier."
            - name: response_id
              in: body
              type: string
              description: "The specific survey response identifier."
            - name: project_key
              in: body
              type: string
              description: "The Jira project key."
          steps:
            - name: get-response
              type: call
              call: "cvent.get-survey-response"
              with:
                survey_id: "{{survey_id}}"
                response_id: "{{response_id}}"
            - name: create-issue
              type: call
              call: "jira.create-issue"
              with:
                project: "{{project_key}}"
                summary: "Event feedback: {{get-response.summary}}"
                description: "Feedback from {{get-response.attendee_name}}: {{get-response.comments}}. Rating: {{get-response.rating}}/5."
                issue_type: "Task"
            - name: notify-team
              type: call
              call: "slack.post-message"
              with:
                channel: "#event-improvements"
                text: "New improvement task created from event feedback: {{create-issue.key}} - {{get-response.summary}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: survey-responses
          path: "/surveys/{{survey_id}}/responses/{{response_id}}"
          inputParameters:
            - name: survey_id
              in: path
            - name: response_id
              in: path
          operations:
            - name: get-survey-response
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://cvent.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Maintains KB at Cvent by finding stale articles and notifying owners.

naftiko: "0.5"
info:
  label: "Knowledge Base Maintenance Pipeline"
  description: "Maintains KB at Cvent by finding stale articles and notifying owners."
  tags:
    - knowledge-management
    - confluence
    - maintenance
capability:
  exposes:
    - type: mcp
      namespace: kb-maint
      port: 8080
      tools:
        - name: maintain-kb
          description: "Maintain KB at Cvent."
          inputParameters:
            - name: space
              in: body
              type: string
              description: "Confluence space."
            - name: stale_days
              in: body
              type: number
              description: "Days threshold."
          steps:
            - name: find
              type: call
              call: "confluence.search-stale"
              with:
                space: "{{space}}"
                days: "{{stale_days}}"
            - name: notify
              type: call
              call: "email.batch"
              with:
                to: "{{find.owners}}"
                subject: "KB review needed"
            - name: flag
              type: call
              call: "confluence.add-label"
              with:
                pages: "{{find.ids}}"
                label: "needs-review"
            - name: report
              type: call
              call: "slack.post-message"
              with:
                channel: "#kb"
                text: "KB: {{find.count}} stale articles"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://cvent.com.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: content
          path: "/content/search"
          operations:
            - name: search-stale
              method: GET
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: batch
          path: "/send-batch"
          operations:
            - name: batch
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Generates KPI digest at Cvent from Snowflake, Oracle, Power BI, and email.

naftiko: "0.5"
info:
  label: "Weekly KPI Digest Pipeline"
  description: "Generates KPI digest at Cvent from Snowflake, Oracle, Power BI, and email."
  tags:
    - reporting
    - kpi
    - snowflake
    - executive
capability:
  exposes:
    - type: mcp
      namespace: kpi-digest
      port: 8080
      tools:
        - name: gen-digest
          description: "Generate KPI digest at Cvent."
          inputParameters:
            - name: week
              in: body
              type: string
              description: "Week ending."
            - name: dist
              in: body
              type: string
              description: "Distribution list."
          steps:
            - name: ops
              type: call
              call: "snowflake.query"
              with:
                query: "SELECT * FROM kpis WHERE w='{{week}}'"
            - name: fin
              type: call
              call: "oracle.get-summary"
              with:
                period: "{{week}}"
            - name: refresh
              type: call
              call: "power-bi.refresh"
              with:
                dataset: "exec_kpis"
            - name: send
              type: call
              call: "email.send"
              with:
                to: "{{dist}}"
                subject: "KPIs - {{week}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://cvent.com.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: query
              method: POST
    - type: http
      namespace: oracle
      baseUri: "https://oracle.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_token"
      resources:
        - name: fin
          path: "/summary"
          operations:
            - name: get-summary
              method: GET
    - type: http
      namespace: power-bi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.power_bi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset}}/refreshes"
          inputParameters:
            - name: dataset
              in: path
          operations:
            - name: refresh
              method: POST
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST

Checks K8s pod health at Cvent.

naftiko: "0.5"
info:
  label: "K8s Pod Health"
  description: "Checks K8s pod health at Cvent."
  tags:
    - containers
    - kubernetes
    - infrastructure
capability:
  exposes:
    - type: mcp
      namespace: k8s-pod
      port: 8080
      tools:
        - name: check-pod
          description: "Check pod at Cvent."
          inputParameters:
            - name: namespace
              in: body
              type: string
              description: "Namespace."
            - name: pod
              in: body
              type: string
              description: "Pod name."
          call: "k8s.get-pod"
          with:
            namespace: "{{namespace}}"
            pod: "{{pod}}"
          outputParameters:
            - name: phase
              type: string
              mapping: "$.status.phase"
  consumes:
    - type: http
      namespace: k8s
      baseUri: "https://k8s.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.k8s_token"
      resources:
        - name: pods
          path: "/namespaces/{{namespace}}/pods/{{pod}}"
          inputParameters:
            - name: namespace
              in: path
            - name: pod
              in: path
          operations:
            - name: get-pod
              method: GET

Checks license compliance at Cvent via scanning, entitlements, and procurement.

naftiko: "0.5"
info:
  label: "License Compliance Pipeline"
  description: "Checks license compliance at Cvent via scanning, entitlements, and procurement."
  tags:
    - compliance
    - licensing
    - procurement
capability:
  exposes:
    - type: mcp
      namespace: license-comp
      port: 8080
      tools:
        - name: check-licenses
          description: "Check license compliance at Cvent."
          inputParameters:
            - name: software
              in: body
              type: string
              description: "Software."
            - name: vendor
              in: body
              type: string
              description: "Vendor."
          steps:
            - name: scan
              type: call
              call: "assets.installations"
              with:
                sw: "{{software}}"
            - name: entitlements
              type: call
              call: "licenses.get"
              with:
                sw: "{{software}}"
            - name: flag
              type: call
              call: "compliance.flag"
              with:
                installed: "{{scan.count}}"
                entitled: "{{entitlements.count}}"
            - name: procure
              type: call
              call: "servicenow.create-request"
              with:
                type: "license"
                sw: "{{software}}"
  consumes:
    - type: http
      namespace: assets
      baseUri: "https://assets.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.asset_token"
      resources:
        - name: installations
          path: "/installations"
          operations:
            - name: installations
              method: GET
    - type: http
      namespace: licenses
      baseUri: "https://licenses.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.license_token"
      resources:
        - name: ent
          path: "/entitlements"
          operations:
            - name: get
              method: GET
    - type: http
      namespace: compliance
      baseUri: "https://compliance.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.compliance_token"
      resources:
        - name: overages
          path: "/flag"
          operations:
            - name: flag
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST

Books a meeting room at a venue through Cvent Hospitality Cloud and creates a corresponding calendar event in Microsoft Outlook for the meeting organizer.

naftiko: "0.5"
info:
  label: "Meeting Room Scheduler"
  description: "Books a meeting room at a venue through Cvent Hospitality Cloud and creates a corresponding calendar event in Microsoft Outlook for the meeting organizer."
  tags:
    - venues
    - scheduling
    - cvent-hospitality-cloud
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: room-scheduling
      port: 8080
      tools:
        - name: book-meeting-room
          description: "Book a venue meeting room and create a calendar event."
          inputParameters:
            - name: venue_id
              in: body
              type: string
              description: "The venue identifier."
            - name: room_id
              in: body
              type: string
              description: "The meeting room identifier."
            - name: start_time
              in: body
              type: string
              description: "Meeting start time in ISO 8601 format."
            - name: end_time
              in: body
              type: string
              description: "Meeting end time in ISO 8601 format."
            - name: organizer_email
              in: body
              type: string
              description: "The meeting organizer's email."
          steps:
            - name: book-room
              type: call
              call: "cvent-hospitality.book-room"
              with:
                venue_id: "{{venue_id}}"
                room_id: "{{room_id}}"
                start: "{{start_time}}"
                end: "{{end_time}}"
            - name: create-calendar-event
              type: call
              call: "outlook.create-event"
              with:
                organizer: "{{organizer_email}}"
                subject: "Meeting at {{book-room.venue_name}} - {{book-room.room_name}}"
                start: "{{start_time}}"
                end: "{{end_time}}"
                location: "{{book-room.venue_name}}, {{book-room.room_name}}"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: rooms
          path: "/venues/{{venue_id}}/rooms/{{room_id}}/bookings"
          inputParameters:
            - name: venue_id
              in: path
            - name: room_id
              in: path
          operations:
            - name: book-room
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: calendar
          path: "/users/{{organizer}}/events"
          inputParameters:
            - name: organizer
              in: path
          operations:
            - name: create-event
              method: POST

Generates monthly security reports at Cvent from Splunk and Qualys.

naftiko: "0.5"
info:
  label: "Monthly Security Report Pipeline"
  description: "Generates monthly security reports at Cvent from Splunk and Qualys."
  tags:
    - security
    - reporting
    - splunk
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: sec-report
      port: 8080
      tools:
        - name: gen-sec-report
          description: "Generate security report at Cvent."
          inputParameters:
            - name: month
              in: body
              type: string
              description: "Month."
          steps:
            - name: splunk
              type: call
              call: "splunk.search"
              with:
                query: "index=security earliest=-30d"
            - name: scans
              type: call
              call: "qualys.results"
              with:
                month: "{{month}}"
            - name: compile
              type: call
              call: "analytics.compile-security"
              with:
                events: "{{splunk.count}}"
                vulns: "{{scans.critical}}"
            - name: send
              type: call
              call: "email.send"
              with:
                to: "ciso@co.com"
                subject: "Security - {{month}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.cvent.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search
          path: "/search/jobs"
          operations:
            - name: search
              method: POST
    - type: http
      namespace: qualys
      baseUri: "https://qualysapi.qualys.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.qualys_token"
      resources:
        - name: results
          path: "/fo/scan/results"
          operations:
            - name: results
              method: GET
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: security
          path: "/compile"
          operations:
            - name: compile-security
              method: POST
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST

Retrieves attendee profile data and interests from Cvent and generates networking match recommendations based on industry, role, and interests.

naftiko: "0.5"
info:
  label: "Networking Matchmaker"
  description: "Retrieves attendee profile data and interests from Cvent and generates networking match recommendations based on industry, role, and interests."
  tags:
    - events
    - networking
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: networking-match
      port: 8080
      tools:
        - name: get-networking-matches
          description: "Generate networking match recommendations for an attendee."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: registration_id
              in: body
              type: string
              description: "The attendee registration identifier."
          call: "cvent.get-matches"
          with:
            event_id: "{{event_id}}"
            registration_id: "{{registration_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: networking
          path: "/events/{{event_id}}/registrations/{{registration_id}}/matches"
          inputParameters:
            - name: event_id
              in: path
            - name: registration_id
              in: path
          operations:
            - name: get-matches
              method: GET

Onboards employees at Cvent with Okta, ServiceNow, Slack, and calendar.

naftiko: "0.5"
info:
  label: "New Employee IT Onboarding Pipeline"
  description: "Onboards employees at Cvent with Okta, ServiceNow, Slack, and calendar."
  tags:
    - hr
    - onboarding
    - okta
    - servicenow
    - slack
capability:
  exposes:
    - type: mcp
      namespace: it-onboarding
      port: 8080
      tools:
        - name: onboard-employee
          description: "Onboard employees at Cvent."
          inputParameters:
            - name: name
              in: body
              type: string
              description: "Name."
            - name: dept
              in: body
              type: string
              description: "Department."
            - name: start
              in: body
              type: string
              description: "Start date."
          steps:
            - name: okta
              type: call
              call: "okta.create-user"
              with:
                name: "{{name}}"
                department: "{{dept}}"
            - name: equip
              type: call
              call: "servicenow.create-request"
              with:
                type: "new_hire"
                for: "{{name}}"
            - name: slack
              type: call
              call: "slack.invite"
              with:
                email: "{{okta.email}}"
            - name: orient
              type: call
              call: "calendar.create-event"
              with:
                title: "Orientation - {{name}}"
                date: "{{start}}"
  consumes:
    - type: http
      namespace: okta
      baseUri: "https://cvent.com.okta.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.okta_api_token"
      resources:
        - name: users
          path: "/users"
          operations:
            - name: create-user
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: users
          path: "/users.admin.invite"
          operations:
            - name: invite
              method: POST
    - type: http
      namespace: calendar
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.microsoft_graph_token"
      resources:
        - name: events
          path: "/users/hr/events"
          operations:
            - name: create-event
              method: POST

Checks New Relic APM at Cvent.

naftiko: "0.5"
info:
  label: "New Relic APM Check"
  description: "Checks New Relic APM at Cvent."
  tags:
    - monitoring
    - new-relic
    - apm
capability:
  exposes:
    - type: mcp
      namespace: nr-apm
      port: 8080
      tools:
        - name: check-apm
          description: "Check APM at Cvent."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "App ID."
          call: "newrelic.get-app"
          with:
            app_id: "{{app_id}}"
          outputParameters:
            - name: health
              type: string
              mapping: "$.application.health_status"
  consumes:
    - type: http
      namespace: newrelic
      baseUri: "https://api.newrelic.com/v2"
      authentication:
        type: bearer
        token: "$secrets.new_relic_api_key"
      resources:
        - name: applications
          path: "/applications/{{app_id}}.json"
          inputParameters:
            - name: app_id
              in: path
          operations:
            - name: get-app
              method: GET

Checks Okta user at Cvent.

naftiko: "0.5"
info:
  label: "Okta User Check"
  description: "Checks Okta user at Cvent."
  tags:
    - identity
    - okta
    - access-management
capability:
  exposes:
    - type: mcp
      namespace: okta-user
      port: 8080
      tools:
        - name: check-user
          description: "Check user at Cvent."
          inputParameters:
            - name: email
              in: body
              type: string
              description: "Email."
          call: "okta.get-user"
          with:
            email: "{{email}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: okta
      baseUri: "https://cvent.com.okta.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.okta_api_token"
      resources:
        - name: users
          path: "/users/{{email}}"
          inputParameters:
            - name: email
              in: path
          operations:
            - name: get-user
              method: GET

Checks on-call at Cvent.

naftiko: "0.5"
info:
  label: "PagerDuty On-Call Check"
  description: "Checks on-call at Cvent."
  tags:
    - incident-management
    - pagerduty
    - on-call
capability:
  exposes:
    - type: mcp
      namespace: pd-oncall
      port: 8080
      tools:
        - name: get-oncall
          description: "Check on-call at Cvent."
          inputParameters:
            - name: schedule_id
              in: body
              type: string
              description: "Schedule ID."
          call: "pagerduty.get-oncall"
          with:
            schedule_id: "{{schedule_id}}"
          outputParameters:
            - name: user
              type: string
              mapping: "$.oncalls[0].user.summary"
  consumes:
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: oncalls
          path: "/oncalls"
          operations:
            - name: get-oncall
              method: GET

After an event concludes, pulls the attendee list from Cvent, creates a survey in Cvent, and sends survey invitation emails via HubSpot.

naftiko: "0.5"
info:
  label: "Post-Event Survey Dispatch"
  description: "After an event concludes, pulls the attendee list from Cvent, creates a survey in Cvent, and sends survey invitation emails via HubSpot."
  tags:
    - events
    - surveys
    - cvent-event-cloud
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: post-event-survey
      port: 8080
      tools:
        - name: dispatch-survey
          description: "Create and distribute a post-event satisfaction survey to attendees."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: survey_template_id
              in: body
              type: string
              description: "The Cvent survey template to use."
          steps:
            - name: get-attendees
              type: call
              call: "cvent.list-attendees"
              with:
                event_id: "{{event_id}}"
            - name: create-survey
              type: call
              call: "cvent.create-survey"
              with:
                event_id: "{{event_id}}"
                template_id: "{{survey_template_id}}"
            - name: send-invites
              type: call
              call: "hubspot.send-survey-email"
              with:
                survey_url: "{{create-survey.survey_url}}"
                recipients: "{{get-attendees.emails}}"
                subject: "How was your experience? Share your feedback"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: attendees
          path: "/events/{{event_id}}/attendees"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: list-attendees
              method: GET
        - name: surveys
          path: "/surveys"
          operations:
            - name: create-survey
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: transactional-emails
          path: "/email/public/v1/singleEmail/send"
          operations:
            - name: send-survey-email
              method: POST

Creates postmortems at Cvent.

naftiko: "0.5"
info:
  label: "Incident Postmortem Pipeline"
  description: "Creates postmortems at Cvent."
  tags:
    - incident-management
    - postmortem
    - pagerduty
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: postmortem
      port: 8080
      tools:
        - name: create-postmortem
          description: "Create postmortem at Cvent."
          inputParameters:
            - name: incident_id
              in: body
              type: string
              description: "Incident ID."
          steps:
            - name: timeline
              type: call
              call: "pagerduty.get-log"
              with:
                id: "{{incident_id}}"
            - name: metrics
              type: call
              call: "datadog.get-metrics"
              with:
                incident: "{{incident_id}}"
            - name: doc
              type: call
              call: "confluence.create-page"
              with:
                title: "Postmortem: {{timeline.title}}"
                body: "Impact: {{metrics.impact}}"
            - name: review
              type: call
              call: "calendar.create-event"
              with:
                title: "Review: {{timeline.title}}"
  consumes:
    - type: http
      namespace: pagerduty
      baseUri: "https://api.pagerduty.com"
      authentication:
        type: bearer
        token: "$secrets.pagerduty_token"
      resources:
        - name: incidents
          path: "/incidents/{{id}}/log_entries"
          inputParameters:
            - name: id
              in: path
          operations:
            - name: get-log
              method: GET
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: incidents
          path: "/incidents"
          operations:
            - name: get-metrics
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://cvent.com.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST
    - type: http
      namespace: calendar
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.microsoft_graph_token"
      resources:
        - name: events
          path: "/users/sre/events"
          operations:
            - name: create-event
              method: POST

Checks Power BI refresh at Cvent.

naftiko: "0.5"
info:
  label: "Power BI Refresh Check"
  description: "Checks Power BI refresh at Cvent."
  tags:
    - analytics
    - power-bi
    - dashboards
capability:
  exposes:
    - type: mcp
      namespace: pbi-refresh
      port: 8080
      tools:
        - name: check-refresh
          description: "Check refresh at Cvent."
          inputParameters:
            - name: dataset_id
              in: body
              type: string
              description: "Dataset ID."
          call: "power-bi.get-refresh"
          with:
            dataset_id: "{{dataset_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.value[0].status"
  consumes:
    - type: http
      namespace: power-bi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.power_bi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: get-refresh
              method: GET

Generates compliance reports at Cvent from Snowflake, Power BI, and email.

naftiko: "0.5"
info:
  label: "Quarterly Compliance Report Pipeline"
  description: "Generates compliance reports at Cvent from Snowflake, Power BI, and email."
  tags:
    - compliance
    - reporting
    - snowflake
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: compliance-rpt
      port: 8080
      tools:
        - name: gen-report
          description: "Generate compliance reports at Cvent."
          inputParameters:
            - name: quarter
              in: body
              type: string
              description: "Quarter."
            - name: type
              in: body
              type: string
              description: "Type."
          steps:
            - name: data
              type: call
              call: "snowflake.query"
              with:
                query: "SELECT * FROM compliance WHERE q='{{quarter}}'"
            - name: metrics
              type: call
              call: "analytics.compute"
              with:
                data: "{{data.results}}"
            - name: refresh
              type: call
              call: "power-bi.refresh"
              with:
                dataset: "compliance"
            - name: send
              type: call
              call: "email.send"
              with:
                to: "compliance@co.com"
                subject: "{{type}} - {{quarter}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://cvent.com.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: query
              method: POST
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: metrics
          path: "/compute"
          operations:
            - name: compute
              method: POST
    - type: http
      namespace: power-bi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.power_bi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset}}/refreshes"
          inputParameters:
            - name: dataset
              in: path
          operations:
            - name: refresh
              method: POST
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST

Checks Redis at Cvent.

naftiko: "0.5"
info:
  label: "Redis Cache Status"
  description: "Checks Redis at Cvent."
  tags:
    - caching
    - redis
    - infrastructure
capability:
  exposes:
    - type: mcp
      namespace: redis
      port: 8080
      tools:
        - name: check-cache
          description: "Check Redis at Cvent."
          inputParameters:
            - name: instance
              in: body
              type: string
              description: "Instance ID."
          call: "redis.get-info"
          with:
            instance: "{{instance}}"
          outputParameters:
            - name: memory
              type: string
              mapping: "$.used_memory_human"
  consumes:
    - type: http
      namespace: redis
      baseUri: "https://redis.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.redis_token"
      resources:
        - name: instances
          path: "/instances/{{instance}}/info"
          inputParameters:
            - name: instance
              in: path
          operations:
            - name: get-info
              method: GET

Validates a promotional discount code for an event registration in Cvent, returning the discount percentage, applicable registration types, and expiration status.

naftiko: "0.5"
info:
  label: "Registration Discount Code Validator"
  description: "Validates a promotional discount code for an event registration in Cvent, returning the discount percentage, applicable registration types, and expiration status."
  tags:
    - events
    - registration
    - pricing
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: discount-codes
      port: 8080
      tools:
        - name: validate-discount-code
          description: "Validate a promotional discount code for event registration."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: discount_code
              in: body
              type: string
              description: "The promotional discount code."
          call: "cvent.validate-code"
          with:
            event_id: "{{event_id}}"
            code: "{{discount_code}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: discount-codes
          path: "/events/{{event_id}}/discount-codes/{{code}}"
          inputParameters:
            - name: event_id
              in: path
            - name: code
              in: path
          operations:
            - name: validate-code
              method: GET

Checks release readiness at Cvent.

naftiko: "0.5"
info:
  label: "Release Readiness Pipeline"
  description: "Checks release readiness at Cvent."
  tags:
    - release-management
    - devops
    - quality
capability:
  exposes:
    - type: mcp
      namespace: release-ready
      port: 8080
      tools:
        - name: check-release
          description: "Check release at Cvent."
          inputParameters:
            - name: release_id
              in: body
              type: string
              description: "Release ID."
            - name: project
              in: body
              type: string
              description: "Project."
          steps:
            - name: tests
              type: call
              call: "azdo.get-tests"
              with:
                project: "{{project}}"
                release: "{{release_id}}"
            - name: quality
              type: call
              call: "sonarqube.get-gate"
              with:
                project: "{{project}}"
            - name: security
              type: call
              call: "security.get-scan"
              with:
                project: "{{project}}"
            - name: doc
              type: call
              call: "confluence.create-page"
              with:
                title: "Release - {{release_id}}"
                body: "Tests: {{tests.pass_rate}}% Quality: {{quality.status}}"
  consumes:
    - type: http
      namespace: azdo
      baseUri: "https://dev.azure.com/cvent.com"
      authentication:
        type: bearer
        token: "$secrets.azdo_token"
      resources:
        - name: tests
          path: "/{{project}}/_apis/test/runs"
          inputParameters:
            - name: project
              in: path
          operations:
            - name: get-tests
              method: GET
    - type: http
      namespace: sonarqube
      baseUri: "https://sonarqube.cvent.com/api"
      authentication:
        type: bearer
        token: "$secrets.sonarqube_token"
      resources:
        - name: quality
          path: "/qualitygates/project_status"
          operations:
            - name: get-gate
              method: GET
    - type: http
      namespace: security
      baseUri: "https://security.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.security_token"
      resources:
        - name: scans
          path: "/results"
          operations:
            - name: get-scan
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://cvent.com.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

Checks the status of a venue Request for Proposal in Cvent Hospitality Cloud, returning vendor responses, pricing proposals, and decision timeline.

naftiko: "0.5"
info:
  label: "RFP Status Tracker"
  description: "Checks the status of a venue Request for Proposal in Cvent Hospitality Cloud, returning vendor responses, pricing proposals, and decision timeline."
  tags:
    - venues
    - rfp
    - cvent-hospitality-cloud
capability:
  exposes:
    - type: mcp
      namespace: rfp-tracking
      port: 8080
      tools:
        - name: get-rfp-status
          description: "Track the status of a venue RFP and vendor responses."
          inputParameters:
            - name: rfp_id
              in: body
              type: string
              description: "The Cvent RFP identifier."
          call: "cvent-hospitality.get-rfp"
          with:
            rfp_id: "{{rfp_id}}"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: rfps
          path: "/rfps/{{rfp_id}}"
          inputParameters:
            - name: rfp_id
              in: path
          operations:
            - name: get-rfp
              method: GET

When a new event registration is completed in Cvent, creates a lead in Salesforce with attendee details and tags the lead with the event name.

naftiko: "0.5"
info:
  label: "Salesforce Lead from Registration"
  description: "When a new event registration is completed in Cvent, creates a lead in Salesforce with attendee details and tags the lead with the event name."
  tags:
    - events
    - crm
    - cvent-event-cloud
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: registration-to-lead
      port: 8080
      tools:
        - name: create-lead-from-registration
          description: "Create a Salesforce lead from a Cvent event registration."
          inputParameters:
            - name: confirmation_number
              in: body
              type: string
              description: "The event registration confirmation number."
            - name: event_name
              in: body
              type: string
              description: "The event name for lead tagging."
          steps:
            - name: get-registration
              type: call
              call: "cvent.get-registration"
              with:
                confirmation_number: "{{confirmation_number}}"
            - name: create-lead
              type: call
              call: "salesforce.create-lead"
              with:
                first_name: "{{get-registration.first_name}}"
                last_name: "{{get-registration.last_name}}"
                email: "{{get-registration.email}}"
                company: "{{get-registration.company}}"
                lead_source: "Event - {{event_name}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: registrations
          path: "/registrations/{{confirmation_number}}"
          inputParameters:
            - name: confirmation_number
              in: path
          operations:
            - name: get-registration
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://cvent.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: leads
          path: "/sobjects/Lead"
          operations:
            - name: create-lead
              method: POST

Checks SAP PO at Cvent.

naftiko: "0.5"
info:
  label: "SAP PO Check"
  description: "Checks SAP PO at Cvent."
  tags:
    - procurement
    - sap
    - purchase-orders
capability:
  exposes:
    - type: mcp
      namespace: sap-po
      port: 8080
      tools:
        - name: get-po
          description: "Check PO at Cvent."
          inputParameters:
            - name: po_number
              in: body
              type: string
              description: "PO number."
          call: "sap.get-po"
          with:
            po_number: "{{po_number}}"
          outputParameters:
            - name: vendor
              type: string
              mapping: "$.order.vendor"
            - name: status
              type: string
              mapping: "$.order.status"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://sap.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: purchase-orders
          path: "/purchase-orders/{{po_number}}"
          inputParameters:
            - name: po_number
              in: path
          operations:
            - name: get-po
              method: GET

Remediates vulnerabilities at Cvent via scanning, Jira, and Slack.

naftiko: "0.5"
info:
  label: "Security Vulnerability Remediation Pipeline"
  description: "Remediates vulnerabilities at Cvent via scanning, Jira, and Slack."
  tags:
    - security
    - vulnerability-management
    - jira
capability:
  exposes:
    - type: mcp
      namespace: vuln-fix
      port: 8080
      tools:
        - name: remediate
          description: "Fix vulnerabilities at Cvent."
          inputParameters:
            - name: target
              in: body
              type: string
              description: "Target."
            - name: policy
              in: body
              type: string
              description: "Policy."
          steps:
            - name: scan
              type: call
              call: "qualys.scan"
              with:
                target: "{{target}}"
                policy: "{{policy}}"
            - name: prioritize
              type: call
              call: "security.prioritize"
              with:
                scan: "{{scan.id}}"
            - name: ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "SEC"
                summary: "Vulns: {{prioritize.critical}} critical"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#security"
                text: "Scan: {{prioritize.critical}} critical"
  consumes:
    - type: http
      namespace: qualys
      baseUri: "https://qualysapi.qualys.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.qualys_token"
      resources:
        - name: scans
          path: "/fo/scan"
          operations:
            - name: scan
              method: POST
    - type: http
      namespace: security
      baseUri: "https://security.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.security_token"
      resources:
        - name: vulns
          path: "/prioritize"
          operations:
            - name: prioritize
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://cvent.com.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Checks IT incident in ServiceNow for Cvent.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Detail Check"
  description: "Checks IT incident in ServiceNow for Cvent."
  tags:
    - it-service
    - servicenow
    - incident-management
capability:
  exposes:
    - type: mcp
      namespace: snow-incident
      port: 8080
      tools:
        - name: check-incident
          description: "Check incident at Cvent."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "Incident number."
          call: "servicenow.get-incident"
          with:
            number: "{{incident_number}}"
          outputParameters:
            - name: state
              type: string
              mapping: "$.result.state"
            - name: priority
              type: string
              mapping: "$.result.priority"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: get-incident
              method: GET

Creates a ServiceNow incident when an on-site event issue is reported, categorizing it by severity and assigning it to the appropriate operations team.

naftiko: "0.5"
info:
  label: "ServiceNow Ticket from Event Issue"
  description: "Creates a ServiceNow incident when an on-site event issue is reported, categorizing it by severity and assigning it to the appropriate operations team."
  tags:
    - events
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: event-incidents
      port: 8080
      tools:
        - name: report-event-issue
          description: "Log an on-site event issue as a ServiceNow incident."
          inputParameters:
            - name: event_name
              in: body
              type: string
              description: "The event name."
            - name: issue_description
              in: body
              type: string
              description: "Description of the issue."
            - name: severity
              in: body
              type: string
              description: "Issue severity (low, medium, high, critical)."
            - name: location
              in: body
              type: string
              description: "Where in the venue the issue was reported."
          call: "servicenow.create-incident"
          with:
            short_description: "Event issue at {{event_name}}: {{location}}"
            category: "event_operations"
            urgency: "{{severity}}"
            description: "{{issue_description}}. Location: {{location}}."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST

Retrieves the full session schedule for a Cvent event, including room assignments, times, speaker names, and capacity limits.

naftiko: "0.5"
info:
  label: "Session Schedule Viewer"
  description: "Retrieves the full session schedule for a Cvent event, including room assignments, times, speaker names, and capacity limits."
  tags:
    - events
    - sessions
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: session-schedule
      port: 8080
      tools:
        - name: get-session-schedule
          description: "Retrieve the session schedule for an event."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          call: "cvent.list-sessions"
          with:
            event_id: "{{event_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: sessions
          path: "/events/{{event_id}}/sessions"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: list-sessions
              method: GET

Retrieves SharePoint metadata at Cvent.

naftiko: "0.5"
info:
  label: "SharePoint File Metadata"
  description: "Retrieves SharePoint metadata at Cvent."
  tags:
    - document-management
    - sharepoint
    - collaboration
capability:
  exposes:
    - type: mcp
      namespace: sp-docs
      port: 8080
      tools:
        - name: get-file
          description: "Look up file at Cvent."
          inputParameters:
            - name: site_id
              in: body
              type: string
              description: "Site ID."
            - name: file_path
              in: body
              type: string
              description: "Path."
          call: "sharepoint.get-file"
          with:
            site_id: "{{site_id}}"
            path: "{{file_path}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.name"
            - name: size
              type: number
              mapping: "$.size"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.microsoft_graph_token"
      resources:
        - name: files
          path: "/sites/{{site_id}}/drive/root:/{{path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: path
              in: path
          operations:
            - name: get-file
              method: GET

Monitors SLAs at Cvent via Datadog and Slack.

naftiko: "0.5"
info:
  label: "SLA Monitoring Pipeline"
  description: "Monitors SLAs at Cvent via Datadog and Slack."
  tags:
    - operations
    - sla
    - datadog
    - slack
capability:
  exposes:
    - type: mcp
      namespace: sla-monitor
      port: 8080
      tools:
        - name: check-sla
          description: "Monitor SLAs at Cvent."
          inputParameters:
            - name: service
              in: body
              type: string
              description: "Service."
            - name: target
              in: body
              type: number
              description: "SLA target %."
          steps:
            - name: metrics
              type: call
              call: "datadog.get-sla"
              with:
                service: "{{service}}"
            - name: check
              type: call
              call: "analytics.check-sla"
              with:
                uptime: "{{metrics.uptime}}"
                target: "{{target}}"
            - name: alert
              type: call
              call: "slack.post-message"
              with:
                channel: "#ops"
                text: "SLA: {{service}} at {{metrics.uptime}}% (target: {{target}}%)"
            - name: log
              type: call
              call: "servicenow.create-incident"
              with:
                desc: "SLA breach: {{service}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/metrics"
          operations:
            - name: get-sla
              method: GET
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://cvent.com.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST

Posts daily event coordination updates to Slack including today's agenda from Cvent, room assignments, and any schedule changes.

naftiko: "0.5"
info:
  label: "Slack Event Day Coordinator"
  description: "Posts daily event coordination updates to Slack including today's agenda from Cvent, room assignments, and any schedule changes."
  tags:
    - events
    - communications
    - cvent-event-cloud
    - slack
capability:
  exposes:
    - type: mcp
      namespace: event-day-updates
      port: 8080
      tools:
        - name: post-daily-update
          description: "Post daily event coordination update to Slack."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: date
              in: body
              type: string
              description: "The event day date in YYYY-MM-DD format."
          steps:
            - name: get-agenda
              type: call
              call: "cvent.get-daily-agenda"
              with:
                event_id: "{{event_id}}"
                date: "{{date}}"
            - name: post-update
              type: call
              call: "slack.post-message"
              with:
                channel: "#event-ops-{{event_id}}"
                text: "Daily Event Update for {{date}}:\nSessions today: {{get-agenda.session_count}}\nExpected attendance: {{get-agenda.expected_headcount}}\nFirst session: {{get-agenda.first_session_time}} - {{get-agenda.first_session_name}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: agenda
          path: "/events/{{event_id}}/agenda/{{date}}"
          inputParameters:
            - name: event_id
              in: path
            - name: date
              in: path
          operations:
            - name: get-daily-agenda
              method: GET
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: messages
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST

Checks Snowflake warehouse usage at Cvent.

naftiko: "0.5"
info:
  label: "Snowflake Warehouse Usage"
  description: "Checks Snowflake warehouse usage at Cvent."
  tags:
    - data
    - snowflake
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: sf-usage
      port: 8080
      tools:
        - name: check-warehouse
          description: "Check warehouse at Cvent."
          inputParameters:
            - name: warehouse
              in: body
              type: string
              description: "Warehouse."
          call: "snowflake.get-usage"
          with:
            warehouse: "{{warehouse}}"
          outputParameters:
            - name: credits
              type: number
              mapping: "$.data.credits_used"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://cvent.com.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: warehouses
          path: "/statements"
          operations:
            - name: get-usage
              method: GET

Checks code quality at Cvent.

naftiko: "0.5"
info:
  label: "SonarQube Quality Check"
  description: "Checks code quality at Cvent."
  tags:
    - code-quality
    - sonarqube
    - devops
capability:
  exposes:
    - type: mcp
      namespace: sq
      port: 8080
      tools:
        - name: check-quality
          description: "Check quality at Cvent."
          inputParameters:
            - name: project
              in: body
              type: string
              description: "Project key."
          call: "sonarqube.get-measures"
          with:
            project: "{{project}}"
          outputParameters:
            - name: bugs
              type: number
              mapping: "$.component.measures[0].value"
  consumes:
    - type: http
      namespace: sonarqube
      baseUri: "https://sonarqube.cvent.com/api"
      authentication:
        type: bearer
        token: "$secrets.sonarqube_token"
      resources:
        - name: measures
          path: "/measures/component"
          operations:
            - name: get-measures
              method: GET

Retrieves speaker profile information from Cvent including bio, headshot URL, session assignments, and travel requirements.

naftiko: "0.5"
info:
  label: "Speaker Profile Lookup"
  description: "Retrieves speaker profile information from Cvent including bio, headshot URL, session assignments, and travel requirements."
  tags:
    - events
    - speakers
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: speaker-profiles
      port: 8080
      tools:
        - name: get-speaker-profile
          description: "Look up a speaker's profile and session assignments."
          inputParameters:
            - name: speaker_id
              in: body
              type: string
              description: "The Cvent speaker identifier."
          call: "cvent.get-speaker"
          with:
            speaker_id: "{{speaker_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: speakers
          path: "/speakers/{{speaker_id}}"
          inputParameters:
            - name: speaker_id
              in: path
          operations:
            - name: get-speaker
              method: GET

Retrieves speaker travel requirements from Cvent, creates a travel request in SAP Concur, and sends confirmation details to the speaker via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Speaker Travel Coordinator"
  description: "Retrieves speaker travel requirements from Cvent, creates a travel request in SAP Concur, and sends confirmation details to the speaker via Microsoft Outlook."
  tags:
    - events
    - travel
    - cvent-event-cloud
    - sap-concur
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: speaker-travel
      port: 8080
      tools:
        - name: coordinate-speaker-travel
          description: "Coordinate speaker travel booking and confirmation."
          inputParameters:
            - name: speaker_id
              in: body
              type: string
              description: "The Cvent speaker identifier."
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          steps:
            - name: get-speaker
              type: call
              call: "cvent.get-speaker"
              with:
                speaker_id: "{{speaker_id}}"
            - name: create-travel-request
              type: call
              call: "concur.create-travel-request"
              with:
                traveler_name: "{{get-speaker.full_name}}"
                destination: "{{get-speaker.event_city}}"
                travel_dates: "{{get-speaker.travel_dates}}"
            - name: send-confirmation
              type: call
              call: "outlook.send-email"
              with:
                to: "{{get-speaker.email}}"
                subject: "Travel arrangements for your speaking engagement"
                body: "Hi {{get-speaker.first_name}}, your travel request has been submitted. Request ID: {{create-travel-request.request_id}}. We'll confirm details once approved."
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: speakers
          path: "/speakers/{{speaker_id}}"
          inputParameters:
            - name: speaker_id
              in: path
          operations:
            - name: get-speaker
              method: GET
    - type: http
      namespace: concur
      baseUri: "https://us.api.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: travel-requests
          path: "/travelrequest/requests"
          operations:
            - name: create-travel-request
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-email
              method: POST

Searches Splunk at Cvent.

naftiko: "0.5"
info:
  label: "Splunk Log Search"
  description: "Searches Splunk at Cvent."
  tags:
    - security
    - splunk
    - logging
capability:
  exposes:
    - type: mcp
      namespace: splunk-search
      port: 8080
      tools:
        - name: search-logs
          description: "Search logs at Cvent."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "SPL query."
          call: "splunk.search"
          with:
            query: "{{query}}"
          outputParameters:
            - name: count
              type: number
              mapping: "$.results.count"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.cvent.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search
          path: "/search/jobs"
          operations:
            - name: search
              method: POST

Creates sponsor invoices by pulling sponsorship details from Cvent and generating invoice documents, then sends them for signature via DocuSign.

naftiko: "0.5"
info:
  label: "Sponsor Invoice Generator"
  description: "Creates sponsor invoices by pulling sponsorship details from Cvent and generating invoice documents, then sends them for signature via DocuSign."
  tags:
    - events
    - sponsorship
    - finance
    - cvent-event-cloud
    - docusign
capability:
  exposes:
    - type: mcp
      namespace: sponsor-invoicing
      port: 8080
      tools:
        - name: generate-sponsor-invoice
          description: "Generate and send a sponsor invoice for electronic signature."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: sponsor_id
              in: body
              type: string
              description: "The sponsor identifier."
          steps:
            - name: get-sponsorship
              type: call
              call: "cvent.get-sponsorship"
              with:
                event_id: "{{event_id}}"
                sponsor_id: "{{sponsor_id}}"
            - name: send-invoice
              type: call
              call: "docusign.create-envelope"
              with:
                template_id: "sponsor_invoice_template"
                signer_email: "{{get-sponsorship.contact_email}}"
                signer_name: "{{get-sponsorship.contact_name}}"
                amount: "{{get-sponsorship.total_amount}}"
                sponsor_level: "{{get-sponsorship.level}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: sponsorships
          path: "/events/{{event_id}}/sponsors/{{sponsor_id}}"
          inputParameters:
            - name: event_id
              in: path
            - name: sponsor_id
              in: path
          operations:
            - name: get-sponsorship
              method: GET
    - type: http
      namespace: docusign
      baseUri: "https://na4.docusign.net/restapi/v2.1/accounts/$secrets.docusign_account_id"
      authentication:
        type: bearer
        token: "$secrets.docusign_token"
      resources:
        - name: envelopes
          path: "/envelopes"
          operations:
            - name: create-envelope
              method: POST

Retrieves aggregated survey response data from a Cvent post-event survey, including NPS score, satisfaction ratings, and open-ended feedback.

naftiko: "0.5"
info:
  label: "Survey Response Summary"
  description: "Retrieves aggregated survey response data from a Cvent post-event survey, including NPS score, satisfaction ratings, and open-ended feedback."
  tags:
    - events
    - surveys
    - feedback
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: event-surveys
      port: 8080
      tools:
        - name: get-survey-results
          description: "Retrieve survey response summary for a post-event survey."
          inputParameters:
            - name: survey_id
              in: body
              type: string
              description: "The Cvent survey identifier."
          call: "cvent.get-survey-summary"
          with:
            survey_id: "{{survey_id}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: surveys
          path: "/surveys/{{survey_id}}/summary"
          inputParameters:
            - name: survey_id
              in: path
          operations:
            - name: get-survey-summary
              method: GET

Retrieves Teams activity at Cvent.

naftiko: "0.5"
info:
  label: "Teams Channel Activity"
  description: "Retrieves Teams activity at Cvent."
  tags:
    - communications
    - microsoft-teams
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: teams-activity
      port: 8080
      tools:
        - name: get-activity
          description: "Check Teams activity at Cvent."
          inputParameters:
            - name: team_id
              in: body
              type: string
              description: "Team ID."
            - name: channel_id
              in: body
              type: string
              description: "Channel ID."
          call: "teams.get-messages"
          with:
            team_id: "{{team_id}}"
            channel_id: "{{channel_id}}"
          outputParameters:
            - name: count
              type: number
              mapping: "$.value.length"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.microsoft_graph_token"
      resources:
        - name: messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: get-messages
              method: GET

Checks Terraform workspace at Cvent.

naftiko: "0.5"
info:
  label: "Terraform Workspace Check"
  description: "Checks Terraform workspace at Cvent."
  tags:
    - infrastructure
    - terraform
    - iac
capability:
  exposes:
    - type: mcp
      namespace: tf-ws
      port: 8080
      tools:
        - name: check-ws
          description: "Check workspace at Cvent."
          inputParameters:
            - name: workspace_id
              in: body
              type: string
              description: "Workspace ID."
          call: "terraform.get-ws"
          with:
            workspace_id: "{{workspace_id}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.data.attributes.name"
  consumes:
    - type: http
      namespace: terraform
      baseUri: "https://app.terraform.io/api/v2"
      authentication:
        type: bearer
        token: "$secrets.terraform_token"
      resources:
        - name: workspaces
          path: "/workspaces/{{workspace_id}}"
          inputParameters:
            - name: workspace_id
              in: path
          operations:
            - name: get-ws
              method: GET

Checks event registrations for attendees who have not yet booked hotel rooms in the Cvent Hospitality Cloud, and sends reminder emails via HubSpot.

naftiko: "0.5"
info:
  label: "Travel Booking Reminder"
  description: "Checks event registrations for attendees who have not yet booked hotel rooms in the Cvent Hospitality Cloud, and sends reminder emails via HubSpot."
  tags:
    - hospitality
    - travel
    - cvent-hospitality-cloud
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: travel-reminders
      port: 8080
      tools:
        - name: send-booking-reminders
          description: "Send hotel booking reminders to attendees who haven't reserved rooms."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          steps:
            - name: get-unbooked
              type: call
              call: "cvent-hospitality.get-unbooked-attendees"
              with:
                event_id: "{{event_id}}"
            - name: send-reminders
              type: call
              call: "hubspot.send-batch-email"
              with:
                recipients: "{{get-unbooked.emails}}"
                subject: "Don't forget to book your hotel room"
                template: "hotel_reminder"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: unbooked
          path: "/events/{{event_id}}/unbooked-attendees"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-unbooked-attendees
              method: GET
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: batch-email
          path: "/email/public/v1/singleEmail/send"
          operations:
            - name: send-batch-email
              method: POST

Checks Vault secret at Cvent.

naftiko: "0.5"
info:
  label: "Vault Secret Metadata"
  description: "Checks Vault secret at Cvent."
  tags:
    - security
    - vault
    - secrets-management
capability:
  exposes:
    - type: mcp
      namespace: vault
      port: 8080
      tools:
        - name: check-secret
          description: "Check secret at Cvent."
          inputParameters:
            - name: path
              in: body
              type: string
              description: "Secret path."
          call: "vault.get-metadata"
          with:
            path: "{{path}}"
          outputParameters:
            - name: version
              type: number
              mapping: "$.data.current_version"
  consumes:
    - type: http
      namespace: vault
      baseUri: "https://vault.cvent.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vault_token"
      resources:
        - name: secrets
          path: "/secret/metadata/{{path}}"
          inputParameters:
            - name: path
              in: path
          operations:
            - name: get-metadata
              method: GET

Processes invoices at Cvent via OCR, SAP matching, approval, and Oracle recording.

naftiko: "0.5"
info:
  label: "Vendor Invoice Processing Pipeline"
  description: "Processes invoices at Cvent via OCR, SAP matching, approval, and Oracle recording."
  tags:
    - finance
    - accounts-payable
    - sap
    - oracle
capability:
  exposes:
    - type: mcp
      namespace: invoice-proc
      port: 8080
      tools:
        - name: process-invoice
          description: "Process invoices at Cvent."
          inputParameters:
            - name: invoice_id
              in: body
              type: string
              description: "Invoice ID."
            - name: vendor_id
              in: body
              type: string
              description: "Vendor ID."
          steps:
            - name: extract
              type: call
              call: "ocr.extract"
              with:
                doc: "{{invoice_id}}"
            - name: match
              type: call
              call: "sap.match-po"
              with:
                vendor: "{{vendor_id}}"
                amount: "{{extract.total}}"
            - name: approve
              type: call
              call: "workflow.submit"
              with:
                invoice: "{{invoice_id}}"
            - name: record
              type: call
              call: "oracle.create-payment"
              with:
                invoice: "{{invoice_id}}"
  consumes:
    - type: http
      namespace: ocr
      baseUri: "https://ocr.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.ocr_token"
      resources:
        - name: invoices
          path: "/extract"
          operations:
            - name: extract
              method: POST
    - type: http
      namespace: sap
      baseUri: "https://sap.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.sap_token"
      resources:
        - name: pos
          path: "/match"
          operations:
            - name: match-po
              method: POST
    - type: http
      namespace: workflow
      baseUri: "https://workflow.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workflow_token"
      resources:
        - name: approvals
          path: "/submit"
          operations:
            - name: submit
              method: POST
    - type: http
      namespace: oracle
      baseUri: "https://oracle.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_token"
      resources:
        - name: payments
          path: "/payments"
          operations:
            - name: create-payment
              method: POST

Reviews vendors at Cvent.

naftiko: "0.5"
info:
  label: "Quarterly Vendor Review Pipeline"
  description: "Reviews vendors at Cvent."
  tags:
    - procurement
    - vendor-management
    - review
capability:
  exposes:
    - type: mcp
      namespace: vendor-review
      port: 8080
      tools:
        - name: review-vendor
          description: "Review vendors at Cvent."
          inputParameters:
            - name: vendor_id
              in: body
              type: string
              description: "Vendor ID."
            - name: quarter
              in: body
              type: string
              description: "Quarter."
          steps:
            - name: perf
              type: call
              call: "procurement.get-metrics"
              with:
                vendor: "{{vendor_id}}"
                q: "{{quarter}}"
            - name: scorecard
              type: call
              call: "analytics.scorecard"
              with:
                data: "{{perf.data}}"
            - name: invite
              type: call
              call: "email.send"
              with:
                to: "{{perf.contact}}"
                subject: "QBR - {{quarter}}"
            - name: schedule
              type: call
              call: "calendar.create-event"
              with:
                title: "QBR - {{perf.name}}"
  consumes:
    - type: http
      namespace: procurement
      baseUri: "https://procurement.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.procurement_token"
      resources:
        - name: vendors
          path: "/vendors/{{vendor}}/metrics"
          inputParameters:
            - name: vendor
              in: path
          operations:
            - name: get-metrics
              method: GET
    - type: http
      namespace: analytics
      baseUri: "https://analytics.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.analytics_token"
      resources:
        - name: scorecards
          path: "/compute"
          operations:
            - name: scorecard
              method: POST
    - type: http
      namespace: email
      baseUri: "https://email.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.email_token"
      resources:
        - name: messages
          path: "/send"
          operations:
            - name: send
              method: POST
    - type: http
      namespace: calendar
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.microsoft_graph_token"
      resources:
        - name: events
          path: "/users/proc/events"
          operations:
            - name: create-event
              method: POST

Checks venue availability in the Cvent Hospitality Cloud for a given date range and capacity requirement, returning matching venues with pricing.

naftiko: "0.5"
info:
  label: "Venue Availability Check"
  description: "Checks venue availability in the Cvent Hospitality Cloud for a given date range and capacity requirement, returning matching venues with pricing."
  tags:
    - venues
    - hospitality
    - cvent-hospitality-cloud
capability:
  exposes:
    - type: mcp
      namespace: venue-search
      port: 8080
      tools:
        - name: check-venue-availability
          description: "Search for available venues by date range, location, and capacity."
          inputParameters:
            - name: city
              in: body
              type: string
              description: "The city to search for venues."
            - name: start_date
              in: body
              type: string
              description: "Event start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "Event end date in YYYY-MM-DD format."
            - name: min_capacity
              in: body
              type: number
              description: "Minimum attendee capacity required."
          call: "cvent-hospitality.search-venues"
          with:
            city: "{{city}}"
            start_date: "{{start_date}}"
            end_date: "{{end_date}}"
            capacity: "{{min_capacity}}"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: venues
          path: "/venues/search"
          operations:
            - name: search-venues
              method: POST

Retrieves a venue proposal from Cvent Hospitality Cloud, generates a contract in DocuSign, and sends it to the venue contact for electronic signature.

naftiko: "0.5"
info:
  label: "Venue Contract Signer"
  description: "Retrieves a venue proposal from Cvent Hospitality Cloud, generates a contract in DocuSign, and sends it to the venue contact for electronic signature."
  tags:
    - venues
    - contracts
    - cvent-hospitality-cloud
    - docusign
capability:
  exposes:
    - type: mcp
      namespace: venue-contracts
      port: 8080
      tools:
        - name: send-venue-contract
          description: "Generate and send a venue contract for electronic signature."
          inputParameters:
            - name: rfp_id
              in: body
              type: string
              description: "The Cvent RFP identifier."
            - name: proposal_id
              in: body
              type: string
              description: "The selected venue proposal identifier."
          steps:
            - name: get-proposal
              type: call
              call: "cvent-hospitality.get-proposal"
              with:
                rfp_id: "{{rfp_id}}"
                proposal_id: "{{proposal_id}}"
            - name: create-envelope
              type: call
              call: "docusign.create-envelope"
              with:
                template_id: "venue_contract_template"
                signer_email: "{{get-proposal.venue_contact_email}}"
                signer_name: "{{get-proposal.venue_contact_name}}"
                venue_name: "{{get-proposal.venue_name}}"
                total_amount: "{{get-proposal.total_cost}}"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: proposals
          path: "/rfps/{{rfp_id}}/proposals/{{proposal_id}}"
          inputParameters:
            - name: rfp_id
              in: path
            - name: proposal_id
              in: path
          operations:
            - name: get-proposal
              method: GET
    - type: http
      namespace: docusign
      baseUri: "https://na4.docusign.net/restapi/v2.1/accounts/$secrets.docusign_account_id"
      authentication:
        type: bearer
        token: "$secrets.docusign_token"
      resources:
        - name: envelopes
          path: "/envelopes"
          operations:
            - name: create-envelope
              method: POST

Retrieves and compares cost proposals from multiple venues in Cvent Hospitality Cloud for a specific RFP, producing a side-by-side comparison.

naftiko: "0.5"
info:
  label: "Venue Cost Comparison"
  description: "Retrieves and compares cost proposals from multiple venues in Cvent Hospitality Cloud for a specific RFP, producing a side-by-side comparison."
  tags:
    - venues
    - finance
    - cvent-hospitality-cloud
capability:
  exposes:
    - type: mcp
      namespace: venue-comparison
      port: 8080
      tools:
        - name: compare-venue-costs
          description: "Compare cost proposals from multiple venues for an RFP."
          inputParameters:
            - name: rfp_id
              in: body
              type: string
              description: "The Cvent RFP identifier."
          call: "cvent-hospitality.get-proposals"
          with:
            rfp_id: "{{rfp_id}}"
  consumes:
    - type: http
      namespace: cvent-hospitality
      baseUri: "https://api-platform.cvent.com/hospitality"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: proposals
          path: "/rfps/{{rfp_id}}/proposals"
          inputParameters:
            - name: rfp_id
              in: path
          operations:
            - name: get-proposals
              method: GET

Creates a virtual event in Cvent, sets up the corresponding Zoom webinar, and distributes join links to registered attendees via HubSpot email.

naftiko: "0.5"
info:
  label: "Webinar Setup Orchestrator"
  description: "Creates a virtual event in Cvent, sets up the corresponding Zoom webinar, and distributes join links to registered attendees via HubSpot email."
  tags:
    - events
    - webinar
    - cvent-event-cloud
    - zoom
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: webinar-setup
      port: 8080
      tools:
        - name: setup-webinar
          description: "Orchestrate webinar creation across Cvent, Zoom, and email marketing."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: topic
              in: body
              type: string
              description: "The webinar topic."
            - name: start_time
              in: body
              type: string
              description: "Webinar start time in ISO 8601 format."
            - name: duration_minutes
              in: body
              type: number
              description: "Webinar duration in minutes."
          steps:
            - name: get-event
              type: call
              call: "cvent.get-event"
              with:
                event_id: "{{event_id}}"
            - name: create-webinar
              type: call
              call: "zoom.create-webinar"
              with:
                topic: "{{topic}}"
                start_time: "{{start_time}}"
                duration: "{{duration_minutes}}"
            - name: get-attendees
              type: call
              call: "cvent.list-attendees"
              with:
                event_id: "{{event_id}}"
            - name: send-join-links
              type: call
              call: "hubspot.send-batch-email"
              with:
                recipients: "{{get-attendees.emails}}"
                subject: "Your webinar link for {{topic}}"
                join_url: "{{create-webinar.join_url}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: events
          path: "/events/{{event_id}}"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: get-event
              method: GET
        - name: attendees
          path: "/events/{{event_id}}/attendees"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: list-attendees
              method: GET
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: webinars
          path: "/users/me/webinars"
          operations:
            - name: create-webinar
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: batch-email
          path: "/email/public/v1/singleEmail/send"
          operations:
            - name: send-batch-email
              method: POST

Registers an employee for an internal event by looking up their details in Workday and creating a registration in Cvent with department and cost center tagging.

naftiko: "0.5"
info:
  label: "Workday Employee Event Registration"
  description: "Registers an employee for an internal event by looking up their details in Workday and creating a registration in Cvent with department and cost center tagging."
  tags:
    - events
    - hr
    - workday
    - cvent-event-cloud
capability:
  exposes:
    - type: mcp
      namespace: employee-event-reg
      port: 8080
      tools:
        - name: register-employee
          description: "Register an employee for an internal corporate event."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The Workday employee identifier."
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{employee_id}}"
            - name: create-registration
              type: call
              call: "cvent.create-registration"
              with:
                event_id: "{{event_id}}"
                first_name: "{{get-employee.first_name}}"
                last_name: "{{get-employee.last_name}}"
                email: "{{get-employee.work_email}}"
                department: "{{get-employee.department}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: registrations
          path: "/events/{{event_id}}/registrations"
          inputParameters:
            - name: event_id
              in: path
          operations:
            - name: create-registration
              method: POST

Retrieves employee profile from Workday for Cvent.

naftiko: "0.5"
info:
  label: "Workday Employee Profile Lookup"
  description: "Retrieves employee profile from Workday for Cvent."
  tags:
    - hr
    - workday
    - employee-directory
capability:
  exposes:
    - type: mcp
      namespace: workday-profile
      port: 8080
      tools:
        - name: get-employee-profile
          description: "Look up Cvent employee in Workday."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "Employee ID."
          call: "workday.get-worker"
          with:
            employee_id: "{{employee_id}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.worker.name"
            - name: title
              type: string
              mapping: "$.worker.title"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd5.cvent.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{employee_id}}"
          inputParameters:
            - name: employee_id
              in: path
          operations:
            - name: get-worker
              method: GET

Configures a Zapier webhook trigger that fires when a new Cvent registration is created, enabling downstream automation in other tools.

naftiko: "0.5"
info:
  label: "Zapier Event Trigger Setup"
  description: "Configures a Zapier webhook trigger that fires when a new Cvent registration is created, enabling downstream automation in other tools."
  tags:
    - events
    - automation
    - cvent-event-cloud
    - zapier
capability:
  exposes:
    - type: mcp
      namespace: event-automation
      port: 8080
      tools:
        - name: setup-registration-webhook
          description: "Configure a Zapier webhook to trigger on new event registrations."
          inputParameters:
            - name: event_id
              in: body
              type: string
              description: "The Cvent event identifier."
            - name: webhook_url
              in: body
              type: string
              description: "The Zapier webhook URL."
          call: "cvent.create-webhook"
          with:
            event_id: "{{event_id}}"
            event_type: "registration.created"
            callback_url: "{{webhook_url}}"
  consumes:
    - type: http
      namespace: cvent
      baseUri: "https://api-platform.cvent.com/ea"
      authentication:
        type: bearer
        token: "$secrets.cvent_token"
      resources:
        - name: webhooks
          path: "/webhooks"
          operations:
            - name: create-webhook
              method: POST

Checks Zendesk ticket at Cvent.

naftiko: "0.5"
info:
  label: "Zendesk Ticket Check"
  description: "Checks Zendesk ticket at Cvent."
  tags:
    - support
    - zendesk
    - ticketing
capability:
  exposes:
    - type: mcp
      namespace: zd-ticket
      port: 8080
      tools:
        - name: check-ticket
          description: "Check ticket at Cvent."
          inputParameters:
            - name: ticket_id
              in: body
              type: string
              description: "Ticket ID."
          call: "zendesk.get-ticket"
          with:
            id: "{{ticket_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.ticket.status"
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://cvent.com.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets/{{id}}.json"
          inputParameters:
            - name: id
              in: path
          operations:
            - name: get-ticket
              method: GET