---
title: Salesforce
description: Interact with Salesforce to query, insert, update, or upsert records using SOQL or object-based operations.
category: Application
tags: [salesforce, crm, query, integration, upsert, data-sync]
---

# Salesforce

## Description

**Salesforce** is a leading cloud-based CRM platform that allows businesses to manage customer data, automate sales, marketing, and support processes, and connect various business operations.

The **Salesforce** activity in the workflow allows you to perform operations such as querying, inserting, updating, or upserting records using **SOQL (Salesforce Object Query Language)** or simple object-level data access.

This activity supports bulk processing through Salesforce Bulk API and handles both **read** and **write** operations efficiently.

Use this activity to:

- **Query** – Execute a custom SOQL query to retrieve Salesforce records.
- **Query All** – Similar to Query, but includes records in the recycle bin.
- **Get All** – Automatically generates a SOQL query to fetch all fields from a specific object.
- **Insert** – Add new records to a Salesforce object.
- **Upsert** – Update existing records or insert if they don’t exist using an external key.
- **Delete** – Remove records from Salesforce based on the provided data.

> **Use Case**: After collecting form data in a workflow, you can use the `Upsert` operation to sync the data with Salesforce Leads. Later, use `Query` to retrieve all leads by region for reporting or further automation.

---

## Input

| Input Type | Format | Description                                                                                                        |
| ---------- | ------ | ------------------------------------------------------------------------------------------------------------------ |
| Data       | JSON   | Required for `Insert`, `Upsert`, or `Delete` operations. Each record is a key-value dictionary representing a row. |

---

## Output

| Output Type | Format | Description                                                       |
| ----------- | ------ | ----------------------------------------------------------------- |
| Data        | JSON   | The queried records or result of insert/upsert/delete operations. |

---

## Configuration Fields

| Field Name | Required | Description                                                                                   |
| ---------- | -------- | --------------------------------------------------------------------------------------------- |
| Connection | Yes      | OAuth connection to Salesforce instance.                                                      |
| Operation  | Yes      | Type of operation: `Query`, `Query All`, `Get All`, `Insert`, `Upsert`, `Delete`.             |
| Query      | Optional | SOQL string. Required for `Query` and `Query All` operations.                                 |
| Object     | Optional | Salesforce object name (e.g., `Lead`, `Contact`). Required for `Insert`, `Upsert`, `Get All`. |
| Upsert Key | Optional | External ID field for upsert logic. Required if `Operation` is `Upsert`.                      |

---

## Sample Input

> (for Insert / Upsert)

| FirstName | LastName | Email                                                   | Company   |
| --------- | -------- | ------------------------------------------------------- | --------- |
| Alice     | Wong     | [alice.wong@example.com](mailto:alice.wong@example.com) | Acme Inc  |
| Bob       | Smith    | [bob.smith@example.com](mailto:bob.smith@example.com)   | Beta Corp |

## Sample Configuration

| Field      | Value                 |
| ---------- | --------------------- |
| Connection | Salesforce Connection |
| Operation  | Upsert                |
| Object     | Lead                  |
| Upsert Key | Email                 |

## Sample Output

| ID              | Success | Created |
| --------------- | ------- | ------- |
| 00Q5g00000Br123 | true    | false   |
| 00Q5g00000Br456 | true    | true    |

```

```
