Terminology

Submission

End users create Submissions, which are some collection of input that will be processed by AI, reviewed and confirmed by a human, and be exposed to downstream processes. One may be created via the web UI by submitting files, or by sending an email with attachments to a predefined email address.

A Submission may have one or more Files attached, and will require a Template to be processed.

File

A document submitted by an end user. Currently, FormFlow accepts the following file formats:

  • pdf

  • doc, docx

  • csv

  • xls, xlsx

  • gif, png, jpg or jpeg, heic

Documents may be converted to PDFs for processing and display, which means some files (notably Excel spreadsheets) may look different after processing. This does not affect the quality of data extraction.

Template

Each submission must have a template assigned - this is to guide the AI agent in extraction, and defines the fields and structure that you wish to extract. Fields may be text or number fields, take single values or an enum of different values.

You may also define discrete sections, and allow lists of multiple objects.

Each field in the template also takes an optional "AI hint", which aids the AI agent in data extraction. In many cases this is not needed as the structure and field titles are descriptive enough (e.g. Applicant > First name is plenty), but it can be helpful in other cases (e.g. Applicant > Country of residence may take the hint If this is not stated in the source document, infer it from the correspondence address)

The "shape" of the template also dictates how the final JSON-formatted payload will look. For example:

Ex:

  • Curly braces {} indicate key in payload.

  • Single arrow down represents a JSON object.

  • Double arrow down represents an array of objects.

  • Aa means the field is a string

This template in example could result in payload structured like:

{
  "customer": {
    "firstName": "John",
    "surname": "Wick"
  },
  "risk": {
    "zip": "12345",
    "street": "Main Street",
    "city": "New York",
    "country": "USA",
    "county": "New York"
  },
  "valueableItems": [
    {
      "name": "Gold",
      "value": "10000"
    },
    {
      "name": "Diamonds",
      "value": "I think about 4000$"
    },
    {
      "name": "Fake Rolex",
      "value": "100 - more sentimental value"
    }
  ]
}

Last updated

Was this helpful?