Skip to content

Commit be23128

Browse files
committed
fix(docs): correctly destructure nested implicit-object trigger outputs
Fixes a parser bug where output fields with no top-level `type` key but child fields each having their own `type`/`description` were incorrectly parsed. The `type:` and `description:` regex matches were not depth-aware, so values from nested children bled into the parent field. Changes: - Add `isAtDepthZero()` helper for brace-depth-aware regex matching - Fix `parseFieldContent` to only match `type:` at brace depth 0 - Fix `extractDescription` to only match `description:` at brace depth 0 - Add implicit-object fallback: when no top-level `type` exists but child fields have their own types, treat as `object` with `properties` - Regenerate all affected trigger docs (Cal.com payload, Linear data, Jira issue.fields, Ashby application, Greenhouse candidate, etc.)
1 parent 35beb7e commit be23128

26 files changed

Lines changed: 2330 additions & 202 deletions

apps/docs/content/docs/en/tools/gong.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ Retrieve interaction statistics for users by date range from Gong. Only includes
409409

410410
| Parameter | Type | Description |
411411
| --------- | ---- | ----------- |
412-
| `peopleInteractionStats` | array | Email address of the Gong user |
412+
| `peopleInteractionStats` | array | Interaction statistics per user. Applicable stat names: 'Longest Monologue', 'Longest Customer Story', 'Interactivity', 'Patience', 'Question Rate'. |
413413
|`userId` | string | Gong's unique numeric identifier for the user |
414414
|`userEmailAddress` | string | Email address of the Gong user |
415415
|`personInteractionStats` | array | List of interaction stat measurements for this user |
@@ -656,7 +656,7 @@ Retrieve coaching metrics for a manager from Gong.
656656
| Parameter | Type | Description |
657657
| --------- | ---- | ----------- |
658658
| `requestId` | string | A Gong request reference ID for troubleshooting purposes |
659-
| `coachingData` | array | The manager user information |
659+
| `coachingData` | array | A list of coaching data entries, one per manager's team |
660660
|`manager` | object | The manager user information |
661661
|`id` | string | Gong unique numeric identifier for the user |
662662
|`emailAddress` | string | Email address of the Gong user |

apps/docs/content/docs/en/tools/sharepoint.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,15 @@ Read a specific page from a SharePoint site
8787
|`createdDateTime` | string | When the page was created |
8888
|`lastModifiedDateTime` | string | When the page was last modified |
8989
| `pages` | array | List of SharePoint pages |
90-
|`page` | object | The unique ID of the page |
90+
|`page` | object | page output from the tool |
9191
|`id` | string | The unique ID of the page |
9292
|`name` | string | The name of the page |
9393
|`title` | string | The title of the page |
9494
|`webUrl` | string | The URL to access the page |
9595
|`pageLayout` | string | The layout type of the page |
9696
|`createdDateTime` | string | When the page was created |
9797
|`lastModifiedDateTime` | string | When the page was last modified |
98-
|`content` | object | Extracted text content from the page |
98+
|`content` | object | content output from the tool |
9999
|`content` | string | Extracted text content from the page |
100100
|`canvasLayout` | object | Raw SharePoint canvas layout structure |
101101
| `content` | object | Content of the SharePoint page |
@@ -127,9 +127,9 @@ List details of all SharePoint sites
127127
|`createdDateTime` | string | When the site was created |
128128
|`lastModifiedDateTime` | string | When the site was last modified |
129129
|`isPersonalSite` | boolean | Whether this is a personal site |
130-
|`root` | object | Server relative URL |
130+
|`root` | object | root output from the tool |
131131
|`serverRelativeUrl` | string | Server relative URL |
132-
|`siteCollection` | object | Site collection hostname |
132+
|`siteCollection` | object | siteCollection output from the tool |
133133
|`hostname` | string | Site collection hostname |
134134
| `sites` | array | List of all accessible SharePoint sites |
135135
|`id` | string | The unique ID of the site |

