Skip to content

Delivery logs & retries

Every attempt to deliver a report to an integration is logged. The report itself is always stored first; the delivery log answers the other question — what happened when we tried to write it into your table.

One delivery = 1 initial attempt + 2 retries, waiting 5 seconds and then 15 seconds after a failure (backoff). Only when all three fail does the delivery count as failed and increment the consecutive-failure counter (see Auto-disable).

In the worst case an integration occupies about 20 seconds — delivery runs in a background thread, so submitting a report is never blocked by it.

FieldMeaning
eventshare.created (a real report) / test (test write)
attemptWhich attempt this is (1–3)
okWhether this attempt succeeded
status_codeHTTP status returned by the target; empty for network-level failures (unreachable / timed out)
errorFailure reason (truncated to 500 characters), e.g. http 502: …, network: ConnectTimeout
record_idRecord ID when the Bitable write succeeded (not applicable to generic webhooks)

Entries are written per attempt: three failed attempts leave three ok=false rows, each with its own error.

Console → Settings → Integrations → the integration’s delivery log, newest first. The “last success” and “last error” summary fields on the integration card give you the short version.

What the log saysConclusionWhat to do
http 401 / 403Authentication problemMethod B: check the app credentials and scopes; generic webhook: check your signature verification and firewall
http 429The target is rate-limitingFeishu limits usually recover on their own; if it persists, contact us
http 5xxTarget-side failureUsually self-heals; if it continues see Auto-disable
network: … (no status code)Unreachable or timed outCheck that the endpoint is reachable from the public internet; webhooks must be public https URLs
Three failures, then nothingThe integration was auto-disabledFix the cause, then re-enable it

Every attempt from the “Test” button is logged as well (event=test), but it does not count towards the failure counter; a successful test resets it.