Salesforce Integration For WordPress | Ninja Forms Add-On

Ninja Forms +
Salesforce CRM

Map WordPress form submissions to Salesforce Leads, Contacts, Opportunities, or any custom Object with no code required.

Getting WordPress form data into Salesforce shouldn’t require a developer, a middleware tool, or a manual export routine. The Ninja Forms Salesforce CRM add-on connects your forms directly to your Salesforce account so every submission lands where it belongs, automatically.

With the Salesforce CRM add-on, you can:

Map Any Salesforce Object
Send form data to Leads, Contacts, Opportunities, Accounts, or any custom Object in your Salesforce account.
Visual Field Mapping
Click to match form fields to Salesforce fields inside the Ninja Forms builder. No code, no configuration files.
OAuth 2.0 Authorization
Connect securely via OAuth without storing your Salesforce username or password in WordPress.
Duplicate Detection
Check for existing records before creating new ones. Flags duplicates and creates a Salesforce task for review.
Campaign Linking
Associate submissions with a Salesforce Campaign for clean marketing attribution from the first touchpoint.
File Upload Support
Automatically send file upload links from Ninja Forms submissions straight to Salesforce.
Sandbox & Test Support
Connect to a Salesforce sandbox environment to test your integration before it goes live.
And Much More…
Fixed value mapping, date formatting, programmatic field names, and advanced diagnostics for troubleshooting.

Key Features of Salesforce CRM

Map form fields to Salesforce Objects and fields

Your Salesforce account organizes data into Objects: Leads, Contacts, Opportunities, Accounts, and any custom Objects your organization has built. The Salesforce CRM add-on lets you select exactly which Objects and Fields to pull into Ninja Forms, then map your form fields to them one by one. You’re not locked into a generic lead form. If your workflow routes new inquiries to Opportunities instead of Leads, or if you maintain a custom Object for a specific department, you can map to it directly.

Only pull in the Objects you actually use. As your needs change, adding more is a matter of a few clicks in your settings, not a new development cycle.

Ninja Forms Salesforce settings showing retrieved Objects including Lead, Contact, and Opportunity

Visual field mapping inside the form builder

Once your Objects and Fields are loaded, mapping happens inside the Ninja Forms builder. Add the “Add to Salesforce” action to your form, open the field map, and click to match each form field to its Salesforce counterpart. The interface shows your form fields on one side and your Salesforce fields on the other. No code, no configuration files, no developer on standby.

You can also send fixed values alongside submitted data. For example, you might always want to stamp new Leads with a “Lead Source” of “Web Form” regardless of what the user fills in. Set that directly in the field map without touching your form or your Salesforce account settings.

Ninja Forms form builder showing the Add to Salesforce action with form fields mapped to Salesforce Lead fields

No-code setup with OAuth authorization

Connecting to Salesforce uses OAuth 2.0 via a Connected App you create in your Salesforce account. This means your Salesforce username and password are never stored in WordPress. You generate a Consumer Key and Consumer Secret in Salesforce, enter them in Ninja Forms settings, then authorize the connection with a single click. From there, Ninja Forms holds a refresh token and handles authentication automatically on every form submission.

The entire process from creating the Connected App to publishing your first mapped form can be completed without writing a single line of code. Step-by-step documentation covers each stage.

Ninja Forms Salesforce Settings panel showing Consumer Key, Consumer Secret, and confirmed connection status

Duplicate record detection

When a form is submitted, the add-on can check your Salesforce account for an existing record that matches the data being sent. If a duplicate Lead or Contact is found, the add-on flags it and creates a Salesforce task for review rather than writing a second record and corrupting your CRM data.

Duplicate detection is configured per field in the field map. Enable it on the email field, the phone field, or whichever field your organization treats as the unique identifier for a record.

Ninja Forms field map row showing the Check for duplicates data handling instruction enabled on an email field

Salesforce Campaign linking

Associate form submissions with a Salesforce Campaign so every new Lead or Contact carries marketing attribution from the moment it enters your CRM. This is particularly useful for teams running paid campaigns, email sequences, or event registrations who need to track which marketing effort drove a conversion without manual tagging after the fact.

Ninja Forms Salesforce action settings showing a Campaign linking field inside the form builder

File upload support

Automatically send file upload links from Ninja Forms submissions straight to Salesforce. Works alongside the Ninja Forms File Uploads add-on. If your intake forms collect supporting documents, ID photos, or signed agreements, the direct file links are available in Salesforce with the rest of the submission data.

Salesforce Lead record showing a file attachment link sent from a Ninja Forms submission

Sandbox and test environment support

Before you deploy a new form or change your field mapping, connect to a Salesforce sandbox environment to test your configuration without touching production data. Sandbox support is fully documented with step-by-step instructions for setting the correct OAuth endpoint, adjusting your Connected App callback URL, and authorizing the test connection. Switch between sandbox and production by updating a single setting, no separate plugin install required.

