# flatfile.com ## Docs - [Transform and validate data](https://flatfileinc-update-listeners.mintlify.app/apps/custom/add-data-transformation.md): Add validations and transformations to your listeners - [Deploy to Flatfile](https://flatfileinc-update-listeners.mintlify.app/apps/custom/deploying.md): Publish your code to Flatfile and move beyond this simple sandbox - [Setup a listener](https://flatfileinc-update-listeners.mintlify.app/apps/custom/meet-the-listener.md): Learn how to listen and respond to events in Flatfile. - [Configure a Space](https://flatfileinc-update-listeners.mintlify.app/apps/custom/meet-the-workbook.md): Configure a place for collecting data by creating a Space. - [Configure a submit Action](https://flatfileinc-update-listeners.mintlify.app/apps/custom/submit-action.md): Create a simple submit Action to export your data - [Getting started](https://flatfileinc-update-listeners.mintlify.app/apps/custom/tutorial-landing.md): Create a custom Flatfile app in this step by step guide - [Before you begin](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/angular/guide.md): Securely and easily build an embedded Flatfile import experience into your Angular application. - [Embed a new Space](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/angular/new_space.md): Create a new Space every time Flatfile is opened. - [Quickstart](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/angular/new_space_quickstart.md): Create a new Space every time Flatfile is opened. - [Reuse an existing Space](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/angular/reuse_space.md): Reuse a Space when Flatfile is opened. - [Before you begin](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/javascript/guide.md): Securely and easily build an embedded Flatfile import experience into your Javascript application. - [Embed a new Space](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/javascript/new_space.md): Create a new Space every time Flatfile is opened. - [Quickstart](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/javascript/new_space_quickstart.md): Create a new Space every time Flatfile is opened. - [Reuse an existing Space](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/javascript/reuse_space.md): Reuse a Space when Flatfile is opened. - [Getting started](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/overview.md): Securely and easily build an embedded Flatfile import experience into your client-side application - [Before you begin](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/react/guide.md): Securely and easily build an embedded Flatfile import experience into your React application. - [Embed a new Space](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/react/new_space.md): Create a new Space every time Flatfile is opened. - [Quickstart](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/react/new_space_quickstart.md): Create a new Space every time Flatfile is opened. - [Advanced](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/reference/advanced.md): See the less commonly used shared properties for embedded Flatfile. - [Common](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/reference/common.md): See the commonly used shared properties across embedded Flatfile. - [Simple](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/reference/simple.md): See the simple-mode properties across embedded Flatfile. - [Before you begin](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/vue/guide.md): Securely and easily build an embedded Flatfile import experience into your Vue application. - [Quickstart](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/vue/new_space.md): Create a new Space every time Flatfile is opened. - [Reuse an existing Space](https://flatfileinc-update-listeners.mintlify.app/apps/embedding/vue/reuse_space.md): Reuse a Space when Flatfile is opened. - [Projects](https://flatfileinc-update-listeners.mintlify.app/apps/projects/overview.md): Use Flatfile in a collaborative data onboarding project with your customer. - [Workbooks](https://flatfileinc-update-listeners.mintlify.app/apps/workbooks.md): The anatomy of a Workbook. - [Access](https://flatfileinc-update-listeners.mintlify.app/blueprint/access.md): Controlling user interactions with your Sheets and fields - [Constraints](https://flatfileinc-update-listeners.mintlify.app/blueprint/constraints.md): System level validation rules - [Types](https://flatfileinc-update-listeners.mintlify.app/blueprint/field-types.md): Field Types inform the user interface how to sort and display data. - [Overview](https://flatfileinc-update-listeners.mintlify.app/blueprint/overview.md): Blueprint is a powerful DDL (Data Definition Language) created by Flatfile with a focus on validation and data preparation. - [Relationships](https://flatfileinc-update-listeners.mintlify.app/blueprint/relationships.md): Referencing data in other Sheets - [Sheet options](https://flatfileinc-update-listeners.mintlify.app/blueprint/sheet-options.md): Configure the basic behavior of your Sheet - [Platform](https://flatfileinc-update-listeners.mintlify.app/changelog/platform.md): Notable additions and updates to the Flatfile platform - [SDKs](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks.md): Notable additions and updates to Flatfile core libraries - [flatfile](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/core/cli.md): The Flatfile CLI is a command-line tool that simplifies the integration process with Flatfile by providing developers with commands to manage and configure their integration from their local environment. - [@flatfile/listener](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/core/listener.md): Listener combines event handling capabilities with Flatfile-specific functionality, such as working with Flatfile records and sessions. Simply put, it receives events and it responds to events. - [@flatfile/plugin-automap](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/automations/automap.md): A plugin to provide automapping imported files for headless workflows. - [@flatfile/plugin-job-handler](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/core/job-handler.md): A plugin that makes working with Flatfile Jobs more streamlined. - [@flatfile/plugin-space-configure](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/core/space-configure.md): A plugin that streamlines the configuration of new Flatfile spaces. - [@flatfile/plugin-export-workbook](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/export/export-workbook.md): A plugin for exporting data in Flatfile a Workbook. - [@flatfile/plugin-webook-egress](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/export/webhook-egress.md): A plugin for egressing data via a webhook. - [@flatfile/plugin-delimiter-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/extractors/delimiter-extractor.md): A plugin for parsing a delimited file and extracting it into Flatfile. - [@flatfile/plugin-json-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/extractors/json-extractor.md): A plugin for parsing a JSON file and extracting it into Flatfile. - [@flatfile/plugin-pdf-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/extractors/pdf-extractor.md): A plugin for parsing a PDF file and extracting it into Flatfile. - [@flatfile/plugin-xlsx-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/extractors/xlsx-extractor.md): A plugin for parsing an XLSX file and extracting it into Flatfile. - [@flatfile/plugin-xml-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/extractors/xml-extractor.md): A plugin for parsing an XML file and extracting it into Flatfile. - [@flatfile/plugin-zip-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/extractors/zip-extractor.md): A plugin for decompressing a zip file and uploading the decompressed files into Flatfile. - [Plugins](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/highlights.md): Notable additions and updates to Flatfile plugins - [@flatfile/plugin-dxp-configure](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/migrations/dxp-configure.md): A plugin that lets you easily attach your implementation of the class-based schema configuration library `@flatfile/configure` to `@flatfile/listener` - [@flatfile/plugin-convert-json-schema](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/schemas/json-schema.md): A plugin that automatically converts JSON Schema to the Flatfile Blueprint, a powerful DDL (Data Definition Language) created by Flatfile with a focus on validation and data preparation. - [@flatfile/plugin-convert-openapi-schema](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/schemas/openapi-schema.md): A plugin that automatically converts OpenAPI Schema to the Flatfile Blueprint, a powerful DDL (Data Definition Language) created by Flatfile with a focus on validation and data preparation. - [@flatfile/plugin-convert-sql-ddl](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/schemas/sql-ddl-converter.md): A plugin that automatically converts SQL DDL to the Flatfile Blueprint, a powerful DDL (Data Definition Language) created by Flatfile with a focus on validation and data preparation. - [@flatfile/plugin-convert-openapi-schema](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/schemas/yaml-schema.md): A plugin that automatically converts YAML Schema to the Flatfile Blueprint, a powerful DDL (Data Definition Language) created by Flatfile with a focus on validation and data preparation. - [@flatfile/plugin-autocast](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/transform/autocast.md): A plugin that automatically converts the initial user-inputted data to the correct type needed for that field so it can be processed. - [@flatfile/plugin-dedupe](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/transform/dedupe.md): A plugin that automatically converts the initial user-inputted data to the correct type needed for that field so it can be processed. - [@flatfile/plugin-record-hook](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/transform/record-hook.md): A plugin that exports a function named `recordHook` that sets up an event listener for the `commit:created` event. The purpose of this plugin is to provide a concise syntax for running custom logic on individual data records in Flatfile. - [@flatfile/util-extractor](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/utils/extractor.md): loading... - [@flatfile/util-file-buffer](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/utils/file-buffer.md) - [@flatfile/util-response-rejection](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/plugins/utils/response-rejection.md): This plugin handles response rejections returned from an external source. - [@flatfile/angular](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/wrappers/angular.md): An SDK wrapper that enables you to seamlessly integrate a secure and user-friendly data import experience into your client-side application - [@flatfile/javascript](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/wrappers/javascript.md): An SDK wrapper that enables you to seamlessly integrate a secure and user-friendly data import experience into your client-side application - [@flatfile/react](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/wrappers/react.md): An SDK wrapper that enables you to seamlessly integrate a secure and user-friendly data import experience into your client-side application - [@flatfile/vue](https://flatfileinc-update-listeners.mintlify.app/changelog/sdks/wrappers/vue.md): An SDK wrapper that enables you to seamlessly integrate a secure and user-friendly data import experience into your client-side application - [@flatfile/api](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/api.md) - [flatfile-go](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/api-go.md) - [flatfile-java](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/api-java.md) - [flatfile-python](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/api-python.md) - [flatfile](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/flatfile.md) - [@flatfile/listener](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/listener.md) - [@flatfile/angular](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/wrappers/angular.md) - [@flatfile/react](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/wrappers/react.md) - [@flatfile/javascript](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/wrappers/vanilla.md) - [@flatfile/vue](https://flatfileinc-update-listeners.mintlify.app/developer-tools/core-libraries/wrappers/vuejs.md) - [Deploying to Flatfile](https://flatfileinc-update-listeners.mintlify.app/developer-tools/deploying.md): Learn how to deploy your code to Flatfile. - [Check for agents](https://flatfileinc-update-listeners.mintlify.app/developer-tools/developing/check-for-agents.md) - [Running on your local machine](https://flatfileinc-update-listeners.mintlify.app/developer-tools/developing/running-local.md): Learn how to develop with Flatfile CLI. - [Environments](https://flatfileinc-update-listeners.mintlify.app/developer-tools/environment.md): Learn how to use Environments for testing and authentication. - [flatfile-mapping](https://flatfileinc-update-listeners.mintlify.app/developer-tools/mapping-libraries/flatfile-mapping-python.md) - [Personal Access Token](https://flatfileinc-update-listeners.mintlify.app/developer-tools/security/account-token.md): Learn how to authenticate above the Environment level. - [Authentication](https://flatfileinc-update-listeners.mintlify.app/developer-tools/security/authentication.md): Learn how to use API keys to authenticate API requests. - [Roles & permissions](https://flatfileinc-update-listeners.mintlify.app/developer-tools/security/roles-and-permissions.md): Learn how to give your team and customers access. - [Spaces](https://flatfileinc-update-listeners.mintlify.app/developer-tools/spaces.md): The anatomy of Spaces. - [Versioning principles](https://flatfileinc-update-listeners.mintlify.app/developer-tools/versioning.md): Learn versioning principles for npm packages at Flatfile. - [Using actions](https://flatfileinc-update-listeners.mintlify.app/guides/actions.md): Trigger operations based on user input. - [Accepting Additional fields](https://flatfileinc-update-listeners.mintlify.app/guides/additional-fields.md): Create additional fields on the fly. - [Using our API](https://flatfileinc-update-listeners.mintlify.app/guides/api.md): Learn how to implement our API in your listeners and scripts - [Automate with automap](https://flatfileinc-update-listeners.mintlify.app/guides/automap.md): Learn how to automatically map your data fields. - [Bubble.io](https://flatfileinc-update-listeners.mintlify.app/guides/bubble-io.md): Open Flatfile from a Bubble.io webpage. - [Data Retention](https://flatfileinc-update-listeners.mintlify.app/guides/data-retention.md): Implementing Data Retention Policies in Flatfile. - [Build Documents](https://flatfileinc-update-listeners.mintlify.app/guides/documents.md): Learn how to build pages in your sidebar with Documents. - [Dynamically configure anything](https://flatfileinc-update-listeners.mintlify.app/guides/dynamic-configurations.md): Dynamically build your Space configuration as it's created. - [Egress out](https://flatfileinc-update-listeners.mintlify.app/guides/egress.md): Learn how to get data out of Flatfile. - [Using Flatfile query language](https://flatfileinc-update-listeners.mintlify.app/guides/flatfile_query_language.md): Learn how to filter data in Sheets with FFQL. - [Customize the guest sidebar](https://flatfileinc-update-listeners.mintlify.app/guides/guest_sidebar.md): Learn how to limit what Guests see in their sidebar. - [Handling data](https://flatfileinc-update-listeners.mintlify.app/guides/handling-data.md): Learn how to process data with Data Hooks - [Translating your Space](https://flatfileinc-update-listeners.mintlify.app/guides/localization.md): Translate and customize your Space with text overrides - [Utilizing metadata](https://flatfileinc-update-listeners.mintlify.app/guides/metadata.md): Store descriptive information or data that provides additional context. - [Scoping with Namespaces](https://flatfileinc-update-listeners.mintlify.app/guides/namespaces.md): Narrow down the scope of Spaces, Workbooks, and Sheets. - [Share secrets](https://flatfileinc-update-listeners.mintlify.app/guides/secrets.md): Learn how to securely use credentials in listeners. - [Theme your Space](https://flatfileinc-update-listeners.mintlify.app/guides/theming.md): Learn how to customize the look and feel of Flatfile to match your brand. - [Actions](https://flatfileinc-update-listeners.mintlify.app/orchestration/actions.md): The anatomy of Actions - [Events](https://flatfileinc-update-listeners.mintlify.app/orchestration/events.md): The anatomy of Events. - [Jobs](https://flatfileinc-update-listeners.mintlify.app/orchestration/jobs.md): The anatomy of Jobs - [Listeners](https://flatfileinc-update-listeners.mintlify.app/orchestration/listeners.md): The anatomy of Listeners - [Overview](https://flatfileinc-update-listeners.mintlify.app/overview.md): Explore our guides and examples to implement Flatfile. - [@flatfile/plugin-job-handler](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/core/job-handler.md): A plugin for handling Flatfile Jobs. - [@flatfile/plugin-space-configure](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/core/space-configure.md): A plugin for configuring Flatfile Spaces. - [@flatfile/dataset-countries](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/datasets/countries.md): A plugin that populates a Sheet with the countries of the World. - [@flatfile/dataset-zipcodes](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/datasets/zipcodes.md): A plugin that populates a Sheet with 5-digit zip codes. - [@flatfile/plugin-webhook-egress](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/export/webhook.md): A plugin for egressing data from a Flatfile Workbook to a webhook. - [@flatfile/plugin-export-workbook](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/export/workbook.md): A plugin for exporting data in Flatfile to Workbooks. - [@flatfile/plugin-delimiter-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/delimiter-extractor.md): A plugin for parsing .delimiter files in Flatfile. - [@flatfile/plugin-doc-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/doc-extractor.md): A plugin for parsing .doc files in Flatfile. - [@flatfile/plugin-json-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/json-extractor.md): A plugin for parsing .json files in Flatfile. - [@flatfile/plugin-pdf-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/pdf-extractor.md): A plugin for parsing .pdf files in Flatfile. - [@flatfile/plugin-xlsx-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/xlsx-extractor.md): A plugin for parsing Excel files in Flatfile - [@flatfile/plugin-xml-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/xml-extractor.md): A plugin for parsing .xml files in Flatfile. - [@flatfile/plugin-zip-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/extractors/zip-extractor.md): A plugin for parsing .zip files in Flatfile. - [@flatfile/plugin-dxp-configure](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/migrations/dxp-configure.md): A plugin for using DXP class-based configurations. - [Overview](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/overview.md): Use one of our plugins to add functionality to your Flatfile data engine. - [@flatfile/plugin-graphql](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/schemas/convert-graphql.md): A plugin for converting Graphql to Flatfile Blueprint. - [@flatfile/plugin-convert-json-schema](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/schemas/convert-json-schema.md): A plugin for converting JSON Schema to Flatfile Blueprint and configuring a Flatfile Space. - [@flatfile/plugin-convert-openapi-schema](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/schemas/convert-openapi.md): A plugin for converting OpenAPI schema to Flatfile Blueprint. - [@flatfile/plugin-convert-sql-ddl](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/schemas/convert-sql-ddl.md): A plugin for converting SQL DDL to Flatfile Blueprint. - [@flatfile/plugin-convert-yaml-schema](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/schemas/convert-yaml-schema.md): A plugin for converting YAML Schema to Flatfile Blueprint. - [@flatfile/plugin-autocast](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/transform/autocast.md): A plugin for automatically casting values in Flatfile. - [@flatfile/plugin-dedupe](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/transform/dedupe.md): Dedupe records in a sheet via a sheet level custom action. - [@flatfile/plugin-record-hook](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/transform/record-hook.md): A plugin for running custom logic on individual data records in Flatfile. - [@flatfile/util-extractor](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/utils/extractor.md): A shared utility for defining a data extraction. - [@flatfile/util-file-buffer](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/utils/file-buffer.md): A shared utility for processing files and extracting their contents using the Flatfile API. - [@flatfile/util-response-rejection](https://flatfileinc-update-listeners.mintlify.app/plugins-docs/utils/response-rejection.md): A shared utility for handling response rejections. - [@flatfile/plugin-webhook-event-forwarder](https://flatfileinc-update-listeners.mintlify.app/plugins/automations/webhook-event-forwarding.md): A plugin to forward Flatfile Events to specified http endpoints for headless workflows. - [Example Projects](https://flatfileinc-update-listeners.mintlify.app/starter-projects.md): A selection of example projects to get started with. - [Overview](https://flatfileinc-update-listeners.mintlify.app/upgrade/overview.md): Move from the legacy products to the new Flatfile Platform - [Repo on GitHub](https://flatfileinc-update-listeners.mintlify.app/upgrade/v2_repo.md): Check out the code in this repository - [Quickstart Portal 2 Upgrade](https://flatfileinc-update-listeners.mintlify.app/upgrade/v2_upgrade.md): Moving on up... to the Platform - [Portal 2 <-> Platform Concepts](https://flatfileinc-update-listeners.mintlify.app/upgrade/v2_upgrade_concepts.md): Key terms and concepts for your upgrade - [Upgrade with @flatfile/configure](https://flatfileinc-update-listeners.mintlify.app/upgrade/v3_dxp_configure.md): Upgrade to Platform using DXP Configure - [Repo on GitHub](https://flatfileinc-update-listeners.mintlify.app/upgrade/v3_repo.md): Check out the code in this repository - [Upgrading from v3](https://flatfileinc-update-listeners.mintlify.app/upgrade/v3_upgrade.md): Step up to the Platform ## Optional - [API Reference](https://reference.flatfile.com) - [Join our community](https://join.slack.com/t/flatfile-developers/shared_invite/zt-1zlexssv9-z5XT3MIPh09uuJBz5nBblQ)