# Salesforce Service Cloud

Salesforce Service Cloud is a customer service platform providing case management, knowledge base, omnichannel support, and service automation to deliver exceptional customer experiences

- **Category:** crm
- **Auth:** OAUTH2
- **Composio Managed App Available?** No
- **Tools:** 25
- **Triggers:** 0
- **Slug:** `SALESFORCE_SERVICE_CLOUD`
- **Version:** 20260312_00

## Tools

### Agent Sensitive Data Rule Triggered

**Slug:** `SALESFORCE_SERVICE_CLOUD_AGENT_SENSITIVE_DATA_RULE_TRIGGERED`

Notifies Salesforce Live Agent that sensitive data rules were triggered in agent messages. **Purpose**: When an agent's outgoing message contains sensitive data (SSN, credit card, email, etc.), call this action to apply configured masking or handling rules to protect customer privacy. **Prerequisites**: - Active Live Agent chat session with valid chat_id - Sensitive data rules configured in Salesforce Setup - Live Agent feature must be enabled in your Salesforce org **Note**: Salesforce Live Agent Chat is deprecated and retiring February 14, 2026. Migrate to Messaging for In-App and Web for continued support. **Typical Flow**: 1. Agent sends message containing sensitive data 2. System detects sensitive content matches a rule 3. Call this action with the chat_id and triggered rules 4. Salesforce applies masking/filtering per rule configuration

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rules` | array | Yes | One or more sensitive data rules to apply (e.g., to mask SSN, credit cards, or PII in agent messages) |
| `chatId` | string | Yes | Active Live Agent chat session ID obtained when the chat session was established |
| `api_version` | string | No | Live Agent API version (e.g., '61.0' or '65.0'). If not provided, automatically extracted from connection base_url |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Chasitor Sneak Peek

**Slug:** `SALESFORCE_SERVICE_CLOUD_CHASITOR_SNEAK_PEEK`

Send real-time typing indicator (sneak peek) to Live Agent during active chat session. Allows agents to see what visitors are typing before the message is sent. Requires an active Live Agent chat session with valid session_key and affinity token. The sequence number must increment with each request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | The current in-progress message text that the visitor is typing. Send empty string when typing is cleared |
| `affinity` | string | Yes | Affinity token received from chat session initialization, used to route requests to the correct Live Agent server (X-LIVEAGENT-AFFINITY) |
| `position` | integer | Yes | Character position/cursor location in the message being typed. Typically starts at 0 for new message |
| `sequence` | integer | Yes | Incrementing sequence number for this request (X-LIVEAGENT-SEQUENCE). Must increment with each API call in the session, starting from 1 |
| `api_version` | string | Yes | Salesforce API version header (X-LIVEAGENT-API-VERSION) |
| `session_key` | string | Yes | Unique session key for the active chat session (X-LIVEAGENT-SESSION-KEY) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composite Batch

**Slug:** `SALESFORCE_SERVICE_CLOUD_COMPOSITE_BATCH`

Tool to execute multiple independent REST subrequests in one batch call. Use when bundling up to 25 independent operations to minimize round trips. Subrequests cannot reference each other.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `haltOnError` | boolean | No | If true, stops processing on first subrequest error; subsequent subrequests return HTTP 412. Default false. |
| `batchRequests` | array | Yes | Array of up to 25 independent subrequests to execute in one call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composite Request

**Slug:** `SALESFORCE_SERVICE_CLOUD_COMPOSITE_REQUEST`

Execute up to 25 dependent Salesforce REST subrequests in a single API call. Subrequests execute sequentially and can reference results from earlier requests using '@{referenceId.field}' syntax. Use this when operations depend on each other (e.g., create Account then create related Contact). For independent operations, use Composite Batch instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `allOrNone` | boolean | No | If true, treat all subrequests as a single transaction; on first error roll back all prior successes |
| `compositeRequest` | array | Yes | Ordered list of up to 25 subrequests to execute in sequence. Later requests can reference earlier results using '@{referenceId.field}' syntax. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composite SObject Tree

**Slug:** `SALESFORCE_SERVICE_CLOUD_COMPOSITE_SOBJECT_TREE`

Create one or more nested sObject record trees in a single API call. Supports parent-child relationships up to 5 levels deep, with a maximum of 200 total records across all trees. Use this for bulk insertion of related records (e.g., Account with Contacts, or Orders with Line Items). Relationships must be Master-Detail or Lookup. Only supports INSERT operations, not upserts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `records` | array | Yes | List of sObject tree records to create. Each record must have 'attributes' (with 'type' and 'referenceId') and field values. Child records are specified using relationship name as key (e.g., 'Contacts'). Maximum 200 total records across all trees, up to 5 levels deep. |
| `objectApiName` | string | Yes | Root sObject API name (e.g., 'Account', 'Contact', 'Case'). All root records in the request must be of this type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Case Record

**Slug:** `SALESFORCE_SERVICE_CLOUD_CREATE_CASE_RECORD`

Tool to create or upsert a Salesforce Case record. Use when you need to add a new Case or update via external ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `accept` | string ("application/json" | "application/xml") | No | Desired response format; defaults to application/json |
| `case_fields` | object | Yes | Map of Case field API names to values (e.g., Subject, Status, Origin) |
| `x_pretty_print` | string | No | Set to '1' to pretty-print the response |
| `external_id_field` | string | No | API name of external ID field for upsert; provide with external_id_value |
| `external_id_value` | string | No | Value of external ID for upsert; provide with external_id_field |
| `sforce_auto_assign` | boolean | No | Set to True to apply active assignment rules on Case creation or upsert |
| `sforce_call_options` | string | No | Client and defaultNamespace options in format 'client=<name>[, defaultNamespace=<ns>]' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Case Record

**Slug:** `SALESFORCE_SERVICE_CLOUD_DELETE_CASE_RECORD`

Tool to delete a Salesforce Case record. Use when you need to remove a case by its record ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `case_id` | string | Yes | Salesforce Case record ID to delete (15-18 character string) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Describe SObject

**Slug:** `SALESFORCE_SERVICE_CLOUD_DESCRIBE_S_OBJECT`

Tool to retrieve metadata of any sObject. Use when you need to inspect field definitions, relationships, and supported features for objects like Account, Contact, Case, etc.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sObjectName` | string | Yes | API name of the sObject to describe, e.g., 'Account', 'Contact', 'Case'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### End Chat Session

