How to Capture, Manage, and Sync Contacts to Salesforce in WordPress

This guide is written for WordPress developers, designers, and site administrators. It walks you through WordPress Salesforce integration using ContactIn Pro, the fastest way to sync WordPress contact form submissions directly into Salesforce as Contacts and Cases, with screenshots at every step.

The Problem

Many WordPress sites collect valuable inquiries, but the data is scattered across inboxes, form plugins, and spreadsheets. This leads to delayed follow-up, duplicate contact records, and inconsistent activity in Salesforce.

Solution

ContactIn Pro WordPress Plugin solves this by capturing every submission in one inbox, then syncing contacts and inquiry records to Salesforce through a queue with retries and logs. You get a reliable trail of what succeeded, what failed, and what needs action.

In the next steps, you will connect Salesforce OAuth, map fields, run a real test submission, and confirm end-to-end sync in both WordPress and Salesforce.

What You Need

  • ContactIn Pro WordPress Plugin, installed and activated. Check ContactIn Pro pricing and features
  • WordPress admin access
  • Salesforce admin access
  • A Salesforce External Client App for OAuth
  • Your Salesforce field API names for mapping (for example: FirstNameLastNameEmailPhoneSubjectDescription)
  • A published ContactIn form on your site

Why Standard Contact Form Plugins Drop Leads

Most WordPress plugins handle Salesforce syncing synchronously. If the Salesforce API goes down, limits are hit, or an access token expires, your form submission fails silently, and the customer inquiry is permanently lost.

How ContactIn Pro is Different:

  • Operations-Grade Queue Processing (with DLQ & Retry): Submissions land in a secure local database first before attempting transmission.
  • Dead-Letter Queue (DLQ): Failed syncs are pushed to an isolated queue for safe troubleshooting, preventing system lockups.
  • Idempotent 30-Day Windows: Safely retry any failed transmission without risking duplicate contact generation or duplicate records in Salesforce.
  • AI Intent Classification Integration: Automatically classify incoming inquiries as Sales, Support, or Feedback on your site, then route the filtered data directly to the matching Salesforce Cases.

Setup Steps

Complete the following steps to finish your WordPress Salesforce integration.

Note: for configuration rules, shortcodes, and other developer tools, check out our full ContactIn Pro Documentation Wiki.

Part 1: Create Salesforce External Client App

Go to https://developer.salesforce.com/, and click Salesforce Login


Log in with Salesforce credentials

WordPress Salesforce integration setup - Salesforce developer login panel

Click the gear icon on the top right, and click Setup from the menu

Salesforce setup menu with External Client App Manager search

Type “external client app manager” in the menu search on the left side of the page. Click the “External Client App Manager Menu”

Salesforce setup menu displaying External Client App Manager navigation

Create a new External Client App

New External Client App form in Salesforce

Enter the following mandatory details. You can add other details optionally.

  1. External Client App Name
  2. API Name
  3. Contact Email
  4. Distribution State: Select Packaged
External Client App basic information fields in Salesforce

Part 2: Configure OAuth Settings and Scopes

Scroll down the page and enter OAuth Settings:

  1. Callback Url. You can copy this URL from the ContactIn Pro: CRM Integration Page -> Salesforce Tab -> Salesforce OAuth Configuration -> Callback URL (Redirect URI)
    It appears like this: https://yourwebsite.com/wp-admin/admin-ajax.php
  2. Select OAuth Scopes:
    • Manage user data via APIs (api)
    • Perform requests at any time (refresh_token_offline_access)
Salesforce OAuth settings with custom redirect callback URL and API scopes

For full details on Salesforce OAuth scopes, see the OAuth Authorization Flows.

Part 3: Configure Flow Enablement and Security

Scroll up the page to set up Flow Enablement and Security. Make sure, following are checked:

  1. Under the Flow Enablement, enable Token Exchange Flow
    • Require secret for Exchange Flow
  2. Under Security, enable Require secret for Web Server Flow, Require secret for Refresh Token Flow, Require Proof Key for Code Exchange (PKCE) extension for Supported Authorization Flows, Enable Refresh Token Rotation
  3. Save settings
Flow enablement and PKCE security settings for Salesforce OAuth client app

Part 4: Set OAuth Policies

Scroll up the page, click Policies tab, click edit button on right side, and expand “OAuth Policies”. Make sure:

  1. Enable TokenExchange Flow (Checked)
  2. Refresh token is valid until revoked
  3. Save the settings
OAuth policies configuration in Salesforce External Client App

Part 5: Enable App and Retrieve Consumer Key/Secret

Scroll up the page and Enable the App

Salesforce app enabled confirmation screen

Go to Settings tab and expand OAuthSettings. Make sure the app status is enabled. Click “Consumer Key and Secret” button.

