Resources · n8n integration

Salesforce n8n integrationAutomate Salesforce with n8n.

How much of Salesforce can n8n really drive? The Salesforce n8n integration exposes 65 operations across 12 objects, from accounts to cases, plus a trigger that watches 18 events in 9 families. Built for revenue and support teams who are tired of retyping the same record twice.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Salesforce n8n integration actually cover?

Two nodes ship with n8n for this. The Salesforce node runs 65 operations over 12 objects: accounts, contacts, leads, opportunities, cases, tasks, attachments, documents, flows, users, custom objects and SOQL search. The Salesforce Trigger node starts a workflow when a record appears or changes, across 18 events grouped in 9 families. Nothing to install, on n8n Cloud or on a self-hosted instance.

Three shapes of workflow come up again and again. The first one is support routing: the trigger fires on caseCreated, case.update sets the priority and owner from whatever rule you encode, and the summary goes to a channel through Slack. Nobody watches a queue anymore.

The second one is account hygiene. A finance export sits in Google Sheets, and account.upsert writes each row against a matching field, so a row that already exists gets updated instead of creating a twin. Run it nightly and the duplicate problem stops growing.

The third one is paperwork. A signed contract arrives in Gmail, n8n passes the binary straight to attachment.create, and the file is filed against the right record instead of sitting on a laptop where nobody else can find it.

The node covers those 12 objects and nothing else. For an object with no dedicated operation, the HTTP Request node calls any Salesforce API endpoint and reuses the same credential, so you stay inside one workflow. Custom fields are reachable without that detour: open Additional Fields, add a field, pick Custom Fields in the list.

Two limits are worth knowing before you build. Get Many operations stop at Limit unless Return All is on, which quietly truncates an export. And the trigger polls, so a record shows up after the interval you set, not the second it is saved. If you are weighing platforms or migrating from another CRM, the n8n review covers the hosting and cost side, and the same patterns port to HubSpot or Pipedrive with different field names.

Connect

How do you connect Salesforce to n8n?

  1. 01

    Pick an authentication method

    The credential supports two methods: OAuth2, and OAuth2 JWT for a server-to-server connection that never asks a human to log in again. JWT is the one to set up for unattended workflows. It needs four values: your Environment Type (Production or Sandbox), your Salesforce Username, a Client ID, and a Private Key tied to a self-signed certificate.

  2. 02

    Create an External Client App in Salesforce

    From Setup, type App Manager in the Quick Find box and select New External Client App. Fill in the Basic Info, including a Name and a Contact Email address. Under API (Enable OAuth Settings), select Enable OAuth and set the callback URL to http://localhost:1717/OauthRedirect, or your instance URL if you self-host. Tick the scopes Full access (full) and Perform requests at any time, enable the JWT Bearer Flow, then upload your certificate.

  3. 03

    Paste the values into n8n

    Back in Salesforce, copy the Consumer Key of the app and save it in n8n as the Client ID. Then paste the contents of your private key file into Private Key, using the multi-line editor and standard PEM format, header and footer lines included. A credential is created once in the Credentials menu and both nodes offer it in their dropdown afterwards, so the trigger and the action node share it.

Triggers

What can start a Salesforce workflow?

Salesforce Trigger is the node that starts a workflow when something happens in Salesforce. It listens to 18 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Salesforce account.

What you see in n8n

Every event, by family

One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.

