Salesforce · Capability

Salesforce — Member

Salesforce — Member. 9 operations. Lead operation: Salesforce Member Benefits. Self-contained Naftiko capability covering one Salesforce business surface.

Run with Naftiko SalesforceMember

What You Can Do

GET
Memberbenefits — Salesforce Member Benefits
/v1/data/v64-0/connect/loyalty/member/{memberid}/memberbenefits
POST
Corporatememberenrollments — Salesforce Corporate Member Enrollments
/v1/data/v64-0/loyalty-programs/{loyaltyprogramname}/corporate-member-enrollments
POST
Individualmemberenrollments — Salesforce Individual Member Enrollments
/v1/data/v64-0/loyalty-programs/{loyaltyprogramname}/individual-member-enrollments
GET
Memberprofile — Salesforce Member Profile
/v1/data/v64-0/loyalty-programs/{loyaltyprogramname}/members
GET
Membervouchers — Salesforce Member Vouchers
/v1/data/v64-0/loyalty/programs/{loyaltyprogramname}/members/{membershipnumber}/vouchers
POST
Createchannelmember — Salesforce Create Channel Member
/v1/data/v64-0/tooling/sobjects/platformeventchannelmember
PATCH
Addenrichedfieldstochannelmember — Salesforce Add Enriched Fields to Channel Member
/v1/data/v64-0/tooling/sobjects/platformeventchannelmember/{platform-event-channel-member-id}
GET
Getchannelmember — Salesforce Get Channel Member
/v1/data/v64-0/tooling/sobjects/platformeventchannelmember/{platform-event-channel-member-id}
DELETE
Deletechannelmember — Salesforce Delete Channel Member
/v1/data/v64-0/tooling/sobjects/platformeventchannelmember/{platform-event-channel-member-id}

MCP Tools

salesforce-member-benefits

Salesforce Member Benefits

read-only idempotent
salesforce-corporate-member-enrollments

Salesforce Corporate Member Enrollments

salesforce-individual-member-enrollments

Salesforce Individual Member Enrollments

salesforce-member-profile

Salesforce Member Profile

read-only idempotent
salesforce-member-vouchers

Salesforce Member Vouchers

read-only idempotent
salesforce-create-channel-member

Salesforce Create Channel Member

salesforce-add-enriched-fields-channel

Salesforce Add Enriched Fields to Channel Member

idempotent
salesforce-get-channel-member

Salesforce Get Channel Member

read-only idempotent
salesforce-delete-channel-member

Salesforce Delete Channel Member

idempotent

Capability Spec

