IntegrationsWorkplace chat

Brand mentions in a Feishu or Lark group

Feishu, and Lark outside China, take a custom bot webhook in a couple of clicks. The bot’s security settings are where setups fail: a keyword the message does not contain is refused, and the refusal arrives as a code in the response body.

Every alert channel is on every plan, including Free.

[01] WHAT LANDS THERE/ A GROUP

A mention, as it arrives in Feishu / Lark

Rendered by the code that sends it, from a sample Hacker News post. Never the post body.
群 · Brand watch

FishOut botBotnow

FishOut · Reply now: a relevant post on Hacker News

Ask HN: How do small teams handle support email without a helpdesk?

Relevance 92 · Topic · Neutral · by mirelle

Hint: Answer the question directly

Labels: Question, Asking for recommendations

Open in FishOutView on Hacker News
[02] CONNECT IT/ SETUP

Point FishOut at a group

3 steps, a few minutes end to end.
  1. 1

    Add a custom bot to the group

    In the group’s settings, open Bots → Add bot → Custom bot. Give it a name and avatar, then copy the webhook URL it shows.

    feishu url (lark: open.larksuite.com)

    https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  2. 2

    Set the custom keyword to FishOut

    Under the bot’s security settings, add the keyword FishOut. Every FishOut message contains it in the card title, so the check passes. FishOut does not sign requests for Feishu, so leave signature verification off, and do not add an IP allowlist.

  3. 3

    Paste the URL into FishOut

    Under Settings → Notifications, add a Feishu / Lark channel and paste it. Both hosts are accepted: open.feishu.cn and open.larksuite.com.

Then set the floor

A Feishu group is usually a working team’s group, not a dedicated alerts channel, so every card lands between real conversations. Keep the floor at 80 or above and let the green Reply now header do the triage at a glance: green is worth opening now, blue can wait.
Settings · Notifications

Feishu / Lark

https://open.feishu.cn/…

Healthy

Relevance floor80

Eventsmention.scored
Batch bursts5 min
[03] WHAT IS IN IT/ FIELDS

What Feishu / Lark receives, field by field

Built from the event’s envelope and nothing else, so a retry renders exactly the message the first attempt would have.
Field How
Card headerShown“FishOut · ” plus the headline; green for Reply now, blue otherwise.
Post titleClippedplain_text only, clipped at 200 characters — never lark_md, so markup cannot become @all.
Relevance, subject, sentiment, authorShownIts own plain_text row.
Reply hint and labelsShownplain_text rows.
ButtonsShownOpen in FishOut (primary) and View on the platform.
Post bodyNeverNever sent: the envelope does not carry it.
[04] TEN PINGS OR ONE/ DIGEST

A burst arrives as one message

Feishu / Lark batches by default. Here 3 posts were held after the first; they arrive together when the window closes, best first.
群 · Brand watch · 5-min digest

FishOut botBot+5m

FishOut · 3 new mentions for AcmeMail

  • Ask HN: Tools for a support team across time zones? · Hacker News · 89
  • AcmeMail API is the best-documented in the category · Hacker News · 82
  • Shared inboxes are the new helpdesks · Hacker News · 76
Open in FishOut
[05] WHAT WILL BITE YOU/ LIMITS

Feishu’s limits, not ours

These are Feishu’s and Lark’s constraints, checked against the custom bot guide on both open platforms. Failures are tracked per channel, so one broken destination never stops the others.

A custom bot can be protected with custom keywords (up to 10), an IP allowlist and a signature, in any combination. FishOut works with the keyword setting. [source]

Each bot is limited to 100 requests a minute and 5 a second per tenant, and Feishu advises avoiding sends on the hour and half hour, when 11232 throttling is likeliest. [source]

A request body may not exceed 20 KB. A FishOut card is well under, because it never carries the post body. [source]

Failures come back as a code in the JSON body (19024, 19021, 9499…), so FishOut reads the body before it records a delivery, rather than trusting the status alone. [source]

In the channel’s delivery history
You seeIt meansDo this
feishu_keyword_mismatchCode 19024: the bot’s keyword is not FishOut.Set the custom keyword to FishOut.
feishu_signature_requiredCode 19021: signature verification is switched on.Turn signing off and use the keyword instead.
feishu_ip_not_allowedCode 19022: an IP allowlist is set.Remove the allowlist; FishOut has no fixed sending addresses.
feishu_rate_limitedCode 11232: throttled. Retried after 60 seconds.Nothing, usually; batching keeps bursts small.
[06] WHERE MENTIONS COME FROM/ ROUTES
[07] OPEN IN FISHOUT/ THE INBOX

From Feishu / Lark to a drafted reply

“Ask HN: How do small teams handle support email without a helpdesk?”, open in the inbox. You send the reply; FishOut never posts.
Hacker Newsmirelle
92

Ask HN: How do small teams handle support email without a helpdesk?

Reply nowQuestionAsking for recommendationsTopic

Draft reply · Answer the question directly

Copy and open threadYou send it

Questions