Two ways to run ForceForms

Run light forms entirely inside Salesforce, or hand heavy work to Google Cloud Run. Pick the mode that fits each form.

For low volume

Native mode

Data stays in Salesforce and is processed in Salesforce.

  • No external API callouts, so external API limits are preserved.
  • Form data, personal information and sensitive data never leave Salesforce.
  • Best for simple form-to-record mappings, such as lead capture and “Contact Us” forms.

For high volume

Cloud Run mode

Heavy work runs on Google Cloud Run. Results are pushed back to Salesforce.

  • Takes the heavy processing off Salesforce, protecting its CPU time and governor limits.
  • Submissions are processed in memory and pushed straight back to Salesforce. The external server does not store them.
  • Ideal for high-traffic events, complex data transformations and rich PDF documents.

How each mode handles a submission

Where your data is processed
Native modeNo external API callouts
  1. Form submitted The answers arrive in Salesforce. Salesforce
  2. Processed in Salesforce FormProcessingEngine maps the answers and writes the records. Salesforce
  3. Record and log The record and its log stay in Salesforce. Salesforce
Cloud Run modeNot stored on the server
  1. Form submitted The answers arrive in Salesforce. Salesforce
  2. Encrypted webhook An encrypted JSON payload is sent to Google Cloud Run. Google Cloud Run
  3. Processed in memory Heavy work and rich PDFs run off Salesforce. Google Cloud Run
  4. Pushed back The finished data returns to Salesforce through the REST API. Salesforce

Native mode and Cloud Run mode, side by side

Native mode and Cloud Run mode, side by side
  1. Primary use case

    Native mode

    Best for simple form-to-record mappings (for example standard lead capture and “Contact Us” forms).

    Cloud Run mode

    Ideal for high-traffic events, complex data transformations, or heavy tasks like generating rich PDF documents.

  2. API usage and limits

    Native mode

    Uses zero external API callouts. Preserves external API limits.

    Cloud Run mode

    Absorbs the heavy computational load externally, preventing Salesforce CPU timeout errors and preserving internal governor limits.

  3. Processing logic

    Native mode

    Bypasses the webhook callout. FormProcessingEngine handles the payload locally: it parses the JSON, evaluates mappings, runs SOQL and DML natively, and writes logs directly in Salesforce.

    Cloud Run mode

    ForceFormsWebhookService sends an encrypted JSON payload by HTTP POST webhook to a stateless Node.js microservice. The server decrypts it, runs the tasks, and pushes the finished data back to Salesforce through the REST API.

  4. Data security and privacy

    Native mode

    Form data, personal information and sensitive data never leave the Salesforce environment.

    Cloud Run mode

    Form data is processed securely in memory and instantly pushed back to Salesforce. The external server does not store submission data.

  5. Authentication and connectivity

    Native mode

    Needs no external authentication tokens to process data.

    Cloud Run mode

    Keeps specific OAuth credentials (clientId, clientSecret) in a secure Firestore database, so it can authenticate back into the customer’s Salesforce org.

Not sure which mode you need?

Tell us about your forms and expected volume and we’ll recommend one in the demo, or by email.

Your privacy choice

We use one small cookie to remember this choice. If you accept, we also use Matomo analytics to count visits and see which pages are used, so we can improve the site. We do not use advertising cookies. Read the privacy policy (opens in a new tab)

You can change this at any time with "Cookie settings" at the bottom of every page.