Skip to content

Changelog

Every release of Salesforce Integration for Gravity Forms, newest first — new features, enhancements, and fixes.

Current version 1.5.2 Last updated: Sep 2, 2026

1.5.2

Latest
  • NewAdded a per-feed "Process this feed during submission" option that syncs before the confirmation is shown, so {salesforce_id} and {salesforce_link} resolve in confirmations and submission notifications.
  • NewDeleting a Gravity Forms entry note now deletes the Salesforce Note it created, for notes added after this update.
  • FixOnly admin-added entry notes are mirrored to Salesforce; Gravity Forms' own notification and payment notes are skipped.
  • FixCampaign ID and Member Status accept merge tags, as their tooltips said.
  • FixThe entry sidebar, its record link and the Re-send button stay available when "Disable storing Salesforce entry logs" is on.
  • FixTooltips on the Sync Settings checkboxes and the assignment-rules checkbox now display; they were never rendered.
  • FixAdding an entry note while note sync is on no longer changes the note ID Gravity Forms returns to its own API and REST endpoint.

1.5.1

  • FixThe {salesforce_id:FEED_ID} and {salesforce_link:FEED_ID} merge tags now resolve to that feed's record instead of the value of a form field with the same number.
  • FixA feed-specific merge tag for a feed that created no record is now empty, so a lookup mapped to it stays blank rather than being filled with another feed's record ID.
  • FixMapping more than one File Upload field to the Files row on a single feed now attaches every file instead of only the last field's.

1.5.0

  • NewAdded a conflict check that stops a feed instead of creating a record when an existing Salesforce record already matches, on one or more fields combined into a single lookup.
  • NewThe field mapping, match fields and object pickers reload from Salesforce as soon as you change the Salesforce object or account, instead of staying on the previous object until you save.
  • FixDuplicate matching on a postal code, phone number or any other all-digit value now runs instead of failing, because values are quoted according to the Salesforce field's type rather than their own shape.
  • FixSites that ticked "Delete all plugin data when uninstalling" before 1.4.0 have that choice honoured again, including where an inactive license makes re-saving the settings impossible.
  • FixUninstalling on a multisite network now removes the network license options, which were left behind.
  • FixA mapped file that is missing is reported as missing, rather than as a file outside the uploads directory.
  • EnhancementAdding an Org ID account now uses the values typed into the form, with no separate settings save first, matching how OAuth accounts already connect.
  • EnhancementThe add-account button for the connection method you choose appears straight away, with only the fields that method needs.
  • EnhancementRemoving a Salesforce account asks for confirmation first and says what happens to feeds still pointed at it.
  • EnhancementConnecting an account, setting a default or removing one no longer warns about unsaved changes on the way out.
  • EnhancementThe Salesforce menu uses a cloud icon rather than the default Gravity Forms cog.

1.4.0

  • NewAdded a pb_gfsf_allowed_salesforce_domains filter for orgs reached on a custom Salesforce domain.
  • SecurityThe Salesforce login URL, the instance URL Salesforce returns, and the Web-to-Lead URL are checked against Salesforce's own domains before any credential or entry data is sent to them.
  • SecurityFile uploads are confined to the WordPress uploads directory, so a hand-edited file mapping cannot send an unrelated file from the server to Salesforce.
  • SecurityUninstalling the add-on now requires full Gravity Forms access rather than form-editing rights.
  • SecurityA connection in progress can only be completed by the user who started it.
  • SecurityAdded an Update URI header so a same-named plugin on WordPress.org cannot take over this plugin's updates.
  • FixClosed three gaps in the token-refresh lock: two requests could still refresh at once, an abandoned lock could block every later refresh, and a finished request could release a lock it no longer held.
  • FixRefreshing one account's token no longer reverts a token another account refreshed moments earlier.
  • FixA token refresh Salesforce accepted but that could not be saved reports an error and flags the account, instead of reporting success and leaving the connection unusable.
  • FixA List field mapped to Salesforce arrives as its actual rows instead of raw serialized data.
  • FixDuplicate matching joins multi-choice values the same way the record does, so overriding pb_gfsf_multi_value_delimiter no longer creates a duplicate record on every submission.
  • FixRecord Types load reliably instead of staying empty for up to six hours after the field list was cached.
  • FixTwo accounts connected to the same Salesforce org no longer share one cached field list.
  • FixA bad lookup value in a mapped field is reported instead of being mistaken for a deleted record.
  • FixThe Max File Size setting enforces its 1 to 25 MB range in the browser, and the limit is applied when a file is sent rather than only when the setting is saved.
  • FixWordPress recognises the Gravity Forms requirement, so the plugin can no longer be activated without it.
  • FixDeactivating Gravity Forms no longer stops license checks and plugin updates.
  • Fix"Delete all plugin data when uninstalling" works on sites that define GF_ENCRYPTION_KEY, where the setting could not be read and the cleanup silently did nothing.
  • FixUninstall clears the Salesforce results stored against entries, and a leftover option from pre-multi-account versions that still held Salesforce tokens.
  • FixThe license status badge on the Salesforce settings page is styled again.
  • EnhancementA failed connection attempt reports the reason Salesforce gave, such as a bad client secret or a blocked IP address, instead of a generic failure.
  • EnhancementReaching the Salesforce API request limit is reported as rate limiting rather than an unexplained submission failure.
  • EnhancementA submission waiting on another request's token refresh checks four times in the first second instead of twice, and gives up after about eight seconds instead of ten.
  • EnhancementA failing Salesforce connection no longer re-issues a request for every object each time a settings screen loads.

