Skip to content

Lark Bitable

Lark Bitable (called Feishu in the Chinese UI) can be connected in two ways. Pick one per table; a single account can mix both.

Method A: Automation Webhook triggerMethod B: Custom app (API)
App required❌ No✅ Custom app on the Feishu open platform
Setup time~3 minutes~10 minutes
Standard columnsManual (or mapped from the test request)✅ 14 standard columns auto-created
PermissionTable member is enoughApp must be added as table collaborator
Data capabilityOne-way writeOne-way write, server-controlled
Best forIndividuals, small teams, quick trialsTeams that need unified structure and long-lived ledgers

Recommended: start with Method A (Automation Webhook trigger) — no approval needed. Only move to Method B when you need auto-created standard columns.

Section titled “Method A: automation webhook trigger (recommended)”

Feishu Bitable’s built-in Automation supports flows triggered by incoming Webhook requests. This is a completely separate path from the open-platform custom app: individuals and small teams can set it up in a few clicks, with no app application and no admin approval.

This is the recommended way to integrate BugCapturer.

  • A Feishu account with edit access to the target Bitable
  • No Feishu app required

Step 1: Create an automation flow in Feishu

Section titled “Step 1: Create an automation flow in Feishu”
  1. Open the target Bitable, click “Automation” in the top-right → “New flow”
  2. Choose “When a Webhook request is received” as the trigger
  3. Feishu generates a unique Webhook URL — copy it for the next step
    • If you enable “Verify token”, note the generated Bearer token (optional, recommended to prevent forged requests)
  4. Keep the flow editor open and continue below

Step 2: Add the integration in BugCapturer

Section titled “Step 2: Add the integration in BugCapturer”
  1. Sign in at app.bugcapturer.com and open the “Integrations” page
  2. Select “Feishu Bitable” in the left platform list → click “Add integration”
  3. Choose “Automation Webhook trigger” (recommended)
  4. Fill in:
    • Name: anything recognizable, e.g. “Client bug ledger”
    • Webhook URL: paste the URL from step 1
    • Bearer token (optional): only if you enabled token verification in Feishu
  5. Click “Verify & save”

On save, BugCapturer sends a test request to your Webhook URL. Back in the Feishu flow editor:

  1. In the flow’s “Output settings”, choose “Set via sent request”
  2. Feishu listens for requests arriving within 3 minutes, automatically lists every field of the test record it just received
  3. Map the fields you need to table columns, then save and enable the flow

Afterwards click “Test” on the integration card and confirm a new row appears in the table.

The JSON body BugCapturer sends contains the following fields (all text, mappable to plain-text columns):

FieldMeaningExample
sourceSource marker, always BugCapturerBugCapturer
descriptionProblem description (truncated when too long)Login button unresponsive
feedback_typeReport typebug / suggestion
page_urlURL of the page where it happenedhttps://example.com/login
page_titleTitle of that pageSign in - Example
browser_infoBrowser and OSChrome 128 / Windows 11
screen_resolutionScreen resolution1920x1080
console_errorsConsole errors summary (count + first 3)2 items - TypeError: …
network_errorsNetwork errors summary (count + first 3)1 item - GET /api → 500
screenshot_urlScreenshot linkhttps://…/api/shares/xxx/file
report_linkFull link to the shared reporthttps://app.bugcapturer.com/share/xxx
submitted_atSubmission time (Beijing time text)2026-09-09 14:30:00
expires_atShare expiry time (Beijing time text)2026-12-08 14:30:00

