naftiko: 1.0.0-alpha2 info: label: Salesloft — Conversations description: 'Salesloft — Conversations. 4 operations. Lead operation: Salesloft Fetch Conversations. Self-contained Naftiko capability covering one Salesloft business surface.' tags: - Salesloft - Conversations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESLOFT_API_KEY: SALESLOFT_API_KEY capability: consumes: - type: http namespace: salesloft-conversations baseUri: http://{{salesloft_api_base_url}} description: Salesloft — Conversations business capability. Self-contained, no shared references. resources: - name: conversations path: /conversations operations: - name: get method: GET description: Salesloft Fetch Conversations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: title in: query type: string - name: title[_starts_with] in: query type: string - name: created_at[gt] in: query type: string - name: created_at[gte] in: query type: string - name: created_at[lt] in: query type: string - name: created_at[lte] in: query type: string - name: updated_at[gt] in: query type: string - name: updated_at[gte] in: query type: string - name: updated_at[lt] in: query type: string - name: updated_at[lte] in: query type: string - name: duration[lt] in: query type: string - name: duration[lte] in: query type: string - name: duration[gt] in: query type: string - name: duration[gte] in: query type: string - name: language_code in: query type: string - name: platform in: query type: string - name: owner_ids in: query type: string - name: user_guids in: query type: string - name: ids in: query type: string - name: account_ids in: query type: string - name: person_ids in: query type: string - name: is_api in: query type: string - name: media_type in: query type: string - name: sort_by in: query type: string - name: sort_direction in: query type: string - name: per_page in: query type: string - name: page in: query type: string - name: include_paging_counts in: query type: string - name: conversations-71d91aec-80bc-463b-b072-475aea744805-extensive path: /conversations/71d91aec-80bc-463b-b072-475aea744805/extensive operations: - name: get method: GET description: Salesloft Fetch an Extensive Conversation outputRawFormat: json outputParameters: - name: result type: object value: $. - name: conversations-id path: /conversations/{id} operations: - name: get method: GET description: Salesloft Fetch a Conversation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: conversations-id-recording path: /conversations/{id}/recording operations: - name: get method: GET description: Salesloft Fetch Conversation Media outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true authentication: type: bearer token: '{{env.SALESLOFT_API_KEY}}' exposes: - type: rest namespace: salesloft-conversations-rest port: 8080 description: REST adapter for Salesloft — Conversations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/conversations name: conversations description: REST surface for conversations. operations: - method: GET name: get description: Salesloft Fetch Conversations call: salesloft-conversations.get with: title: rest.title title[_starts_with]: rest.title[_starts_with] created_at[gt]: rest.created_at[gt] created_at[gte]: rest.created_at[gte] created_at[lt]: rest.created_at[lt] created_at[lte]: rest.created_at[lte] updated_at[gt]: rest.updated_at[gt] updated_at[gte]: rest.updated_at[gte] updated_at[lt]: rest.updated_at[lt] updated_at[lte]: rest.updated_at[lte] duration[lt]: rest.duration[lt] duration[lte]: rest.duration[lte] duration[gt]: rest.duration[gt] duration[gte]: rest.duration[gte] language_code: rest.language_code platform: rest.platform owner_ids: rest.owner_ids user_guids: rest.user_guids ids: rest.ids account_ids: rest.account_ids person_ids: rest.person_ids is_api: rest.is_api media_type: rest.media_type sort_by: rest.sort_by sort_direction: rest.sort_direction per_page: rest.per_page page: rest.page include_paging_counts: rest.include_paging_counts outputParameters: - type: object mapping: $. - path: /v1/conversations/71d91aec-80bc-463b-b072-475aea744805/extensive name: conversations-71d91aec-80bc-463b-b072-475aea744805-extensive description: REST surface for conversations-71d91aec-80bc-463b-b072-475aea744805-extensive. operations: - method: GET name: get description: Salesloft Fetch an Extensive Conversation call: salesloft-conversations.get outputParameters: - type: object mapping: $. - path: /v1/conversations/{id} name: conversations-id description: REST surface for conversations-id. operations: - method: GET name: get description: Salesloft Fetch a Conversation call: salesloft-conversations.get with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/conversations/{id}/recording name: conversations-id-recording description: REST surface for conversations-id-recording. operations: - method: GET name: get description: Salesloft Fetch Conversation Media call: salesloft-conversations.get with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: salesloft-conversations-mcp port: 9090 transport: http description: MCP adapter for Salesloft — Conversations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesloft-fetch-conversations description: Salesloft Fetch Conversations hints: readOnly: true destructive: false idempotent: true call: salesloft-conversations.get with: title: tools.title title[_starts_with]: tools.title[_starts_with] created_at[gt]: tools.created_at[gt] created_at[gte]: tools.created_at[gte] created_at[lt]: tools.created_at[lt] created_at[lte]: tools.created_at[lte] updated_at[gt]: tools.updated_at[gt] updated_at[gte]: tools.updated_at[gte] updated_at[lt]: tools.updated_at[lt] updated_at[lte]: tools.updated_at[lte] duration[lt]: tools.duration[lt] duration[lte]: tools.duration[lte] duration[gt]: tools.duration[gt] duration[gte]: tools.duration[gte] language_code: tools.language_code platform: tools.platform owner_ids: tools.owner_ids user_guids: tools.user_guids ids: tools.ids account_ids: tools.account_ids person_ids: tools.person_ids is_api: tools.is_api media_type: tools.media_type sort_by: tools.sort_by sort_direction: tools.sort_direction per_page: tools.per_page page: tools.page include_paging_counts: tools.include_paging_counts outputParameters: - type: object mapping: $. - name: salesloft-fetch-extensive-conversation description: Salesloft Fetch an Extensive Conversation hints: readOnly: true destructive: false idempotent: true call: salesloft-conversations.get outputParameters: - type: object mapping: $. - name: salesloft-fetch-conversation description: Salesloft Fetch a Conversation hints: readOnly: true destructive: false idempotent: true call: salesloft-conversations.get with: id: tools.id outputParameters: - type: object mapping: $. - name: salesloft-fetch-conversation-media description: Salesloft Fetch Conversation Media hints: readOnly: true destructive: false idempotent: true call: salesloft-conversations.get with: id: tools.id outputParameters: - type: object mapping: $.