Skip to main content

Configure a Feishu Bitable data source

Last updated 10/05/2026

The AE DataOps Platform supports using Feishu Bitable as a data source and writing the data in its tables to the Built-in Warehouse for data synchronization.

This article describes how to configure a Feishu Bitable (LarkSheet) data source.

Supported versions​

  • Feishu Bitable in any SaaS edition or private deployment.

Limitations​

  1. Feishu Bitable data sources support only offline reads (as a Data Source) and can't be written to as a Data Target.
  2. When reading Bitable data, only fields of the String/ Datetime/ Date types can be read. Reading as other data types isn't supported yet.
  3. Feishu spreadsheets have no concept of a header row. However, to make Feishu spreadsheet import tasks more standardized, we use the following convention:
    The first row of the table is used as the header. The header must be a series of cells that starts from cell A1 and is contiguous, non-empty, and unique. The header is used only for field mapping and isn't transferred as data.
    For example, the header row data is as follows:
    • Invalid header (column D is empty)
ABCDE
NameAgeHobbySchool

Prerequisites​

1. Prepare a Feishu custom app and configure permissions​

Refer: https://open.feishu.cn/document/best-practices/intro-to-custom-app-review

To call Feishu APIs, the spreadsheet owner must authorize a Feishu Docs app (also called a Feishu custom app) to fetch data

It's an internal application of your organization, so you need to prepare an app with complete permissions first.

In advance, create a Custom App on the Feishu Open Platform and grant the Custom App read and edit permissions for spreadsheets.
Grant the following permissions:

  • View, edit, and manage Wiki: wiki:wiki

  • View, comment on, edit, and manage documents: docs:doc

  • View, comment on, edit, and manage Bitables: bitable:app

  • View, comment on, edit, and manage spreadsheets: sheets:spreadsheet

  • View, comment on, edit, and manage all files in Drive: drive:drive

  • Check whether the current user has permissions on docs: docs:permission.member:auth

    For details, see Custom app development process.

2. Get the App ID and App Secret​

Get the app credentials from the Feishu Developer Console, enter them in the connector of the AE DataOps Platform, and pass the connection test.

Enter the obtained App id and Secret in the data source configuration of the integration plan

3. Find the Bitable to connect​

Assign permissions to the Bitable you want to connect. At a minimum, assign the Anyone in the organization with the link can view permission.

  • If you select Anyone in the organization with the link can view/can edit, an organization permission check is performed when the DataOps Platform gets data from the Feishu spreadsheet through the link;
  • If you select Anyone on the internet with the link can view/can edit, the data of the Feishu spreadsheet behind the link can be obtained directly.

Pay attention to your organization's data security: assign appropriate permissions and keep the link information safe

In the Feishu Bitable, add a document app: add the Custom App you created and grant it read or edit permission as needed.

Get the link to the Bitable you want to connect.

5. Supported ways to get a Bitable​

Bitable storage locationDescriptionSupported
Bitables in a Wiki

Resources in a Wiki are resources mounted in the Wiki.

  • The Bitable URL starts with feishu.cn/wiki
Supported
Bitables in a personal Base

Bitable resources in your personal Feishu Drive.

  • The Bitable URL starts with feishu.cn/base
Supported
Bitables in Feishu DocsBitables embedded in Feishu DocsNot supported yet

Create a Feishu Bitable data source​

In the DataOps Platform - Integration module, you can choose to add a Feishu Bitable data source.

Data source configuration parameters

Fill in the configuration required by the data source and pass the connectivity test to create the Feishu Bitable data source.

Field nameDescription
Basic Information
*Datasource NameMust be unique within the DataOps Platform space. Can contain only letters, digits, and underscores, and can't start with a digit or an underscore
RemarksOptional
Data source configuration
APP IDApplication credential account
APP SecretApplication credential password
Base URL

Domain name. Defaults to https://open.feishu.cn

For a privately deployed Feishu, enter your private domain name

Parameters whose names start with * are required; parameters without * are optional.

Create an offline sync task​

