Custom Forms

Embarc lets you capture any structured information alongside core entities— customers, loans or transactions—through Custom Forms. Think of a custom form as a tailor-made table: you define the fields, attach the form to an entity type, and the platform stores one or more records per entity.


Why Use Custom Forms?


  • Extend customer profiles: store KYC questions, alternate contacts, household data, or risk surveys.
  • Enrich loan files: capture underwriting notes, collateral details, or compliance checklists without altering the base schema.
  • Power reporting: every form is queryable via APIs, so you can export the data to BI tools or drive conditional workflows.


How It Works


Define the form

  • Create the form via the Custom Forms API and declare each field (text, number, date, boolean, dropdown, etc.).
  • Specify which entity the form attaches to—customers (CLIENT), loans (LOAN), groups, or savings.

Capture responses

  • When you onboard a customer or originate a loan, post the form data to the relevant endpoint:
    • Customers: POST /datatables/{formName}/{clientId}
    • Loans: POST /datatables/{formName}/{loanId}
  • Embarc enforces the schema (required fields, data types) and stores the record.

Update or delete

  • Edit existing responses with PUT /api/v1/datatables/{formName}/{entityId}.
  • Remove them via DELETE /api/v1/datatables/{formName}/{entityId} when GDPR or cleanup needs arise.

Read and report

  • Retrieve the data with GET /api/v1/data/{formName}/{entityId}.



Design Tips


  • Use descriptive names: keep form names human-readable (risk_assessment, collateral_details). They become part of the API path.
  • Validate at the edge: use required fields and select lists to ensure complete data capture before the record hits Embarc.
  • One vs many records: forms can be configured for a single record per entity (e.g., one Social Media Profile survey) or multiple entries (e.g., collateral items for a loan). Decide this when you create the form.
  • Security: permissions follow the same pattern as core entities. Grant create/read/update/delete rights per role so only authorised teams see or edit sensitive fields.
  • Reporting: combine form data with core loan/customer data using analytics tools. Each form stores a foreign key to the parent entity, making joins straightforward.


Example: Collateral Details Form


  1. Create form
    POST /api/v1/datatables
    {
      "datatableName": "collateral_details",
      "entitySubType": "LOAN",
      "columns": [
        { "name": "item_type", "type": "String", "length": 100, "mandatory":
    true },
        { "name": "estimated_value", "type": "Decimal", "mandatory": true },
        { "name": "valuation_date", "type": "Date" },
        { "name": "notes", "type": "String", "length": 500 }
      ],
      "multiRow": true
    }

  1. Attach data to a loan
    POST /api/v1/data/collateral_details/12345
    {
      "item_type": "Vehicle",
      "estimated_value": 15000,
      "valuation_date": "2025-02-18",
      "notes": "Collateral inspected; lien filed."
    }

  1. Fetch later
    GET /api/v1/data/collateral_details/12345


Custom Forms let you shape Embarc to your business without schema changes. Define the form once, assign it to the right entity, and start collecting richer, structured data across your customer and loan journeys.