# Operations (sample payloads)

## Main operations

### Batch create records

Create a batch of new records in Salesforce. (Max 200).
**Sample Input**
**Sample Output**

```json
{
    "hasErrors": false,
    "results": [
        \{
            "id": "001XXXXXXXXXXXXXXX",
            "success": true,
            "errors": []
        \},
        \{
            "id": "001YYYYYYYYYYYYYYY",
            "success": true,
            "errors": []
        \}
    ]
}
```

### Batch delete records

Delete a batch of records in Salesforce. (Max 200).
**Sample Input**
**Sample Output**

### Batch update records

Update a batch of records in Salesforce. (Max 200).
**Sample Input**
**Sample Output**

### Bulk update records

Bulk update records using the Salesforce Bulk API. Record data should be in CSV format.
**Sample Input**

```json
{
    "object": "Account",
    "csv_file": \{
        "content": "Id,Name,BillingStreet,BillingCity,BillingState,BillingPostalCode,BillingCountry\n001XXXXXXXXXXXXXXX,Acme Corp,123 Main St,San Francisco,CA,94105,USA\n001YYYYYYYYYYYYYYY,Global Tech,456 Market St,New York,NY,10001,USA\n001ZZZZZZZZZZZZZZZ,Euro Innovations,789 Oxford St,London,,W1D 2HG,UK"
    \},
    "ext_field_name": "Id",
    "delimiter": "COMMA",
    "line_end": "LF"
}
```

**Sample Output**

### Bulk upsert records

Bulk upsert records using the Salesforce Bulk API. Record data should be in CSV format
**Sample Input**
**Sample Output**

### Convert Lead

Convert a lead into an account, contact and/or opportunity
**Sample Input**

```json
{
    "id": "00Q1234567890ABCDE",
    "status": "Converted",
    "opportunity": {
        "opportunity_name": "New Business Opportunity"
    },
    "account_id": "0011234567890ABCDE",
    "contact_id": "0031234567890ABCDE",
    "owner_id": "0051234567890ABCDE",
    "do_not_create_opportunity": false,
    "send_notification": true,
    "overwrite_lead_source": false
}
```

**Sample Output**

### Count records

Count the number of records that match a given set of conditions.
**Sample Input**

```json
{
    "object": "Lead",
    "conditions": [
        \{
            "field": "Industry",
            "operator": "Equal to",
            "value": "Technology"
        \},
        \{
            "field": "AnnualRevenue",
            "operator": "Greater than",
            "value": 1000000
        \}
    ],
    "conditions_type": "Match all conditions"
}
```

**Sample Output**

```json
{
    "count": 42
}
```

### Create amendment quote

Create an amendment quote for a contract.
**Sample Input**
**Sample Output**

```json
{
    "ui_original_record": \{
        "cloneRecordIfNoCache": true,
        "cacheName": "AmendmentQuote",
        "cacheId": "8001a000001abcDAAQ",
        "cachedOriginalRecordPath": [
            "record"
        ]
    \},
    "record": {
        "attributes": \{
            "type": "SBQQ__Quote__c",
            "url": "/services/data/v53.0/sobjects/SBQQ__Quote__c/0Q01a000001XyZCAA0"
        \},
        "Id": "0Q01a000001XyZCAA0",
        "Name": "Q-00001234",
        "SBQQ__Type__c": "Amendment",
        "SBQQ__Account__c": "0011a00000ABCdEFGH",
        "SBQQ__ExpirationDate__c": "2023-12-31",
        "SBQQ__StartDate__c": "2023-07-01",
        "SBQQ__EndDate__c": "2024-06-30",
        "SBQQ__MasterContract__c": "8001a000001abcDAAQ",
        "SBQQ__NetAmount__c": 15000,
        "SBQQ__CustomerAmount__c": 15000,
        "SBQQ__ContractingMethod__c": "By Subscription End Date",
        "SBQQ__Unopened__c": true,
        "SBQQ__LineItemCount__c": 2,
        "SBQQ__PaymentTerms__c": "Net 30",
        "SBQQ__WatermarkShown__c": false,
        "SBQQ__Status__c": "Draft",
        "SBQQ__Primary__c": true,
        "SBQQ__LineItemsGrouped__c": false,
        "SBQQ__Opportunity2__c": "0061a00000ABCdEFGH",
        "SBQQ__Account__r": {
            "attributes": \{
                "type": "Account",
                "url": "/services/data/v53.0/sobjects/Account/0011a00000ABCdEFGH"
            \},
            "Id": "0011a00000ABCdEFGH",
            "Name": "Acme Corp",
            "SBQQ__RenewalModel__c": "Contract Based",
            "SBQQ__RenewalPricingMethod__c": "Same"
        },
        "SBQQ__MasterContract__r": {
            "attributes": \{
                "type": "Contract",
                "url": "/services/data/v53.0/sobjects/Contract/8001a000001abcDAAQ"
            \},
            "Id": "8001a000001abcDAAQ",
            "ContractNumber": "00001234"
        },
        "SBQQ__Opportunity2__r": {
            "attributes": \{
                "type": "Opportunity",
                "url": "/services/data/v53.0/sobjects/Opportunity/0061a00000ABCdEFGH"
            \},
            "Id": "0061a00000ABCdEFGH",
            "SBQQ__PrimaryQuote__c": "0Q01a000001XyZCAA0",
            "AccountId": "0011a00000ABCdEFGH"
        },
        "SBQQ__CustomerDiscount__c": "0",
        "SBQQ__MarkupRate__c": "0",
        "SBQQ__PartnerDiscount__c": "0",
        "SBQQ__SubscriptionTerm__c": "12",
        "SBQQ__BillingFrequency__c": "Annual",
        "SBQQ__RenewalTerm__c": "12",
        "SBQQ__RenewalUpliftRate__c": "3"
    },
    "nextKey": 1,
    "netTotal": 15000,
    "lineItems": [
        {
            "record": {
                "attributes": \{
                    "type": "SBQQ__QuoteLine__c",
                    "url": "/services/data/v53.0/sobjects/SBQQ__QuoteLine__c/0QL1a000001XyZCAA0"
                \},
                "Id": "0QL1a000001XyZCAA0"
            }
        }
    ],
    "lineItemGroups": [],
    "isPartial": false,
    "hasMultiSegmentLines": false,
    "customerTotal": 15000,
    "channelDiscountsOffList": false,
    "calculationRequired": true,
    "applyPartnerDiscountFirst": false,
    "applyAdditionalDiscountLast": false
}
```

### Create custom field

Create custom field metadata. Single or multiple fields can be created.
**Sample Input**

```json
{
    "custom_fields": [
        {
            "full_name": "Account.CustomerPriority__c",
            "custom_field_parameters": [
                \{
                    "key": "type",
                    "value": "Picklist"
                \},
                \{
                    "key": "label",
                    "value": "Customer Priority"
                \},
                \{
                    "key": "description",
                    "value": "Priority level of the customer"
                \}
            ],
            "value_set": {
                "sorted": true,
                "value": [
                    \{
                        "full_name": "High",
                        "default": false,
                        "label": "High"
                    \},
                    \{
                        "full_name": "Medium",
                        "default": true,
                        "label": "Medium"
                    \},
                    \{
                        "full_name": "Low",
                        "default": false,
                        "label": "Low"
                    \}
                ],
                "value_set_parameters": [
                    \{
                        "key": "restricted",
                        "value": "true"
                    \}
                ]
            }
        },
        {
            "full_name": "Account.LastContactDate__c",
            "custom_field_parameters": [
                \{
                    "key": "type",
                    "value": "Date"
                \},
                \{
                    "key": "label",
                    "value": "Last Contact Date"
                \},
                \{
                    "key": "description",
                    "value": "Date of last contact with the customer"
                \}
            ]
        }
    ]
}
```

**Sample Output**

```json
{
    "result": [
        \{
            "fullName": "Account.CustomerPriority__c",
            "success": true
        \},
        \{
            "fullName": "Account.LastContactDate__c",
            "success": true
        \}
    ]
}
```

### Create query job

Creates a query job.
**Sample Input**

```json
\{
    "operation": "query",
    "query": "SELECT Id, Name, Email FROM Lead WHERE CreatedDate = LAST_WEEK",
    "content_type": "CSV",
    "column_delimiter": "COMMA",
    "line_ending": "LF"
\}
```

**Sample Output**

```json
\{
    "id": "7502E000004ULxeQAG",
    "operation": "query",
    "object": "Lead",
    "createdById": "0052E00000GHI9kQAH",
    "createdDate": "2023-06-15T14:32:09.000+0000",
    "systemModstamp": "2023-06-15T14:32:09.000+0000",
    "state": "UploadComplete",
    "concurrencyMode": "Parallel",
    "contentType": "CSV",
    "apiVersion": 57,
    "lineEnding": "LF",
    "columnDelimiter": "COMMA"
\}
```

### Create record

Create a new record in Salesforce.
**Sample Input**

```json
{
    "object": "Lead",
    "fields": [
        \{
            "key": "FirstName",
            "value": "John"
        \},
        \{
            "key": "LastName",
            "value": "Doe"
        \},
        \{
            "key": "Company",
            "value": "Acme Corp"
        \},
        \{
            "key": "Email",
            "value": "john.doe@example.com"
        \},
        \{
            "key": "Phone",
            "value": "555-123-4567"
        \}
    ],
    "enable_assignment_rules": "true"
}
```

**Sample Output**

### Create/update record

Create a record if a record with the "lookup value" doesn't already exist. Update it if it does exist.
**Sample Input**
**Sample Output**

### Create/update record using ID

Create a record if a record with the 'lookup value' doesn't already exist. Update it if it does exist. If there is no external ID to reference, insert a new record using ID as the External ID.
**Sample Input**
**Sample Output**

### Delete custom field

Delete custom field metadata. Single or multiple fields can be deleted in a single operation.
**Sample Input**

```json
\{
    "custom_field_names": [
        "Account.CustomRevenue__c",
        "Contact.LoyaltyScore__c",
        "Opportunity.ProjectedROI__c"
    ]
\}
```

**Sample Output**

### Delete query job

Deletes a query job.
**Sample Input**

```json
{
    "query_job_id": "7015f000002WBgAAM"
}
```

**Sample Output**

```json
{
    "success": true
}
```

### Delete record

Delete a record in Salesforce, using it's unique object id.
**Sample Input**
**Sample Output**

```json
{
    "success": true
}
```

### Describe object (advanced)

Describes the raw structure of an object in Salesforce.
**Sample Input**

```json
{
    "object": "Account"
}
```

**Sample Output**

### Download attachment

Downloads a file attachment from Salesforce, for use in other connectors.
**Sample Input**

```json
{
    "attachment_id": "00P1a000001Wy3YEAS"
}
```

**Sample Output**

```json
{
    "file": \{
        "name": "sales_report_q2.pdf",
        "url": "https://instance.salesforce.com/services/data/v53.0/sobjects/Attachment/00P1a000001Wy3YEAS/Body",
        "mime_type": "application/pdf",
        "expires": 1623456789
    \}
}
```

### Download file

Downloads a file from Salesforce.
**Sample Input**
**Sample Output**

```json
{
    "file": \{
        "name": "Sales_Report_Q2_2023.pdf",
        "url": "https://instance.salesforce.com/services/data/v53.0/sobjects/ContentVersion/068R00000000001AAA/VersionData",
        "mime_type": "application/pdf",
        "expires": 1623456789
    \}
}
```

### Execute report async

Runs an instance of a report asynchronously with or without filters.
**Sample Input**
**Sample Output**

```json
\{
    "completionDate": "2023-05-15T14:30:45Z",
    "hasDetailRows": true,
    "id": "0691a2b3c4d5e6f7g8",
    "ownerId": "0051a2b3c4d5e6f7g8",
    "queryable": true,
    "requestDate": "2023-05-15T14:30:15Z",
    "status": "Success",
    "url": "/services/data/v53.0/analytics/reports/0691a2b3c4d5e6f7g8"
\}
```

### Execute report query

Returns report data without saving changes to an existing report or creating a new one.
**Sample Input**
**Sample Output**

### Execute report sync

Runs a report immediately with or without changing filters, groupings, or aggregates and returns the latest summary data with or without details for your level of access.
**Sample Input**
**Sample Output**

### Find records

Find a list of records in Salesforce.
**Sample Input**
**Sample Output**

### Get consent

Locate customers’ preferences for consent across multiple records.
**Sample Input**
**Sample Output**

```json
{
    "aggregatedConsent": {
        "result": "PROCEED",
        "proceed": \{
            "geotrackResult": "PROCEED",
            "geotrack": "ALLOWED"
        \},
        "aggregatedExplanation": [
            {
                "originalId": "0035000001BpH8IAAV",
                "explanations": [
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001BpH8IAAV",
                        "value": "OPT_IN"
                    \},
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001BpH8IAAV",
                        "value": "OPT_IN"
                    \},
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001BpH8IAAV",
                        "value": "OPT_IN"
                    \}
                ]
            },
            {
                "originalId": "john.doe@example.com",
                "explanations": [
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001DqL0KAAV",
                        "value": "OPT_IN"
                    \},
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001DqL0KAAV",
                        "value": "OPT_IN"
                    \},
                    \{
                        "objectConsulted": "Contact",
                        "status": "NOT_ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001DqL0KAAV",
                        "value": "OPT_OUT"
                    \}
                ]
            },
            {
                "originalId": "0035000001CqK9JAAV",
                "explanations": [
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001CqK9JAAV",
                        "value": "OPT_IN"
                    \},
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001CqK9JAAV",
                        "value": "OPT_IN"
                    \},
                    \{
                        "objectConsulted": "Contact",
                        "status": "ALLOWED",
                        "purpose": "Marketing campaign",
                        "recordId": "0035000001CqK9JAAV",
                        "value": "OPT_IN"
                    \}
                ]
            }
        ]
    }
}
```

### Get instance results

Retrieves results of an asynchronous report run.
**Sample Input**
**Sample Output**

```json
{
    "attributes": \{
        "completionDate": "2023-05-15T10:31:15Z",
        "id": "00O1a000006Mw5XEAS-2023-05-15T10:30:00Z",
        "ownerId": "0051a000000FHNeAAO",
        "reportId": "00O1a000006Mw5XEAS",
        "reportName": "Opportunities by Type",
        "requestDate": "2023-05-15T10:30:00Z",
        "status": "Success",
        "type": "ReportInstance"
    \},
    "allData": true,
    "factMap": {
        "T!T": {
            "aggregates": [
                \{
                    "label": "Record Count",
                    "value": 150
                \},
                \{
                    "label": "Total Amount",
                    "value": 1250000
                \}
            ],
            "rows": [
                {
                    "dataCells": [
                        \{
                            "label": "New Customer",
                            "value": "New Customer"
                        \},
                        \{
                            "label": "75",
                            "value": "75"
                        \},
                        \{
                            "label": "$750,000",
                            "value": "750000"
                        \}
                    ]
                },
                {
                    "dataCells": [
                        \{
                            "label": "Existing Customer - Upgrade",
                            "value": "Existing Customer - Upgrade"
                        \},
                        \{
                            "label": "50",
                            "value": "50"
                        \},
                        \{
                            "label": "$375,000",
                            "value": "375000"
                        \}
                    ]
                },
                {
                    "dataCells": [
                        \{
                            "label": "Existing Customer - Replacement",
                            "value": "Existing Customer - Replacement"
                        \},
                        \{
                            "label": "25",
                            "value": "25"
                        \},
                        \{
                            "label": "$125,000",
                            "value": "125000"
                        \}
                    ]
                }
            ]
        }
    },
    "groupingsDown": {
        "groupings": [
            \{
                "value": "New Customer",
                "key": "New Customer",
                "label": "New Customer"
            \},
            \{
                "value": "Existing Customer - Upgrade",
                "key": "Existing Customer - Upgrade",
                "label": "Existing Customer - Upgrade"
            \},
            \{
                "value": "Existing Customer - Replacement",
                "key": "Existing Customer - Replacement",
                "label": "Existing Customer - Replacement"
            \}
        ]
    },
    "hasDetailRows": true,
    "reportMetadata": {
        "aggregates": [
            "RowCount",
            "Amount"
        ],
        "currency": "USD",
        "description": "Opportunities grouped by Type",
        "detailColumns": [
            "OPPORTUNITY_NAME",
            "AMOUNT",
            "CLOSE_DATE",
            "STAGE_NAME"
        ],
        "developerName": "Opportunities_by_Type",
        "groupingsDown": [
            \{
                "name": "TYPE",
                "sortOrder": "Asc"
            \}
        ],
        "id": "00O1a000006Mw5XEAS",
        "name": "Opportunities by Type",
        "reportFormat": "SUMMARY",
        "reportType": \{
            "label": "Opportunities",
            "type": "Opportunity"
        \},
        "showGrandTotal": true,
        "showSubtotals": true
    }
}
```

### Get job info

Get details about a bulk data processing job
**Sample Input**
**Sample Output**

```json
\{
    "id": "7502E00000PGsabQAD",
    "operation": "insert",
    "object": "Account",
    "createdById": "0052E00000GHI9kQAH",
    "createdDate": "2023-06-15T14:32:09.000+0000",
    "systemModstamp": "2023-06-15T14:32:09.000+0000",
    "state": "Completed",
    "externalIdFieldName": null,
    "concurrencyMode": "Parallel",
    "contentType": "CSV",
    "apiVersion": 57,
    "jobType": "V2Ingest",
    "contentUrl": "/services/data/v57.0/jobs/ingest/7502E00000PGsabQAD/batches",
    "lineEnding": "LF",
    "columnDelimiter": "COMMA",
    "retries": 0,
    "totalProcessingTime": 1250,
    "apiActiveProcessingTime": 1000,
    "apexProcessingTime": 250
\}
```

### Get job successful record results

Retrieve a list of successfully processed records for a completed job as a CSV file.
**Sample Input**
**Sample Output**

### Get omni-channel presence status

Get the presence status of an omni-channel
**Sample Input**
**Sample Output**

### Get picklist item details

Retrieves details for a specific picklist item from a given object and field name.
**Sample Input**
**Sample Output**

```json
\{
    "active": true,
    "defaultValue": false,
    "label": "Technology",
    "validFor": "0123456789ABCDEF",
    "value": "Technology"
\}
```

### Get query job

Gets information about one query job.
**Sample Input**
**Sample Output**

### Get query job results

Returns a CSV file with the results of a completed query job.
**Sample Input**
**Sample Output**

```json
{
    "file": \{
        "name": "sales_report.csv",
        "url": "https://instance.salesforce.com/services/data/v53.0/jobs/query/7504W00000ABCDEFGHIj/results?locator=01gD000000V6NRZIA3-1",
        "mime_type": "text/csv",
        "expires": 1623456789
    \}
}
```

### Get Record Object Description

Get the description of a record type, given the unique ID of the record of that type in Salesforce.
**Sample Input**
**Sample Output**

```json
{
    "result": {
        "activateable": false,
        "createable": true,
        "custom": false,
        "customSetting": false,
        "deletable": true,
        "deprecatedAndHidden": false,
        "feedEnabled": true,
        "hasSubtypes": false,
        "isSubtype": false,
        "keyPrefix": "001",
        "label": "Account",
        "labelPlural": "Accounts",
        "layoutable": true,
        "mergeable": true,
        "mruEnabled": true,
        "name": "Account",
        "queryable": true,
        "replicateable": true,
        "retrieveable": true,
        "searchable": true,
        "triggerable": true,
        "undeletable": true,
        "updateable": true,
        "urls": {
            "compactLayouts": "/services/data/v53.0/sobjects/Account/describe/compactLayouts",
            "rowTemplate": "/services/data/v53.0/sobjects/Account/{ID}",
            "approvalLayouts": "/services/data/v53.0/sobjects/Account/describe/approvalLayouts",
            "listviews": "/services/data/v53.0/sobjects/Account/listviews",
            "describe": "/services/data/v53.0/sobjects/Account/describe",
            "quickActions": "/services/data/v53.0/sobjects/Account/quickActions",
            "layouts": "/services/data/v53.0/sobjects/Account/describe/layouts",
            "sobject": "/services/data/v53.0/sobjects/Account"
        }
    }
}
```

### Get user info

Get details about the authenticated Salesforce user.
**Sample Input**
**Sample Output**