apps/docs/content/docs/en/tools/textract.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Integrate AWS Textract into your workflow to extract text, tables, forms, and ke
6666
|`Confidence` | number | Confidence score \(0-100\) |
6767
|`Page` | number | Page number |
6868
|`Geometry` | object | Location and bounding box information |
69-
|`BoundingBox` | object | Height as ratio of document height |
69+
|`BoundingBox` | object | BoundingBox output from the tool |
7070
|`Height` | number | Height as ratio of document height |
7171
|`Left` | number | Left position as ratio of document width |
7272
|`Top` | number | Top position as ratio of document height |

apps/docs/content/docs/en/tools/typeform.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,23 +96,23 @@ Retrieve insights and analytics for Typeform forms
9696

9797
| Parameter | Type | Description |
9898
| --------- | ---- | ----------- |
99-
| `fields` | array | Number of users who dropped off at this field |
99+
| `fields` | array | Analytics data for individual form fields |
100100
|`dropoffs` | number | Number of users who dropped off at this field |
101101
|`id` | string | Unique field ID |
102102
|`label` | string | Field label |
103103
|`ref` | string | Field reference name |
104104
|`title` | string | Field title/question |
105105
|`type` | string | Field type \(e.g., short_text, multiple_choice\) |
106106
|`views` | number | Number of times this field was viewed |
107-
| `form` | object | Average completion time for this platform |
108-
|`platforms` | array | Average completion time for this platform |
107+
| `form` | object | Form-level analytics and performance data |
108+
|`platforms` | array | Platform-specific analytics data |
109109
|`average_time` | number | Average completion time for this platform |
110110
|`completion_rate` | number | Completion rate for this platform |
111111
|`platform` | string | Platform name \(e.g., desktop, mobile\) |
112112
|`responses_count` | number | Number of responses from this platform |
113113
|`total_visits` | number | Total visits from this platform |
114114
|`unique_visits` | number | Unique visits from this platform |
115-
|`summary` | object | Overall average completion time |
115+
|`summary` | object | Overall form performance summary |
116116
|`average_time` | number | Overall average completion time |
117117
|`completion_rate` | number | Overall completion rate |
118118
|`responses_count` | number | Total number of responses |

apps/docs/content/docs/en/triggers/ashby.mdx

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,20 @@ Trigger workflow when a new application is submitted
2929
| Parameter | Type | Description |
3030
| --------- | ---- | ----------- |
3131
| `action` | string | The webhook event type \(e.g., applicationSubmit, candidateHire\) |
32-
| `application` | string | Application UUID |
32+
| `application` | object | application output from the tool |
33+
|`id` | string | Application UUID |
34+
|`createdAt` | string | Application creation timestamp \(ISO 8601\) |
35+
|`updatedAt` | string | Application last update timestamp \(ISO 8601\) |
36+
|`status` | string | Application status \(Active, Hired, Archived, Lead\) |
37+
|`candidate` | object | candidate output from the tool |
38+
|`id` | string | Candidate UUID |
39+
|`name` | string | Candidate name |
40+
|`currentInterviewStage` | object | currentInterviewStage output from the tool |
41+
|`id` | string | Current interview stage UUID |
42+
|`title` | string | Current interview stage title |
43+
|`job` | object | job output from the tool |
44+
|`id` | string | Job UUID |
45+
|`title` | string | Job title |
3346

3447

3548
---
@@ -49,7 +62,8 @@ Trigger workflow when a candidate is deleted
4962
| Parameter | Type | Description |
5063
| --------- | ---- | ----------- |
5164
| `action` | string | The webhook event type \(e.g., applicationSubmit, candidateHire\) |
52-
| `candidate` | string | Deleted candidate UUID |
65+
| `candidate` | object | candidate output from the tool |
66+
|`id` | string | Deleted candidate UUID |
5367

5468