**Slug:** `SALESFORCE_SERVICE_CLOUD_END_CHAT_SESSION`

Ends a Salesforce Live Agent chat session using the DELETE SessionId endpoint. Prerequisites: - Active Live Agent chat session (obtained via SessionId GET + ChasitorInit POST) - Valid session_key from the session creation - Valid affinity token for routing to the correct server Behavior: - Returns success for 2xx responses (session ended) - Returns success for 404 (session not found/already ended - idempotent) - Returns failure for 401/403 (authentication/authorization errors) - Returns failure for 405 (method not allowed - endpoint may not be configured) Note: Live Agent (legacy chat) is deprecated and scheduled for retirement on Feb 14, 2026. Salesforce recommends migrating to Messaging for In-App and Web.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `affinity` | string | Yes | Affinity token for session routing to the correct Live Agent server (X-LIVEAGENT-AFFINITY from SessionId GET response) |
| `api_version` | string | Yes | Salesforce Live Agent API version (e.g., '61.0'). Should match the version used to create the session. |
| `session_key` | string | Yes | The Live Agent session key obtained when creating the chat session (X-LIVEAGENT-SESSION-KEY from SessionId GET response) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Request ID

**Slug:** `SALESFORCE_SERVICE_CLOUD_GENERATE_REQUEST_ID`

Generate a UUIDv4 string to use as an Idempotency-Key header in Salesforce User Interface API requests. This prevents duplicate record creation when POST, PATCH, or DELETE requests are retried due to network failures or timeouts. The same key returns cached responses for 30 days, avoiding duplicate operations and saving server resources. Use this tool whenever you need to ensure idempotent behavior for Salesforce UI API operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Signed JWT Assertion

**Slug:** `SALESFORCE_SERVICE_CLOUD_GENERATE_SIGNED_JWT_ASSERTION`

