larksuite / larksuite/cli

[Feature Request] Support tripGroup in lark-approval for automated expense reimbursement

Open
#2,240 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

domain/core enhancement
Dominant language
Go
Stars
17.3k
Forks
1.4k
Avg merge
2d 4h
Merged PRs (30d)
105

Description

Problem

The current lark-approval CLI/Skill does not provide a usable way to parse or expose the tripGroup widget from approval instance details. This is a serious productivity gap for anyone trying to automate business travel and expense reimbursement workflows.

tripGroup is an official Feishu approval form widget containing structured travel data such as:

  • schedules and dates
  • departure and destination
  • transportation
  • one-way/round-trip information
  • travel reason
  • accompanying colleagues

The underlying Feishu API can return this data when retrieving an existing approval instance, but the lark-cli approval experience does not appear to expose it in a structured, automation-friendly form.

Why this is unacceptable

We pay significant annual fees for Feishu, yet a core enterprise workflow—automated travel and expense reimbursement—still cannot be completed reliably through the official CLI/Skills.

Having to manually inspect approval details, reconstruct trip information, or fall back to brittle raw API workarounds defeats the purpose of an official automation tool. This directly wastes employee time and makes otherwise straightforward reimbursement automation unnecessarily expensive to maintain.

Requested behavior

Please add first-class tripGroup support to lark-approval:

  1. Parse tripGroup from approval instance detail responses.
  2. Expose all relevant nested fields in the CLI output and Skill schema.
  3. Preserve the structure of multiple schedules and accompanying persons.
  4. Provide stable JSON output suitable for downstream reimbursement automation.
  5. Clearly document the limitation that Feishu's create-instance API does not support creating tripGroup controls, while still supporting retrieval and parsing of existing instances.

For example, a command such as:

lark approval instances get --instance-id <id> --output json

should return the trip data without silently dropping, flattening, or hiding the tripGroup content.

Expected outcome

A user should be able to retrieve an existing travel approval and feed its structured travel data directly into an automated reimbursement workflow, without manually copying fields or writing custom parsing logic.

Please treat this as a high-priority feature request. This is not a cosmetic enhancement; it materially affects the efficiency and viability of enterprise automation with Feishu.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the lark approval instance-details path behind lark approval instances get --instance-id <id> --output json, then trace how response widgets reach the CLI output and Skill schema. Implement retrieval and structured exposure of tripGroup, including multiple schedules and accompanying persons, while preserving the documented create-instance limitation. Done means existing instances produce stable JSON without dropping or flattening trip data.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.