“Validating Webhook URL” fails on save? Make sure the URL was copied completely (including https://) with no stray spaces or line breaks. BugCapturer only accepts public https URLs.

Save succeeded but nothing appears in the table? Confirm the flow is saved and enabled; without output mappings an incoming request writes nothing. Click “Test” on the integration card to fire another test record.

Can screenshots go into native attachment columns? No. Automation Webhooks only write text fields; screenshots are provided as a screenshot_url link. For native attachments use Method B.

Can one table have multiple integrations? Each table’s flow generates its own Webhook URL. Each BugCapturer account can hold up to 3 integrations.

Method B: custom app via the Lark Open Platform

Section titled “Method B: custom app via the Lark Open Platform”

Use the Feishu open-platform “custom app” API when you want BugCapturer to auto-create standard columns and keep a unified table structure. This method requires creating an app on the open platform and suits admins setting up team ledgers; for quick trials prefer Method A (Automation Webhook trigger).

  • A Feishu account (individual accounts can create custom apps)
  • Access to the target Bitable
  • About 10 minutes
  1. Open the Feishu open platform, sign in and enter the “Developer Console”
  2. Click “Create custom app”, fill in the name (e.g. BugCapturer) and description
  3. Once created, copy the App ID (starts with cli_) and App Secret from “Credentials & basic info”

Step 2: Enable Bitable permissions and publish

Section titled “Step 2: Enable Bitable permissions and publish”
  1. In the app, open “Permissions”, search and enable bitable:app (view, comment, edit and manage Bitable)
  2. Open “Version management & release”, create a version and publish
    • Individual accounts usually need no admin approval; enterprise tenants might

Step 3: Add the app as a table collaborator

Section titled “Step 3: Add the app as a table collaborator”
  1. Open the target Bitable, click ”…” in the top-right → “More” → “Add document app”
  2. Search for your app, add it with “Can edit” permission

Step 4: Add the integration in BugCapturer

Section titled “Step 4: Add the integration in BugCapturer”
  1. Sign in at app.bugcapturer.com and open the “Integrations” page
  2. Select “Feishu Bitable” in the left platform list → click “Add integration” → choose “Custom app (API)”
  3. Fill in App ID, App Secret, and paste the Bitable URL from the browser address bar (must contain the table parameter, e.g. https://xxx.feishu.cn/base/bascnXXXX?table=tblYYYY&view=vewZZZ; wiki /wiki/ links are supported too)
  4. Click “Verify & save”

On save the server runs a four-step check: verify credentials → parse the table → auto-create missing standard columns → write one test record. Any failure is reported with its step on the page.

If any of the following columns are missing, BugCapturer creates them (existing same-name columns are kept untouched):

ColumnTypeMeaning
描述 (Description)TextProblem description
类型 (Type)Textbug / suggestion
页面 URL (Page URL)TextPage where it happened
页面标题 (Page title)TextTitle of that page
浏览器 (Browser)TextBrowser info
操作系统 (OS)TextOperating system
分辨率 (Resolution)TextScreen resolution
控制台错误数 (Console errors)NumberConsole error count
网络错误数 (Network errors)NumberNetwork error count
截图 (Screenshot)LinkScreenshot URL
分享链接 (Share link)LinkFull link to the shared report
提交时间 (Submitted at)DateReport submission time
到期时间 (Expires at)DateShare expiry time
同步时间 (Synced at)DateWhen this row was written
Method A: Webhook triggerMethod B: Custom app (API)
App requiredNoYes
Standard columnsMapped manuallyAuto-created
Attachment columnsLinks onlyScreenshot written as a link
Admin approvalNot neededMay be needed on enterprise plans
Best forIndividuals / small teamsTeam ledgers with unified structure

Both methods can coexist: the same account can configure Method A and Method B integrations for different tables (3 in total).

“Invalid credentials” error? Check that the App ID / App Secret were copied fully; credentials may reset after publishing a new version — always use the latest values from “Credentials & basic info”.

Do I need to re-enter the App Secret when editing? No. Leaving the Secret empty on edit keeps the old value; changing credentials or the table link triggers a re-verification.

When saving fails, the page shows the exact error message and error code. Find yours below (all are real-world pitfalls observed during testing):

Error / codeCause & fix
“Missing required scopes”
(code 99991672)
Scopes are incomplete or not yet effective: enable them via the link in the error (bitable:app for regular tables; wiki tables also need wiki:wiki:readonly), then create and publish a new app version — enabling scopes without publishing does not take effect
“Table not found” / “document not found”
(code 131005)
Feishu returns “not found” for wiki nodes the app has no access to, so treat it as a permission issue first: 1) the app has the “Bot” capability added and a version published; 2) the app was added via ”…” → “More” → “Add document app” on the target table page; 3) the URL was copied in full from the browser address bar. Personal-edition wikis may lack the “Add document app” entry — move the table to “My Space” and use its /base/ link instead
“No collaboration permission”
(code 91403)
The app was not added as a collaborator on that table: open the table → ”…” → “More” → “Add document app” → search the app name → add with “Can edit”
“Failed to create standard columns”The collaborator permission was set to “Can read”: re-add the app with “Can edit” and retry. Existing same-name columns are skipped automatically — no need to delete any headers