---
title: "Lark Docs Integration"
description: "Lark Docs is the block-based document editor in Lark, ByteDance's workplace suite. Agents create documents, read them as plain text or blocks, write generated reports with headings and lists intact, and convert Markdown or HTML into native Lark documents."
url: https://flowrunner.ai/integrations/larksuitedocument
date_modified: 2026-09-04T14:07:24-07:00
---

# Lark Docs

[Documents](https://flowrunner.ai/integrations/category/documents-forms)

Lark Docs is the block-based document editor in Lark, ByteDance's workplace suite. Agents create documents, read them as plain text or blocks, write generated reports with headings and lists intact, and convert Markdown or HTML into native Lark documents.

14 actions · OAuth · available

[Lark Docs website](https://www.larksuite.com/) · [Platform Documentation](https://open.larksuite.com/document/) · Capability data verified 2026-08-13

1.  The weekly reporting window closes across every region
2.  Agent pulls the figures it needs and drafts the commentary as Markdown
3.  Convert To Blocks turns that Markdown into native Lark blocks without writing them anywhere yet
4.  List Blocks locates the section of the standing document the new commentary is meant to replace
5.  Agent compares the drafted wording against the wording currently published there
6.  Agent posts both versions into the team's group chat with the document link
7.  The report owner approves, and only then does Update Blocks In Bulk overwrite the section colleagues quote from

## What This Integration Enables

Lark Docs is the block editor inside Lark, the international deployment of ByteDance's workplace suite. Teams choose Lark because it puts chat, calendar, base and documents in one place across offices that do not share a time zone, and the consequence is that a Lark document is rarely a personal draft. It is the version everybody reads. That changes what an agent should be allowed to do to one.

This connector treats a document as structure rather than as a text field. Agents create documents, read them whole as plain text, walk them block by block, turn generated Markdown or HTML into native blocks, add nested structures like a filled table in a single call, replace the wording of one block without changing what kind of block it is, and apply several changes as one atomic edit. Two boundaries are worth knowing before you design a flow. The app is a member of the workspace and not an administrator, so it reaches only documents that have been shared with it. And there is no delete-document operation here by design, because a Lark document is deleted through Drive as a file. What this surface can change is the content of a page other people are relying on, which is where the [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gate belongs.

### Without FlowRunner

**The report is somebody's Monday**: Numbers get gathered, pasted, and reformatted by hand every single week

**Structure lost in transit**: Generated analysis arrives as undifferentiated text, so the headings and tables are rebuilt manually

**Regions read different versions**: A document updated in one time zone is stale for everybody who reads it in another

### With FlowRunner

**The report assembles itself**: Figures are gathered and the commentary is drafted before anyone opens the document

**Structure survives the trip**: Markdown becomes native blocks, so headings, lists and tables land as themselves

**One document, one edit**: A set of changes applies as a single edit rather than as partial states people catch mid-update

## Use Case Scenarios

### A recurring report that people actually read

Each week the agent reads campaign and pipeline figures from [Lark Base](https://flowrunner.ai/integrations/larksuitebase) and [HubSpot](https://flowrunner.ai/integrations/hubspot), writes its commentary as Markdown, and calls Convert To Blocks. Add Blocks inserts the result at the top of the standing report document so the newest week reads first, and where a comparison table is needed, Add Nested Blocks sends the table and its cells together, because a container and its contents cannot arrive separately here. A short summary posts to the team through [Lark Group Robot](https://flowrunner.ai/integrations/larksuitegrouprobot) with the document link, so the notification points at the document instead of replacing it.

### A shared brief kept in step with the plan

A campaign brief lives in Lark Docs and the schedule lives in [ClickUp](https://flowrunner.ai/integrations/clickup). When dates or owners change, the agent calls Get Document Text to read what the brief currently claims, uses List Blocks to find the block holding the schedule, and calls Replace Block Text so the block keeps its type and only its wording moves. Everything else on the page, including the parts a human wrote and cares about, is untouched.

### Answering from the document rather than from memory

An agent handling internal questions calls Get Document Text on the relevant policy or spec and answers from what the document says today, citing the section. When the document turns out to be silent on the question, the agent does not invent an answer and does not quietly append one. It drafts a proposed addition, routes it to the document owner, and adds it with Add Text only after the owner agrees, so the document stays something the team can trust as authored rather than accumulated.

## Human-in-Loop Highlight

The risky operations in this connector are the ones that look harmless: Replace Block Text and Update Blocks In Bulk. Both overwrite wording in place, and this surface offers no way to read an earlier revision back. Get Document returns a title and a revision number, nothing more, so an agent that has replaced a paragraph cannot retrieve what used to be there. On a personal draft that is fine. On the quarterly commentary that a regional lead will quote in a client review, it is not, because the sentence being replaced may be the one that was carefully worded for a reason.

So the agent drafts but does not publish. It posts into the group chat: "Replacing the Performance Summary section of the Q3 Marketing Review. Current text reads: 'Paid spend was held flat pending the attribution review.' Proposed text reads: 'Paid spend increased 12 percent following the attribution review.' Publish this replacement, or leave the section as it stands?" The owner answers with the context an agent does not have, which is whether that sentence was a placeholder or a commitment. Then Update Blocks In Bulk applies the whole change as one edit. Assembling the report is the agent's work. Deciding what the company's shared document says is not.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

14 actions

### Documents

3

-   **Create Document** Creates an empty document, optionally titled and placed in a folder, and returns the document ID that every other operation here takes. It starts empty, so content follows with Add Text or Add Blocks.
-   **Get Document** Reads a document's title and its current revision number. The revision is what the block operations use to confirm they are editing the version they think they are.
-   **Get Document Text** Reads the whole document as plain text with formatting stripped. The operation to use when an agent needs to read a document rather than change it.

### Reading Structure

3

-   **List Blocks** Lists every block in a document, flat, in reading order, each carrying its ID, type and content. How a flow finds the block it intends to change.
-   **Get Block** Reads one block with its type and its content.
-   **List Child Blocks** Lists the blocks nested directly inside another block, such as table rows or the items under a heading, and can optionally return everything beneath it rather than only the immediate children.

### Writing Content

4

-   **Convert To Blocks** Turns Markdown or HTML into Lark blocks without writing them anywhere. Feeding the result to Add Blocks is how generated content lands with its headings, lists and formatting intact.
-   **Add Text** Adds lines of text to a document, each as its own block, so headings stay headings and list items stay list items.
-   **Add Blocks** Adds ready-made block objects. Used with the output of Convert To Blocks, or for block types Add Text does not cover such as a table, an image or a callout.
-   **Add Nested Blocks** Adds blocks that contain other blocks in one call, such as a table with its cells filled in or a callout with paragraphs inside it. A container and its contents have to arrive together.

### Editing and Removal

4

-   **Replace Block Text** Replaces the text of one block while leaving the block itself in place, so a heading stays a heading. One of the two operations this page's human gate covers.
-   **Update Block** Applies a raw block update for what Replace Block Text does not cover: styling, table rows and columns, replacing an image or an attachment. Takes Lark's own update request object.
-   **Update Blocks In Bulk** Applies several block updates in one call, which Lark treats as a single edit. Used when a set of changes must land together rather than be visible half applied.
-   **Delete Blocks** Removes a run of blocks from inside a parent block by position rather than by ID, counting from zero, with the end position not itself removed. Used only in cleanup flows where a person has confirmed the range.

## Frequently Asked Questions

### What can FlowRunner do with Lark Docs?

FlowRunner agents can run Create Document, Get Document, and Get Document Text in Lark Docs, plus 11 more actions.

### Does connecting Lark Docs to FlowRunner require OAuth?

Yes. Lark Docs connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.

### Can Lark Docs trigger a FlowRunner workflow automatically?

Lark Docs doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Lark Docs?** This integration exposes Lark Docs to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/larksuitedocument. Site index: https://flowrunner.ai/llms.txt
