Genie Snap® Integrations Guide
Connect forms to other systems without writing code: pull data into a form, fill dropdowns from an external API, create submissions on other forms, and send emails or webhooks when submissions are created or updated. To call Genie Snap from your own code, see the API Reference.
Integrations and API
The API reference has its own page: Genie Snap API Reference. It covers API keys and authorization, creating, updating, deleting, and retrieving submissions, document generation, and the eSignature API with webhook callbacks. Every generated workflow uses the same endpoints, authorization, and contract structure, so one integration pattern works for all of them.
Integrations configured in the dashboard, without code, are below: the form's integration button and event integrations.
Form UI Integration Button
At the top of each form, users can click a button to pull in external data and have it applied directly to the form's input elements.
The button can be customized to use either POST or GET requests, along with variable inputs, headers, and a POST body if needed.
You can also customize the mapping so that fields from the external data line up correctly with the form’s inputs by name.
A built‑in test area lets you verify that the data pull works as expected before using it live.
Select Form Editor Guide: Integration Button for details.
Event Integrations
Guidance: Event integrations connect your forms to external systems, other forms, email, and webhook endpoints. Create the integration, update it with its details, then turn on its Active column. A form can have any number of them.
Examples:
- Two emails per submission: one to finance with a templated message and the contract, and one to operations with its own message, the contract, and the JSON data.
- Two downstream systems: two outbound integrations for an onboarding request, each sending the document, the JSON data, or both.
- Chained requests: one onboarding request creates a security access request, a hardware request, and a system access request. Each target form must exist in Genie Snap, with its own Internal Submission Generator mapping the onboarding request to it. The new submissions appear in each team's list.
Note: active External Lookup Lists can be used on any form across your teams; open a dropdown in the form editor to see them. For best performance, limit the page size to 20.
- Step 1: Create the integration type by selecting "Create Integrations" link. You'll select the integration type from here.
- Step 2: Upon saving from step 1, an integration record is created and here you'll edit the properties that are unique to that integration type.
- Step 3: Update the integration and then select the test button.
- Step 4: Select "Active" from the integration list when ready to use.
Genie Snap supports four integration event types that are in addition to API and web form get integration. Each type is designed to automate a different part of your workflow: External Lookup Lists, Internal Submission Generators, Outbound Push Email, and Outbound Push Integrations. These integrations run automatically when submissions are created or updated, depending on your configuration and the external lookup list is on demand.
External Lookup List
External Lookup Lists allow your forms to retrieve data from external APIs. These lists appear as selectable integrations inside the form editor and populate dropdowns dynamically.
Configuration Steps
- Step 1: Select External Lookup List from the Integration Type dropdown.
- Step 2: Enter Name and Description.
- Step 3: Choose GET or POST.
- Step 4: Enter the URL Endpoint.
-
Step 5: Enter URL Credentials in JSON format.
Example:
{"username":"apiuser","password":"apipass"} -
Step 6: For POST requests, provide:
- POST Body (JSON)
- POST Content Type
-
Step 7: Configure:
- List Display Column — the field shown in the dropdown
- List Value Column — the value stored when selected
- List Filter Column — optional filter field
- Step 8: Select Update to save.
- Step 9: Select Test to validate the API.
pageSize and pageNumber.
GET Example:
?pageSize=80&pageNumber=1POST Example:
{
"pageSize": "80",
"pageNumber": "1"
}
Expected API Response Format:
{
"items": [
{ "name": "name 1", "value": "value 1" },
{ "name": "name 2", "value": "value 2" }
]
}
Internal Submission Generator
Internal Submission Generators create or update submissions in another form automatically. This is useful for chaining workflows, generating contracts, or creating downstream records.
Configuration Steps
- Step 1: Select Internal Submission Generator.
- Step 2: Choose the Source Form and Target Form.
- Step 3: Select Create to generate the mapping.
-
Step 4: Edit the integration:
- Name
- Description
- On Create and/or On Update
- Map Source Fields to Target Fields
- Step 5: Select Update to save.
- Step 6: Select Test to validate mapping compatibility.
Outbound Push Email
Outbound Push Email sends automated emails when submissions are created or updated. Emails may include JSON data, generated documents, or both.
Configuration Steps
- Step 1: Select Outbound Push Email.
-
Step 2: Enter:
- Name
- Description
- On Create and/or On Update
- To Email Address
- Name (recipient name)
- Subject
- Body
- Include JSON and/or Include Document
- Step 3: Select Update to save.
- Step 4: Select Test to validate configuration.
Outbound Push Integration
Outbound Push Integrations send submission data to external systems via webhook endpoints. These integrations support JSON payloads, document payloads, or both. The submission ID, form ID, form name, transaction type ('create', 'update', 'Test Transaction'), and the payload or JSON that is selected.
Configuration Steps
-
Step 1: Create the integration by entering:
- Name
- Description
- Type = Outbound Push Integration
- Source Form
-
Step 2: Edit the integration:
- Name
- Description
- On Create and/or On Update
- POST (required for payload)
- URL Endpoint
- Credentials (use
{}if none) - Include JSON and/or Include Document
- Step 3: Select Update to save.
- Step 4: Select Test to send a test payload.
Test Payload Result Format:
{
"submissionId": "00000000-0000-0000-0000-000000000000",
"formUniqueId": "...",
"transactionType": "Test Transaction",
"formName": "...",
"jsonData": {
"fileName": "data.json",
"base64": "..."
},
"document": {
"fileName": "document.txt",
"base64": "..."
}
}
Activation
After configuring any integration, return to the Integrations list and toggle the Active column. Only active integrations will run during submission events.