# Create Salesforce Accounts from Google Sheets Data

> Read a Google Sheet of contacts and account names, create missing Salesforce accounts, and either create or update the contact under the right account.

- URL: https://www.automongo.com/automations/google-sheets-to-salesforce/
- Summary: Sync contacts and account names in a Google Sheet into Salesforce without duplicates.
- Tools: n8n
- Difficulty: Intermediate
- Category: Sales
- Tags: salesforce, google-sheets, crm, accounts, contacts
- Published: 2026-10-24
- External resource: https://n8n.io/workflows/1792-create-salesforce-accounts-based-on-google-sheets-data/?ref=ez5zfu33yh5f&utm_source=affiliate

## How It Works

The workflow reads rows from a Google Sheet that lists contacts and the account they belong to. For each row, it searches Salesforce by account name. If the account already exists, that branch skips account creation. If it does not, the workflow creates the account first. Both branches normalize the data back into a shared shape, then create or update the contact under the matched account. The result is a no-code upsert that keeps account duplicates out of Salesforce.

### Setup Steps

1. **Authenticate Salesforce**: Connect your Salesforce credential in n8n with permissions to read and write Accounts and Contacts.
2. **Authenticate Google Sheets**: Connect the Google account that owns the sheet.
3. **Prepare the Sheet**: Build a sheet with the contact fields you need and a column that holds the account name for each row.
4. **Set the Sheet ID**: Copy the sheet ID from the Google Sheets URL and paste it into the Google Sheets node.
5. **Run the Workflow**: Click Execute Workflow, then verify in Salesforce that accounts without duplicates appear and contacts land under the right account.

### Automation Workflow

```
Google Sheets (Read Rows) → Salesforce (Search Account)
↓
IF (Account Exists?) → Yes → Normalize
                     → No  → Salesforce (Create Account) → Normalize
↓
Salesforce (Create or Update Contact)
```

### Benefits

- **No Duplicate Accounts**: The search-before-create branch keeps the Salesforce account list clean.
- **No Code**: Every node is configurable with form fields, so marketing and ops can edit without touching JavaScript.
- **Round-Trip Safe**: Contacts land under the right account whether the account was created now or already existed.
- **Fit for Imports**: Point it at a CSV-dumped sheet to clear a backlog of leads into Salesforce in one run.

### Use Cases

- Importing event attendees or trade-show leads into Salesforce without manual deduplication.
- Syncing a marketing team's working sheet of prospects into the CRM.
- Running a one-off bulk import after a data cleanup project.
- Bridging a lightweight lead-capture form that writes to Google Sheets into Salesforce.
