naftiko: 1.0.0-alpha2 info: label: Salesforce — Profile description: 'Salesforce — Profile. 2 operations. Lead operation: Salesforce User Profile Feed Elements. Self-contained Naftiko capability covering one Salesforce business surface.' tags: - Salesforce - Profile created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_API_KEY: SALESFORCE_API_KEY capability: consumes: - type: http namespace: salesforce-profile baseUri: https://login.salesforce.com description: Salesforce — Profile business capability. Self-contained, no shared references. resources: - name: data-v64.0-chatter-feeds-user-profile-USER_ID-feed-elements path: /data/v64.0/chatter/feeds/user-profile/{USER_ID}/feed-elements operations: - name: userprofilefeedelements method: GET description: Salesforce User Profile Feed Elements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: USER_ID in: path type: string required: true - name: data-v64.0-loyalty-programs-loyaltyProgramName-members path: /data/v64.0/loyalty-programs/{loyaltyProgramName}/members operations: - name: memberprofile method: GET description: Salesforce Member Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: memberId in: query type: string description: The ID of the loyalty program member. required: true - name: membershipNumber in: query type: string description: The membership number of the loyalty program member. required: true - name: programCurrencyName in: query type: string description: The name of the loyalty program currency associated with the member. required: true - name: loyaltyProgramName in: path type: string required: true authentication: type: bearer token: '{{env.SALESFORCE_API_KEY}}' exposes: - type: rest namespace: salesforce-profile-rest port: 8080 description: REST adapter for Salesforce — Profile. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/v64-0/chatter/feeds/user-profile/{user-id}/feed-elements name: data-v64-0-chatter-feeds-user-profile-user-id-feed-elements description: REST surface for data-v64.0-chatter-feeds-user-profile-USER_ID-feed-elements. operations: - method: GET name: userprofilefeedelements description: Salesforce User Profile Feed Elements call: salesforce-profile.userprofilefeedelements with: USER_ID: rest.USER_ID outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/loyalty-programs/{loyaltyprogramname}/members name: data-v64-0-loyalty-programs-loyaltyprogramname-members description: REST surface for data-v64.0-loyalty-programs-loyaltyProgramName-members. operations: - method: GET name: memberprofile description: Salesforce Member Profile call: salesforce-profile.memberprofile with: memberId: rest.memberId membershipNumber: rest.membershipNumber programCurrencyName: rest.programCurrencyName loyaltyProgramName: rest.loyaltyProgramName outputParameters: - type: object mapping: $. - type: mcp namespace: salesforce-profile-mcp port: 9090 transport: http description: MCP adapter for Salesforce — Profile. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-user-profile-feed-elements description: Salesforce User Profile Feed Elements hints: readOnly: true destructive: false idempotent: true call: salesforce-profile.userprofilefeedelements with: USER_ID: tools.USER_ID outputParameters: - type: object mapping: $. - name: salesforce-member-profile description: Salesforce Member Profile hints: readOnly: true destructive: false idempotent: true call: salesforce-profile.memberprofile with: memberId: tools.memberId membershipNumber: tools.membershipNumber programCurrencyName: tools.programCurrencyName loyaltyProgramName: tools.loyaltyProgramName outputParameters: - type: object mapping: $.