Ninja Forms Salesforce Settings showing the sandbox mode advanced command configured

Connect Your WordPress Forms to Salesforce Today

The Salesforce CRM add-on is available as a standalone purchase or included with the Ninja Forms Pro and Elite memberships. Pick your plan and start mapping forms to Salesforce in minutes.

Priority email support and 14-day money-back guarantee included.

Why This Beats Salesforce Web-to-Lead

Salesforce’s built-in Web-to-Lead generates a raw HTML form you paste onto your site. It works for the simplest case: one form, one Object, basic fields. But it comes with real constraints that affect most organizations using WordPress seriously.

  • No conditional logic: Web-to-Lead sends the same fields to everyone. Ninja Forms lets you show or hide fields based on previous answers, and send only the relevant data to Salesforce.
  • No file uploads: Web-to-Lead cannot attach documents to a Lead. The Salesforce CRM add-on can send direct file links to the record.
  • Daily lead limits: Salesforce caps Web-to-Lead submissions at 500 per day. The add-on uses the API directly, so no cap applies.
  • Single Object only: Web-to-Lead creates Leads. The add-on maps to any Object: Contacts, Opportunities, Accounts, or custom Objects.
  • No duplicate detection: Web-to-Lead creates a new Lead every time. The add-on can check for existing records and create a review task instead of a duplicate.
  • Raw HTML, no form builder: Web-to-Lead gives you markup to style yourself. Ninja Forms gives you a drag-and-drop builder, pre-built templates, multi-step forms, and every other form feature you already use.

Which Salesforce Editions Work With This Add-On

The Salesforce CRM add-on uses the Salesforce API, which requires API access to be enabled on your Salesforce account. API access is included by default on Enterprise, Unlimited, Developer, and Performance editions. If you are on a Professional or Essentials edition, check with your Salesforce account representative about enabling API access before purchasing this add-on.

Common Use Cases

  • Capture leads directly into Salesforce without manual entry: Replace copy-paste from email or spreadsheet with automatic Lead creation on every form submission. Start with a pre-built lead generation form template or build your own.
  • Create Salesforce Contacts from event registrations: Route event sign-up data to your Contacts Object rather than Leads, keeping your CRM organized by how the person relates to your organization.
  • Route sales inquiries to Opportunities: Map a “Request a Quote” or “Talk to Sales” form directly to an Opportunity record so your sales team can work the deal from the moment it’s submitted.
  • Track marketing attribution with Campaign linking: Tie every form submission to the Salesforce Campaign that drove it, giving your marketing team clean conversion data without post-submission tagging.
  • Replace Web-to-Lead for high-volume sites: Bypass the 500-submission daily cap and gain conditional logic, file uploads, and multi-step form support that Web-to-Lead cannot provide.
  • Collect documents alongside intake data: Use the File Uploads add-on together with Salesforce CRM to send signed agreements, ID photos, or supporting files directly to the related Salesforce record.

The Salesforce Form Builder Integration Your Team Has Been Waiting For

Stop copying form submissions into Salesforce by hand. The Salesforce CRM add-on is available as a standalone purchase or included with the Ninja Forms Pro and Elite memberships. Choose your plan and get your first form mapped today.

Priority email support and 14-day money-back guarantee included.

Frequently Asked Questions

How do I integrate Salesforce with WordPress?

Install the Ninja Forms Salesforce CRM add-on, create a Connected App in your Salesforce account, and enter your Consumer Key and Consumer Secret in the Ninja Forms settings. Authorize the connection via OAuth, retrieve your Objects and Fields, then map your form fields to Salesforce inside the Ninja Forms builder. No code required at any step.

Which WordPress form builder integrates with Salesforce?

Ninja Forms has a dedicated Salesforce CRM add-on that connects directly to the Salesforce API. It supports visual field mapping, multiple Salesforce Objects (Leads, Contacts, Opportunities, Accounts, and custom Objects), duplicate detection, Campaign linking, and sandbox testing, all without writing code.

Can I create Salesforce Leads from a WordPress form?

Yes. Add the “Add to Salesforce” action to any Ninja Forms form, select the Lead Object, and map your form fields to Salesforce Lead fields. Every submission creates a new Lead record automatically. You can also enable duplicate detection to avoid creating duplicate records when the same person submits more than once.

What is the best Salesforce plugin for WordPress?

Ninja Forms Salesforce CRM add-on is a dedicated integration that supports multiple Salesforce Objects, visual no-code field mapping, OAuth 2.0 authorization, duplicate detection, and sandbox testing. It works with any form you build in Ninja Forms, including multi-step forms and forms that use conditional logic or file uploads.

Does this work with Salesforce Contacts and Opportunities, not just Leads?