After you create the Feishu Bitable data source and pass the connectivity test as described above, you can configure a Feishu Bitable offline read task for your scenario.

Feishu Bitable as the Data Source​

Select Feishu Bitable as the Data Source and configure the following parameters:

Field nameDescription
*Source TypeSelect Feishu Bitable as the type of the Data Source
*Datasource NameA Feishu data source registered on the data source management page; select it from the drop-down list.
If you haven't created the data source yet, click the Data sources management button to create a Feishu Bitable data source.
*Larksheet URLCopy the URL of the Feishu Bitable you want to sync, paste it into the text box, and click Check URL
*Source Table

Name of the table to read in the Feishu Bitable; select it from the drop-down list

You can ignore this if the Feishu Bitable doesn't contain multiple tables

*Source View

Name of the view to read in the table; select it from the drop-down list

You can ignore this if the Feishu Bitable doesn't contain multiple views

note

If data retrieval fails, the possible error messages and solutions are as follows:

  • Check the Feishu integration connectivity: the integration isn't enabled, the configuration is incomplete, or the token has expired;
  • No permission to get the table information. Enable the permissions for the corresponding API: The API permissions of the Feishu app aren't enabled;
  • Provide a valid Feishu Bitable link: Check whether the provided link is correct;
  • Request to the Feishu API failed: The data is too large and the server timed out, or the previously submitted change hasn't finished processing. Retry as appropriate;
  • Check the permission settings of the table link: The link sharing scope of the spreadsheet or Bitable needs to be adjusted;
  • Feishu API request failed: Find the cause in Feishu's official error documentation;

Supported field types​

Because Feishu spreadsheets have no enforced schema constraints, the DataOps Platform treats every cell in the table as a string, except for the Date and Datetime field types, which are recognized and handled specially. The corresponding fields in the target Writer data source should preferably also be of the string type; otherwise, jobs may fail because of data format conversion errors.

  • By default, data is read up to the last column with data in the table, or according to a custom number of columns. Empty columns in between are filled with null
  • Feishu spreadsheets count empty rows in the sheet's row count, so empty data may appear.
  • Column names must be unique
  • Formulas aren't supported

Field mapping​

After configuring the data source and the target, create field mappings. The system automatically syncs data from source fields to target fields based on the mappings. You can configure field mappings in three ways:

  • Method 1: Custom selection. Select a source table field, then select the target field in the target table
  • Method 2: Name Mapping. The system automatically maps fields with the same name in the source and target tables
  • Method 3: Line Mapping. The system automatically maps fields in the same row

Note that each target field can correspond to only one source field

Basic information settings​

Finally, set the basic information of the integration plan, including the plan name, owner, synchronization rate, and remarks.

When you're done, click Save to create the integration plan.

Note: The plan name can't be changed after it's saved

The details page looks like this:

Mount an offline sync plan on a Flow​

Mount on Flow​

1. Start mounting

  • On the integration plan details page, click Mount on task flow in the upper-right corner

2. Select a Flow

  • Select the target Flow from the drop-down menu

  • To create a new Flow:

    • Click the New Flow shortcut button below the drop-down menu
    • Or go to the Dev module to create one
  • Tip: If the target Flow isn't shown, click the ↻ refresh button on the right

3. Create a sync node

  • In the Flow, create a node of the Offline sync plan type
  • The node is linked to the current integration plan. When the node runs, it triggers a run of that integration plan

4. Complete mounting

  • Click Create node and mount on it to complete the configuration
  • After mounting succeeds, click Go to flow page to view the result right away
tip

Note: The task node created by mounting is in the unreleased state. We recommend going to the Flow and releasing the node.

Unmount from a Flow​

To unmount an offline sync plan from a Flow:

  • If the Flow hasn't been released yet, go to the Flow that the plan is mounted on and delete the Offline sync plan task node in Dev Mode.
  • If the Flow has already been released, after deleting the Offline sync plan task node in Dev Mode, release the Flow again. This also unmounts the node from the Production environment.
Was this page helpful?