Tool to generate a signed JWT assertion for Salesforce JWT bearer OAuth flow. Use when you need to perform server-to-server authentication using a connected app’s certificate. Use before exchanging the assertion for an access token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `audience` | string | No | Audience claim for the JWT, e.g., login URL or instance domain. Defaults to the instance domain derived from base_url metadata. |
| `username` | string | Yes | Salesforce username (subject) for whom to generate the JWT assertion. |
| `client_id` | string | No | Client (Consumer) ID of the Salesforce Connected App. If provided, overrides value from connection metadata. |
| `expiration` | integer | No | JWT lifetime in seconds from now. |
| `private_key` | string | No | RSA private key in PEM format used to sign the JWT. If generate_private_key is true, this value is ignored. |
| `generate_private_key` | boolean | No | If true, generate a temporary RSA private key for signing (useful for testing when a PEM isn't available). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Case Record

**Slug:** `SALESFORCE_SERVICE_CLOUD_GET_CASE_RECORD`

Retrieve a Salesforce Case record by its ID. Returns Case details including status, priority, subject, description, owner, and timestamps. Useful for: - Looking up Case details by ID - Checking Case status and priority - Getting customer issue information - Retrieving Case metadata and relationships Requires a valid 15 or 18-character Salesforce Case ID. Optionally specify which fields to retrieve using the fields parameter; otherwise all accessible fields are returned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Comma-separated list of Case field API names to retrieve. If omitted, returns all accessible fields. |
| `case_id` | string | Yes | ID of the Case record to retrieve (15- or 18-character Salesforce ID) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Chat Messages

**Slug:** `SALESFORCE_SERVICE_CLOUD_GET_CHAT_MESSAGES`

Tool to long-poll for chat messages/events. Use after CreateChatSession to retrieve incoming chat events. Returns empty messages list when no new messages (HTTP 204). Call with ack from prior response to maintain sequence.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ack` | integer | No | Sequencing token for polling; use -1 for the first request |
| `affinity` | string | Yes | Affinity token identifying the session on Chat servers |
| `api_version` | string | Yes | Salesforce API version for the request, e.g., '61.0' |
| `session_key` | string | Yes | Unique Chat session key |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Live Agent API Version

**Slug:** `SALESFORCE_SERVICE_CLOUD_GET_LIVE_AGENT_API_VERSION`

Tool to retrieve current Live Agent API version. Use when initializing chat sessions to ensure subsequent calls target the correct REST API version.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Einstein Bots

**Slug:** `SALESFORCE_SERVICE_CLOUD_LIST_EINSTEIN_BOTS`

Lists all Einstein Bot definitions in the Salesforce organization. This action queries the BotDefinition object using the Salesforce Tooling API to retrieve metadata about all Einstein Bots, including their IDs, labels, developer names, and language settings. Use this action when you need to: - Get a list of available Einstein Bots in the org - Find valid bot IDs for use with other Einstein Bots API operations - Retrieve bot metadata such as names and language settings Returns an empty list if no bots exist or if Tooling API access is unavailable.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Query All SOQL

**Slug:** `SALESFORCE_SERVICE_CLOUD_QUERY_ALL_SOQL`

Tool to execute a SOQL query including deleted and archived records. Use when you need to fetch all rows including soft-deleted data in Salesforce.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | SOQL query string to execute, must end with 'ALL ROWS' to include deleted and archived records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Query SOQL

**Slug:** `SALESFORCE_SERVICE_CLOUD_QUERY_SOQL`

Tool to execute a SOQL query. Use when you need to retrieve records from Salesforce via SOQL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `soql_query` | string | Yes | SOQL query string to execute. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reconnect Chat Session

**Slug:** `SALESFORCE_SERVICE_CLOUD_RECONNECT_CHAT_SESSION`

Tool to reconnect a Live Agent chat session after the affinity token changes. Use this when you receive a 503 (Service Unavailable) response during chat operations, indicating the affinity token has changed and the session needs to be reestablished on a new server. After reconnecting, you must call ResyncChasitorState to restore the visitor's chat context. Note: Requires valid session_key and affinity tokens from an active Live Agent chat session.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `affinity` | string | Yes | Affinity token from the chat session that identifies the server instance. Obtained from the initial chat session creation or SessionId response. Sent in X-LIVEAGENT-AFFINITY header. |
| `api_version` | string | No | Live Agent API version (e.g., '61.0'). If not provided, automatically derived from base_url. |
| `session_key` | string | Yes | Unique session key identifying the chat session. Obtained from the initial chat session creation. Sent in X-LIVEAGENT-SESSION-KEY header. |
| `X-LIVEAGENT-SEQUENCE` | string | No | Client's incrementing sequence number for request ordering. Use 1 for first reconnect attempt, then increment for subsequent operations. Sent in X-LIVEAGENT-SEQUENCE header. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resync Chasitor State

**Slug:** `SALESFORCE_SERVICE_CLOUD_RESYNC_CHASITOR_STATE`

Resynchronizes the chat visitor's state after a session reconnection. This action is part of the Salesforce Live Agent chat session recovery workflow: 1. First, call ReconnectChatSession with the session_key and affinity_token 2. Then, call this action to restore the visitor's chat state 3. Finally, resume normal chat operations (sending messages, getting messages, etc.) Prerequisites: - An active or recently disconnected Live Agent chat session - Valid session_key and affinity_token from the original session - Live Agent must be properly configured in the Salesforce org Note: The legacy Live Agent product is being phased out in favor of Messaging for In-App and Web. This action sends a POST request to /chat/rest/Chasitor/ChasitorResyncState with required Live Agent headers but no request body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api_version` | string | No | Live Agent API version (e.g., '61.0'). If not provided, automatically extracted from the base_url. |
| `session_key` | string | Yes | Session key obtained from an active Live Agent chat session. This value is returned when initiating a chat session and must be preserved for reconnection scenarios. |
| `affinity_token` | string | Yes | Affinity token obtained from an active Live Agent chat session. This token routes the request to the correct server where the session state is maintained. |
| `organizationId` | string | No | Salesforce organization ID of the chat visitor (not required by API; ignored for backwards compatibility). |
| `X-LIVEAGENT-SEQUENCE` | string | No | Client's incrementing sequence number for request ordering. Must increase with each request in the session. Start with 1 for the first request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Connected App Private Key

**Slug:** `SALESFORCE_SERVICE_CLOUD_RETRIEVE_CONNECTED_APP_PRIVATE_KEY`

Tool to retrieve RSA private key PEM for a Salesforce Connected App. Use when signing JWT assertions for OAuth flows. Provide the app's Connected App ID and optional secret name or file path. Use before generating signed JWTs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `secret_name` | string | No | Name of the environment variable or file path containing the PEM-encoded private key. Defaults to '<connected_app_id>_private_key' if omitted. |
| `connected_app_id` | string | Yes | Salesforce Connected App ID (Consumer Key) identifying the private key. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Salesforce Username

**Slug:** `SALESFORCE_SERVICE_CLOUD_RETRIEVE_SALESFORCE_USERNAME`

Tool to retrieve the Salesforce username. Use when you need the current authenticated user's username. Use after completing OAuth2 authentication.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Custom Event

**Slug:** `SALESFORCE_SERVICE_CLOUD_SEND_CUSTOM_EVENT`

Send a custom event from a chat visitor to a Live Agent during an active chat session. Use this tool to trigger custom event handlers on the agent's side, enabling custom interactions beyond standard chat messages. Custom events can be used for actions like form submissions, button clicks, page navigation, or any application-specific events that need to be communicated to the agent. Prerequisites: - An active Live Agent chat session must be established - Live Agent REST API must be configured and enabled in your Salesforce org - Valid session_key and affinity_token from session initialization Note: This endpoint requires Live Agent to be properly configured. The API typically returns 204 No Content on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Custom event payload data as a string. Can be JSON-encoded for complex data structures. |
| `type` | string | Yes | Custom event type identifier used to match event listeners on the agent's side. Should be a descriptive name. |
| `sequence` | integer | Yes | Sequence number for this Live Agent request. Must be incremented with each API call in the session. |
| `api_version` | string | No | Live Agent API version (e.g., '61.0'). If not specified, automatically extracted from base_url. |
| `session_key` | string | Yes | Session key from an active Live Agent chat session (obtained during session initialization). |
| `affinity_token` | string | Yes | Affinity token from an active Live Agent chat session (obtained during session initialization). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Breadcrumb

**Slug:** `SALESFORCE_SERVICE_CLOUD_SET_BREADCRUMB`

Tool to set a breadcrumb URL for the visitor's current page. Use after a visitor navigates to a new page during an active chat session.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `org_id` | string | Yes | Salesforce organization ID (15 or 18 character ID) |
| `location` | string | Yes | The current location or URL of the visitor. |
| `session_id` | string | Yes | Live Agent session ID (sid) from an active chat session |
| `api_version` | string | Yes | LiveAgent Chat API version header, e.g., '61.0' |
| `deployment_id` | string | Yes | Live Agent deployment ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File to S3

**Slug:** `SALESFORCE_SERVICE_CLOUD_UPLOAD_FILE_TO_S3`

Tool to upload a file to managed S3 storage. Use when you need to persist files externally.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File to upload. |
| `file_path` | string | No | Optional local file path to read the file content from. If provided, this will be used instead of the file reference. Useful for testing or when the file is available locally. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Visitor Sensitive Data Rule Triggered

**Slug:** `SALESFORCE_SERVICE_CLOUD_VISITOR_SENSITIVE_DATA_RULE`

Tool to trigger sensitive data rules for the chat visitor. Use after detecting sensitive content to apply visitor masking or handling rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rules` | array | Yes | List of sensitive data rules to apply (at least one rule) |
| `affinity` | string | Yes | Affinity token header (X-LIVEAGENT-AFFINITY) |
| `sequence` | integer | Yes | Sequence number header (X-LIVEAGENT-SEQUENCE), increments with each call |
| `api_version` | string | Yes | Live Agent API version header (X-LIVEAGENT-API-VERSION) |
| `session_key` | string | Yes | Session key header (X-LIVEAGENT-SESSION-KEY) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