5569
---
@@ -69,7 +83,20 @@ Trigger workflow when a candidate is hired
6983
| Parameter | Type | Description |
7084
| --------- | ---- | ----------- |
7185
| `action` | string | The webhook event type \(e.g., applicationSubmit, candidateHire\) |
72-
| `application` | string | Application UUID |
86+
| `application` | object | application output from the tool |
87+
|`id` | string | Application UUID |
88+
|`createdAt` | string | Application creation timestamp \(ISO 8601\) |
89+
|`updatedAt` | string | Application last update timestamp \(ISO 8601\) |
90+
|`status` | string | Application status \(Hired\) |
91+
|`candidate` | object | candidate output from the tool |
92+
|`id` | string | Candidate UUID |
93+
|`name` | string | Candidate name |
94+
|`currentInterviewStage` | object | currentInterviewStage output from the tool |
95+
|`id` | string | Current interview stage UUID |
96+
|`title` | string | Current interview stage title |
97+
|`job` | object | job output from the tool |
98+
|`id` | string | Job UUID |
99+
|`title` | string | Job title |
73100

74101

75102
---
@@ -89,7 +116,20 @@ Trigger workflow when a candidate changes interview stages
89116
| Parameter | Type | Description |
90117
| --------- | ---- | ----------- |
91118
| `action` | string | The webhook event type \(e.g., applicationSubmit, candidateHire\) |
92-
| `application` | string | Application UUID |
119+
| `application` | object | application output from the tool |
120+
|`id` | string | Application UUID |
121+
|`createdAt` | string | Application creation timestamp \(ISO 8601\) |
122+
|`updatedAt` | string | Application last update timestamp \(ISO 8601\) |
123+
|`status` | string | Application status \(Active, Hired, Archived, Lead\) |
124+
|`candidate` | object | candidate output from the tool |
125+
|`id` | string | Candidate UUID |
126+
|`name` | string | Candidate name |
127+
|`currentInterviewStage` | object | currentInterviewStage output from the tool |
128+
|`id` | string | Current interview stage UUID |
129+
|`title` | string | Current interview stage title |
130+
|`job` | object | job output from the tool |
131+
|`id` | string | Job UUID |
132+
|`title` | string | Job title |
93133

94134

95135
---
@@ -109,7 +149,12 @@ Trigger workflow when a new job is created
109149
| Parameter | Type | Description |
110150
| --------- | ---- | ----------- |
111151
| `action` | string | The webhook event type \(e.g., applicationSubmit, candidateHire\) |
112-
| `job` | string | Job UUID |
152+
| `job` | object | job output from the tool |
153+
|`id` | string | Job UUID |
154+
|`title` | string | Job title |
155+
|`confidential` | boolean | Whether the job is confidential |
156+
|`status` | string | Job status \(Open, Closed, Draft, Archived\) |
157+
|`employmentType` | string | Employment type \(Full-time, Part-time, etc.\) |
113158

114159

115160
---
@@ -129,5 +174,12 @@ Trigger workflow when a new offer is created
129174
| Parameter | Type | Description |
130175
| --------- | ---- | ----------- |
131176
| `action` | string | The webhook event type \(e.g., applicationSubmit, candidateHire\) |
132-
| `offer` | string | Offer UUID |
177+
| `offer` | object | offer output from the tool |
178+
|`id` | string | Offer UUID |
179+
|`applicationId` | string | Associated application UUID |
180+
|`acceptanceStatus` | string | Offer acceptance status \(Accepted, Declined, Pending, Created, Cancelled, WaitingOnResponse\) |
181+
|`offerStatus` | string | Offer process status \(WaitingOnApprovalStart, WaitingOnOfferApproval, WaitingOnCandidateResponse, CandidateAccepted, CandidateRejected, OfferCancelled\) |
182+
|`decidedAt` | string | Offer decision timestamp \(ISO 8601\). Typically null at creation; populated after candidate responds. |
183+
|`latestVersion` | object | latestVersion output from the tool |
184+
|`id` | string | Latest offer version UUID |
133185

apps/docs/content/docs/en/triggers/calcom.mdx

