Skip to main content

Salesforce (Sales Cloud)

Integrate with Salesforce to automatically create or update leads in Sales Cloud from your form submissions.

Integrating Formulayt with Salesforce (Sales Cloud)

Formulayt can push form submissions into Salesforce Leads via the Salesforce REST API. This allows you to capture form data in Salesforce and further process it with your internal workflows, assignment rules, or any existing Salesforce automation.

Integration requirements

1. Salesforce admin access

You'll need a user with the System Administrator profile (or equivalent permissions) to create an External Client App in Salesforce and grant appropriate OAuth scopes.

2. External Client App

An External Client App must be created in your Salesforce org to enable Formulayt to perform OAuth 2.0 authentication. You will retrieve a Consumer Key and Consumer Secret from that app, then enter them into Formulayt.

3. OAuth 2.0 authorization

You'll complete the OAuth flow from within the Formulayt admin, using your Salesforce credentials. This grants Formulayt a refresh token for ongoing access to create/update leads.

Once configured, each form submission can be matched against an existing lead (by fields like email) or create a new lead if no match is found.

Step 1: Create an External Client App in Salesforce

  1. Go to Setup

    1. In the top-right corner of your Salesforce org, click the gear icon and select Setup.

  2. Navigate to External Client App Manager by using the search.

  3. New External Client App

    1. Click New External Client App.

    2. External Client App Name: “Formulayt.”

    3. Contact Email: development@formulayt.com (or your preferred owner email).

  4. Enable OAuth Settings

    1. Under the API section, check Enable OAuth.

    2. Callback URL:

      1. In Formulayt, open Apps → Salesforce and copy the OAuth Redirect URL displayed there. Paste it into the External Client App’s Callback URL field exactly as displayed. Note that the callback URL is unique for each Salesforce - Formulayt connection, so keep this page open to add Salesforce settings back in later.

    3. Selected OAuth Scopes:

      1. Access and manage your data (api)

      2. Perform requests at any time (refresh_token, offline_access)

    4. Under Security, leave “Require Proof Key for Code Exchange (PKCE)” enabled. Keep “Use PKCE for OAuth?” enabled in Formulayt. The two settings must match. Only disable PKCE for a legacy External Client App that was deliberately configured without it.

    5. Save and Retrieve Keys

      1. After saving, Salesforce displays your Consumer Key and Consumer Secret under the Settings tab OAuth Settings. Make sure to record these.

    6. Set Refresh Token Policy

      1. Go to Policies → OAuth Policies.

      2. Set Refresh Token Policy to “Expire refresh token if not used for” and enter 30 days.

      3. Do not select “Refresh token is valid until revoked”.

      4. If Salesforce issues a replacement refresh token, Formulayt stores it automatically.

      5. Connections unused for more than 30 days can expire and will need to be reconnected.

Step 2: Create and permission the Salesforce integration user

The Minimum Access – API Only Integrations profile does not automatically grant access to Leads. Create and assign a permission set that gives the integration user only the access Formulayt needs.

1. In Salesforce Setup, navigate to Permission Sets and create a permission set named, for example, Formulayt Sales Cloud Integration.

2. Under Object Settings → Leads, grant Read, Create and Edit.

3. Grant readable and editable field access to every Lead field used in Formulayt’s search and update mappings, including the Lead email field.

4. Assign the permission set to the dedicated integration user.

5. Confirm that your organisation’s Lead sharing rules allow the user to find and update the Leads that Formulayt should match.

Additional permissions may be required if Salesforce validation rules, flows or other automation reference fields that the integration user cannot access.

Step 3: Enter Salesforce details in Formulayt

Once your External Client App is set up, log in to your Formulayt admin area:

  1. Open the Salesforce integration

    • Under Apps, find Salesforce

    • You'll see fields like Consumer Key, Consumer Secret, and a button to Connect your SFDC account

  2. Fill in the required fields

    • Salesforce My Domain: If applicable, enter the full URL including https://. For a sandbox with its own My Domain, use the full sandbox URL.

    • Sandbox mode: Enable this for a sandbox unless authentication is already being directed through a sandbox My Domain URL.

    • Use PKCE for OAuth?: Keep enabled for the External Client App configured above.

    • Consumer Key: Enter the Consumer Key from the External Client App.

    • Consumer Secret: Enter the Consumer Secret from the External Client App.

    • Click “Connect your Salesforce account” and complete the Salesforce authorisation.

  3. Connect your SFDC account (OAuth)

    • Click "Connect your SFDC account"

    • You'll be redirected to Salesforce to authorize

    • Sign in with the dedicated Salesforce integration user created above.

    • After authorizing, you'll be redirected back to Formulayt, and the refresh token is stored securely

Once authenticated, Formulayt can continuously push form submissions into Salesforce leads.

After changing Salesforce My Domain, Sandbox mode, PKCE, Consumer Key or Consumer Secret, disconnect and reconnect the Salesforce connection.

Step 4: Define your field mapping

After integration is active, you can choose which fields from your Formulayt forms map to which Salesforce Lead fields:

  1. Lead search field mapping:

    • Tells Formulayt which combination of fields to compare when searching for existing leads (e.g., "Email")

    • If a match is found, the lead is updated; otherwise, a new lead is created

  2. Lead update field mapping:

    • Tells Formulayt how to populate Salesforce lead fields from your form submission fields

    • For example, "Formulayt field FirstName → Salesforce Lead field FirstName"

    • Email should always be mapped to the Salesforce Lead Email field so that matching/creation works properly

You can access these mapping configurations in the same Salesforce Integration settings in Formulayt.

Common issues

Confirm that the integration user’s permission set grants access to the Lead object and every field used in the Formulayt mappings. The Minimum Access profile alone does not grant these permissions.

If you encounter any issues with the Salesforce integration after following these steps:

  • Check your External Client App settings (Consumer Key, Secret, OAuth scopes)

  • Make sure your Salesforce user has API permissions and can create/update leads

  • Ensure you completed the OAuth authorization from Formulayt successfully

  • Confirm that PKCE is either enabled in both Salesforce and Formulayt or disabled in both.

  • If the integration was unused for more than the configured 30-day period, reconnect it in Formulayt.

  • After changing any OAuth or domain setting, disconnect and reconnect before testing again.

Did this answer your question?