```json
{
    "id": "https://login.salesforce.com/id/00D3X000000pNvUUAU/0053X00000A7o3VQAR",
    "asserted_user": true,
    "user_id": "0053X00000A7o3VQAR",
    "organization_id": "00D3X000000pNvUUAU",
    "username": "john.doe@example.com",
    "nick_name": "jdoe",
    "display_name": "John Doe",
    "email": "john.doe@example.com",
    "email_verified": true,
    "first_name": "John",
    "last_name": "Doe",
    "timezone": "America/Los_Angeles",
    "photos": \{
        "picture": "https://c.salesforce.com/profilephoto/005/F",
        "thumbnail": "https://c.salesforce.com/profilephoto/005/T"
    \},
    "addr_street": "123 Main St",
    "addr_city": "San Francisco",
    "addr_state": "CA",
    "addr_country": "USA",
    "addr_zip": "94105",
    "mobile_phone": "+1 (415) 555-1234",
    "mobile_phone_verified": true,
    "status": \{
        "created_date": "2023-05-15T10:30:00.000Z",
        "body": "Working on a new project"
    \},
    "urls": \{
        "enterprise": "https://na1.salesforce.com/services/Soap/c/54.0/00D3X000000pNvU",
        "metadata": "https://na1.salesforce.com/services/Soap/m/54.0/00D3X000000pNvU",
        "partner": "https://na1.salesforce.com/services/Soap/u/54.0/00D3X000000pNvU",
        "rest": "https://na1.salesforce.com/services/data/v54.0/",
        "sobjects": "https://na1.salesforce.com/services/data/v54.0/sobjects/",
        "search": "https://na1.salesforce.com/services/data/v54.0/search/",
        "query": "https://na1.salesforce.com/services/data/v54.0/query/",
        "recent": "https://na1.salesforce.com/services/data/v54.0/recent/",
        "profile": "https://na1.salesforce.com/0053X00000A7o3VQAR",
        "feeds": "https://na1.salesforce.com/services/data/v54.0/chatter/feeds",
        "groups": "https://na1.salesforce.com/services/data/v54.0/chatter/groups",
        "users": "https://na1.salesforce.com/services/data/v54.0/chatter/users",
        "feed_items": "https://na1.salesforce.com/services/data/v54.0/chatter/feed-items",
        "feed_elements": "https://na1.salesforce.com/services/data/v54.0/chatter/feed-elements"
    \},
    "active": true,
    "user_type": "Standard",
    "language": "en_US",
    "locale": "en_US",
    "utcOffset": -28800000,
    "last_modified_date": "2023-05-15T14:45:30.000Z"
}
```

### List jobs

Retrieve a list of jobs created by bulk data operations e.g. Bulk upsert records
**Sample Input**
**Sample Output**

```json
{
    "done": false,
    "nextRecordsUrl": "https://yourInstance.salesforce.com/services/data/v53.0/jobs/ingest/nextRecords/00000000000001",
    "records": [
        \{
            "id": "7500x000002YzKAAA0",
            "operation": "insert",
            "object": "Account",
            "createdById": "0050x000001234AAA",
            "createdDate": "2023-06-15T14:30:00.000Z",
            "systemModstamp": "2023-06-15T14:30:05.000Z",
            "state": "Open",
            "externalIdFieldName": null,
            "concurrencyMode": "Parallel",
            "contentType": "CSV",
            "apiVersion": 53,
            "jobType": "V2Ingest",
            "contentUrl": "https://yourInstance.salesforce.com/services/data/v53.0/jobs/ingest/7500x000002YzKAAA0/batches",
            "lineEnding": "LF",
            "columnDelimiter": "COMMA"
        \},
        \{
            "id": "7500x000002YzKBAA0",
            "operation": "upsert",
            "object": "Contact",
            "createdById": "0050x000001234AAA",
            "createdDate": "2023-06-15T15:45:00.000Z",
            "systemModstamp": "2023-06-15T15:45:10.000Z",
            "state": "UploadComplete",
            "externalIdFieldName": "Email",
            "concurrencyMode": "Parallel",
            "contentType": "CSV",
            "apiVersion": 53,
            "jobType": "V2Ingest",
            "contentUrl": "https://yourInstance.salesforce.com/services/data/v53.0/jobs/ingest/7500x000002YzKBAA0/batches",
            "lineEnding": "LF",
            "columnDelimiter": "COMMA"
        \}
    ]
}
```

### List query jobs

Gets information about all query jobs.
**Sample Input**
**Sample Output**

```json
{
    "done": true,
    "nextRecordsUrl": null,
    "records": [
        \{
            "id": "7500x000002YzEhAAK",
            "operation": "query",
            "object": "Account",
            "createdById": "005D0000001AQISIA4",
            "createdDate": "2023-06-15T14:32:18.000+0000",
            "systemModstamp": "2023-06-15T14:32:18.000+0000",
            "state": "Complete",
            "concurrencyMode": "Parallel",
            "contentType": "CSV",
            "apiVersion": 57,
            "jobType": "V2Query",
            "lineEnding": "LF",
            "columnDelimiter": "COMMA"
        \},
        \{
            "id": "7500x000002YzEiAAK",
            "operation": "query",
            "object": "Contact",
            "createdById": "005D0000001AQISIA4",
            "createdDate": "2023-06-15T14:33:05.000+0000",
            "systemModstamp": "2023-06-15T14:33:05.000+0000",
            "state": "InProgress",
            "concurrencyMode": "Parallel",
            "contentType": "CSV",
            "apiVersion": 57,
            "jobType": "V2Query",
            "lineEnding": "LF",
            "columnDelimiter": "COMMA"
        \}
    ]
}
```

### List report fields

Retrieves report fields available for specified reports.
**Sample Input**
**Sample Output**

### List report instances

Returns a list of instances for a report.
**Sample Input**

```json
{
    "report_id": "00OD0000001leaMMAQ"
}
```

**Sample Output**

### List report types

Return a list of report types.
**Sample Input**

```json
{}
```

**Sample Output**

### List reports

Retrieves a list of up to 200 reports that you recently viewed.
**Sample Input**

```json
{}
```

**Sample Output**

### Merge records

Merge records into a master record. Be advised if you want to keep values from non-master records the Fields to populate input must be used
**Sample Input**
**Sample Output**

### Raw HTTP request (advanced)

Perform a raw HTTP request with some pre-configuration and processing by the connector, such as authentication.
**Sample Input**
**Sample Output**

### Revoke tokens

Revokes the access and refresh token used in the auth, which makes the authentication useless
**Sample Input**
**Sample Output**

### Run report (sync)

Run a report from your Salesforce Reports list.
**Sample Input**

```json
{
    "report_id": "00O1a2b3c4d5e6f7g"
}
```

**Sample Output**

```json
{
    "aggregates": [
        \{
            "key": "total_amount",
            "keyLabel": "Total Amount",
            "value": 150000,
            "valueLabel": "$150,000.00"
        \},
        \{
            "key": "average_deal_size",
            "keyLabel": "Average Deal Size",
            "value": 25000,
            "valueLabel": "$25,000.00"
        \}
    ],
    "groupingsDown": {
        "groupings": [
            {
                "key": "industry",
                "label": "Industry",
                "value": "Technology",
                "data": {
                    "aggregates": [
                        \{
                            "label": "Total Amount",
                            "value": 75000
                        \},
                        \{
                            "label": "Average Deal Size",
                            "value": 37500
                        \}
                    ],
                    "rows": [
                        {
                            "cells": [
                                \{
                                    "label": "Account Name",
                                    "value": "Acme Corp"
                                \},
                                \{
                                    "label": "Amount",
                                    "value": "$50,000.00"
                                \}
                            ]
                        },
                        {
                            "cells": [
                                \{
                                    "label": "Account Name",
                                    "value": "TechGiant Inc"
                                \},
                                \{
                                    "label": "Amount",
                                    "value": "$25,000.00"
                                \}
                            ]
                        }
                    ]
                }
            },
            {
                "key": "industry",
                "label": "Industry",
                "value": "Healthcare",
                "data": {
                    "aggregates": [
                        \{
                            "label": "Total Amount",
                            "value": 75000
                        \},
                        \{
                            "label": "Average Deal Size",
                            "value": 18750
                        \}
                    ],
                    "rows": [
                        {
                            "cells": [
                                \{
                                    "label": "Account Name",
                                    "value": "MediCare Solutions"
                                \},
                                \{
                                    "label": "Amount",
                                    "value": "$30,000.00"
                                \}
                            ]
                        },
                        {
                            "cells": [
                                \{
                                    "label": "Account Name",
                                    "value": "HealthTech Systems"
                                \},
                                \{
                                    "label": "Amount",
                                    "value": "$45,000.00"
                                \}
                            ]
                        }
                    ]
                }
            }
        ]
    },
    "groupingsAcross": {
        "groupings": []
    }
}
```

### SOQL Query (advanced)

Execute a raw SOQL query to extract data from Salesforce.
**Sample Input**

```json
\{
    "query": "SELECT FirstName, LastName FROM Contact WHERE CreatedDate = LAST_WEEK",
    "batch_size": 100
\}
```

**Sample Output**

### SOSL Query (advanced)

Execute a raw SOSL query to extract data from Salesforce.
**Sample Input**
**Sample Output**

### Update custom field

Update custom field metadata using name.
**Sample Input**