1.3.0

  • NewConnecting an account is now refused when Salesforce returns no refresh token, naming the OAuth scope to add, instead of reporting success and failing at the next session timeout.
  • NewThe Accounts list reports a real connection state — Connected with a last-verified time, Needs attention, or Reconnect required — rather than always reading Connected.
  • NewOutgoing request payloads and failed Salesforce responses are written to the Gravity Forms log when logging is enabled, so you can see exactly what was sent.
  • NewAdded a pb_gfsf_multi_value_delimiter filter to change the separator used when a Multi Select or Checkboxes field is sent to Salesforce.
  • FixMulti Select fields reach Salesforce as a semicolon-separated list instead of the raw JSON that multi-select picklists rejected with INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST.
  • FixCheckboxes fields mapped by their parent field reach Salesforce semicolon-separated instead of joined with spaces.
  • FixA rejected session with no stored refresh token now reports that no refresh was attempted, instead of passing through Salesforce's misleading Session expired or invalid (INVALID_SESSION_ID).
  • FixA failed token refresh reports the reason Salesforce gave, such as an expired refresh token or a blocked IP address, instead of a generic failure message.
  • FixConcurrent submissions can no longer replay the same refresh token, which under Refresh Token Rotation invalidated the connection and forced a manual reconnect.
  • EnhancementEach account records when it last refreshed, last succeeded, and last failed, so a broken connection is visible before submissions start failing.
  • EnhancementA Checkboxes field mapped to a plain text field now arrives semicolon-separated rather than space-separated; use the new pb_gfsf_multi_value_delimiter filter to restore the previous output.

1.2.0

  • NewConnect a Salesforce account in one click: fill in the credentials and the Connect Account button sends you straight to Salesforce authorization, with no separate settings save first.
  • FixConnection and authorization notices now display on the settings page instead of being hidden by Gravity Forms' admin notice filtering.
  • FixReconnecting an org that is already linked updates the existing account instead of creating a duplicate entry.
  • FixFeeds set to Create Only now skip matched records instead of switching to an update.
  • FixDeleting an entry with no recorded Salesforce account no longer falls back to the default account for the record delete.
  • FixToken refreshes triggered without an explicit account now save the refreshed tokens, protecting connections that use Refresh Token Rotation.
  • EnhancementFeed settings cannot be saved while the plugin license is inactive.
  • EnhancementAdmin scripts and styles refresh automatically in the browser when the plugin updates.

1.1.4

  • FixAccounts using Refresh Token Rotation (including Spring '26 External Client Apps) now stay connected past the first token refresh — the rotated refresh token is saved instead of discarded.
  • EnhancementFeed processing now runs in the background so Salesforce API calls no longer delay form submission, with a pending status logged until the sync completes.
  • EnhancementAdded an inline Test action to each connected account that verifies the Salesforce connection without leaving the settings page.
  • EnhancementDisconnecting or removing an account now revokes its OAuth tokens with Salesforce.
  • FixLive-synced picklists and prefill now tolerate Salesforce API failures without breaking rendering of the rest of the form.

1.1.3

  • EnhancementRenamed the plugin to "Salesforce Integration for Gravity Forms" across the WordPress Plugins list, the Gravity Forms feed UI, and the license screen.

1.1.2

  • EnhancementHardened admin-area redirects with wp_safe_redirect() and sanitized Salesforce OAuth error descriptions and stored admin notice messages.

1.1.1

  • FixMapping a Gravity Forms Name or Address field's "Full" option (the parent input) to a Salesforce field now sends the concatenated sub-input values (Name parts joined with a space, Address parts with ,) instead of silently dropping the row.

1.1.0

  • NewRecord Type is now selectable in the field-mapping UI for Drop Down, Multi Select, Radio, and Checkbox fields on any Salesforce object that exposes selectable record types — the form displays the record type name and submits the Record Type ID; both Populate and Live Sync modes are supported.
  • NewThe Record Type entry in the form-editor field-mapping sidebar now reminds admins to also map the field to RecordTypeId in the feed mapping so the chosen record type is persisted.
  • EnhancementRecord Type list filters out the implicit "Master" record type and any record types the connected OAuth user cannot assign (available: false), preventing submissions that would fail at the Salesforce REST API layer.
  • Enhancementsobjects/{object}/describe responses now cache recordTypeInfos alongside fields, so RecordType lookups reuse the existing 6-hour describe transient and add no additional Salesforce API calls.

1.0.0

  • NewInitial release.

← Back to Salesforce Integration for Gravity Forms