naftiko: 1.0.0-alpha2 info: label: Salesforce — Channel description: 'Salesforce — Channel. 9 operations. Lead operation: Salesforce Create Channel. Self-contained Naftiko capability covering one Salesforce business surface.' tags: - Salesforce - Channel created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_API_KEY: SALESFORCE_API_KEY capability: consumes: - type: http namespace: salesforce-channel baseUri: https://login.salesforce.com description: Salesforce — Channel business capability. Self-contained, no shared references. resources: - name: data-v64.0-tooling-sobjects-PlatformEventChannel path: /data/v64.0/tooling/sobjects/PlatformEventChannel operations: - name: createchannel method: POST description: Salesforce Create Channel outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-tooling-sobjects-PlatformEventChannel-describe path: /data/v64.0/tooling/sobjects/PlatformEventChannel/describe operations: - name: describeeventchannel method: GET description: Salesforce Describe Event Channel outputRawFormat: json outputParameters: - name: result type: object value: $. - name: data-v64.0-tooling-sobjects-PlatformEventChannel-PLATFORM_EVENT_CHANNEL_ID path: /data/v64.0/tooling/sobjects/PlatformEventChannel/{PLATFORM_EVENT_CHANNEL_ID} operations: - name: updatechannel method: PATCH description: Salesforce Update Channel outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PLATFORM_EVENT_CHANNEL_ID in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: geteventchannel method: GET description: Salesforce Get Event Channel outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PLATFORM_EVENT_CHANNEL_ID in: path type: string required: true - name: deleteeventchannel method: DELETE description: Salesforce Delete Event Channel outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PLATFORM_EVENT_CHANNEL_ID in: path type: string required: true - name: data-v64.0-tooling-sobjects-PlatformEventChannelMember path: /data/v64.0/tooling/sobjects/PlatformEventChannelMember operations: - name: createchannelmember method: POST description: Salesforce Create Channel Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-tooling-sobjects-PlatformEventChannelMember-PLATFORM_EVENT_CHANNEL_ME path: /data/v64.0/tooling/sobjects/PlatformEventChannelMember/{PLATFORM_EVENT_CHANNEL_MEMBER_ID} operations: - name: addenrichedfieldstochannelmember method: PATCH description: Salesforce Add Enriched Fields to Channel Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PLATFORM_EVENT_CHANNEL_MEMBER_ID in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: getchannelmember method: GET description: Salesforce Get Channel Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PLATFORM_EVENT_CHANNEL_MEMBER_ID in: path type: string required: true - name: deletechannelmember method: DELETE description: Salesforce Delete Channel Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: PLATFORM_EVENT_CHANNEL_MEMBER_ID in: path type: string required: true authentication: type: bearer token: '{{env.SALESFORCE_API_KEY}}' exposes: - type: rest namespace: salesforce-channel-rest port: 8080 description: REST adapter for Salesforce — Channel. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/v64-0/tooling/sobjects/platformeventchannel name: data-v64-0-tooling-sobjects-platformeventchannel description: REST surface for data-v64.0-tooling-sobjects-PlatformEventChannel. operations: - method: POST name: createchannel description: Salesforce Create Channel call: salesforce-channel.createchannel with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/sobjects/platformeventchannel/describe name: data-v64-0-tooling-sobjects-platformeventchannel-describe description: REST surface for data-v64.0-tooling-sobjects-PlatformEventChannel-describe. operations: - method: GET name: describeeventchannel description: Salesforce Describe Event Channel call: salesforce-channel.describeeventchannel outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/sobjects/platformeventchannel/{platform-event-channel-id} name: data-v64-0-tooling-sobjects-platformeventchannel-platform-event-channel-id description: REST surface for data-v64.0-tooling-sobjects-PlatformEventChannel-PLATFORM_EVENT_CHANNEL_ID. operations: - method: PATCH name: updatechannel description: Salesforce Update Channel call: salesforce-channel.updatechannel with: PLATFORM_EVENT_CHANNEL_ID: rest.PLATFORM_EVENT_CHANNEL_ID body: rest.body outputParameters: - type: object mapping: $. - method: GET name: geteventchannel description: Salesforce Get Event Channel call: salesforce-channel.geteventchannel with: PLATFORM_EVENT_CHANNEL_ID: rest.PLATFORM_EVENT_CHANNEL_ID outputParameters: - type: object mapping: $. - method: DELETE name: deleteeventchannel description: Salesforce Delete Event Channel call: salesforce-channel.deleteeventchannel with: PLATFORM_EVENT_CHANNEL_ID: rest.PLATFORM_EVENT_CHANNEL_ID outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/sobjects/platformeventchannelmember name: data-v64-0-tooling-sobjects-platformeventchannelmember description: REST surface for data-v64.0-tooling-sobjects-PlatformEventChannelMember. operations: - method: POST name: createchannelmember description: Salesforce Create Channel Member call: salesforce-channel.createchannelmember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/sobjects/platformeventchannelmember/{platform-event-channel-member-id} name: data-v64-0-tooling-sobjects-platformeventchannelmember-platform-event-channel-me description: REST surface for data-v64.0-tooling-sobjects-PlatformEventChannelMember-PLATFORM_EVENT_CHANNEL_ME. operations: - method: PATCH name: addenrichedfieldstochannelmember description: Salesforce Add Enriched Fields to Channel Member call: salesforce-channel.addenrichedfieldstochannelmember with: PLATFORM_EVENT_CHANNEL_MEMBER_ID: rest.PLATFORM_EVENT_CHANNEL_MEMBER_ID body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getchannelmember description: Salesforce Get Channel Member call: salesforce-channel.getchannelmember with: PLATFORM_EVENT_CHANNEL_MEMBER_ID: rest.PLATFORM_EVENT_CHANNEL_MEMBER_ID outputParameters: - type: object mapping: $. - method: DELETE name: deletechannelmember description: Salesforce Delete Channel Member call: salesforce-channel.deletechannelmember with: PLATFORM_EVENT_CHANNEL_MEMBER_ID: rest.PLATFORM_EVENT_CHANNEL_MEMBER_ID outputParameters: - type: object mapping: $. - type: mcp namespace: salesforce-channel-mcp port: 9090 transport: http description: MCP adapter for Salesforce — Channel. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-create-channel description: Salesforce Create Channel hints: readOnly: false destructive: false idempotent: false call: salesforce-channel.createchannel with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-describe-event-channel description: Salesforce Describe Event Channel hints: readOnly: true destructive: false idempotent: true call: salesforce-channel.describeeventchannel outputParameters: - type: object mapping: $. - name: salesforce-update-channel description: Salesforce Update Channel hints: readOnly: false destructive: false idempotent: true call: salesforce-channel.updatechannel with: PLATFORM_EVENT_CHANNEL_ID: tools.PLATFORM_EVENT_CHANNEL_ID body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-get-event-channel description: Salesforce Get Event Channel hints: readOnly: true destructive: false idempotent: true call: salesforce-channel.geteventchannel with: PLATFORM_EVENT_CHANNEL_ID: tools.PLATFORM_EVENT_CHANNEL_ID outputParameters: - type: object mapping: $. - name: salesforce-delete-event-channel description: Salesforce Delete Event Channel hints: readOnly: false destructive: true idempotent: true call: salesforce-channel.deleteeventchannel with: PLATFORM_EVENT_CHANNEL_ID: tools.PLATFORM_EVENT_CHANNEL_ID outputParameters: - type: object mapping: $. - name: salesforce-create-channel-member description: Salesforce Create Channel Member hints: readOnly: false destructive: false idempotent: false call: salesforce-channel.createchannelmember with: body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-add-enriched-fields-channel description: Salesforce Add Enriched Fields to Channel Member hints: readOnly: false destructive: false idempotent: true call: salesforce-channel.addenrichedfieldstochannelmember with: PLATFORM_EVENT_CHANNEL_MEMBER_ID: tools.PLATFORM_EVENT_CHANNEL_MEMBER_ID body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-get-channel-member description: Salesforce Get Channel Member hints: readOnly: true destructive: false idempotent: true call: salesforce-channel.getchannelmember with: PLATFORM_EVENT_CHANNEL_MEMBER_ID: tools.PLATFORM_EVENT_CHANNEL_MEMBER_ID outputParameters: - type: object mapping: $. - name: salesforce-delete-channel-member description: Salesforce Delete Channel Member hints: readOnly: false destructive: true idempotent: true call: salesforce-channel.deletechannelmember with: PLATFORM_EVENT_CHANNEL_MEMBER_ID: tools.PLATFORM_EVENT_CHANNEL_MEMBER_ID outputParameters: - type: object mapping: $.