WORDPRESS SALESFORCE INTEGRATION

Connect WordPress to Salesforce Without Losing Website Enquiries

Capture WordPress enquiries, create or update Salesforce Contacts, generate Cases, map fields and sync through a managed queue with retry and recovery.
ContactIn stores each submission before attempting Salesforce delivery, helping protect website enquiries when APIs, tokens or external services temporarily fail.

WHY RELIABLE SALESFORCE SYNC MATTERS

A Website Enquiry Should Not Depend on Salesforce Being Available at That Exact Moment

A direct WordPress-to-Salesforce connection can be interrupted by an expired token, API limit, network problem or temporary Salesforce outage. If the website depends entirely on that live connection, an important enquiry can become difficult to recover.

The Problem

Website enquiries often pass through email, form-entry tables and separate CRM processes. This can lead to delayed follow-up, duplicate contacts and uncertainty about whether a submission reached Salesforce successfully.

The ContactIn Approach

ContactIn captures the enquiry in WordPress first. Salesforce delivery is then handled through a managed queue with retries, duplicate protection and sync logs.
If Salesforce is temporarily unavailable, the original enquiry remains stored, and the failed sync can be tracked and retried.

Capture First → Queue → Salesforce → Track → Retry if Needed

BEFORE YOU START

What You Need for WordPress Salesforce Integration

Before connecting ContactIn to Salesforce, make sure you have:

ContactIn Pro

ContactIn Pro installed and activated on your WordPress website.

WordPress Administrator Access

Administrator access to configure ContactIn, CRM integration settings and your website form.

Salesforce API Access

Access to create and configure a Salesforce External Client App and manage its OAuth settings.

Salesforce Integration Permissions

Access to create and configure a Salesforce External Client App and manage its OAuth settings.

Salesforce Field Information

Know which Salesforce fields you want ContactIn to populate, such as name, email, phone, subject and description.

A ContactIn Form

A ContactIn form ready for an end-to-end test once the Salesforce connection has been configured.

WORDPRESS SALESFORCE SETUP GUIDE

Connect ContactIn to Salesforce Step by Step

Follow these steps to configure Salesforce OAuth, connect ContactIn to your Salesforce account, map WordPress form fields, and test the integration from submission to CRM sync.

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 in 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.

WORDPRESS SALESFORCE TROUBLESHOOTING

Common WordPress Salesforce Integration Issues

Most Salesforce integration problems come from OAuth configuration, field mapping or failed queue jobs. Use the checks below to identify and resolve the most common issues.

Salesforce Connection Fails

Check that the Callback URL in your Salesforce External Client App exactly matches the Callback URL shown in:

ContactIn Pro → CRM Integration → Salesforce

Then reconnect and authorise Salesforce again.

401 Unauthorized or Token Errors

The Salesforce access or refresh token may have expired, been revoked or become invalid.

Re-authorise the Salesforce connection from ContactIn Pro and confirm that the required OAuth scopes are enabled.

Contact Is Created but Some Fields Are Empty

Check the field mappings in ContactIn Pro.

Salesforce fields must use the correct API field names. A field can exist in Salesforce but remain empty if the wrong API name is mapped.

Duplicate Contacts Appear in Salesforce

Check that the email field is mapped correctly and that submissions consistently contain a valid email address.

ContactIn uses contact matching and duplicate protection, but reliable matching depends on the identifying data being available.

Salesforce Sync Is Delayed or Fails

Open the ContactIn CRM queue and sync logs to check the status of the submission.

Temporary failures can be retried. Items that repeatedly fail can be isolated for investigation and recovery rather than disappearing silently.

Salesforce Is Temporarily Unavailable

No action is normally required from the visitor.

ContactIn stores the website enquiry first and processes Salesforce delivery separately. When the external service becomes available again, failed items can be retried from the queue.

Uploaded File Does Not Reach Salesforce

First confirm that file upload and Salesforce attachment synchronisation are enabled for the relevant workflow.
Then check the CRM queue and sync logs for attachment-related errors and verify that the Salesforce user has the permissions required to create the relevant record or attachment.

Need Help With Your WordPress Salesforce Integration?

If you cannot resolve an integration issue, send us the details of the problem, including any error message shown in ContactIn.

We provide technical support for ContactIn WordPress Salesforce integration users.
Contact Support

WORDPRESS SALESFORCE INTEGRATION FAQs

WordPress Salesforce Integration FAQs

Find answers to common questions about connecting WordPress forms to Salesforce using ContactIn.

CONNECT WORDPRESS ENQUIRIES TO A MANAGED CRM WORKFLOW

Move From Form Submission to Business Action

Capture enquiries, classify intent, manage contacts, route submissions and connect structured website data with Salesforce through a reliable WordPress CRM workflow.

Scroll to Top