@graph8/sdk 0.251.0 → 0.260.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +104 -7
  4. package/dist/index.d.ts +104 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +102 -7
  10. package/dist/react.d.ts +102 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1696 -0
  140. package/docs/api/deals.md +2432 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Known graph8 webhook event types.
3
+ *
4
+ * Source of truth is the backend ``WEBHOOK_EVENTS`` catalog
5
+ * (campaign_builder/services/webhook_service.py). Keep in sync when the backend
6
+ * adds events. ``WebhookEvent`` also accepts any string so a newly-added
7
+ * backend event never breaks a client that hasn't upgraded.
8
+ */
9
+ export declare const KNOWN_WEBHOOK_EVENTS: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
10
+ export type WebhookEvent = (typeof KNOWN_WEBHOOK_EVENTS)[number] | (string & {});
11
+ /** The decoded body graph8 delivers to a webhook endpoint. */
12
+ export interface WebhookEventPayload {
13
+ event: WebhookEvent;
14
+ timestamp: string;
15
+ data: Record<string, unknown>;
16
+ org_id: string;
17
+ /** Stable event ID for consumer deduplication; delivery ID is in X-Studio-Delivery-Id. */
18
+ id?: string;
19
+ }
20
+ export interface ConstructEventOptions {
21
+ /**
22
+ * Reject events whose ``X-Studio-Timestamp`` is older (or newer) than this
23
+ * many seconds — replay protection. Disabled when 0/undefined.
24
+ */
25
+ toleranceSeconds?: number;
26
+ }
27
+ /** Thrown by {@link constructEvent} when a webhook cannot be verified. */
28
+ export declare class WebhookSignatureError extends Error {
29
+ constructor(message: string);
30
+ }
31
+ /**
32
+ * Verify the HMAC-SHA256 signature of an incoming graph8 webhook and return the
33
+ * parsed event. Server-side only (needs the per-endpoint signing secret).
34
+ *
35
+ * Mirrors the backend signing scheme exactly: the signature is
36
+ * ``HMAC_SHA256(secret, `${timestamp}.${rawBody}`)`` hex-encoded, delivered in
37
+ * the ``X-Studio-Signature`` header alongside the unix ``X-Studio-Timestamp``.
38
+ *
39
+ * @param payload The RAW request body string (verify before JSON.parse — re-serializing changes bytes).
40
+ * @param signature The ``X-Studio-Signature`` header (an optional ``sha256=`` prefix is tolerated).
41
+ * @param timestamp The ``X-Studio-Timestamp`` header (unix seconds).
42
+ * @param secret The endpoint's signing secret.
43
+ * @throws {WebhookSignatureError} on a missing/invalid signature, stale timestamp, or bad JSON.
44
+ *
45
+ * @example
46
+ * app.post("/webhooks/graph8", (req, res) => {
47
+ * const event = g8.webhooks.constructEvent(
48
+ * req.rawBody,
49
+ * req.header("X-Studio-Signature"),
50
+ * req.header("X-Studio-Timestamp"),
51
+ * process.env.G8_WEBHOOK_SECRET,
52
+ * { toleranceSeconds: 300 },
53
+ * );
54
+ * if (event.event === "meeting.booked") { ... }
55
+ * res.sendStatus(200);
56
+ * });
57
+ */
58
+ export declare function constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: ConstructEventOptions): WebhookEventPayload;
59
+ /**
60
+ * Webhooks client (server-side). graph8 webhooks are PUSH — graph8 POSTs to your
61
+ * endpoint; you verify each delivery with {@link constructEvent}. (The previous
62
+ * polling implementation hit a feed endpoint that never existed and is removed.)
63
+ */
64
+ export declare const createWebhooksClient: (_apiKey: string, apiUrl?: string) => {
65
+ /** Base URL the webhook subscription API lives under. */
66
+ baseUrl: string;
67
+ /** Known event types (for autocomplete / validation). */
68
+ knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
69
+ /** Verify an incoming webhook's HMAC signature and return the parsed event. */
70
+ constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: ConstructEventOptions): WebhookEventPayload;
71
+ };
@@ -0,0 +1,229 @@
1
+ export interface WorkflowNode {
2
+ id: string;
3
+ type: string;
4
+ config: Record<string, unknown>;
5
+ position?: {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ /** Mapping from this node's output to the next node's input. */
10
+ input_mappings?: Record<string, string>;
11
+ }
12
+ export interface WorkflowConnection {
13
+ from_node_id: string;
14
+ to_node_id: string;
15
+ condition?: string | null;
16
+ }
17
+ export interface WorkflowConfig {
18
+ nodes: WorkflowNode[];
19
+ connections: WorkflowConnection[];
20
+ trigger?: Record<string, unknown> | null;
21
+ }
22
+ export interface Workflow {
23
+ id: string;
24
+ name: string;
25
+ description: string | null;
26
+ config: WorkflowConfig;
27
+ trigger_config: Record<string, unknown> | null;
28
+ is_active: boolean;
29
+ created_at: string | null;
30
+ updated_at: string | null;
31
+ }
32
+ export interface WorkflowCreateParams {
33
+ name: string;
34
+ description?: string;
35
+ config?: WorkflowConfig;
36
+ trigger_config?: Record<string, unknown>;
37
+ }
38
+ export interface WorkflowUpdateParams {
39
+ name?: string;
40
+ description?: string;
41
+ config?: WorkflowConfig;
42
+ trigger_config?: Record<string, unknown>;
43
+ is_active?: boolean;
44
+ }
45
+ export interface WorkflowExecution {
46
+ id: string;
47
+ workflow_id: string;
48
+ status: "pending" | "running" | "paused" | "completed" | "failed" | "stopped";
49
+ trigger_payload: Record<string, unknown>;
50
+ outputs: Record<string, unknown>;
51
+ error: string | null;
52
+ started_at: string | null;
53
+ ended_at: string | null;
54
+ }
55
+ export interface NodeTypeSchema {
56
+ type: string;
57
+ label: string;
58
+ description: string;
59
+ config_schema: Record<string, unknown>;
60
+ output_schema: Record<string, unknown>;
61
+ }
62
+ export interface WorkflowListParams {
63
+ page?: number;
64
+ limit?: number;
65
+ is_active?: boolean;
66
+ search?: string;
67
+ }
68
+ /**
69
+ * Workflows API - automation workflows with nodes, connections, and execution lifecycle.
70
+ * Requires API key (server-side). On the hardened HTTP core: throws a typed
71
+ * `G8Error` on failure and retries transient errors.
72
+ *
73
+ * The graph8 workflow surface treats the whole workflow definition as a single
74
+ * record updated via `update()` — there are no per-node CRUD endpoints. To edit
75
+ * nodes or connections, fetch the workflow, mutate `config.nodes` / `config.connections`,
76
+ * and PUT it back.
77
+ *
78
+ * Backed by:
79
+ * GET /api/v1/workflows
80
+ * GET /api/v1/workflows/{id}
81
+ * POST /api/v1/workflows
82
+ * PUT /api/v1/workflows/{id}
83
+ * DELETE /api/v1/workflows/{id}
84
+ * POST /api/v1/workflows/validate
85
+ * POST /api/v1/workflows/{id}/execute
86
+ * GET /api/v1/workflows/executions/{exec_id}
87
+ * POST /api/v1/workflows/executions/{exec_id}/pause
88
+ * POST /api/v1/workflows/executions/{exec_id}/resume
89
+ * POST /api/v1/workflows/executions/{exec_id}/stop
90
+ * GET /api/v1/workflows/{id}/trigger-status
91
+ * POST /api/v1/workflows/{id}/trigger-reset
92
+ * GET /api/v1/workflows/node-types/schema
93
+ * GET /api/v1/workflows/integrations/slack/users|channels
94
+ * GET /api/v1/workflows/integrations/roam/users|groups
95
+ * GET /api/v1/workflows/mcp-servers
96
+ * GET /api/v1/workflows/dispositions
97
+ * GET /api/v1/workflows/forms/{form_id}/fields
98
+ */
99
+ export declare const createWorkflowsClient: (apiKey: string, apiUrl?: string) => {
100
+ /** List workflows org-wide. */
101
+ list(params?: WorkflowListParams): Promise<{
102
+ data: Workflow[];
103
+ }>;
104
+ /** Get full workflow definition (nodes, connections, trigger, execution state). */
105
+ get(workflowId: string): Promise<Workflow>;
106
+ /** Create a new workflow. */
107
+ create(params: WorkflowCreateParams): Promise<Workflow>;
108
+ /**
109
+ * Update a workflow. Pass the full `config` (nodes + connections) to edit
110
+ * the graph — node-level CRUD is performed client-side by mutating the
111
+ * config and submitting the updated record.
112
+ */
113
+ update(workflowId: string, fields: WorkflowUpdateParams): Promise<Workflow>;
114
+ /** Delete a workflow. */
115
+ delete(workflowId: string): Promise<{
116
+ data: {
117
+ deleted: boolean;
118
+ };
119
+ }>;
120
+ /** Validate a workflow definition (orphans, dangling connections, required fields). */
121
+ validate(workflow: {
122
+ config: WorkflowConfig;
123
+ trigger_config?: Record<string, unknown>;
124
+ }): Promise<{
125
+ data: {
126
+ valid: boolean;
127
+ errors: Array<{
128
+ node_id?: string;
129
+ field?: string;
130
+ message: string;
131
+ }>;
132
+ };
133
+ }>;
134
+ /** Execute a workflow immediately with a trigger payload. */
135
+ execute(workflowId: string, triggerPayload?: Record<string, unknown>): Promise<WorkflowExecution>;
136
+ /** Get the status + outputs of a single execution. */
137
+ getExecution(executionId: string): Promise<WorkflowExecution>;
138
+ /** Pause a running execution. */
139
+ pauseExecution(executionId: string): Promise<{
140
+ data: {
141
+ paused: boolean;
142
+ };
143
+ }>;
144
+ /** Resume a paused execution. */
145
+ resumeExecution(executionId: string): Promise<{
146
+ data: {
147
+ resumed: boolean;
148
+ };
149
+ }>;
150
+ /** Stop an execution. */
151
+ stopExecution(executionId: string): Promise<{
152
+ data: {
153
+ stopped: boolean;
154
+ };
155
+ }>;
156
+ /** Get the trigger status (e.g. schedule / webhook wiring) for a workflow. */
157
+ getTriggerStatus(workflowId: string): Promise<{
158
+ data: {
159
+ status: string;
160
+ details: Record<string, unknown>;
161
+ };
162
+ }>;
163
+ /** Reset a workflow's trigger cursor / state. */
164
+ resetTrigger(workflowId: string): Promise<{
165
+ data: {
166
+ reset: boolean;
167
+ };
168
+ }>;
169
+ /** Catalog of available workflow node types with config + output schemas. */
170
+ nodeTypes(params?: {
171
+ type?: string;
172
+ }): Promise<{
173
+ data: NodeTypeSchema[];
174
+ }>;
175
+ /** Slack users available to workflow nodes. */
176
+ listSlackUsers(): Promise<{
177
+ data: Array<{
178
+ id: string;
179
+ name: string;
180
+ email: string | null;
181
+ }>;
182
+ }>;
183
+ /** Slack channels available to workflow nodes. */
184
+ listSlackChannels(): Promise<{
185
+ data: Array<{
186
+ id: string;
187
+ name: string;
188
+ is_private: boolean;
189
+ }>;
190
+ }>;
191
+ /** Roam users available to workflow nodes. */
192
+ listRoamUsers(): Promise<{
193
+ data: Array<{
194
+ id: string;
195
+ name: string;
196
+ email: string | null;
197
+ }>;
198
+ }>;
199
+ /** Roam groups available to workflow nodes. */
200
+ listRoamGroups(): Promise<{
201
+ data: Array<{
202
+ id: string;
203
+ name: string;
204
+ }>;
205
+ }>;
206
+ /** MCP servers available to workflow nodes. */
207
+ listMcpServers(): Promise<{
208
+ data: Array<{
209
+ id: string;
210
+ name: string;
211
+ url: string;
212
+ }>;
213
+ }>;
214
+ /** Disposition options available to workflow nodes. */
215
+ listDispositions(): Promise<{
216
+ data: Array<{
217
+ id: string;
218
+ label: string;
219
+ }>;
220
+ }>;
221
+ /** Form field definitions for a given form (used by form-trigger nodes). */
222
+ listFormFields(formId: string): Promise<{
223
+ data: Array<{
224
+ name: string;
225
+ type: string;
226
+ required: boolean;
227
+ }>;
228
+ }>;
229
+ };