naftiko: 1.0.0-alpha2 info: label: Salesforce — Records description: 'Salesforce — Records. 7 operations. Lead operation: Salesforce Search for Records Suggested by Autocomplete and Instant Results. Self-contained Naftiko capability covering one Salesforce business surface.' tags: - Salesforce - Records created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_API_KEY: SALESFORCE_API_KEY capability: consumes: - type: http namespace: salesforce-records baseUri: https://login.salesforce.com description: Salesforce — Records business capability. Self-contained, no shared references. resources: - name: data-v64.0-search-suggestions path: /data/v64.0/search/suggestions operations: - name: searchforrecordssuggestedbyautocompleteandinstantresults method: GET description: Salesforce Search for Records Suggested by Autocomplete and Instant Results outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string required: true - name: sobject in: query type: string required: true - name: Content-Type in: header type: string required: true - name: data-v64.0-tooling-sobjects-SOBJECT_API_NAME-RECORD_ID path: /data/v64.0/tooling/sobjects/{SOBJECT_API_NAME}/{RECORD_ID} operations: - name: accessrecords method: GET description: Salesforce Access Records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: SOBJECT_API_NAME in: path type: string required: true - name: RECORD_ID in: path type: string required: true - name: data-v64.0-ui-api-list-records-LIST_VIEW_ID path: /data/v64.0/ui-api/list-records/{LIST_VIEW_ID} operations: - name: getlistviewrecordsbyid method: GET description: Salesforce Get List View Records by Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: LIST_VIEW_ID in: path type: string description: The ID of a list view. required: true - name: data-v64.0-ui-api-list-records-SOBJECT_API_NAME-LIST_VIEW_API_NAME path: /data/v64.0/ui-api/list-records/{SOBJECT_API_NAME}/{LIST_VIEW_API_NAME} operations: - name: getlistviewrecordsbyapiname method: GET description: Salesforce Get List View Records by Api Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: SOBJECT_API_NAME in: path type: string description: API name of a UI API supported object. required: true - name: LIST_VIEW_API_NAME in: path type: string description: API name of a list view, such as AllAccounts, __Recent, or __SearchResult. required: true - name: getlistviewrecords method: POST description: Salesforce Get List View Records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: SOBJECT_API_NAME in: path type: string description: API name of the UI API supported object. required: true - name: LIST_VIEW_API_NAME in: path type: string description: API name of a list view. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: data-v64.0-ui-api-records-batch-RECORD_IDS path: /data/v64.0/ui-api/records/batch/{RECORD_IDS} operations: - name: getabatchofrecords method: GET description: Salesforce Get a Batch of Records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RECORD_IDS in: path type: string description: Comma-separated list of record IDs required: true - name: data-v64.0-ui-api-records-RECORD_ID-child-relationships-RELATIONSHIP_NAME path: /data/v64.0/ui-api/records/{RECORD_ID}/child-relationships/{RELATIONSHIP_NAME} operations: - name: getchildrecords method: GET description: Salesforce Get Child Records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: RECORD_ID in: path type: string description: Record ID required: true - name: RELATIONSHIP_NAME in: path type: string description: API name of the relationship required: true authentication: type: bearer token: '{{env.SALESFORCE_API_KEY}}' exposes: - type: rest namespace: salesforce-records-rest port: 8080 description: REST adapter for Salesforce — Records. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/v64-0/search/suggestions name: data-v64-0-search-suggestions description: REST surface for data-v64.0-search-suggestions. operations: - method: GET name: searchforrecordssuggestedbyautocompleteandinstantresults description: Salesforce Search for Records Suggested by Autocomplete and Instant Results call: salesforce-records.searchforrecordssuggestedbyautocompleteandinstantresults with: q: rest.q sobject: rest.sobject Content-Type: rest.Content-Type outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/tooling/sobjects/{sobject-api-name}/{record-id} name: data-v64-0-tooling-sobjects-sobject-api-name-record-id description: REST surface for data-v64.0-tooling-sobjects-SOBJECT_API_NAME-RECORD_ID. operations: - method: GET name: accessrecords description: Salesforce Access Records call: salesforce-records.accessrecords with: SOBJECT_API_NAME: rest.SOBJECT_API_NAME RECORD_ID: rest.RECORD_ID outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/list-records/{list-view-id} name: data-v64-0-ui-api-list-records-list-view-id description: REST surface for data-v64.0-ui-api-list-records-LIST_VIEW_ID. operations: - method: GET name: getlistviewrecordsbyid description: Salesforce Get List View Records by Id call: salesforce-records.getlistviewrecordsbyid with: LIST_VIEW_ID: rest.LIST_VIEW_ID outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/list-records/{sobject-api-name}/{list-view-api-name} name: data-v64-0-ui-api-list-records-sobject-api-name-list-view-api-name description: REST surface for data-v64.0-ui-api-list-records-SOBJECT_API_NAME-LIST_VIEW_API_NAME. operations: - method: GET name: getlistviewrecordsbyapiname description: Salesforce Get List View Records by Api Name call: salesforce-records.getlistviewrecordsbyapiname with: SOBJECT_API_NAME: rest.SOBJECT_API_NAME LIST_VIEW_API_NAME: rest.LIST_VIEW_API_NAME outputParameters: - type: object mapping: $. - method: POST name: getlistviewrecords description: Salesforce Get List View Records call: salesforce-records.getlistviewrecords with: SOBJECT_API_NAME: rest.SOBJECT_API_NAME LIST_VIEW_API_NAME: rest.LIST_VIEW_API_NAME body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/records/batch/{record-ids} name: data-v64-0-ui-api-records-batch-record-ids description: REST surface for data-v64.0-ui-api-records-batch-RECORD_IDS. operations: - method: GET name: getabatchofrecords description: Salesforce Get a Batch of Records call: salesforce-records.getabatchofrecords with: RECORD_IDS: rest.RECORD_IDS outputParameters: - type: object mapping: $. - path: /v1/data/v64-0/ui-api/records/{record-id}/child-relationships/{relationship-name} name: data-v64-0-ui-api-records-record-id-child-relationships-relationship-name description: REST surface for data-v64.0-ui-api-records-RECORD_ID-child-relationships-RELATIONSHIP_NAME. operations: - method: GET name: getchildrecords description: Salesforce Get Child Records call: salesforce-records.getchildrecords with: RECORD_ID: rest.RECORD_ID RELATIONSHIP_NAME: rest.RELATIONSHIP_NAME outputParameters: - type: object mapping: $. - type: mcp namespace: salesforce-records-mcp port: 9090 transport: http description: MCP adapter for Salesforce — Records. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-search-records-suggested-autocomplete description: Salesforce Search for Records Suggested by Autocomplete and Instant Results hints: readOnly: true destructive: false idempotent: true call: salesforce-records.searchforrecordssuggestedbyautocompleteandinstantresults with: q: tools.q sobject: tools.sobject Content-Type: tools.Content-Type outputParameters: - type: object mapping: $. - name: salesforce-access-records description: Salesforce Access Records hints: readOnly: true destructive: false idempotent: true call: salesforce-records.accessrecords with: SOBJECT_API_NAME: tools.SOBJECT_API_NAME RECORD_ID: tools.RECORD_ID outputParameters: - type: object mapping: $. - name: salesforce-get-list-view-records description: Salesforce Get List View Records by Id hints: readOnly: true destructive: false idempotent: true call: salesforce-records.getlistviewrecordsbyid with: LIST_VIEW_ID: tools.LIST_VIEW_ID outputParameters: - type: object mapping: $. - name: salesforce-get-list-view-records-2 description: Salesforce Get List View Records by Api Name hints: readOnly: true destructive: false idempotent: true call: salesforce-records.getlistviewrecordsbyapiname with: SOBJECT_API_NAME: tools.SOBJECT_API_NAME LIST_VIEW_API_NAME: tools.LIST_VIEW_API_NAME outputParameters: - type: object mapping: $. - name: salesforce-get-list-view-records-3 description: Salesforce Get List View Records hints: readOnly: true destructive: false idempotent: false call: salesforce-records.getlistviewrecords with: SOBJECT_API_NAME: tools.SOBJECT_API_NAME LIST_VIEW_API_NAME: tools.LIST_VIEW_API_NAME body: tools.body outputParameters: - type: object mapping: $. - name: salesforce-get-batch-records description: Salesforce Get a Batch of Records hints: readOnly: true destructive: false idempotent: true call: salesforce-records.getabatchofrecords with: RECORD_IDS: tools.RECORD_IDS outputParameters: - type: object mapping: $. - name: salesforce-get-child-records description: Salesforce Get Child Records hints: readOnly: true destructive: false idempotent: true call: salesforce-records.getchildrecords with: RECORD_ID: tools.RECORD_ID RELATIONSHIP_NAME: tools.RELATIONSHIP_NAME outputParameters: - type: object mapping: $.