Install
openclaw skills install lark-report-collectorCollect weekly reports from Lark Reports (oa.larksuite.com), summarize into Lark Docs, and notify. Use when: (1) collecting weekly reports from specific teams/templates, (2) checking who hasn't submitted reports, (3) generating report summaries as Lark documents. Requires browser automation (Reports is a SPA, API not available on international Lark).
openclaw skills install lark-report-collectorCollect weekly report data from Lark Reports, summarize into Lark Docs, and send notifications.
browser (profile=openclaw)browser action=navigate profile=openclaw targetUrl="https://oa.larksuite.com/report/record/entry"
Prerequisites: openclaw browser must have active Lark login session.
Snapshot and click the target template menuitem in the left sidebar "Received by me".
Page defaults to latest data. Week title format: "Feb 2 ~ Feb 8 Submitted: 18"
Pagination (critical):
⚠️ Snapshot and confirm the date in the title after every page turn!
"Not submitted: N" button has no snapshot ref. Click via JS evaluate:
(() => {
const btns = [...document.querySelectorAll('button')].filter(
b => /Not submitted.*\d/.test(b.innerText)
);
if(btns.length) { btns[0].click(); return 'clicked'; }
return 'not found';
})()
Dialog shows: unsubmitted count + names + departments.
Create document via Lark Open API (see lark-api skill for auth).
block_type reference (verified):
| block_type | Type | JSON field |
|---|---|---|
| 2 | Text | "text" |
| 3 | Heading 1 | "heading1" |
| 4 | Heading 2 | "heading2" |
| 5 | Heading 3 | "heading3" |
| 12 | Bullet list ✅ | "bullet" |
| 13 | Ordered list ✅ | "ordered" |
| 22 | Divider | "divider" |
❌ 9=heading7, 10=heading8. NOT lists!
Send message via Lark API with doc link.
| # | Result | Root Cause | Lesson |
|---|---|---|---|
| 1 | ❌ Self-killed | Sub-agent ran gateway restart | Never restart gateway in sub-agent |
| 2 | ⚠️ Wrong week | Collected Feb 10-14 instead of Feb 3-7 | Always confirm week title after pagination |
| 3 | ❌ 200K tokens burned | Tried curl on SPA | Reports is SPA, browser only |
| 4 | ❌ 200K tokens burned | Sub-agent explored on its own | Give exact URLs and steps |
| 5 | ✅ Success | Precise instructions + correct block_types | Template is key |