Lines changed: 99 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,19 @@ Trigger workflow when a booking is cancelled in Cal.com
3030
| --------- | ---- | ----------- |
3131
| `triggerEvent` | string | The webhook event type |
3232
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
33-
| `payload` | string | Booking title |
33+
| `payload` | object | payload output from the tool |
34+
|`title` | string | Booking title |
35+
|`description` | string | Booking description |
36+
|`eventTypeId` | number | Event type ID |
37+
|`startTime` | string | Booking start time \(ISO 8601\) |
38+
|`endTime` | string | Booking end time \(ISO 8601\) |
39+
|`uid` | string | Unique booking identifier |
40+
|`bookingId` | number | Numeric booking ID |
41+
|`status` | string | Booking status |
42+
|`location` | string | Meeting location or URL |
43+
|`cancellationReason` | string | Reason for cancellation |
44+
|`responses` | json | Booking form responses |
45+
|`metadata` | json | Custom metadata attached to the booking |
3446

3547

3648
---
@@ -51,7 +63,19 @@ Trigger workflow when a new booking is created in Cal.com
5163
| --------- | ---- | ----------- |
5264
| `triggerEvent` | string | The webhook event type |
5365
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
54-
| `payload` | string | Booking title |
66+
| `payload` | object | payload output from the tool |
67+
|`title` | string | Booking title |
68+
|`description` | string | Booking description |
69+
|`eventTypeId` | number | Event type ID |
70+
|`startTime` | string | Booking start time \(ISO 8601\) |
71+
|`endTime` | string | Booking end time \(ISO 8601\) |
72+
|`uid` | string | Unique booking identifier |
73+
|`bookingId` | number | Numeric booking ID |
74+
|`status` | string | Booking status |
75+
|`location` | string | Meeting location or URL |
76+
|`responses` | json | Booking form responses \(dynamic - fields depend on your event type configuration\) |
77+
|`metadata` | json | Custom metadata attached to the booking \(dynamic - user-defined key-value pairs\) |
78+
|`videoCallData` | json | Video call details \(structure varies by provider\) |
5579

5680

5781
---
@@ -72,7 +96,22 @@ Trigger workflow when payment is completed for a paid booking
7296
| --------- | ---- | ----------- |
7397
| `triggerEvent` | string | The webhook event type \(BOOKING_PAID\) |
7498
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
75-
| `payload` | string | Booking title |
99+
| `payload` | object | payload output from the tool |
100+
|`title` | string | Booking title |
101+
|`description` | string | Booking description |
102+
|`eventTypeId` | number | Event type ID |
103+
|`startTime` | string | Booking start time \(ISO 8601\) |
104+
|`endTime` | string | Booking end time \(ISO 8601\) |
105+
|`uid` | string | Unique booking identifier |
106+
|`bookingId` | number | Numeric booking ID |
107+
|`status` | string | Booking status |
108+
|`location` | string | Meeting location or URL |
109+
|`payment` | object | Payment details |
110+
|`id` | string | Payment ID |
111+
|`amount` | number | Payment amount |
112+
|`currency` | string | Payment currency |
113+
|`success` | boolean | Whether payment succeeded |
114+
|`metadata` | json | Custom metadata attached to the booking |
76115

77116

78117
---
@@ -93,7 +132,17 @@ Trigger workflow when a booking request is rejected by the host
93132
| --------- | ---- | ----------- |
94133
| `triggerEvent` | string | The webhook event type \(BOOKING_REJECTED\) |
95134
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
96-
| `payload` | string | Booking title |
135+
| `payload` | object | payload output from the tool |
136+
|`title` | string | Booking title |
137+
|`description` | string | Booking description |
138+
|`eventTypeId` | number | Event type ID |
139+
|`startTime` | string | Requested start time \(ISO 8601\) |
140+
|`endTime` | string | Requested end time \(ISO 8601\) |
141+
|`uid` | string | Unique booking identifier |
142+
|`bookingId` | number | Numeric booking ID |
143+
|`status` | string | Booking status \(rejected\) |
144+
|`rejectionReason` | string | Reason for rejection provided by host |
145+
|`metadata` | json | Custom metadata attached to the booking |
97146

98147