salesforce-member.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Salesforce — Member
  description: 'Salesforce — Member. 9 operations. Lead operation: Salesforce Member Benefits. Self-contained Naftiko capability
    covering one Salesforce business surface.'
  tags:
  - Salesforce
  - Member
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SALESFORCE_API_KEY: SALESFORCE_API_KEY
capability:
  consumes:
  - type: http
    namespace: salesforce-member
    baseUri: https://login.salesforce.com
    description: Salesforce — Member business capability. Self-contained, no shared references.
    resources:
    - name: data-v64.0-connect-loyalty-member-memberId-memberbenefits
      path: /data/v64.0/connect/loyalty/member/{memberId}/memberbenefits
      operations:
      - name: memberbenefits
        method: GET
        description: Salesforce Member Benefits
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: memberId
          in: path
          type: string
          required: true
    - name: data-v64.0-loyalty-programs-loyaltyProgramName-corporate-member-enrollments
      path: /data/v64.0/loyalty-programs/{loyaltyProgramName}/corporate-member-enrollments
      operations:
      - name: corporatememberenrollments
        method: POST
        description: Salesforce Corporate Member Enrollments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: loyaltyProgramName
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: data-v64.0-loyalty-programs-loyaltyProgramName-individual-member-enrollments
      path: /data/v64.0/loyalty-programs/{loyaltyProgramName}/individual-member-enrollments
      operations:
      - name: individualmemberenrollments
        method: POST
        description: Salesforce Individual Member Enrollments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: loyaltyProgramName
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          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
    - name: data-v64.0-loyalty-programs-loyaltyProgramName-members-membershipNumber-vouchers
      path: /data/v64.0/loyalty/programs/{loyaltyProgramName}/members/{membershipNumber}/vouchers
      operations:
      - name: membervouchers
        method: GET
        description: Salesforce Member Vouchers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: loyaltyProgramName
          in: path
          type: string
          required: true
        - name: membershipNumber
          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-member-rest
    port: 8080
    description: REST adapter for Salesforce — Member. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/data/v64-0/connect/loyalty/member/{memberid}/memberbenefits
      name: data-v64-0-connect-loyalty-member-memberid-memberbenefits
      description: REST surface for data-v64.0-connect-loyalty-member-memberId-memberbenefits.
      operations:
      - method: GET
        name: memberbenefits
        description: Salesforce Member Benefits
        call: salesforce-member.memberbenefits
        with:
          memberId: rest.memberId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/loyalty-programs/{loyaltyprogramname}/corporate-member-enrollments
      name: data-v64-0-loyalty-programs-loyaltyprogramname-corporate-member-enrollments
      description: REST surface for data-v64.0-loyalty-programs-loyaltyProgramName-corporate-member-enrollments.
      operations:
      - method: POST
        name: corporatememberenrollments
        description: Salesforce Corporate Member Enrollments
        call: salesforce-member.corporatememberenrollments
        with:
          loyaltyProgramName: rest.loyaltyProgramName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/loyalty-programs/{loyaltyprogramname}/individual-member-enrollments
      name: data-v64-0-loyalty-programs-loyaltyprogramname-individual-member-enrollments
      description: REST surface for data-v64.0-loyalty-programs-loyaltyProgramName-individual-member-enrollments.
      operations:
      - method: POST
        name: individualmemberenrollments
        description: Salesforce Individual Member Enrollments
        call: salesforce-member.individualmemberenrollments
        with:
          loyaltyProgramName: rest.loyaltyProgramName
          body: rest.body
        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-member.memberprofile
        with:
          memberId: rest.memberId
          membershipNumber: rest.membershipNumber
          programCurrencyName: rest.programCurrencyName
          loyaltyProgramName: rest.loyaltyProgramName
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v64-0/loyalty/programs/{loyaltyprogramname}/members/{membershipnumber}/vouchers
      name: data-v64-0-loyalty-programs-loyaltyprogramname-members-membershipnumber-vouchers
      description: REST surface for data-v64.0-loyalty-programs-loyaltyProgramName-members-membershipNumber-vouchers.
      operations:
      - method: GET
        name: membervouchers
        description: Salesforce Member Vouchers
        call: salesforce-member.membervouchers
        with:
          loyaltyProgramName: rest.loyaltyProgramName
          membershipNumber: rest.membershipNumber
        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-member.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-member.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-member.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-member.deletechannelmember
        with:
          PLATFORM_EVENT_CHANNEL_MEMBER_ID: rest.PLATFORM_EVENT_CHANNEL_MEMBER_ID
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: salesforce-member-mcp
    port: 9090
    transport: http
    description: MCP adapter for Salesforce — Member. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: salesforce-member-benefits
      description: Salesforce Member Benefits
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-member.memberbenefits
      with:
        memberId: tools.memberId
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-corporate-member-enrollments
      description: Salesforce Corporate Member Enrollments
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: salesforce-member.corporatememberenrollments
      with:
        loyaltyProgramName: tools.loyaltyProgramName
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-individual-member-enrollments
      description: Salesforce Individual Member Enrollments
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: salesforce-member.individualmemberenrollments
      with:
        loyaltyProgramName: tools.loyaltyProgramName
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-member-profile
      description: Salesforce Member Profile
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-member.memberprofile
      with:
        memberId: tools.memberId
        membershipNumber: tools.membershipNumber
        programCurrencyName: tools.programCurrencyName
        loyaltyProgramName: tools.loyaltyProgramName
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-member-vouchers
      description: Salesforce Member Vouchers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: salesforce-member.membervouchers
      with:
        loyaltyProgramName: tools.loyaltyProgramName
        membershipNumber: tools.membershipNumber
      outputParameters:
      - type: object
        mapping: $.
    - name: salesforce-create-channel-member
      description: Salesforce Create Channel Member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: salesforce-member.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-member.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-member.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-member.deletechannelmember
      with:
        PLATFORM_EVENT_CHANNEL_MEMBER_ID: tools.PLATFORM_EVENT_CHANNEL_MEMBER_ID
      outputParameters:
      - type: object
        mapping: $.