-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Closed
Closed
Copy link
Labels
bugSomething isn't workingSomething isn't workingtriagedFor maintainers: This issue has been triaged by a Pipedream employeeFor maintainers: This issue has been triaged by a Pipedream employee
Description
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. emitEventdestructuredchangedTablesByIdwithout 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:
- Set up an Airtable webhook source (New/Modified/Deleted or New/Modified Records).
- Create records via Airtable
- Observe occasional events where:
- The step output is the raw payload (no
originalPayload), or - The source errors due to an exception during event emission.
- The step output is the raw payload (no
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.fieldsinstead 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 workingSomething isn't workingtriagedFor maintainers: This issue has been triaged by a Pipedream employeeFor maintainers: This issue has been triaged by a Pipedream employee
Type
Projects
Status
Done