99148
---
@@ -114,7 +163,18 @@ Trigger workflow when a booking request is submitted (pending confirmation)
114163
| --------- | ---- | ----------- |
115164
| `triggerEvent` | string | The webhook event type \(BOOKING_REQUESTED\) |
116165
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
117-
| `payload` | string | Booking title |
166+
| `payload` | object | payload output from the tool |
167+
|`title` | string | Booking title |
168+
|`description` | string | Booking description |
169+
|`eventTypeId` | number | Event type ID |
170+
|`startTime` | string | Requested start time \(ISO 8601\) |
171+
|`endTime` | string | Requested end time \(ISO 8601\) |
172+
|`uid` | string | Unique booking identifier |
173+
|`bookingId` | number | Numeric booking ID |
174+
|`status` | string | Booking status \(pending\) |
175+
|`location` | string | Meeting location or URL |
176+
|`responses` | json | Booking form responses |
177+
|`metadata` | json | Custom metadata attached to the booking |
118178

119179

120180
---
@@ -135,7 +195,22 @@ Trigger workflow when a booking is rescheduled in Cal.com
135195
| --------- | ---- | ----------- |
136196
| `triggerEvent` | string | The webhook event type |
137197
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
138-
| `payload` | string | Booking title |
198+
| `payload` | object | payload output from the tool |
199+
|`title` | string | Booking title |
200+
|`description` | string | Booking description |
201+
|`eventTypeId` | number | Event type ID |
202+
|`startTime` | string | New booking start time \(ISO 8601\) |
203+
|`endTime` | string | New booking end time \(ISO 8601\) |
204+
|`uid` | string | Unique booking identifier |
205+
|`bookingId` | number | Numeric booking ID |
206+
|`status` | string | Booking status |
207+
|`location` | string | Meeting location or URL |
208+
|`rescheduleId` | number | Previous booking ID |
209+
|`rescheduleUid` | string | Previous booking UID |
210+
|`rescheduleStartTime` | string | Original start time \(ISO 8601\) |
211+
|`rescheduleEndTime` | string | Original end time \(ISO 8601\) |
212+
|`responses` | json | Booking form responses |
213+
|`metadata` | json | Custom metadata attached to the booking |
139214

140215

141216
---
@@ -156,7 +231,15 @@ Trigger workflow when a Cal.com meeting ends
156231
| --------- | ---- | ----------- |
157232
| `triggerEvent` | string | The webhook event type \(MEETING_ENDED\) |
158233
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
159-
| `payload` | string | Meeting title |
234+
| `payload` | object | payload output from the tool |
235+
|`title` | string | Meeting title |
236+
|`eventTypeId` | number | Event type ID |
237+
|`startTime` | string | Meeting start time \(ISO 8601\) |
238+
|`endTime` | string | Meeting end time \(ISO 8601\) |
239+
|`uid` | string | Unique booking identifier |
240+
|`bookingId` | number | Numeric booking ID |
241+
|`duration` | number | Actual meeting duration in minutes |
242+
|`videoCallData` | json | Video call details |
160243

161244

162245
---
@@ -177,7 +260,15 @@ Trigger workflow when a meeting recording is ready for download
177260
| --------- | ---- | ----------- |
178261
| `triggerEvent` | string | The webhook event type \(RECORDING_READY\) |
179262
| `createdAt` | string | When the webhook event was created \(ISO 8601\) |
180-
| `payload` | string | Meeting title |
263+
| `payload` | object | payload output from the tool |
264+
|`title` | string | Meeting title |
265+
|`eventTypeId` | number | Event type ID |
266+
|`startTime` | string | Meeting start time \(ISO 8601\) |
267+
|`endTime` | string | Meeting end time \(ISO 8601\) |
268+
|`uid` | string | Unique booking identifier |
269+
|`bookingId` | number | Numeric booking ID |
270+
|`recordingUrl` | string | URL to download the recording |
271+
|`transcription` | string | Meeting transcription text \(if available\) |
181272

182273

183274
---

0 commit comments

Comments
 (0)