Yes. The add-on supports any Salesforce Object your account has access to, including Contacts, Opportunities, Accounts, and custom Objects. Select which Objects to retrieve in the settings, then map your form fields to whichever Object your workflow requires.

Is Salesforce Web-to-Lead the same as this add-on?

No. Web-to-Lead is a native Salesforce feature that generates a basic HTML form. It is limited to the Lead Object, caps submissions at 500 per day, and does not support conditional logic, file uploads, or duplicate detection. The Ninja Forms Salesforce CRM add-on uses the Salesforce API directly, supports any Object, has no submission cap, and works with the full Ninja Forms feature set.

Do I need a developer to set up the Salesforce integration?

No. The entire setup uses OAuth 2.0 authorization and a click-to-map interface inside the Ninja Forms builder. You create a Connected App in Salesforce, enter your credentials in WordPress, authorize the connection, and map your fields. Step-by-step documentation covers each stage. No code, no plugins beyond the add-on, no developer required.

Which Salesforce editions work with this add-on?

The add-on uses the Salesforce API, which requires API access. API access is included by default on Enterprise, Unlimited, Developer, and Performance editions. Professional and Essentials edition users should confirm API access with their Salesforce representative before purchasing.

Changelog

3.3.6 (14 April 2026)

Bug Fixes:

  • Fix PHP 8.2+ deprecation notices
  • Fix refresh token not generating due to authorization code encoding issue
  • Fix translation loading before \’init\’ hook in admin settings

3.3.5 (09 February 2026)

Bug Fixes:

  • fix sandbox connection failure caused by filter timing issue

3.3.4 (3 February 2025)

Bug Fixes:

  • Add ReturnTypeWillChange
  • Adjust timing of translation functions

Other:

  • Change action name

3.3.3 (20 February 2024)

Bug Fixes

  • Update plugin header information

Other:

  • Remove deprecated folder
  • Update automated testing structure

3.3.2 (19 October 2022)

Bug Fixes

  • Fix date interval error
  • Fix debug data not displaying on settings page

3.3.1 (11 October 2021)

Bug Fixes:

  • correct errant upgrade function name

Enhancements:

  • Add debug diagnostics to support

3.3.0

* Enhancements *
– Add Advanced Command that sets sandbox login URL

* Bug Fixes *
– Prevent error in which multiple Salesforce actions cause redeclaration errors

3.2.0

Add check for empty date field and remove

Refactor duplicate check as separate method (also fixes duplicate check error)

Add context to response analysis for better handling create vs getrecords

Markup Debug HTML for easier reading on screen

3.1.0

2018.04.26
Add contextual help to support form designers connect with Salesforce

Add Format for Salesforce Currency special instruction

Add filter to modify array delimiter for multiselect and equivalent data

Add Special Instructions to replace commas with semi-colon in strings

Change SSLVerify default to true, was false, and add filter and advanced command
to override new default

Add listener for key change – auto update merge tags in field map form_field

Separate pre-3.0 files and classes to enable ongoing 3.0 development. Shared
functionality with 2.9 hinders the ability to develop new features; separate
the files so that 3.0 development can continue without breaking 2.9

Add check for comm_data[\’status\’] is set in Settings

3.0.6

2017.10.26
Remove integer 0 from boolean data handling array and specifically set true value

3.0.5

2017.10.20
Correct typo in special instructions
Special instructions option to preserve ampersand and quote marks
Scrub action settings to remove field option dropdown values during save

3.0.4

2017.09.23
Add boolean for data handling

3.0.3

2017.05.19
Add Campaign Linking
Remove HTML tags that appear in text areas
Remove builder template action hooks
Use htmlentities for settings display – avoid html output from response

3.0.2

2017.04.14
Add status message for Salesforce 403 Forbidden error
This is for Salesforce accounts which do not have API access enabled

3.0.1

2017.03.20
Change slug and name constants for auto update

3.0

Add handling for extracting file from file upload in NF3

Add file upload special instructions

Move duplicate check array to shared functions for NF3 use

Correct Field Map Upgrade lookup

Upgrade to NF3

1.2.2

Add date formatting function so that form designer can use local date format
on form and date will converted to Salesforce-required date format prior
to submisssion

1.2.1

Fix is_array code in validate_raw_form_value method in build request

1.2

Enable Sandbox mode by way of a filter
Correct duplicate filter name for child object array modifications
Add support for file uploads into Salesforce
Add json request to communication details when Salesforce rejects the request

1.1.1

2015.05.12
Add status update when duplicate check is not requested; before, if no
duplicate check is performed, status does not update. This change will
enhance support

1.1

2015.03.23
Add feature – check for duplicate values and create task to validate duplication

1.0.7

2015.01.22
Check for available fields before refreshing object;
Before would throw a warning if settings were unable to
retrieve an object. After checks for null and sets
a descriptive error

1.0.5

2015.01.19
Add automatic connection of Note to Lead, Contact, Account

1.0

Begin