```json
{
    "full_name": "Account.CustomField__c",
    "custom_field_parameters": [
        \{
            "key": "label",
            "value": "Updated Custom Field"
        \},
        \{
            "key": "description",
            "value": "This is an updated custom field on the Account object"
        \},
        \{
            "key": "type",
            "value": "Picklist"
        \},
        \{
            "key": "required",
            "value": "false"
        \}
    ],
    "value_set": {
        "sorted": true,
        "value": [
            \{
                "full_name": "Option1",
                "default": true,
                "label": "Option 1"
            \},
            \{
                "full_name": "Option2",
                "default": false,
                "label": "Option 2"
            \},
            \{
                "full_name": "Option3",
                "default": false,
                "label": "Option 3"
            \}
        ],
        "value_set_parameters": [
            \{
                "key": "restricted",
                "value": "true"
            \}
        ]
    }
}
```

**Sample Output**

```json
{
    "result": [
        \{
            "fullName": "Account.CustomField__c",
            "success": true
        \}
    ]
}
```

### Update record

Update a record in Salesforce.
**Sample Input**
**Sample Output**

### Upload and link file

Upload and link a file to a particular record in Salesforce.
**Sample Input**
**Sample Output**

```json
\{
    "id": "0695000000XYZ789",
    "success": true,
    "errors": []
\}
```

### Write consent

Update and write consent across multiple records, helping you sync consent across records or populate the new Consent data model.
**Sample Input**

```json
\{
    "action": "email",
    "id": "john.doe@example.com",
    "status": "OptIn",
    "capture_date": "2023-05-15T10:30:00Z",
    "capture_contact_point_type": "web",
    "capture_source": "Website Form",
    "consent_name": "Marketing Email Consent",
    "create_individual": true,
    "double_optIn": "2023-05-15T14:45:00Z",
    "effective_from": "2023-05-16T00:00:00Z",
    "effective_to": "2024-05-15T23:59:59Z",
    "individual_name": "John Doe",
    "purpose_name": "Marketing Communications"
\}
```

**Sample Output**

## DDL operations

### List query jobs (DDL)

**Sample Input**
**Sample Output**

```json
{
    "done": true,
    "records": [
        \{
            "Id": "7504W00000ABCDEFGHI",
            "Operation": "Query",
            "Object": "Account",
            "CreatedById": "0054W00000ABCDEFGHI",
            "CreatedDate": "2023-05-15T10:30:00.000Z",
            "SystemModstamp": "2023-05-15T10:35:00.000Z",
            "State": "Complete",
            "ConcurrencyMode": "Parallel",
            "ContentType": "CSV",
            "ApiVersion": "57.0",
            "LineEnding": "LF",
            "ColumnDelimiter": "COMMA"
        \},
        \{
            "Id": "7504W00000JKLMNOPQR",
            "Operation": "Query",
            "Object": "Contact",
            "CreatedById": "0054W00000JKLMNOPQR",
            "CreatedDate": "2023-05-14T14:45:00.000Z",
            "SystemModstamp": "2023-05-14T14:50:00.000Z",
            "State": "Complete",
            "ConcurrencyMode": "Parallel",
            "ContentType": "CSV",
            "ApiVersion": "57.0",
            "LineEnding": "LF",
            "ColumnDelimiter": "COMMA"
        \}
    ],
    "totalSize": 2
}
```

### List report fields (DDL)

> **Warning:** Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

**Sample Input**
**Sample Output**

```json
[
    \{
        "label": "Account Name",
        "name": "ACCOUNT_NAME",
        "type": "string"
    \},
    \{
        "label": "Annual Revenue",
        "name": "ANNUAL_REVENUE",
        "type": "currency"
    \},
    \{
        "label": "Created Date",
        "name": "CREATED_DATE",
        "type": "datetime"
    \},
    \{
        "label": "Industry",
        "name": "INDUSTRY",
        "type": "picklist"
    \},
    \{
        "label": "Number of Employees",
        "name": "NUMBER_OF_EMPLOYEES",
        "type": "int"
    \},
    \{
        "label": "Owner",
        "name": "OWNER_NAME",
        "type": "string"
    \},
    \{
        "label": "Type",
        "name": "ACCOUNT_TYPE",
        "type": "picklist"
    \}
]
```

### List report fields for standard date filter (DDL)

> **Warning:** Note that DDL operations can only be called directly by Connectors API, or when using CustomJS in the Embedded solution editor for e.g. DDL-dependent data mapping

**Sample Input**

```json
{}
```

**Sample Output**

### List report types (DDL)

**Sample Input**
**Sample Output**

### List reports (DDL)

**Sample Input**
**Sample Output**