Click Consumer Key and Secret button

The following page will appear, and you will receive a verification code by your registered email. Enter the verification code and verify.

Verify salesforce

You will see the consumer secret and keys appearing like this:

Consumer key and secret retrieval screen in Salesforce

Now your External Client on Salesforce is up and running. This is a time to grab the consumer key and consumer secret. Do not close this page.

Part 6: Connect Salesforce in ContactIn Pro

Go to ContactIn Pro -> CRM Integration -> Salesforce Tab -> Salesforce OAuth Configuration

Copy the Consumer Key and Consumer Secret from the Salesforce and paste here. Click “Connect to Salesforce” button. The ContactIn Pro will perform a headless integration with the Salesforce Instance through API endpoint.

ContactIn Pro name field and custom contact field mapping configuration dashboard

It will take a while. Once salesforce is successfully connected. You will see Instance and Endpoint details.

ContactIn Pro Salesforce connection success with instance details

Your WordPress Salesforce integration is now authenticated and ready for field mapping.

Part 7: Configure Name and Field Mapping

Under the Name Field Configuration, you can Select Regional Name format. Under the Contact Fields (Person Information), you can change field mappings with the Salesforce. This should be done by a trained Salesforce integrator.

Do not change anything that you do not understand as all the default settings are carefully used to let you start Salesforce sync using headless configuration.

ContactIn Pro name field and contact field mapping configuration

Part 8: Configure Optional Sync Behaviors

You can change the following configurations:

  1. Enable “Upload form attachments to Salesforce.” When enabled, files uploaded with submissions are queued and attached to the Salesforce Case/Task record.
  2. Enable “Delete CRM records when contacts are deleted.” When enabled, GDPR deletions will also delete related Salesforce records (Contact and restricted child records).
  3. Enable “Prepend intent category to Case/Task subject.” Useful when you don’t have custom intent fields and want to see classification in the subject line. Example: “Looking to buy a private jet” becomes “Sales: Looking to buy a private jet”

Part 9: Enable Salesforce Sync

Save Integration Settings. Scroll up the page and enable “Salesforce Sync.”

Once enabled, you will see the status changed

Salesforce sync enabled status in ContactIn Pro

WordPress Salesforce integration is now active on your site.

Part 10: Validate in Salesforce Login Context

Go to the Salesforce Login Portal

Log in with Salesforce credentials

Sales Force Login

Test It

Part 1: Submit a Test Inquiry

Go to a page that embedded the ContactinPro using shortcode, Gutenberg or Elementor block. And fill an inquiry.

WordPress contact form test submission filled
Contact Form Submitted

Part 2: Verify Sync in WordPress

Go to ContactIn Pro -> Inbox. Check if the message is synced with the Salesforce. This may take a short while as the sync runs through managed queue.

ContactIn Pro inbox showing submission synced to Salesforce

Part 3: Verify Record in Salesforce

Log back into your Salesforce Dashboard.

On the main search, type “cases” A drop-down will appear, click “my cases”

My Cases

You can see the Contact Form inquiry registered as a case in the Salesforce

Salesforce My Cases list with synced inquiry

Click on the Case to see details

Salesforce case detail view for synced WordPress inquiry
Case Detail2

Part 4: Verify Contact Update Behavior

You can also check contacts details. In this case, contact (Mr Example User) did exist in the Salesforce, so a new phone number (+1526589854785) entered in the form is added to the contact. Otherwise a fresh contact was added, and then a new case under that contact.

Salesforce contact detail showing updated phone after sync

Congratulations! Your WordPress Salesforce integration is now live and syncing real submissions to Salesforce through ContactIn Pro’s managed queue.

Your WordPress Salesforce integration is confirmed working end-to-end.

Troubleshooting

Use these fixes to resolve common WordPress Salesforce integration issues.

Connection Issues

Most WordPress Salesforce integration failures are OAuth-related.

OAuth connection fails
Re-check the Connected App callback URL and re-authorize from ContactIn Pro.

401 Unauthorized or token errors
Access token expired or revoked; re-authorize Salesforce connection.

Field and Data Issues

Contact created, but some fields are empty
Field mapping uses wrong Salesforce API names; update mappings with exact API field names.

Duplicate contacts in Salesforce
Confirm email mapping is correct and consistently populated in form submissions.

Sync Performance

Sync failures or delays
Check CRM queue/logs in ContactIn Pro and retry failed/DLQ items.

Attachments

Attachments not syncing
Confirm attachment sync is enabled and file size/visibility settings are valid.

Frequently Asked Questions

Free Technical Support

Get help with your WordPress Salesforce integration from our support team.

Need help with your WordPress Salesforce integration setup? Visit the Contact Us page and describe your issue. Our team offers free support for all WordPress Salesforce integration users.

Scroll to Top