naftiko: 1.0.0-alpha2 info: label: Salesforce Service Cloud Case Management description: Unified workflow capability for customer service case management in Salesforce Service Cloud. Combines REST API case CRUD with Live Agent chat initiation for complete customer service resolution workflows. Designed for service agents and customer service AI assistants. tags: - Salesforce - Service Cloud - Case Management - Customer Service - Help Desk - Support - CRM created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: SALESFORCE_ACCESS_TOKEN: SALESFORCE_ACCESS_TOKEN SALESFORCE_LIVE_AGENT_TOKEN: SALESFORCE_LIVE_AGENT_TOKEN capability: consumes: - type: http namespace: salesforce-service-rest baseUri: https://{instance}.salesforce.com/services/data/v59.0 description: Salesforce Service Cloud REST API authentication: type: bearer token: '{{SALESFORCE_ACCESS_TOKEN}}' resources: - name: cases path: /sobjects/Case description: Case management operations: - name: get-case-info method: GET description: Get Case object metadata and recent cases outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-case method: POST description: Create a new customer service case body: type: json data: Subject: '{{tools.subject}}' Description: '{{tools.description}}' Status: '{{tools.status}}' Priority: '{{tools.priority}}' AccountId: '{{tools.accountId}}' ContactId: '{{tools.contactId}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: case path: /sobjects/Case/{caseId} description: Individual case operations operations: - name: get-case method: GET description: Get a case by ID inputParameters: - name: caseId in: path type: string required: true description: Salesforce ID of the Case outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-case method: PATCH description: Update a case inputParameters: - name: caseId in: path type: string required: true description: Salesforce ID of the Case body: type: json data: Status: '{{tools.status}}' Priority: '{{tools.priority}}' Description: '{{tools.description}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-case method: DELETE description: Delete a case inputParameters: - name: caseId in: path type: string required: true description: Salesforce ID of the Case outputRawFormat: json outputParameters: - name: result type: object value: $. - name: contacts path: /sobjects/Contact description: Contact management operations: - name: create-contact method: POST description: Create a new contact body: type: json data: FirstName: '{{tools.firstName}}' LastName: '{{tools.lastName}}' Email: '{{tools.email}}' AccountId: '{{tools.accountId}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: contact path: /sobjects/Contact/{contactId} description: Individual contact operations operations: - name: get-contact method: GET description: Get a contact by ID inputParameters: - name: contactId in: path type: string required: true description: Salesforce ID of the Contact outputRawFormat: json outputParameters: - name: result type: object value: $. - name: accounts path: /sobjects/Account/{accountId} description: Account operations operations: - name: get-account method: GET description: Get an account by ID inputParameters: - name: accountId in: path type: string required: true description: Salesforce ID of the Account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: service-query path: /query description: SOQL query for service data operations: - name: query-service-data method: GET description: Query service cloud data with SOQL inputParameters: - name: q in: query type: string required: true description: SOQL query string outputRawFormat: json outputParameters: - name: result type: object value: $. - type: http namespace: salesforce-live-agent baseUri: https://{instance}.salesforce.com/chat/rest description: Salesforce Live Agent REST API authentication: type: apikey key: X-LIVEAGENT-API-VERSION value: '{{SALESFORCE_LIVE_AGENT_TOKEN}}' placement: header resources: - name: visitor-session path: /System/SessionId description: Initialize visitor session operations: - name: create-visitor-session method: GET description: Initialize a new visitor session for live chat outputRawFormat: json outputParameters: - name: result type: object value: $. - name: chat-request path: /Chasitor/ChasitorInit description: Initiate chat request operations: - name: initiate-chat method: POST description: Initiate a live chat request with an agent body: type: json data: organizationId: '{{tools.organizationId}}' deploymentId: '{{tools.deploymentId}}' buttonId: '{{tools.buttonId}}' sessionId: '{{tools.sessionId}}' visitorName: '{{tools.visitorName}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: chat-messages path: /Chasitor/ChatMessage description: Chat message management operations: - name: send-chat-message method: POST description: Send a message in the live chat session body: type: json data: text: '{{tools.text}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: chat-end path: /Chasitor/ChatEnd description: End chat session operations: - name: end-chat-session method: POST description: End the live chat session outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: case-management-api description: Unified REST API for Salesforce Service Cloud case management. resources: - path: /v1/cases name: cases description: Case lifecycle management operations: - method: POST name: create-case description: Create a new customer service case call: salesforce-service-rest.create-case outputParameters: - type: object mapping: $. - path: /v1/cases/{caseId} name: case description: Individual case operations operations: - method: GET name: get-case description: Get case details call: salesforce-service-rest.get-case with: caseId: rest.caseId outputParameters: - type: object mapping: $. - method: PATCH name: update-case description: Update case status or details call: salesforce-service-rest.update-case with: caseId: rest.caseId outputParameters: - type: object mapping: $. - method: DELETE name: delete-case description: Delete a case call: salesforce-service-rest.delete-case with: caseId: rest.caseId outputParameters: - type: object mapping: $. - path: /v1/contacts name: contacts description: Contact management for service operations: - method: POST name: create-contact description: Create a contact call: salesforce-service-rest.create-contact outputParameters: - type: object mapping: $. - path: /v1/contacts/{contactId} name: contact description: Individual contact operations: - method: GET name: get-contact description: Get a contact call: salesforce-service-rest.get-contact with: contactId: rest.contactId outputParameters: - type: object mapping: $. - path: /v1/accounts/{accountId} name: account description: Account for service context operations: - method: GET name: get-account description: Get account details call: salesforce-service-rest.get-account with: accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/query name: query description: SOQL query operations: - method: GET name: query description: Query service data call: salesforce-service-rest.query-service-data with: q: rest.q outputParameters: - type: object mapping: $. - path: /v1/chat/initiate name: live-chat description: Live chat initiation operations: - method: POST name: initiate-live-chat description: Initiate a live chat session call: salesforce-live-agent.initiate-chat outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: case-management-mcp transport: http description: MCP server for AI-assisted Salesforce Service Cloud case management. tools: - name: get-case description: Get customer service case details by ID hints: readOnly: true idempotent: true call: salesforce-service-rest.get-case with: caseId: tools.caseId outputParameters: - type: object mapping: $. - name: create-case description: Create a new customer service case with subject, description, priority, and contact hints: readOnly: false destructive: false call: salesforce-service-rest.create-case outputParameters: - type: object mapping: $. - name: update-case-status description: Update case status, priority, or description hints: readOnly: false idempotent: true call: salesforce-service-rest.update-case with: caseId: tools.caseId outputParameters: - type: object mapping: $. - name: close-case description: Close a customer service case by updating status to Closed hints: readOnly: false idempotent: true call: salesforce-service-rest.update-case with: caseId: tools.caseId outputParameters: - type: object mapping: $. - name: delete-case description: Delete a case record hints: readOnly: false destructive: true idempotent: true call: salesforce-service-rest.delete-case with: caseId: tools.caseId outputParameters: - type: object mapping: $. - name: get-contact description: Get contact details for a customer hints: readOnly: true idempotent: true call: salesforce-service-rest.get-contact with: contactId: tools.contactId outputParameters: - type: object mapping: $. - name: create-contact description: Create a new contact record for a customer hints: readOnly: false destructive: false call: salesforce-service-rest.create-contact outputParameters: - type: object mapping: $. - name: get-account description: Get account information for service context hints: readOnly: true idempotent: true call: salesforce-service-rest.get-account with: accountId: tools.accountId outputParameters: - type: object mapping: $. - name: query-cases description: Query cases using SOQL for filtering by status, priority, account, or agent hints: readOnly: true idempotent: true openWorld: true call: salesforce-service-rest.query-service-data with: q: tools.q outputParameters: - type: object mapping: $. - name: initiate-live-chat description: Initiate a live chat session with a service agent hints: readOnly: false destructive: false call: salesforce-live-agent.initiate-chat outputParameters: - type: object mapping: $. - name: send-chat-message description: Send a message in an active live chat session hints: readOnly: false destructive: false call: salesforce-live-agent.send-chat-message outputParameters: - type: object mapping: $. - name: end-chat-session description: End an active live chat session hints: readOnly: false destructive: false call: salesforce-live-agent.end-chat-session outputParameters: - type: object mapping: $.