OctaFlow
Lark Expert · AnyCross onboarding

New member added to a Lark department → onboarding workflow

AnyCross connects Lark Contact, Lark Base, Lark Messenger, and group chat into a single triggered flow. The trigger is native: AnyCross has direct read access to Lark Contact events, so when a member joins a specific department the flow fires without a webhook or polling step.

At a glance

Trigger: Member added to a specific Lark Contact department

Three actions: (a) Base row created, (b) personalised IM sent, (c) group chat membership added

Key questions answered: execution order, partial-success handling, whether IM sends when Base write fails

Access AnyCross at anycross.larksuite.com or through the AnyCross icon in the Lark app menu. If the icon is absent, confirm with the OctaFlow Lark admin that AnyCross is enabled on the tenant — it ships disabled on some configurations even when the pricing plan includes it.

Source: AnyCross Module Section 1 (Product Orientation) and Section 5 (Gotcha 5).

1
Trigger
3
Actions
2
Options
Lark Contact member added AnyCross sequential Base row onboarding tracker IM welcome personalised Group chat add member
One Contact trigger → three sequential actions via AnyCross
01 / 06 · Overview
The core design decision

Execution order & partial-success

AnyCross executes actions sequentially in the order you place them in the workflow canvas. There is no native parallel execution. This matters for your partial-success question.

If the Base write fails, should the IM still send?

The answer is a design choice, and it has two legitimate answers depending on what matters more to you:

OptionBehaviourWhen to choose it
Hard-dependency chain (default sequential, no branch) If the Base write fails, the flow halts and the IM does not send When the Base record is a compliance or HR requirement — you would rather know the write failed than silently send an onboarding message with no audit trail behind it
Independent-action chain (conditional branch after Base write) If the Base write fails, the flow continues and the IM sends anyway; the failure is logged When the new member's first-day experience matters more than the Base record — a missed row can be fixed manually; a missed welcome message on Day 1 cannot
Recommendation for OctaFlow (17-person scale)

The independent-action chain. The Base write failure is recoverable (Fran or the admin can add the row manually); a new hire who receives no welcome message on their first day is a worse outcome. The conditional branch approach also gives you visibility — you know the write failed — rather than silently halting without notifying anyone.

HARD-DEPENDENCY · DEFAULT Base write IM not sent flow halts INDEPENDENT-ACTION · RECOMMENDED Base write IM sent anyway failure logged
Same failure, two designs: halt vs. continue-and-log
02 / 06 · Execution order
Fallback

Option B: sequential flow without conditional branch

Use this when conditional branching is unavailable on the tenant. The flow is: Trigger → Action 1 (Base write) → Action 2 (IM) → Action 3 (Add to group chat).

In this configuration, a Base write failure halts the flow at Action 1 and the IM does not send. This is the hard-dependency behaviour described above.

To reduce the cost of this failure mode

  • Enable run history so failures appear in the AnyCross log.
  • Set a Lark Base automation on the Onboarding table to DM Fran if no row is added within 10 minutes of a department join event — this provides a secondary alert path when the AnyCross flow halts.
  • Accept that on rare Base write failures, the new member will need to be messaged manually.

At OctaFlow's scale, this option is workable but produces worse failure visibility than the conditional branch approach.

TRIGGER · MEMBER ADDED TO DEPARTMENT native Lark Contact event Action 1 · Base write halts on fail Action 2 · IM Action 3 · Group chat
Linear chain — a Base write failure stops everything downstream
04 / 06 · Option B
The general principle

Handling partial-success across three connectors

AnyCross does not have a native rollback mechanism. If Action 1 succeeds (Base row created) and Action 3 fails (group chat add fails), the Base row exists but the group membership does not. AnyCross does not undo Action 1 in response to Action 3's failure.

The practical approach at this scale

  1. Log every failure. Run history captures the state of each action. When a partial success occurs, the run history tells you exactly which actions succeeded and which failed.
  2. Design for forward recovery, not rollback. Each action should be independently retryable. Adding a member to the group chat manually (if Action 3 fails) is a 30-second fix. Deleting a Base row (if you want to "roll back" Action 1) is also trivial at this scale. Design your ops procedure around "check run history weekly, fix any failures manually" rather than around automated rollback.
  3. Use the failure branch to alert. The conditional branch pattern above ensures that failures on Action 1 produce an immediate alert to a known channel. For Action 3 failures, add a second conditional branch after the group chat action that routes failures to the same ops channel.
  4. Sequence the actions in failure-cost order. The highest-cost failure is the one that leaves the new member without a welcome message. Sequence the IM before the group chat add — this way, even if the group chat add fails, the new member has been welcomed and the failure is a recoverable admin task.
Revised recommended order

Trigger → Action 1 (Base write, with conditional branch) → Action 2 (IM, on both branches) → Action 3 (Add to group chat, with its own error notification).

Action 1 · Base row succeeded Action 3 · Group add failed Base row exists · membership missing no native rollbackundo is not automatic forward recoveryfix manually · 30s
No rollback — design for forward recovery
05 / 06 · Partial-success
Raise it

Account-manager escalation note

This is worth raising with the Lark account manager.

Function affected: HR (Fran) and all functions that onboard new team members

Lark gap: AnyCross conditional branch availability is tier-dependent; if unavailable on the OctaFlow tenant, partial-success handling across multi-action flows requires a workaround (sequential flow with manual recovery) rather than a native branch

Current workaround: Sequential flow with run history enabled; manual row creation when Base write fails; Base automation as secondary alert

Requested native fix: Confirm conditional branching is enabled on the OctaFlow AnyCross tier, or request tier upgrade if it is currently unavailable

Verification status

The AnyCross module is at partial status. The Contact trigger (member added to department) and the three-action flow structure are documented in Lark's public AnyCross documentation. The specific conditional branch availability on the OctaFlow tenant has not been first-hand verified — confirm before building the full flow.

06 / 06 · Account manager