Skip to content
feishu-binding logo

📱 Feishu/Lark Binding

feishu-binding

Feishu/Lark binding: device flow authorization, connect, disconnect, status check. Use when setting up or managing Feishu/Lark connection (e.g. connect Feishu, connect Lark, bind 飞书, check Feishu status, disconnect Lark).

SKILL.md

Full skill instructions

📱 Feishu/​Lark Binding

Connect / disconnect the user's Feishu (飞书) or Lark account so the agent can chat via the Feishu/​Lark app.

The feishu tool stays built-in. This SKILL.md is the reference doc.

See also

  • config/​context/​references/​messaging-channels.md — how messages are routed across channels
  • skills/​wechat-binding/​SKILL.md — analogous WeChat flow
  • skills/​tg-bot-binding/​SKILL.md — analogous Telegram flow

Brand selection

BrandRegionDomain
feishuChina mainland (中国大陆)feishu.cn / accounts.feishu.cn
larkInternationallarksuite.com / accounts.larksuite.com

Ask the user which brand they use. Default to feishu if unclear. Chinese-speaking users almost always use feishu.


Typical binding flow

connect(brand) → user scans QR / opens link → poll(device_code) → done
  1. Start device flow: feishu(action="connect", brand="feishu") — returns verification_uri, device_code, and a QR code image saved to workspace.
  2. Show BOTH options to the user:
    • QR code scan: Display the QR code image inline using the markdown_image from the result (e.g. ![Feishu QR Code](feishu_qrcode_xxx.png)). The user scans it with their Feishu/​Lark app.
    • Direct link: Show the verification_url as a clickable link. The user opens it in their browser, logs in to Feishu/​Lark, and confirms.
  3. Wait for the user to confirm. Don't auto-poll — let them say "done" / "confirmed" / "已确认" / "scanned" first.
  4. Poll for completion: feishu(action="poll", device_code=<from step 1>, brand=<same brand>).
    • status: "done" → binding complete, congratulate the user.
    • status: "pending" → ask the user if they've scanned the QR code or opened the link and confirmed.
    • status: "expired" → the device flow expired (typically 5 minutes). Start over with connect.
  5. Confirm to user: "Feishu/​Lark connected! You can now chat with your agent on Feishu/​Lark."

Actions

actionrequired paramspurpose
status—Current Feishu/​Lark app state. Use to check if already connected.
connectbrand (optional, default "feishu")Start device flow. Returns verification URL + device_code.
polldevice_code, brandCheck if user has confirmed authorization. Returns status.
disconnect—Unbind Feishu/​Lark app (destructive — confirm with user first).

Channel-aware QR / link display

User channelHow to show
WebInclude file_path (QR image) in your reply — frontend renders it inline. Also show the link.
Telegramsend_to_telegram(file_path=<qr_path>, message_type="photo") + include the link in the caption
WeChatShow the link only (user can't scan a QR inside WeChat for Feishu)
Feishu(User is already on Feishu — they don't need to bind. Tell them it's already connected or check status.)

Key differences from WeChat / Telegram

AspectFeishu/​LarkWeChatTelegram
Auth methodDevice flow (URL)QR code scanBot token
User actionOpen URL + confirm in appScan QR + confirmCreate bot via @BotFather
CredentialNone (device flow handles it)bot_token (from QR)bot_token (from BotFather)
Brand choicefeishu / larkN/​AN/​A

Critical rules

  • Don't auto-poll after connect. Wait for user confirmation that they've opened the link and confirmed in Feishu/​Lark. Auto-polling wastes API calls.
  • Device flow expires in ~5 minutes. If poll returns expired, tell the user and start a new connect.
  • disconnect is destructive — confirm with the user before calling it. It will stop the Feishu/​Lark gateway instance.
  • Brand matters — feishu and lark use different API domains. Using the wrong brand will fail silently or redirect to the wrong login page.
  • One app per user — a user can only have one Feishu/​Lark app at a time. If they want to switch brands, they must disconnect first, then connect with the new brand.

Troubleshooting

SymptomLikely causeFix
connect returns errorUser already has an active appCall status first; if active, ask if they want to disconnect and rebind
poll returns expiredUser took too long to confirmStart a new connect
poll returns pending repeatedlyUser hasn't opened the URL yetRemind them to open the verification URL
User says "I can't find the link"URL was in a previous messageRe-run connect to get a fresh URL

More skills from starchild-ai-agent

twitter logo
starchild-ai-agent/official-skills

twitter

twitter

27 7.9K
View
skill-creator logo
starchild-ai-agent/official-skills

skill-creator

skill creator

27 7.8K
View
twelvedata logo
starchild-ai-agent/official-skills

twelvedata

twelvedata

27 7.7K
View
project-builder logo
starchild-ai-agent/official-skills

project-builder

project builder

27 5.2K
View
browser-preview logo
starchild-ai-agent/official-skills

browser-preview

browser preview

27 4.6K
View
composio logo
starchild-ai-agent/official-skills

composio

composio

27 4.3K
View
slide-creator logo
starchild-ai-agent/official-skills

slide-creator

slide creator

27 4.1K
View
web-crawler logo
starchild-ai-agent/official-skills

web-crawler

web crawler

27 3.9K
View
chart logo
starchild-ai-agent/official-skills

chart

chart

27 3.9K
View
user-onboarding logo
starchild-ai-agent/official-skills

user-onboarding

user onboarding

27 3K
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View