account.*2
    attachment.*2
      case.*2
        contact.*2
          custom.*2
            lead.*2
              opportunity.*2
                task.*2
                  user.*2

                    Configuration notes

                    01Set up the Salesforce TriggerThe trigger node reads one event type and emits an item for every matching record it finds. It does not register anything on the Salesforce side, so there is no callback URL to paste anywhere.

                    The trigger node reads one event type and emits an item for every matching record it finds. It does not register anything on the Salesforce side, so there is no callback URL to paste anywhere.

                    Key parameters

                    • Trigger On: the event this workflow listens to, picked from the 18 available. They split into 9 families of two, created and updated, for accounts, attachments, cases, contacts, custom objects, leads, opportunities, tasks and users.
                    • Poll Times: how often n8n asks the Salesforce API whether something new exists, once a minute at the most. There is no wildcard option, so one trigger node listens to one event.
                    When to use it
                    whenever the workflow should start from Salesforce itself rather than from a schedule or a form.
                    02On Lead Created and On Lead UpdatedLead events are where most sales automation starts. leadCreated fires when a new lead lands in the org, whatever created it, a web form, an import, or a rep typing it in. leadUpdated fires when an existing lead is modified, which includes a status change.

                    Lead events are where most sales automation starts. leadCreated fires when a new lead lands in the org, whatever created it, a web form, an import, or a rep typing it in. leadUpdated fires when an existing lead is modified, which includes a status change.

                    When to use it
                    qualification and routing. A fresh lead can be enriched, scored, then written back, while an update can catch the moment a lead reaches the status your team treats as sales-ready.
                    Use cases
                    alert an account executive the minute a lead from a target industry appears, or push every new lead into a nurture sequence without waiting for an overnight batch, so the first message goes out while the form is still fresh in the prospect's mind.
                    03On Opportunity Created and On Opportunity UpdatedPipeline movement shows up through two events. opportunityCreated catches a deal the moment it is opened, and opportunityUpdated catches every later edit, including the stage changes that matter for forecasting.

                    Pipeline movement shows up through two events. opportunityCreated catches a deal the moment it is opened, and opportunityUpdated catches every later edit, including the stage changes that matter for forecasting.

                    When to use it
                    when a number outside Salesforce has to stay in step with the pipeline. Finance dashboards, revenue spreadsheets and management channels all drift the day someone forgets to report a stage change. The trigger emits one item per record it finds, so the workflow can read the new stage and branch on it before it writes anything anywhere.
                    Use cases
                    post a short message when a deal is opened above a threshold your team cares about, or start a handover checklist for delivery as soon as an opportunity is edited into a closed stage.
                    04On Case Created and On Case UpdatedSupport work has its own pair. caseCreated fires on every new case, including the ones opened by email or by a web form, and caseUpdated fires on any later change to an existing case.

                    Support work has its own pair. caseCreated fires on every new case, including the ones opened by email or by a web form, and caseUpdated fires on any later change to an existing case.

                    When to use it
                    for first response and escalation. The value of a case event is mostly in the first minutes, which is exactly when a human is unlikely to be watching the queue.
                    Use cases
                    triage an incoming case by writing back a priority and an owner, or watch updates so that a case flipped to escalated reaches a manager instead of waiting for someone to refresh a report, with the Subject and the case owner inside the message rather than a vague ping to the whole team.
                    05On Custom Object Created and On Custom Object UpdatedOrgs rarely run on standard objects alone. These two events cover records of an object you defined yourself, customObjectCreated for a new one and customObjectUpdated for a change to an existing one. Because that field is required, the trigger refuses to start until an object is picked, which is a useful guard against a workflow that watches nothing.

                    Orgs rarely run on standard objects alone. These two events cover records of an object you defined yourself, customObjectCreated for a new one and customObjectUpdated for a change to an existing one. Because that field is required, the trigger refuses to start until an object is picked, which is a useful guard against a workflow that watches nothing.

                    Key parameters

                    • Custom Object Name or ID: required, and it tells the trigger which object to watch. Pick it from the list n8n loads from your org, or set an ID with an expression when the object depends on earlier data.
                    Use cases
                    watch a subscription or inspection object built for your business and keep a billing tool in step with it, without exposing the rest of the CRM to that workflow.
                    Actions

                    What can the Salesforce node do?

                    The Salesforce node exposes 65 operations across 12 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

                    Resources × operations matrix
                    ResourceCreateGetGet ManyUpdateDeleteAdd CommentAdd NoteAdd Contact To CampaignGet SummaryInvokeQueryUploadCreate or Update
                    Account✓✓✓✓✓✓✓✓
                    Attachment✓✓✓✓✓✓
                    Case✓✓✓✓✓✓✓
                    Contact✓✓✓✓✓✓✓✓✓
                    Custom Object✓✓✓✓✓✓
                    Document✓
                    Flow✓✓
                    Lead✓✓✓✓✓✓✓✓✓
                    Opportunity✓✓✓✓✓✓✓✓
                    Search✓
                    Task✓✓✓✓✓✓
                    User✓✓

                    Account

                    8 operations
                    01

                    Add a note to an account

                    account.addNote

                    What you see in n8n

                    Notes & use cases

                    Writes a note on an existing account, so context sits on the record rather than in a private inbox.

                    Key parameters

                    • Account ID: the record the note belongs to, often {{ $json.id }} from an earlier Salesforce node.
                    • Title: required, and it is what a rep sees in the list, so make it specific.
                    • Body: optional, limited to 32 KB, which is far more than any meeting recap needs.
                    • Is Private: true restricts the note to its owner and to users holding the Modify All Data permission.
                    Use cases
                    drop the summary of a quarterly review on the account so the next rep inherits the history.
                    02

                    Create an account

                    account.create

                    What you see in n8n

                    Notes & use cases

                    Inserts a new account and returns the created record, ID included, ready for the next node.

                    Key parameters

                    • Name: the only required field, capped at 255 characters.
                    • Additional Fields: 26 optional fields, among them Phone, Website, Industry, Annual Revenue, Number Of Employees, Owner and the whole Billing and Shipping address set.
                    • Custom Fields: sits inside Additional Fields and reaches the fields your admin added.
                    Use cases
                    turn a signed order into a customer account, then chain the account ID into an opportunity in the same run.
                    03

                    Create or update an account

                    account.upsert

                    What you see in n8n

                    Notes & use cases

                    One operation that decides for itself: it looks for an existing account, updates it when there is a hit, and inserts a new one otherwise.

                    Key parameters

                    • Match Against: the field checked to see whether the account already exists, usually an external identifier your other system owns.
                    • Value to Match: the value looked up in that field for this item.
                    • Name: still required, because it is what a new record gets created with.
                    Use cases
                    replay a nightly customer export without doubling your account list every morning.
                    04

                    Delete an account

                    account.delete

                    What you see in n8n

                    Notes & use cases

                    Removes an account from the org. There is no confirmation step in the node, so it runs the moment the workflow reaches it.

                    Key parameters

                    • Account ID: the record to delete. Pass an ID you just read in the same workflow rather than one stored elsewhere, since a stale ID will either fail or hit the wrong record.
                    Use cases
                    clean up the accounts a test workflow created in a Sandbox, or drop the losing side of a duplicate pair once the merge rule has picked a winner.
                    05

                    Get an account

                    account.get

                    What you see in n8n

                    Notes & use cases

                    Reads one account and returns its fields, which is the step most update workflows forget and then regret.

                    Key parameters

                    • Account ID: the record to read, typically carried over from a trigger item or from a search result.
                    Use cases
                    pull the current owner and billing country before deciding which branch of the workflow runs, or fill a document template with real account data instead of whatever the previous system sent.
                    06

                    Get many accounts

                    account.getAll

                    What you see in n8n

                    Notes & use cases

                    Pulls a list of accounts in one execution, with a way to narrow both the rows and the columns.

                    Key parameters

                    • Return All: on, n8n walks the pages of the API until the list is exhausted; off, it stops at Limit.
                    • Limit: the maximum number of accounts returned when Return All is off.
                    • Fields: the fields to include, separated by commas. Ask for the five you need, not the whole record.
                    • Conditions: filters the accounts returned.
                    Use cases
                    export a filtered account list to a spreadsheet for a territory review.
                    07

                    Get an account summary

                    account.getSummary

                    What you see in n8n

                    Notes & use cases

                    Returns an overview of the account object's metadata rather than account records. Nothing to configure, which makes it a quick way to look at how the object is actually built in your org.

                    Use cases
                    check the object's metadata once while building, so the field names you write into the following nodes match what the org really exposes instead of what a spreadsheet column header suggests.
                    08

                    Update an account

                    account.update

                    What you see in n8n

                    Notes & use cases

                    Changes fields on an account that already exists, leaving everything you do not name untouched.

                    Key parameters

                    • Account ID: the record to modify.
                    • Update Fields: 27 fields available here, one more than on creation, since Name becomes editable rather than required.
                    • Owner Name or ID: reassigns the account, which is the field most territory workflows come down to.
                    Use cases
                    write an enriched employee count and industry back onto the account after an external lookup.

                    Attachment

                    6 operations
                    09

                    Create an attachment

                    attachment.create

                    What you see in n8n

                    Notes & use cases

                    Uploads a file and attaches it to a record. The file travels as binary data inside the workflow, so no intermediate storage is involved.

                    Key parameters

                    • Parent ID: the record the file hangs off, an account, a case, or anything else that accepts attachments.
                    • Name: shown as File Name, capped at 255 characters.
                    • Input Binary Field: the name of the binary field holding the file, which is data unless the node before it renamed the field.
                    • Is Private: true keeps the file visible only to its owner and administrators.
                    Use cases
                    file a signed quote on the account it belongs to.
                    10

                    Delete an attachment

                    attachment.delete

                    What you see in n8n

                    Notes & use cases

                    Detaches and deletes a file from the org, permanently.

                    Key parameters

                    • Attachment ID: identifies the file itself, not the record it is attached to. Read it from a listing step in the same workflow, because nothing in the parent record hands you that ID by itself.
                    Use cases
                    remove an outdated version of a document once the new one has been uploaded, so a rep opening the record cannot send a superseded price list by mistake.
                    11

                    Get an attachment

                    attachment.get

                    What you see in n8n

                    Notes & use cases

                    Retrieves a single attachment from its identifier.

                    Key parameters

                    • Attachment ID: the file to read, usually an ID carried over from a listing step or from the trigger when an attachment event started the run.
                    Use cases
                    fetch the invoice a colleague filed on a record before sending it on to an accounting tool, or read a file's details when an attachment event fires so the workflow can decide whether it is worth processing.
                    12

                    Get many attachments

                    attachment.getAll

                    What you see in n8n

                    Notes & use cases

                    Lists attachments, which is the practical way to find out what is filed where.

                    Key parameters

                    • Conditions: the filter that makes this operation useful, since an unfiltered list returns files from across the org.
                    • Return All: off by default, in which case Limit caps how many files come back.
                    • Fields: the columns to include, comma separated.
                    Use cases
                    build an inventory of the documents attached to a set of records, then archive the older ones somewhere cheaper than the CRM.
                    13

                    Get an attachment summary

                    attachment.getSummary

                    What you see in n8n

                    Notes & use cases

                    Hands back an overview of the attachment object's metadata. There is nothing to fill in: the operation takes no parameters at all, so it runs as a quick lookup rather than a query you have to shape.

                    Use cases
                    confirm how attachments are described in your org before writing a workflow that filters on them, which saves a round of failed executions caused by a field name that only existed in someone's memory.
                    14

                    Update an attachment

                    attachment.update

                    What you see in n8n

                    Notes & use cases

                    Edits an existing attachment, either its metadata or the file itself.

                    Key parameters

                    • Attachment ID: the file to modify.
                    • Name: renames the file, still capped at 255 characters.
                    • Description: a text description, limited to 255 characters.
                    • Input Binary Field: supply it and the stored file is replaced by the binary coming in, which keeps the same attachment record instead of creating a second one.
                    Use cases
                    replace a draft document with its signed version while keeping the link from the record intact.

                    Case

                    7 operations
                    15

                    Add a comment to a case

                    case.addComment

                    What you see in n8n

                    Notes & use cases

                    Posts a comment on a case, which is how a workflow talks inside a support thread rather than around it.

                    Key parameters

                    • Case ID: the case receiving the comment.
                    • Comment Body: shown as Body in the node, the text of the comment.
                    • Is Published: true makes the comment visible to customers in the Self-Service portal, false keeps it internal. Read that one twice before sending a diagnostic message.
                    Use cases
                    write the result of an automated check on the case so the agent picking it up sees what has already been tried.
                    16

                    Create a case

                    case.create

                    What you see in n8n

                    Notes & use cases

                    Opens a case in Salesforce from anything your workflow can reach, a form, a monitoring alert, an inbound email.

                    Key parameters

                    • Type Name or ID: the only required field, chosen from the list your org defines.
                    • Additional Fields: 17 optional fields, including Subject, Description, Priority, Status, Case Origin, Contact ID and Account ID.
                    • Supplied Email: the address captured at creation. It cannot be changed afterwards, so set it in this node rather than planning to fix it later.
                    Use cases
                    turn a failed delivery notification into a case already linked to the right customer.
                    17

                    Delete a case

                    case.delete

                    What you see in n8n

                    Notes & use cases

                    Erases a case and, with it, the thread attached to it.

                    Key parameters

                    • Case ID: the case to remove. Build a filter before this node rather than after, because there is nothing to undo once the execution has passed it.
                    Use cases
                    clear the cases a misconfigured inbound rule created in bulk, or honor a deletion request on records that a retention policy no longer justifies keeping.
                    18

                    Get a case

                    case.get

                    What you see in n8n

                    Notes & use cases

                    Loads one case with its current field values.

                    Key parameters

                    • Case ID: the case to read.
                    Use cases
                    check the status and owner before a workflow replies, so an automated follow-up never lands on a case a human closed ten minutes earlier. It is also the step to run after a case event, when the trigger item tells you something changed but the workflow needs the full record to decide what to do.
                    19

                    Get many cases

                    case.getAll

                    What you see in n8n

                    Notes & use cases

                    Brings back a list of cases, which is what reporting and backlog workflows run on.

                    Key parameters

                    • Return All: leave it off and the node stops at Limit, which is the usual reason a weekly report looks suspiciously flat.
                    • Limit: caps the number of cases returned.
                    • Conditions: narrows the list, by status or by owner for instance.
                    • Fields: the fields to include, separated by commas.
                    Use cases
                    collect every case still open past a deadline and send the list to the team channel each morning.
                    20

                    Get a case summary

                    case.getSummary

                    What you see in n8n

                    Notes & use cases

                    Describes the case object's metadata instead of returning cases, and takes no parameters at all.

                    Use cases
                    inspect how cases are structured in the org before building a triage workflow, particularly when picklist-driven fields like Status or Priority differ from the defaults and the values you were about to hardcode do not exist. Reading the metadata first costs one execution and saves a debugging session.
                    21

                    Update a case

                    case.update

                    What you see in n8n

                    Notes & use cases

                    Modifies a case that already exists, which is where most support automation ends up.

                    Key parameters

                    • Case ID: the case to update.
                    • Update Fields: 18 fields here, one more than at creation, since Type moves into the optional set.
                    • Status Name or ID: the field that directly controls the IsClosed flag, so closing a case means setting this one.
                    • Is Escalated: flips the case into escalated, which is how a rule-based check hands it over to a manager.
                    Use cases
                    raise priority automatically when a case stays untouched too long.

                    Contact

                    9 operations
                    22

                    Add a contact to a campaign

                    contact.addToCampaign

                    What you see in n8n

                    Notes & use cases

                    Campaign membership is the record that ties a contact to a marketing campaign. This operation creates that link, so the contact appears in the campaign member list without any field on the contact itself being rewritten.

                    Key parameters

                    • Contact ID: the Salesforce record ID of the contact to enroll, usually {{ $json.id }} carried over from a previous node.
                    • Campaign Name or ID: pick the campaign from the dropdown n8n loads from your org, or pass an ID through an expression when the campaign changes per run.
                    • Status, inside Options: controls the HasResponded flag on the membership.
                    Use cases
                    a webinar signup form drops each attendee into the matching campaign, and Status keeps registered people separate from people who actually showed up.
                    23

                    Add a note to a contact

                    contact.addNote

                    What you see in n8n

                    Notes & use cases

                    Notes are free text attached to a record rather than stored in a field. The node writes one and links it to a contact.

                    Key parameters

                    • Contact ID: the record the note gets attached to.
                    • Title: the note title, the only text shown in the related list, so make it scannable.
                    • Body, in Options: the note content, limited to 32 KB.
                    • Is Private: when on, only the note owner or a user holding the Modify All Data permission can read it or query it through the API.
                    • Owner Name or ID: the user who owns the note.
                    Use cases
                    a call summary lands on the contact as a note, so the next rep reads the context instead of asking again.
                    24

                    Create a contact

                    contact.create

                    What you see in n8n

                    Notes & use cases

                    One new contact record per incoming item, and the node returns the Salesforce ID it just minted so later steps can attach notes, tasks or files to it.

                    Key parameters

                    • Last Name: the single required field, capped at 80 characters. Leave it empty and the node stops the execution.
                    • Additional Fields: 37 optional fields, among them Email, Phone, Title and Account Name or ID, which is what files the contact under a parent account.
                    • Custom Fields: add the fields your admin created, one Field Name or ID and Value pair at a time.
                    Use cases
                    every qualified form submission becomes a contact, with Email and Account Name or ID filled from the form payload.
                    25

                    Create or update a contact

                    contact.upsert

                    What you see in n8n

                    Notes & use cases

                    Duplicates are the usual cost of syncing people from an outside system. Upsert avoids them: Salesforce looks for a match first and only creates a record when it finds none.

                    Key parameters

                    • Match Against: the field Salesforce checks to decide whether the contact already exists, chosen from the dropdown.
                    • Value to Match: the value looked up in that field. Found, the contact is updated; not found, a new one is created.
                    • Last Name: still required, still capped at 80 characters.
                    • Additional Fields: the same 37 optional fields, applied in both branches.
                    Use cases
                    a nightly sync from a billing tool keeps details current and stops the second run from doubling the database.
                    26

                    Delete a contact

                    contact.delete

                    What you see in n8n

                    Notes & use cases

                    Removal is permanent from the workflow's point of view: the node sends the delete and moves on, with nothing to undo downstream.

                    Key parameters

                    • Contact ID: the record ID, not the email address and not the full name. Feed it from a Get Many step or from the trigger item rather than typing it by hand.
                    Use cases
                    a deletion request from a privacy inbox is matched to its Salesforce record, then removed once an approval step in the workflow has passed.
                    27

                    Get a contact

                    contact.get

                    What you see in n8n

                    Notes & use cases

                    One ID in, one full contact record out. Useful whenever a later node needs fields that the trigger item does not carry.

                    Key parameters

                    • Contact ID: the record to fetch, commonly {{ $json.id }} from an upstream node. Unlike the dropdown fields elsewhere in this node, this one is free text, so a wrong value comes back as a failed execution rather than an empty result.
                    Use cases
                    a support ticket carries only a Salesforce ID, and this step pulls the phone number and owner before the workflow routes the ticket.
                    28

                    Get many contacts

                    contact.getAll

                    What you see in n8n

                    Notes & use cases

                    Reading contacts in bulk, one item per record. What comes back depends entirely on how you set the paging and filtering switches.

                    Key parameters

                    • Return All: on, n8n walks every page of the API and returns all matching contacts; off, it stops at Limit.
                    • Limit: the maximum number of contacts returned when Return All is off.
                    • Conditions, in Options: filters the query so the node fetches a slice instead of the whole object.
                    • Fields: a comma separated list of the fields to include, which keeps the payload small on large orgs.
                    Use cases
                    a weekly export of contacts filtered by owner feeds a reporting sheet without dragging the entire database through the workflow.
                    29

                    Get a contact summary

                    contact.getSummary

                    What you see in n8n

                    Notes & use cases

                    This one returns an overview of the contact object's metadata rather than contact records, so no rows come back and there is nothing to configure. It answers questions about how the object is shaped in your org, not about who is in it.

                    Use cases
                    a workflow checks the object metadata once before a migration run, so the team sees what the org actually exposes before mapping any field.
                    30

                    Update a contact

                    contact.update

                    What you see in n8n

                    Notes & use cases

                    Fields you name get overwritten, fields you leave out keep their current value. That partial behavior is what makes this safe to run on records other teams also edit.

                    Key parameters

                    • Contact ID: which record to edit.
                    • Update Fields: 38 optional fields, one more than on create because Last Name moves here and is no longer required.
                    • Email Opt Out: flags that the contact does not want email from Salesforce, worth wiring to whatever your unsubscribe page writes.
                    Use cases
                    an enrichment step fills Title and Department on contacts that arrived from a form with nothing but a name and an email.

                    Custom Object

                    6 operations
                    31

                    Create a custom object

                    customObject.create

                    What you see in n8n

                    Notes & use cases

                    Custom objects are the tables your admin added to the org, and the node treats them like any other resource: pick the object, set its fields, get a record back.

                    Key parameters

                    • Custom Object Name or ID: the object to write to, loaded into a dropdown from your org so you never guess the API name.
                    • Fields: the values to set, added one at a time as a Field Name or ID and Value pair.
                    • Record Type Name or ID, in Additional Fields: which record type the new record belongs to when the object defines several.
                    Use cases
                    an equipment booking object gets one record per reservation coming from an internal form.
                    32

                    Create or update a custom object

                    customObject.upsert

                    What you see in n8n

                    Notes & use cases

                    The upsert pattern applied to a custom object: Salesforce decides between insert and update by looking at one field you nominate, which keeps a repeated import idempotent.

                    Key parameters

                    • Custom Object Name or ID: the target object.
                    • Match Against: the field checked to see whether the record already exists.
                    • Value to Match: present in that field, the record is updated; absent, a new one is created.
                    • Fields: the values written in either branch, as Field Name or ID and Value pairs.
                    Use cases
                    a product catalog pushed from an inventory system uses the supplier reference as the match field, so re-running the import corrects rows instead of stacking copies.
                    33

                    Delete a custom object

                    customObject.delete

                    What you see in n8n

                    Notes & use cases

                    Two identifiers are needed here, not one: the object tells the node which table to work on, the record ID tells it which row to drop.

                    Key parameters

                    • Custom Object Name or ID: the custom object holding the record.
                    • Record ID: the record to be deleted. This is free text, so it normally arrives from a previous lookup rather than being typed in.
                    Use cases
                    expired reservation records are cleaned out nightly, after a filter node has checked the date and a second condition has confirmed the booking was never confirmed.
                    34

                    Get a custom object

                    customObject.get

                    What you see in n8n

                    Notes & use cases

                    A single record read from a custom object, returned as one item with its fields. Pair it with a lookup step whenever the ID is not already in the payload.

                    Key parameters

                    • Custom Object Name or ID: which custom object to read from, selected in the dropdown.
                    • Record ID: the record to be retrieved.
                    Use cases
                    a workflow that received only a booking reference pulls the full reservation record before writing the confirmation email body.
                    35

                    Get many custom objects

                    customObject.getAll

                    What you see in n8n

                    Notes & use cases

                    Bulk read on a custom object, with the same paging switches as the standard resources plus a field picker that knows your org's schema.

                    Key parameters

                    • Custom Object Name or ID: the object to query.
                    • Return All: enabled, every page is fetched; disabled, Limit caps the number of records.
                    • Conditions, in Options: narrows the query to the rows you actually want.
                    • Field Names or IDs: a multi select of fields to include, chosen from the list or given as IDs through an expression.
                    Use cases
                    a dashboard refresh reads open reservation records, limited to the four fields the chart needs.
                    36

                    Update a custom object

                    customObject.update

                    What you see in n8n

                    Notes & use cases

                    Editing happens field by field on a record you identify, and anything you do not list stays as it was.

                    Key parameters

                    • Custom Object Name or ID: the object the record lives in.
                    • Record ID: the record to be updated.
                    • Fields: each change expressed as a Field Name or ID and Value pair, which is also how you set a Record Type Name or ID when the object has several.
                    Use cases
                    when a signed document comes back from an e-signature tool, the matching contract record flips its status field and stores the signature date.

                    Document

                    1 operation
                    37

                    Upload a document

                    document.upload

                    What you see in n8n

                    Notes & use cases

                    Binary data travels between n8n nodes in a named property, and this operation takes that property and stores it in Salesforce as a document.

                    Key parameters

                    • Input Binary Field: the name of the binary field on the incoming item that holds the file. Get this name wrong and the node has nothing to send.
                    • Title: the file name as it will be stored.
                    • File Extension, in Additional Fields: forces an extension; left empty, the value from the binary data is used.
                    • Link To Object ID: attaches the document to an existing record.
                    • Owner Name or ID: the user who owns the document.
                    Use cases
                    a signed quote arriving as a PDF attachment is filed against the account it belongs to.

                    Flow

                    2 operations
                    38

                    Get many flows

                    flow.getAll

                    What you see in n8n

                    Notes & use cases

                    Flows are the automations built inside Salesforce itself. This operation lists them, which is mostly how you find the API name you need before invoking one.

                    Key parameters

                    • Return All: on, the node pages through the full list of flows; off, Limit sets how many come back.
                    • Limit: the maximum number of flows returned.
                    Use cases
                    run this once during setup, read the API names off the output, and hardcode the right one in the invoke step that follows.
                    39

                    Invoke a flow

                    flow.invoke

                    What you see in n8n

                    Notes & use cases

                    Rather than rebuilding org logic in n8n, this hands execution back to Salesforce: the node calls a flow and the flow does the work with the org's own rules.

                    Key parameters

                    • API Name: the flow's API name, required, and the value the Get Many operation exists to give you.
                    • JSON Parameters: switches input between the key and value UI and raw JSON.
                    • Variables: the input variables sent to the flow, added one by one or written as a JSON object depending on that switch.
                    Use cases
                    an approval flow already vetted by the Salesforce admin is triggered from n8n once an external check passes, so the approval logic stays in one place.

                    Lead

                    9 operations
                    40

                    Add a lead to a campaign

                    lead.addToCampaign

                    What you see in n8n

                    Notes & use cases

                    Attaching an existing lead to a campaign creates the campaign member record, so the lead shows up in that campaign's audience without anyone opening Salesforce.

                    Key parameters

                    • Lead ID: the Salesforce identifier of the lead to attach, often {{ $json.Id }} carried over from an earlier Salesforce step.
                    • Campaign Name or ID: pick the campaign from the list n8n loads from your org, or pass an ID through an expression when the campaign changes from one run to the next.
                    • Status: sits in Options and controls the HasResponded flag on the membership.
                    Use cases
                    after a trade show, push every badge scan that became a lead into the campaign that paid for the booth.
                    41

                    Add a note to a lead

                    lead.addNote

                    What you see in n8n

                    Notes & use cases

                    Notes written this way stay on the lead record itself, readable by anyone who opens it, instead of sitting in one person's inbox.

                    Key parameters

                    • Lead ID: identifies the lead the note belongs to.
                    • Title: the note title, and the only text visible before someone expands it.
                    • Body: the note content, capped at 32 KB, which is where a call summary or a form comment goes.
                    • Is Private: set to true, only the note owner or a user with the Modify All Data permission can read it or query it through the API.
                    Use cases
                    drop the answers from a qualification form onto the lead the minute it arrives.
                    42

                    Create a lead

                    lead.create

                    What you see in n8n

                    Notes & use cases

                    Two fields carry a new lead into Salesforce: Company and Last Name. Everything else rides along in Additional Fields, which holds 27 optional entries.

                    Key parameters

                    • Company: the company of the lead. Leave it empty and, if person account record types are enabled in the org, the lead converts to a person account.
                    • Last Name: limited to 80 characters.
                    • Email and Lead Source Name or ID: both optional, both in Additional Fields, and the second one decides how attribution reads three months later.
                    Use cases
                    turn each form submission into a lead, with the source set from the page that captured it.
                    43

                    Create or update a lead

                    lead.upsert

                    What you see in n8n

                    Notes & use cases

                    Run the same person through Create twice and the org ends up with two leads. Create or Update looks first, writes second.

                    Key parameters

                    • Match Against: the field n8n checks to decide whether the lead already exists.
                    • Value to Match: the value looked for in that field. Found, the lead is updated. Not found, a new one is created.
                    • Company and Last Name: still required, because any run can end in a creation.
                    Use cases
                    replay a nightly export of event contacts as often as needed without piling up duplicates.
                    44

                    Delete a lead

                    lead.delete

                    What you see in n8n

                    Notes & use cases

                    Deletion leaves nothing to undo on the n8n side: the node sends the request and moves to the next item, so put a filter you trust in front of it.

                    Key parameters

                    • Lead ID: the record identifier, not the email address and not the company name. It usually comes from a preceding Get Many step, or from the trigger as {{ $json.Id }}.
                    Use cases
                    clear out the test leads a staging form created, selected by their lead source before the delete runs.
                    45

                    Get a lead

                    lead.get

                    What you see in n8n

                    Notes & use cases

                    One identifier goes in, the full record comes out as a single item. Useful when an upstream tool handed the workflow an ID and nothing else.

                    Key parameters

                    • Lead ID: the record to fetch. An expression such as {{ $json.leadId }} keeps the workflow generic from one execution to the next.
                    Use cases
                    before an enrichment step writes anything back, read the lead so the workflow can compare what Salesforce already holds against the data it just found.
                    46

                    Get many leads

                    lead.getAll

                    What you see in n8n

                    Notes & use cases

                    Get Many walks the Lead object and returns one item per record, the usual starting point for a batch that scores or routes.

                    Key parameters

                    • Return All: enabled, n8n chains the API pages until every lead is in. Disabled, Limit caps how many come back.
                    • Conditions: the filters that keep the batch on the leads worth processing.
                    • Fields: the fields to include, separated by commas, which keeps the payload light on a large org.
                    Use cases
                    pull the untouched leads every morning and hand them to a scoring step.
                    47

                    Get a lead summary

                    lead.getSummary

                    What you see in n8n

                    Notes & use cases

                    No record comes back here. Get Summary returns an overview of the Lead object's metadata, its shape rather than its contents, and it asks for no parameter at all.

                    Use cases
                    run it once while building a workflow to confirm how the org describes its leads, then map those exact names into the Create or Update steps instead of guessing them. It also answers the question that comes up after someone adds a field in Salesforce and the workflow has to follow.
                    48

                    Update a lead

                    lead.update

                    What you see in n8n

                    Notes & use cases

                    Update touches only what you send. Fields left out of Update Fields keep their current values, so a partial payload is safe to send on every run.

                    Key parameters

                    • Lead ID: the record to modify.
                    • Status Name or ID: one of the 29 entries in Update Fields, chosen from the status list the org defines.
                    • Rating and Owner Name or ID: the two a routing workflow writes most, one for priority, one for the rep who picks the lead up.
                    Use cases
                    when a scoring step returns a high value, raise the rating and hand the lead to another owner in the same run.

                    Opportunity

                    8 operations
                    49

                    Add a note to an opportunity

                    opportunity.addNote

                    What you see in n8n

                    Notes & use cases

                    Comments about a deal arrive from several people at once. This operation turns one into a proper note on the opportunity, where the rep will look for it.

                    Key parameters

                    • Opportunity ID: the deal the note attaches to.
                    • Title: required, and worth templating so the notes list stays readable.
                    • Body: up to 32 KB of text.
                    • Owner Name or ID: the user who owns the note, handy when a shared credential would otherwise sign everything.
                    Use cases
                    post a meeting summary on the deal as soon as the call recording has been transcribed.
                    50

                    Create an opportunity

                    opportunity.create

                    What you see in n8n

                    Notes & use cases

                    Three fields open a deal: a name, a close date and a stage. The 13 entries in Additional Fields fill in the forecast around it.

                    Key parameters

                    • Name: limited to 80 characters.
                    • Close Date: the date the deal is expected to close, a date value and not free text.
                    • Stage Name or ID: chosen from the stages configured in the org.
                    • Amount and Account Name or ID: both optional, both worth filling if the pipeline report should mean anything.
                    Use cases
                    open the deal automatically when a quote gets signed in the tool the sales team actually uses.
                    51

                    Create or update an opportunity

                    opportunity.upsert

                    What you see in n8n

                    Notes & use cases

                    Same logic as the lead version, applied to deals: n8n looks for an existing opportunity and only creates one when the lookup comes back empty.

                    Key parameters

                    • Match Against and Value to Match: the field checked, and the value searched for in it.
                    • Name, Close Date and Stage Name or ID: required on top of the match, since the run may end in a creation.
                    Use cases
                    sync deals from a billing tool where every subscription carries its own reference, so one reference always maps to one opportunity.
                    52

                    Delete an opportunity

                    opportunity.delete

                    What you see in n8n

                    Notes & use cases

                    Removing a deal skews every pipeline history built on it, which is why most teams move it to a lost stage instead. Duplicates are the real case for this operation.

                    Key parameters

                    • Opportunity ID: the identifier of the deal to remove, usually read from a Get Many step whose filter already did the selecting.
                    Use cases
                    clean up the opportunities an import created twice, once a human has approved the list.
                    53

                    Get an opportunity

                    opportunity.get

                    What you see in n8n

                    Notes & use cases

                    Reading a single deal returns its current amount, its stage and its dates, which is what a workflow needs before it decides anything.

                    Key parameters

                    • Opportunity ID: the record to read. Coming from the trigger, it arrives as an expression such as {{ $json.Id }}.
                    Use cases
                    when a contract is signed elsewhere, read the deal first, check that its stage still matches what the workflow expects, then let the next node update it or alert someone.
                    54

                    Get many opportunities

                    opportunity.getAll

                    What you see in n8n

                    Notes & use cases

                    Get Many returns opportunities as separate items, ready to be summed, grouped or sent somewhere the sales team already reads.

                    Key parameters

                    • Conditions: the filter that makes this operation worth running, for instance restricting the batch to a single stage.
                    • Return All: enabled, n8n chains the API pages to the end. Disabled, Limit decides how many deals come back.
                    • Fields: separated by commas, to bring back the amount and the close date without the rest of the record.
                    Use cases
                    build a weekly pipeline digest from the open deals.
                    55

                    Get an opportunity summary

                    opportunity.getSummary

                    What you see in n8n

                    Notes & use cases

                    Get Summary describes the Opportunity object rather than any single deal: it returns an overview of that object's metadata, with no parameter to fill in.

                    Use cases
                    a good first call when the org was configured by someone else. The overview shows how opportunities are described there, and the names it exposes are the ones to reuse in a Conditions filter or an Update Fields mapping. Build on those names and the workflow stops breaking every time a label gets renamed in Salesforce.
                    56

                    Update an opportunity

                    opportunity.update

                    What you see in n8n

                    Notes & use cases

                    Moving a deal forward usually comes down to one field, and Update Fields offers 16 of them.

                    Key parameters

                    • Opportunity ID: the deal to change.
                    • Stage Name or ID: what a pipeline automation writes most often.
                    • Amount: the estimated total sale amount, worth refreshing whenever the quote changes.
                    • Next Step: a short description of what still has to happen to close, capped at 255 characters.
                    Use cases
                    when a signature comes back from an e-signature tool, move the stage and correct the amount in the same node.

                    Task

                    6 operations
                    58

                    Create a task

                    task.create

                    What you see in n8n

                    Notes & use cases

                    One field is required to create a task: its status. The 25 entries in Additional Fields do everything else.

                    Key parameters

                    • Status Name or ID: the current status, such as In Progress or Completed, taken from the list the org defines.
                    • Subject Name or ID: the subject line, capped at 255 characters.
                    • Activity Date: the due date, always stamped at midnight UTC.
                    • Who ID: points at a person, a lead or a contact, where What ID points at an account, an opportunity or a case.
                    Use cases
                    create the follow up call as soon as a lead reaches a given rating.
                    59

                    Delete a task

                    task.delete

                    What you see in n8n

                    Notes & use cases

                    Tasks pile up faster than any other object in a CRM, and this operation removes one for good.

                    Key parameters

                    • Task ID: the task to remove. Feed it from a Get Many step whose Conditions already narrowed the list, since nothing here asks for a confirmation.
                    Use cases
                    drop the reminder an automation created for a deal that closed early, so nobody chases a call that no longer has a reason to happen.
                    60

                    Get a task

                    task.get

                    What you see in n8n

                    Notes & use cases

                    Fetching a single task returns its status, its subject and the records it is linked to.

                    Key parameters

                    • Task ID: the identifier of the task to read, usually carried over from the trigger item.
                    Use cases
                    when the Salesforce Trigger reports that a task changed, read it back to see which status it landed on, then branch: a completed call can start a thank you email, a rescheduled one can simply wait.
                    61

                    Get many tasks

                    task.getAll

                    What you see in n8n

                    Notes & use cases

                    Get Many lists tasks one item at a time, which is how a workflow finds out what the team still owes.

                    Key parameters

                    • Return All: enabled, n8n keeps requesting pages until every task has been retrieved. Disabled, Limit stops it earlier.
                    • Conditions: the filters that keep the batch to one owner or one status.
                    • Fields: the fields to return, separated by commas.
                    Use cases
                    gather the tasks due today and send each rep their own list before the morning stand up.
                    62

                    Get a task summary

                    task.getSummary

                    What you see in n8n

                    Notes & use cases

                    Like its lead and opportunity counterparts, this call returns an overview of the Task object's metadata and not a single task.

                    Use cases
                    reach for it when a workflow that used to create tasks starts failing on a field name. The overview shows how the object is described in the org, which is often enough to tell a renamed field from a missing permission before digging further. It is also the quickest way to collect the exact names a Conditions filter expects.
                    63

                    Update a task

                    task.update

                    What you see in n8n

                    Notes & use cases

                    Update rewrites the fields you provide and leaves the rest alone, across the 26 available in Update Fields.

                    Key parameters

                    • Task ID: the task to modify.
                    • Status Name or ID: what most automations write, to close a task from outside Salesforce.
                    • Is ReminderSet: turns the popup reminder on or off, and Reminder Date Time sets the moment it fires.
                    Use cases
                    close the call task automatically once the phone system reports that the call was answered.

                    User

                    2 operations
                    64

                    Get a user

                    user.get

                    What you see in n8n

                    Notes & use cases

                    Fetches one Salesforce user from its identifier and hands the whole record to the next node, which turns a bare ID sitting in a field into something the rest of the workflow can actually read.

                    Key parameters

                    • User ID: the ID of the user that needs to be fetched, usually an expression such as {{ $json.userId }} that pulls the value from the item coming out of the previous node.
                    Use cases
                    when the trigger reports a case that just changed hands, look the owner up first so the alert sent to the support channel names a person rather than an identifier.
                    65

                    Get many users

                    user.getAll

                    What you see in n8n

                    Notes & use cases

                    Reads the user list of the org and emits one item per user, which is where most workflows that spread records across a team start.

                    Key parameters

                    • Return All: switched on, n8n walks through the API pages until every user is back; switched off, Limit caps how many come out.
                    • Conditions: filters the list inside Salesforce, one condition per row added through Add Condition.
                    • Fields: the fields to include, separated by commas, to keep the payload light.
                    Use cases
                    refresh a routing table of users every morning, then reuse it to assign incoming leads without querying Salesforce on every single record.
                    Need help

                    Need help automating Salesforce with n8n?

                    A person reads every message.

                    FAQ

                    Salesforce and n8n, the questions that come next

                    01Is the Salesforce n8n integration free?
                    On the n8n side, yes. Both the Salesforce node and the Salesforce Trigger node ship with n8n, so there is nothing to install and no add-on to buy. That holds on n8n Cloud, the hosted offer run by n8n, and on a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow built in one place behaves the same in the other. What Salesforce itself charges is a separate matter, and depends on your edition and on API access in your org, so check that with your own account rather than assuming the automation is free end to end.
                    02What credentials do you need to connect Salesforce to n8n?
                    Two methods work: OAuth2, and OAuth2 JWT. JWT is the one to pick for workflows that run unattended, since nothing expects a human to sign in again. It needs an Environment Type set to Production or Sandbox, your Salesforce username, a Client ID taken from the Consumer Key of your app, and a private key matching a self-signed certificate. Salesforce is moving from Connected Apps to External Client Apps, so build a new integration on an External Client App. Existing Connected Apps keep working. The credential is created once in n8n and both nodes then offer it in their dropdown.
                    03What are the limits of the Salesforce node in n8n?
                    The node covers 12 objects and 65 operations, which is wide but not the entire API. Anything outside that list has no dedicated operation, and the HTTP Request node is the way through: it calls any Salesforce endpoint while reusing the same credential. Two behaviors catch people out. Get Many operations return only up to Limit unless Return All is switched on, which truncates exports without warning anyone. And custom fields are not missing, they are one level down: open Additional Fields, add a field, then select Custom Fields to reach the ones your admin created.
                    04Does the Salesforce Trigger react in real time?
                    No, and it is better to design around that than to hope otherwise. The trigger works by polling: n8n asks the Salesforce API at the interval set in Poll Times whether anything matches, then emits one item per record found. Nothing is registered on the Salesforce side, so there is no callback URL to configure and no webhook to maintain, which is one less thing to break. The cost is a delay equal to the polling interval, and the interval goes down to once a minute at most. For a lead alert or a case escalation that is usually fine. For a workflow that cannot live with that gap, it is not the right tool.
                    05n8n or Make for Salesforce?
                    It comes down to three questions rather than a winner. Hosting first: Make runs only on its own platform, while n8n runs there or on your own servers, which matters when CRM data has to stay inside a given perimeter. Cost model second: Make bills per operation, so a workflow that loops over a few thousand accounts is priced very differently from one that handles ten. Control third: n8n mixes visual building with code when a step needs it, which suits teams with a developer nearby. Both build the same automations. Pick on hosting, budget shape and who maintains the thing.