On-Demand Integrations Overview
Use On-Demand integrations to fetch fresh data from external systems while a field technician works. With On-Demand integrations, forms can trigger actions in external systems when the field technician answers parameter questions
A parameter question is any question defined in your form that's also used to provide values to an On-Demand Data Source or a Webhook query.. This way, technicians have access to exactly the data they need when they need it.
Two features support On-Demand data retrieval: On-Demand Data Sources
Data sources, also known as "Lookups", are external sources of data that you upload or connect to TrueContext. You can reference this data in a form to populate answers or answer options. Data sources save typing, reduce errors, and make it easy to provide mobile users with only the relevant, most current data. and Webhooks. Webhooks can call any external API—including AI services. This page includes general details about On-Demand features.
Key Concepts
What they are
-
On-Demand Data Sources fetch a filtered subset of data from a third-party system based on answers a technician provides in a form. Two Data Source
Data sources, also known as "Lookups", are external sources of data that you upload or connect to TrueContext. You can reference this data in a form to populate answers or answer options. Data sources save typing, reduce errors, and make it easy to provide mobile users with only the relevant, most current data. types support On-Demand: Salesforce Query and HTTP GET. -
Webhooks call an external REST API directly from a form during completion. The form sends parameter values to the external system and receives and stores a structured response. That response can then be displayed in the Webhook Question, routed to other questions, or both. This makes Webhooks suitable for any external API call—including AI services.
How they work
When a technician answers the parameter questions in a form, the Mobile App sends those values to the external system. The system then retrieves the data that matches the parameters. The technician must be online when the action is triggered. After the action runs, they can continue working offline.
Examples
| Scenario | Feature to use |
|---|---|
| A field technician selects a Work Order ID. The form fetches the latest work order details from Salesforce. | Salesforce Query On-Demand Data Source |
| A field technician selects a site name. The form retrieves an up-to-date list of open issues. | HTTP GET On-Demand Data Source |
| A field technician scans a barcode. The form displays read-only product details from an external system through an API call. | HTTP Webhook |
| A field technician selects a job code. The form fetches pricing data and populates cost fields automatically. | HTTP Webhook |
| A field technician describes a fault. The form sends the description to an AI endpoint and populates a recommended action field. | HTTP Webhook |
When to Use Each Feature
Choosing between standard Data Sources, On-Demand Data Sources, and Webhooks
| Characteristic | Standard Data Source | On-Demand Data Source | Webhook |
|---|---|---|---|
| Data Freshness | Refreshed up to once per hour. Users must reconcile to get the latest data. | Always fetches the latest data. | Always fetches the latest data. |
| Offline use | Available offline after reconcile. | Must be online to fetch. | Must be online to run. |
| Device storage | Higher. The app downloads all the Data Source contents. |
Lower. The app only downloads a filtered dataset. Fetched data is not stored—it is erased when the form is closed or saved as a draft. |
Minimal. The form stores any returned and routed answers. |
| Best for | Stable reference data reused across many forms | Large or frequently changing datasets. Targeted subsets of data. | Real-time API calls that display information or route a response into form answers. |
On-Demand integrations vs. App‑to‑App Communication
| Characteristic | On-Demand features | App‑to‑App Communication |
|---|---|---|
| Description | Retrieve and send data using an API call to an external system. | Send data between apps on the same mobile device. |
| Offline use | Must be online | Available offline |
| Best for | When you need current data from a third-party system. | When your data exists in a different app on the device. |
Tip:You can combine both. App‑to‑App can prefill parameter questions, which then trigger an On-Demand Data Source fetch or a Webhook call.
On-Demand in vs. Refresh on Form Open
Refresh on Form Open updates the full form, its resources, and its complete Data Source values when a technician opens a form. It cannot limit the size of the dataset or control which sensitive data is sent to the app. On-Demand Data Sources fetch only a targeted subset of data, filtered by what the technician has answered.
Configuration
On-Demand Data Sources and Webhooks both use your existing Team-level Connections
A Connection is an integration point that's used to link a TrueContext Data Source or Data Destination to an external service to import or export data. Data Destinations and Data Sources that share the same external service can also share the same Connection.. Set up a single Connection to your third-party system and reuse it with multiple Data Sources and Webhooks.
-
HTTP Connection—Establish a secure connection to your third-party system. Use the connection so set up an HTTP GET On-Demand Data Source or an HTTP Webhook.
-
Establish a Salesforce Connection—Connect to your Salesforce instance. Then, set up an On-Demand Salesforce Query Data Source.
After you set up your Connection, use it to set up On-Demand Data Sources and Webhooks.
-
Set Up On-Demand Data Sources—Enable the On-Demand option on your Data Source. Then, define parameters and run a Test Fetch. Map parameters to form questions when you set up your form.
-
Set Up a Webhook—Create a FormSpace
FormSpaces are where forms are stored and organized in the TrueContext Web Portal. A TrueContext Team may have multiple FormSpaces, depending on their needs. Admins can set FormSpace permissions to control which users have access to the forms in that FormSpace.-level Webhook using an existing HTTP Connection and configure the request. Then, add a Webhook Question to your form.
On-Demand Data Sources and Webhooks Cookbook
Step-by-step recipes for common On-Demand integrations:
Best Practices
-
Thoroughly test your setup to make sure you are retrieving or sending the right data.
-
Do not modify an On-Demand Data Source or Webhook once it is used by forms that your field technicians rely on. Adding, removing, or renaming parameters can break active form versions. Create a new Data Source or Webhook instead.
-
Make sure parameter questions are not hidden on device, made invisible by Conditional Logic, or are part of a section ignored by Conditional Logic. If a parameter question
A parameter question is any question defined in your form that's also used to provide values to an On-Demand Data Source or a Webhook query. is not visible, the On-Demand integration won't run. -
Design for failure. Make sure technicians know what to do if a fetch fails, especially in low-connectivity environments.
-
Monitor your API call limits. Every fetch counts. A data fetch happens when:
- The last required parameter has been provided.
- The answer to a parameter question changes. This can happen when a field user changes the answer, or when a conditional logic rule results in a change.
- A field user manually refreshes on-demand data, or selects Run Action for a Webhook.
- A user opens a:
- Form that was dispatched to the user or group with the parameter questions pre-filled.
- Form saved as a draft on their device where the parameter questions had been answered.
- Form transferred as incomplete that had the parameter questions answered.
- Completed form to edit it.
-
For On-Demand Data Sources, filter your data so that your users only download the data they need. Narrow queries fetch faster and are less likely to hit size limits.
-
Keep Webhook payloads small. Send only the parameters the external system requires. Return only the data the form needs.
-
Use clear question text and help text on Webhook Questions. Technicians should know what the Webhook does, when it runs, and what to expect after it runs.
-
When dispatching to forms that contain Webhook Questions, target the parameter questions. You cannot dispatch directly to a Webhook Question.
-
Avoid making a Webhook Question required unless the business process cannot continue without the result. Required Webhook Questions can block form completion when connectivity is poor.
-
Use a dedicated HTTP Connection for production Webhooks. Limit its permissions to only the operations your Webhooks need.
-
Do not expose secrets, tokens, or sensitive data in parameter values or responses that technicians can see in the form.
Technical Details
Supported question types
The same question types work as parameters for On-Demand Data Sources and Webhooks.
You can use any of these single-answer question types for parameter questions:
- Barcode Scanner
- Button Group
- Card List
- Duration Field
- Slider, Stepper
- Text Area
- Text Field
- Dropdown, Radio Button (but not Multiselect)
On-Demand questions — the questions that display fetched data — support Dropdown, Multiselect, and Radio Button. This is the same as standard Data Sources.
HTTP Webhook Questions are their own question type.
On-Demand Data Source limits and behavior
-
A fetch triggers when all parameter questions are answered, when a parameter answer changes, or when a user manually refreshes.
-
The device must be online when a fetch is triggered.
-
Each form supports up to 5 unique fetch requests. Fetches return up to 1,000 rows and 10,000 cells. Webhook fetch requests are counted separately.
-
Each fetch counts as an API call to your third-party system.
-
Data partitioning, Excel/CSV download, and Merge are not compatible with On-Demand Data Sources. CSV download is available when running a Test Fetch.
Webhook limits and behavior
-
Webhooks support REST APIs only. Responses must be text-based, such as JSON or plain text.
-
Each form supports up to 5 webhook controls. Calls are synchronous — one request and one response per session.
-
Webhooks are not available in Customer Feedback forms, Repeatable Sections, or Template-based Sections. They cannot be used in Conditional Logic rules or in Concatenation questions.