Skip to content

[BUG] Airtable webhook sources intermittently emit the raw Airtable payload #18220

@mariczne

Description

@mariczne

Describe the bug
Airtable webhook sources intermittently emit the raw Airtable payload (instead of the normalized shape with originalPayload). I assume this is due to a throw during event processing for createdRecordsById due to errors fetching the new record immediately after the webhook arrives.

Root causes:

  • Fallback path (emitDefaultEvent) emitted the raw payload instead of a normalized shape.
  • emitEvent destructured changedTablesById without guarding against empty/unknown shapes.
  • For create events, a GET to /v0/{base}/{table}/{recordId} can briefly return an error (e.g., not yet consistent), which caused the emitter to throw.

To Reproduce
Steps to reproduce the behavior:

  1. Set up an Airtable webhook source (New/Modified/Deleted or New/Modified Records).
  2. Create records via Airtable
  3. Observe occasional events where:
    • The step output is the raw payload (no originalPayload), or
    • The source errors due to an exception during event emission.

Expected behavior

  • All events should have a consistent, normalized shape including originalPayload.
  • Emitters should not crash on unexpected payload shapes.
  • Record fetch should be best-effort: retry briefly and, if it still fails, emit the event with empty record.fields instead of throwing.

Screenshots
N/A (behavior is visible in step logs and event payloads).

Additional context
I'll create a PR addressing this bug.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtriagedFor maintainers: This issue has been triaged by a Pipedream employee

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions