TutorialLarkSetup

Setting Up Expense Approval
Automation in Lark

A Step-by-Step Guide

·7 min read·By Kopi Team
Lark workspace connected to Kopi approval bot

Lark Workspace

webhook
🤖

Kopi AI

card

Approver

What you will achieve by the end of this guide

  • Kopi AI bot connected to your Lark or Feishu workspace
  • Expense approval flows subscribed and monitored
  • AI check cards delivered to approvers in Lark
  • Rule library initialized and learning from approver decisions

Time to complete: 10–15 minutes

Prerequisites

Before you begin, make sure you have:

  • Lark Workspace Admin access — you will need to create a custom app in the Lark Open Platform
  • Expense approval flows already set up in Lark — employees should already be submitting expenses via Lark approval feature
  • A Kopi accountsign up free here if you have not already

Note for Feishu users: Kopi works identically with Feishu. All steps below apply — just replace open.larksuite.com with open.feishu.cn.

Step 1: Create Your Kopi Account

01

Go to hellokopi.com/signup and create a free account. During beta, no credit card is required.

After signup, you will land on the Onboarding page. This is your setup wizard — keep it open throughout this guide. It walks you through every step with the exact credentials you need to copy.

The onboarding flow has six steps. You will complete Steps 1–4 here in this guide, then Step 5 (subscribe to approval flows) and Step 6 (test) follow naturally.

Step 2: Create a Custom App in Lark Open Platform

02

You need to create a Lark custom app so Kopi can receive approval events from your workspace. Here is how:

  1. 1Open open.larksuite.com (or open.feishu.cn for Feishu) and sign in with your workspace admin account.
  2. 2Click Create App → Custom App. Name it "Kopi" or any name your team will recognize.
  3. 3From the app Credentials page, copy the App ID and App Secret. You will paste these into Kopi in the next step.
  4. 4Under Features → Bot, enable the Bot capability. This allows Kopi to send AI check cards to approvers inside Lark chat.

Keep this browser tab open — you will return to it in Step 4 to configure the webhook.

Step 3: Enter Credentials in Kopi

03

Switch back to your Kopi onboarding page. In Step 2: App Credentials, paste the App ID and App Secret you copied from the Lark Open Platform.

Click Verify credentials. Kopi will make a test API call to confirm the credentials work. If verification succeeds, you will see a green checkmark and your workspace name appear.

Common issue: verification fails

If verification fails, double-check that you copied the App Secret (not the App Token). They appear close together on the Lark credentials page. The App Secret is the longer string starting with a random character sequence.

Once verified, Kopi generates a unique Webhook URL for your workspace. Copy this URL — you will paste it into Lark in the next step.

Step 4: Configure the Webhook in Lark

04

Return to the Lark Open Platform tab with your custom app open.

  1. 1Navigate to Event Subscriptions in the left sidebar.
  2. 2Paste your Kopi Webhook URL into the Request URL field.
  3. 3Click Save. Lark will send a verification challenge to the URL. Kopi handles this automatically — within a few seconds, Lark will show the URL as Verified.
  4. 4Under Events to Subscribe, add the approval_instance.updated event. This is the event Lark fires whenever an approval submission is made or updated.

Permission scopes required

Under Permissions and Scopes, your app needs: approval:approval:readonly, im:message:send_as_bot, and drive:drive:readonly. Add these if they are not already present, then publish a new app version.

Step 5: Subscribe to Your Expense Approval Flows

05

Back in Kopi, the onboarding screen now shows a list of your Lark approval flows. These are fetched directly from your workspace using the credentials you configured.

Find the approval flow(s) your team uses for expense submissions — typically named something like Expense Claim, Reimbursement, or Finance Approval.

Click Subscribe next to each expense flow. Kopi will now monitor these flows for new submissions and run AI checks on every new claim.

You can subscribe to multiple flows. If your team has separate flows for different expense types (travel, meals, equipment), subscribe to all of them.

Step 6: Test with a Real Submission

06

The easiest way to confirm everything works: submit a test expense through your normal Lark approval flow. Use a real receipt image (even a small personal receipt works for testing).

Within 30–60 seconds, the approver should receive an AI check card in their Lark chat from the Kopi bot. The card shows:

  • Invoice verification result (extracted fields + match status)
  • Amount benchmarking (first submission shows "New" — historical data builds over time)
  • Policy check result
  • Recommended action

When the approver taps Approve or Reject on the card, that decision is saved to the rule library. The next similar submission will be recognized automatically.

No card received?

Check three things: (1) the bot is added to the approver workspace and has permission to send direct messages, (2) the expense was submitted to a subscribed flow — not a different flow, (3) the webhook URL in Lark matches exactly what Kopi shows.

Going Live: What Happens Next

Once the test submission works, you are live. From this point, every new expense submission to your subscribed flows will trigger Kopi AI check automatically. No additional configuration needed.

The system improves over the first two to three weeks as approver decisions build your rule library:

Week 1

All submissions run through the 5-dimension AI check. Approvers receive cards for every claim. Decisions are recorded.

Week 2

Recurring vendors and common expense categories start being recognized. Cards for recognized claims show a green "Known pattern" badge.

Week 3+

High-confidence recurring claims may be auto-approved based on your configured thresholds. Manual review focuses on genuinely new or unusual submissions.

Managing the Integration

The Kopi dashboard gives you visibility into everything the AI is doing:

  • Approval history — every claim that passed through Kopi, with AI check results and approver decisions
  • Rule library — view, search, and delete learned approval rules
  • Subscription management — add or remove Lark approval flows at any time
  • Settings — configure policy rules, amount thresholds, and notification preferences

Common Questions After Setup

Can I add more approval flows later?
Yes. Go to Settings → Subscriptions in the Kopi dashboard and subscribe to additional Lark approval flows at any time.
What happens if Kopi is offline when a submission comes in?
Lark will retry the webhook delivery for up to 24 hours. If Kopi is back online within that window, the submission will be processed normally. If not, the approver receives the standard Lark notification with no AI card — the approval flow is not blocked.
Can multiple approvers use Kopi on the same workspace?
Yes. Kopi sends the AI check card to whoever is designated as the approver for each specific claim in Lark. If your approval flow routes different claim types to different approvers, each approver gets cards for their respective queue.
Does Kopi work with Feishu (the mainland China version of Lark)?
Yes. The setup process is identical. Use open.feishu.cn instead of open.larksuite.com when creating your custom app.

For more details on how Kopi's expense automation works under the hood, visit the solutions pages. If you hit a configuration issue not covered here, email us at hello@kopi.sg and we will help you get sorted.

Ready to set up Lark expense approval automation?

Create your free account and follow this guide step by step. Most teams are live in under 15 minutes.