@graph8/sdk 0.251.0 → 0.262.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 +105 -7
  4. package/dist/index.d.ts +105 -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 +103 -7
  10. package/dist/react.d.ts +103 -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 +1697 -0
  140. package/docs/api/deals.md +2436 -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,990 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.linkedInOutreach`: LinkedIn Outreach
4
+
5
+ 20 operations (13 read, 7 external).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.linkedInOutreach.*` as shown below, or by operationId with `g8.api.call(operationId, input)`.
8
+
9
+ Every example below assumes this setup (server-side, API key):
10
+
11
+ ```ts
12
+ import { g8 } from "@graph8/sdk";
13
+
14
+ g8.init({ apiKey: process.env.G8_API_KEY! });
15
+ ```
16
+
17
+ Example values are placeholders that match each field's type. Only required fields are shown. Every example is type-checked against the SDK in CI.
18
+
19
+ Exact TypeScript types for every operation on this page, and every schema they use: [linkedInOutreach.d.ts](linkedInOutreach.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`addOutreachListLeads`](#op-addoutreachlistleads) | `POST /api/v1/integrations/linkedin-outreach/lists/{list_id}/leads` | external | `integrations:run` | Add Outreach List Leads |
26
+ | [`createOutreachList`](#op-createoutreachlist) | `POST /api/v1/integrations/linkedin-outreach/lists` | external | `integrations:run` | Create Outreach List |
27
+ | [`getActiveOutreachWorkspace`](#op-getactiveoutreachworkspace) | `GET /api/v1/integrations/linkedin-outreach/workspaces/active` | read | `integrations:read` | Get Active Outreach Workspace |
28
+ | [`getOutreachCampaignProgress`](#op-getoutreachcampaignprogress) | `GET /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/progress` | read | `integrations:read` | Get Outreach Campaign Progress |
29
+ | [`getOutreachCampaignStats`](#op-getoutreachcampaignstats) | `GET /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/stats` | read | `integrations:read` | Get Outreach Campaign Stats |
30
+ | [`getOutreachConnection`](#op-getoutreachconnection) | `GET /api/v1/integrations/linkedin-outreach/connection` | read | `integrations:read` | Get Outreach Connection |
31
+ | [`getOutreachSequenceMapping`](#op-getoutreachsequencemapping) | `GET /api/v1/integrations/linkedin-outreach/sequences/{sequence_id}/mapping` | read | `integrations:read` | Get Outreach Sequence Mapping |
32
+ | [`getOutreachSequenceProgress`](#op-getoutreachsequenceprogress) | `GET /api/v1/integrations/linkedin-outreach/sequences/{sequence_id}/progress` | read | `integrations:read` | Get Outreach Sequence Progress |
33
+ | [`listOutreachCampaigns`](#op-listoutreachcampaigns) | `GET /api/v1/integrations/linkedin-outreach/campaigns` | read | `integrations:read` | List Outreach Campaigns |
34
+ | [`listOutreachLists`](#op-listoutreachlists) | `GET /api/v1/integrations/linkedin-outreach/lists` | read | `integrations:read` | List Outreach Lists |
35
+ | [`listOutreachSenderAccounts`](#op-listoutreachsenderaccounts) | `GET /api/v1/integrations/linkedin-outreach/accounts` | read | `integrations:read` | List Outreach Sender Accounts |
36
+ | [`listOutreachSequenceStepCampaigns`](#op-listoutreachsequencestepcampaigns) | `GET /api/v1/integrations/linkedin-outreach/sequences/{sequence_id}/step-campaigns` | read | `integrations:read` | List Outreach Sequence Step Campaigns |
37
+ | [`listOutreachTemplates`](#op-listoutreachtemplates) | `GET /api/v1/integrations/linkedin-outreach/templates` | read | `integrations:read` | List Outreach Templates |
38
+ | [`listOutreachWorkspaces`](#op-listoutreachworkspaces) | `GET /api/v1/integrations/linkedin-outreach/workspaces` | read | `integrations:read` | List Outreach Workspaces |
39
+ | [`pauseOutreachCampaign`](#op-pauseoutreachcampaign) | `POST /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/pause` | external | `integrations:run` | Pause Outreach Campaign |
40
+ | [`reconnectOutreach`](#op-reconnectoutreach) | `POST /api/v1/integrations/linkedin-outreach/connection/reconnect` | external | `integrations:run` | Reconnect Outreach |
41
+ | [`resumeOutreachCampaign`](#op-resumeoutreachcampaign) | `POST /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/resume` | external | `integrations:run` | Resume Outreach Campaign |
42
+ | [`searchOutreachCampaignLeads`](#op-searchoutreachcampaignleads) | `POST /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/leads/search` | read | `integrations:read` | Search Outreach Campaign Leads |
43
+ | [`selectActiveOutreachWorkspace`](#op-selectactiveoutreachworkspace) | `PUT /api/v1/integrations/linkedin-outreach/workspaces/active` | external | `integrations:run` | Select Active Outreach Workspace |
44
+ | [`syncOutreachWorkspace`](#op-syncoutreachworkspace) | `POST /api/v1/integrations/linkedin-outreach/workspaces/sync` | external | `integrations:run` | Sync Outreach Workspace |
45
+
46
+ ---
47
+
48
+ <a id="op-addoutreachlistleads"></a>
49
+
50
+ ### `g8.api.linkedInOutreach.addOutreachListLeads(input)`
51
+
52
+ **Add Outreach List Leads**
53
+
54
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/lists/{list_id}/leads`
55
+ - operationId: `add_outreach_list_leads_integrations_linkedin_outreach_lists__list_id__leads_post` (also callable as `g8.api.call("add_outreach_list_leads_integrations_linkedin_outreach_lists__list_id__leads_post", input)`)
56
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
57
+ - API-key scope: `integrations:run`
58
+
59
+ Add people to a lead list. REAL OUTREACH: any campaign running on this list starts contacting them.
60
+
61
+ **Input**
62
+
63
+ | Field | Type | Required | Description |
64
+ |---|---|---|---|
65
+ | `path.list_id` | `integer` | yes | The outreach lead list's id. |
66
+ | `body` | `OutreachAddLeadsRequest` | yes | Request body; fields below. |
67
+
68
+ Body fields (`OutreachAddLeadsRequest`):
69
+
70
+ | Field | Type | Required | Description |
71
+ |---|---|---|---|
72
+ | `body.leads` | `Array<Record<string, unknown>>` | yes | min items 1 |
73
+
74
+ **Returns** `ApiResponse_OutreachLeadsAdded_`: the envelope `{ data: OutreachLeadsAdded, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
75
+
76
+ Other envelope fields: `pagination` (PaginationMeta).
77
+
78
+ `OutreachLeadsAdded` fields:
79
+
80
+ | Field | Type | Required | Description |
81
+ |---|---|---|---|
82
+ | `added_count` | `integer` | yes | |
83
+
84
+ **Example**
85
+
86
+ ```ts
87
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
88
+ const result = await g8.api.linkedInOutreach.addOutreachListLeads({ path: { list_id: 123 }, body: { leads: [{}] } });
89
+ ```
90
+
91
+ ---
92
+
93
+ <a id="op-createoutreachlist"></a>
94
+
95
+ ### `g8.api.linkedInOutreach.createOutreachList(input)`
96
+
97
+ **Create Outreach List**
98
+
99
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/lists`
100
+ - operationId: `create_outreach_list_integrations_linkedin_outreach_lists_post` (also callable as `g8.api.call("create_outreach_list_integrations_linkedin_outreach_lists_post", input)`)
101
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
102
+ - API-key scope: `integrations:run`
103
+
104
+ Create an empty lead list on the outreach platform.
105
+
106
+ **Input**
107
+
108
+ | Field | Type | Required | Description |
109
+ |---|---|---|---|
110
+ | `body` | `OutreachListCreateRequest` | yes | Request body; fields below. |
111
+
112
+ Body fields (`OutreachListCreateRequest`):
113
+
114
+ | Field | Type | Required | Description |
115
+ |---|---|---|---|
116
+ | `body.name` | `string` | yes | min length 1 |
117
+
118
+ **Returns** `ApiResponse_OutreachListCreated_`: the envelope `{ data: OutreachListCreated, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
119
+
120
+ Other envelope fields: `pagination` (PaginationMeta).
121
+
122
+ `OutreachListCreated` fields:
123
+
124
+ | Field | Type | Required | Description |
125
+ |---|---|---|---|
126
+ | `id` | `integer` | yes | |
127
+ | `name` | `string` | yes | |
128
+
129
+ **Example**
130
+
131
+ ```ts
132
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
133
+ const result = await g8.api.linkedInOutreach.createOutreachList({ body: { name: "Example" } });
134
+ ```
135
+
136
+ ---
137
+
138
+ <a id="op-getactiveoutreachworkspace"></a>
139
+
140
+ ### `g8.api.linkedInOutreach.getActiveOutreachWorkspace(input?)`
141
+
142
+ **Get Active Outreach Workspace**
143
+
144
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/workspaces/active`
145
+ - operationId: `get_active_outreach_workspace_integrations_linkedin_outreach_workspaces_active_get` (also callable as `g8.api.call("get_active_outreach_workspace_integrations_linkedin_outreach_workspaces_active_get", input)`)
146
+ - Tier: `read`: reads data; safe to call and to retry
147
+ - API-key scope: `integrations:read`
148
+
149
+ The workspace this org sends from, if one is selected.
150
+
151
+ **Input**: none.
152
+
153
+ **Returns** `ApiResponse_OutreachWorkspaceState_`: the envelope `{ data: OutreachWorkspaceState, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
154
+
155
+ Other envelope fields: `pagination` (PaginationMeta).
156
+
157
+ `OutreachWorkspaceState` fields:
158
+
159
+ | Field | Type | Required | Description |
160
+ |---|---|---|---|
161
+ | `connected` | `boolean \| null` | no | |
162
+ | `message` | `string \| null` | no | |
163
+ | `success` | `boolean \| null` | no | |
164
+ | `workspace_configured` | `boolean \| null` | no | |
165
+ | `workspace_id` | `integer \| null` | no | |
166
+ | `workspace_name` | `string \| null` | no | |
167
+
168
+ **Example**
169
+
170
+ ```ts
171
+ const result = await g8.api.linkedInOutreach.getActiveOutreachWorkspace();
172
+ ```
173
+
174
+ ---
175
+
176
+ <a id="op-getoutreachcampaignprogress"></a>
177
+
178
+ ### `g8.api.linkedInOutreach.getOutreachCampaignProgress(input)`
179
+
180
+ **Get Outreach Campaign Progress**
181
+
182
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/progress`
183
+ - operationId: `get_outreach_campaign_progress_integrations_linkedin_outreach_campaigns__campaign_id__progress_get` (also callable as `g8.api.call("get_outreach_campaign_progress_integrations_linkedin_outreach_campaigns__campaign_id__progress_get", input)`)
184
+ - Tier: `read`: reads data; safe to call and to retry
185
+ - API-key scope: `integrations:read`
186
+
187
+ How far through its leads a campaign is: pending, in progress, finished, failed, stopped, excluded.
188
+
189
+ **Input**
190
+
191
+ | Field | Type | Required | Description |
192
+ |---|---|---|---|
193
+ | `path.campaign_id` | `integer` | yes | The outreach campaign's id. |
194
+
195
+ **Returns** `ApiResponse_OutreachCampaignProgress_`: the envelope `{ data: OutreachCampaignProgress, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
196
+
197
+ Other envelope fields: `pagination` (PaginationMeta).
198
+
199
+ `OutreachCampaignProgress` fields:
200
+
201
+ | Field | Type | Required | Description |
202
+ |---|---|---|---|
203
+ | `campaign_id` | `integer` | yes | |
204
+ | `campaign_name` | `string` | yes | |
205
+ | `progress_stats` | `OutreachProgressFigures` | yes | |
206
+ | `status` | `unknown` | no | |
207
+
208
+ **Example**
209
+
210
+ ```ts
211
+ const result = await g8.api.linkedInOutreach.getOutreachCampaignProgress({ path: { campaign_id: 123 } });
212
+ ```
213
+
214
+ ---
215
+
216
+ <a id="op-getoutreachcampaignstats"></a>
217
+
218
+ ### `g8.api.linkedInOutreach.getOutreachCampaignStats(input)`
219
+
220
+ **Get Outreach Campaign Stats**
221
+
222
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/stats`
223
+ - operationId: `get_outreach_campaign_stats_integrations_linkedin_outreach_campaigns__campaign_id__stats_get` (also callable as `g8.api.call("get_outreach_campaign_stats_integrations_linkedin_outreach_campaigns__campaign_id__stats_get", input)`)
224
+ - Tier: `read`: reads data; safe to call and to retry
225
+ - API-key scope: `integrations:read`
226
+
227
+ Profile views, connection requests, messages, replies and their rates for one campaign.
228
+
229
+ **Input**
230
+
231
+ | Field | Type | Required | Description |
232
+ |---|---|---|---|
233
+ | `path.campaign_id` | `integer` | yes | The outreach campaign's id. |
234
+ | `query.start_date` | `string \| null` | no | YYYY-MM-DD. Omit both dates for all time. |
235
+ | `query.end_date` | `string \| null` | no | YYYY-MM-DD. |
236
+
237
+ **Returns** `ApiResponse_OutreachCampaignStats_`: the envelope `{ data: OutreachCampaignStats, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
238
+
239
+ Other envelope fields: `pagination` (PaginationMeta).
240
+
241
+ `OutreachCampaignStats` fields:
242
+
243
+ | Field | Type | Required | Description |
244
+ |---|---|---|---|
245
+ | `stats` | `OutreachCampaignStatsFigures` | yes | |
246
+ | `by_day_stats` | `Record<string, unknown> \| null` | no | |
247
+
248
+ **Example**
249
+
250
+ ```ts
251
+ const result = await g8.api.linkedInOutreach.getOutreachCampaignStats({ path: { campaign_id: 123 } });
252
+ ```
253
+
254
+ ---
255
+
256
+ <a id="op-getoutreachconnection"></a>
257
+
258
+ ### `g8.api.linkedInOutreach.getOutreachConnection(input?)`
259
+
260
+ **Get Outreach Connection**
261
+
262
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/connection`
263
+ - operationId: `get_outreach_connection_integrations_linkedin_outreach_connection_get` (also callable as `g8.api.call("get_outreach_connection_integrations_linkedin_outreach_connection_get", input)`)
264
+ - Tier: `read`: reads data; safe to call and to retry
265
+ - API-key scope: `integrations:read`
266
+
267
+ Whether LinkedIn outreach is connected and its session healthy. Reports state, never credentials.
268
+
269
+ **Input**: none.
270
+
271
+ **Returns** `ApiResponse_OutreachConnectionStatus_`: the envelope `{ data: OutreachConnectionStatus, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
272
+
273
+ Other envelope fields: `pagination` (PaginationMeta).
274
+
275
+ `OutreachConnectionStatus` fields:
276
+
277
+ | Field | Type | Required | Description |
278
+ |---|---|---|---|
279
+ | `connected` | `boolean` | yes | |
280
+ | `auto_reauth_enabled` | `boolean` | no | default `false` |
281
+ | `auto_reauth_error` | `string \| null` | no | |
282
+ | `auto_reauth_status` | `string \| null` | no | |
283
+ | `email` | `string \| null` | no | |
284
+ | `failed_reauth_count` | `integer \| null` | no | |
285
+ | `is_token_valid` | `boolean` | no | default `false` |
286
+ | `last_reauth_success_at` | `string \| null` | no | |
287
+ | `reenable_in_seconds` | `integer \| null` | no | |
288
+ | `requires_manual_login` | `boolean \| null` | no | |
289
+ | `tenant_id` | `integer \| null` | no | |
290
+ | `time_until_expiry_seconds` | `integer \| null` | no | |
291
+ | `token_expires_at` | `string \| null` | no | |
292
+ | `workspace_configured` | `boolean` | no | default `false` |
293
+ | `workspace_id` | `integer \| null` | no | |
294
+ | `workspace_name` | `string \| null` | no | |
295
+
296
+ **Example**
297
+
298
+ ```ts
299
+ const result = await g8.api.linkedInOutreach.getOutreachConnection();
300
+ ```
301
+
302
+ ---
303
+
304
+ <a id="op-getoutreachsequencemapping"></a>
305
+
306
+ ### `g8.api.linkedInOutreach.getOutreachSequenceMapping(input)`
307
+
308
+ **Get Outreach Sequence Mapping**
309
+
310
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/sequences/{sequence_id}/mapping`
311
+ - operationId: `get_outreach_sequence_mapping_integrations_linkedin_outreach_sequences__sequence_id__mapping_get` (also callable as `g8.api.call("get_outreach_sequence_mapping_integrations_linkedin_outreach_sequences__sequence_id__mapping_get", input)`)
312
+ - Tier: `read`: reads data; safe to call and to retry
313
+ - API-key scope: `integrations:read`
314
+
315
+ The outreach campaign and lead list a sequence runs through. 404 when it has none.
316
+
317
+ **Input**
318
+
319
+ | Field | Type | Required | Description |
320
+ |---|---|---|---|
321
+ | `path.sequence_id` | `string` | yes | The graph8 sequence's id. |
322
+
323
+ **Returns** `ApiResponse_OutreachSequenceMapping_`: the envelope `{ data: OutreachSequenceMapping, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
324
+
325
+ Other envelope fields: `pagination` (PaginationMeta).
326
+
327
+ `OutreachSequenceMapping` fields:
328
+
329
+ | Field | Type | Required | Description |
330
+ |---|---|---|---|
331
+ | `sequence_id` | `string` | yes | |
332
+ | `campaign_id` | `integer \| null` | no | |
333
+ | `campaign_name` | `string \| null` | no | |
334
+ | `list_id` | `integer \| null` | no | |
335
+ | `status` | `string \| null` | no | |
336
+
337
+ **Example**
338
+
339
+ ```ts
340
+ const result = await g8.api.linkedInOutreach.getOutreachSequenceMapping({ path: { sequence_id: "id" } });
341
+ ```
342
+
343
+ ---
344
+
345
+ <a id="op-getoutreachsequenceprogress"></a>
346
+
347
+ ### `g8.api.linkedInOutreach.getOutreachSequenceProgress(input)`
348
+
349
+ **Get Outreach Sequence Progress**
350
+
351
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/sequences/{sequence_id}/progress`
352
+ - operationId: `get_outreach_sequence_progress_integrations_linkedin_outreach_sequences__sequence_id__progress_get` (also callable as `g8.api.call("get_outreach_sequence_progress_integrations_linkedin_outreach_sequences__sequence_id__progress_get", input)`)
353
+ - Tier: `read`: reads data; safe to call and to retry
354
+ - API-key scope: `integrations:read`
355
+
356
+ Progress of the campaign a sequence runs through. 404 when the sequence has none.
357
+
358
+ **Input**
359
+
360
+ | Field | Type | Required | Description |
361
+ |---|---|---|---|
362
+ | `path.sequence_id` | `string` | yes | The graph8 sequence's id. |
363
+
364
+ **Returns** `ApiResponse_OutreachCampaignProgress_`: the envelope `{ data: OutreachCampaignProgress, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
365
+
366
+ Other envelope fields: `pagination` (PaginationMeta).
367
+
368
+ `OutreachCampaignProgress` fields:
369
+
370
+ | Field | Type | Required | Description |
371
+ |---|---|---|---|
372
+ | `campaign_id` | `integer` | yes | |
373
+ | `campaign_name` | `string` | yes | |
374
+ | `progress_stats` | `OutreachProgressFigures` | yes | |
375
+ | `status` | `unknown` | no | |
376
+
377
+ **Example**
378
+
379
+ ```ts
380
+ const result = await g8.api.linkedInOutreach.getOutreachSequenceProgress({ path: { sequence_id: "id" } });
381
+ ```
382
+
383
+ ---
384
+
385
+ <a id="op-listoutreachcampaigns"></a>
386
+
387
+ ### `g8.api.linkedInOutreach.listOutreachCampaigns(input?)`
388
+
389
+ **List Outreach Campaigns**
390
+
391
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/campaigns`
392
+ - operationId: `list_outreach_campaigns_integrations_linkedin_outreach_campaigns_get` (also callable as `g8.api.call("list_outreach_campaigns_integrations_linkedin_outreach_campaigns_get", input)`)
393
+ - Tier: `read`: reads data; safe to call and to retry
394
+ - API-key scope: `integrations:read`
395
+
396
+ Outreach campaigns in the selected workspace.
397
+
398
+ **Input**
399
+
400
+ | Field | Type | Required | Description |
401
+ |---|---|---|---|
402
+ | `query.page` | `integer` | no | ZERO-indexed, passed through to the platform. default `0` |
403
+ | `query.keyword` | `string` | no | Substring match on the campaign name. default `""` |
404
+
405
+ **Returns** `ApiResponse_OutreachCampaigns_`: the envelope `{ data: OutreachCampaigns, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
406
+
407
+ Other envelope fields: `pagination` (PaginationMeta).
408
+
409
+ `OutreachCampaigns` fields:
410
+
411
+ | Field | Type | Required | Description |
412
+ |---|---|---|---|
413
+ | `campaigns` | `Array<OutreachCampaign>` | yes | |
414
+ | `total_count` | `integer` | yes | |
415
+
416
+ **Example**
417
+
418
+ ```ts
419
+ const result = await g8.api.linkedInOutreach.listOutreachCampaigns();
420
+ ```
421
+
422
+ ---
423
+
424
+ <a id="op-listoutreachlists"></a>
425
+
426
+ ### `g8.api.linkedInOutreach.listOutreachLists(input?)`
427
+
428
+ **List Outreach Lists**
429
+
430
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/lists`
431
+ - operationId: `list_outreach_lists_integrations_linkedin_outreach_lists_get` (also callable as `g8.api.call("list_outreach_lists_integrations_linkedin_outreach_lists_get", input)`)
432
+ - Tier: `read`: reads data; safe to call and to retry
433
+ - API-key scope: `integrations:read`
434
+
435
+ Lead lists on the outreach platform (not graph8 lists - those are `/lists`).
436
+
437
+ **Input**
438
+
439
+ | Field | Type | Required | Description |
440
+ |---|---|---|---|
441
+ | `query.page` | `integer` | no | ZERO-indexed, passed through to the platform. default `0` |
442
+ | `query.search` | `string` | no | Substring match on the list name. default `""` |
443
+
444
+ **Returns** `ApiResponse_OutreachLists_`: the envelope `{ data: OutreachLists, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
445
+
446
+ Other envelope fields: `pagination` (PaginationMeta).
447
+
448
+ `OutreachLists` fields:
449
+
450
+ | Field | Type | Required | Description |
451
+ |---|---|---|---|
452
+ | `lists` | `Array<OutreachList>` | yes | |
453
+ | `total_count` | `integer` | yes | |
454
+
455
+ **Example**
456
+
457
+ ```ts
458
+ const result = await g8.api.linkedInOutreach.listOutreachLists();
459
+ ```
460
+
461
+ ---
462
+
463
+ <a id="op-listoutreachsenderaccounts"></a>
464
+
465
+ ### `g8.api.linkedInOutreach.listOutreachSenderAccounts(input?)`
466
+
467
+ **List Outreach Sender Accounts**
468
+
469
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/accounts`
470
+ - operationId: `list_outreach_sender_accounts_integrations_linkedin_outreach_accounts_get` (also callable as `g8.api.call("list_outreach_sender_accounts_integrations_linkedin_outreach_accounts_get", input)`)
471
+ - Tier: `read`: reads data; safe to call and to retry
472
+ - API-key scope: `integrations:read`
473
+
474
+ LinkedIn accounts that send outreach in the selected workspace.
475
+
476
+ **Input**: none.
477
+
478
+ **Returns** `ApiResponse_OutreachSenderAccounts_`: the envelope `{ data: OutreachSenderAccounts, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
479
+
480
+ Other envelope fields: `pagination` (PaginationMeta).
481
+
482
+ `OutreachSenderAccounts` fields:
483
+
484
+ | Field | Type | Required | Description |
485
+ |---|---|---|---|
486
+ | `accounts` | `Array<OutreachSenderAccount>` | yes | |
487
+ | `total_count` | `integer` | yes | |
488
+
489
+ **Example**
490
+
491
+ ```ts
492
+ const result = await g8.api.linkedInOutreach.listOutreachSenderAccounts();
493
+ ```
494
+
495
+ ---
496
+
497
+ <a id="op-listoutreachsequencestepcampaigns"></a>
498
+
499
+ ### `g8.api.linkedInOutreach.listOutreachSequenceStepCampaigns(input)`
500
+
501
+ **List Outreach Sequence Step Campaigns**
502
+
503
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/sequences/{sequence_id}/step-campaigns`
504
+ - operationId: `list_outreach_sequence_step_campaigns_integrations_linkedin_outreach_sequences__sequence_id__step_campaigns_get` (also callable as `g8.api.call("list_outreach_sequence_step_campaigns_integrations_linkedin_outreach_sequences__sequence_id__step_campaigns_get", input)`)
505
+ - Tier: `read`: reads data; safe to call and to retry
506
+ - API-key scope: `integrations:read`
507
+
508
+ The campaign behind each LinkedIn step of a sequence, keyed by step id.
509
+
510
+ **Input**
511
+
512
+ | Field | Type | Required | Description |
513
+ |---|---|---|---|
514
+ | `path.sequence_id` | `string` | yes | The graph8 sequence's id. |
515
+
516
+ **Returns** `ApiResponse_OutreachStepCampaigns_`: the envelope `{ data: OutreachStepCampaigns, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
517
+
518
+ Other envelope fields: `pagination` (PaginationMeta).
519
+
520
+ `OutreachStepCampaigns` fields:
521
+
522
+ | Field | Type | Required | Description |
523
+ |---|---|---|---|
524
+ | `step_campaigns` | `Record<string, OutreachStepCampaign>` | yes | |
525
+
526
+ **Example**
527
+
528
+ ```ts
529
+ const result = await g8.api.linkedInOutreach.listOutreachSequenceStepCampaigns({ path: { sequence_id: "id" } });
530
+ ```
531
+
532
+ ---
533
+
534
+ <a id="op-listoutreachtemplates"></a>
535
+
536
+ ### `g8.api.linkedInOutreach.listOutreachTemplates(input?)`
537
+
538
+ **List Outreach Templates**
539
+
540
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/templates`
541
+ - operationId: `list_outreach_templates_integrations_linkedin_outreach_templates_get` (also callable as `g8.api.call("list_outreach_templates_integrations_linkedin_outreach_templates_get", input)`)
542
+ - Tier: `read`: reads data; safe to call and to retry
543
+ - API-key scope: `integrations:read`
544
+
545
+ Pre-built campaign sequence templates.
546
+
547
+ **Input**: none.
548
+
549
+ **Returns** `ApiResponse_OutreachTemplates_`: the envelope `{ data: OutreachTemplates, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
550
+
551
+ Other envelope fields: `pagination` (PaginationMeta).
552
+
553
+ `OutreachTemplates` fields:
554
+
555
+ | Field | Type | Required | Description |
556
+ |---|---|---|---|
557
+ | `templates` | `Array<OutreachTemplate>` | yes | |
558
+
559
+ **Example**
560
+
561
+ ```ts
562
+ const result = await g8.api.linkedInOutreach.listOutreachTemplates();
563
+ ```
564
+
565
+ ---
566
+
567
+ <a id="op-listoutreachworkspaces"></a>
568
+
569
+ ### `g8.api.linkedInOutreach.listOutreachWorkspaces(input?)`
570
+
571
+ **List Outreach Workspaces**
572
+
573
+ - HTTP: `GET /api/v1/integrations/linkedin-outreach/workspaces`
574
+ - operationId: `list_outreach_workspaces_integrations_linkedin_outreach_workspaces_get` (also callable as `g8.api.call("list_outreach_workspaces_integrations_linkedin_outreach_workspaces_get", input)`)
575
+ - Tier: `read`: reads data; safe to call and to retry
576
+ - API-key scope: `integrations:read`
577
+
578
+ Workspaces available to select. Empty once one is selected; `current_workspace_id` then names it.
579
+
580
+ **Input**: none.
581
+
582
+ **Returns** `ApiResponse_OutreachWorkspaces_`: the envelope `{ data: OutreachWorkspaces, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
583
+
584
+ Other envelope fields: `pagination` (PaginationMeta).
585
+
586
+ `OutreachWorkspaces` fields:
587
+
588
+ | Field | Type | Required | Description |
589
+ |---|---|---|---|
590
+ | `total_count` | `integer` | yes | |
591
+ | `workspaces` | `Array<OutreachWorkspace>` | yes | |
592
+ | `current_workspace_id` | `integer \| null` | no | |
593
+ | `current_workspace_name` | `string \| null` | no | |
594
+
595
+ **Example**
596
+
597
+ ```ts
598
+ const result = await g8.api.linkedInOutreach.listOutreachWorkspaces();
599
+ ```
600
+
601
+ ---
602
+
603
+ <a id="op-pauseoutreachcampaign"></a>
604
+
605
+ ### `g8.api.linkedInOutreach.pauseOutreachCampaign(input)`
606
+
607
+ **Pause Outreach Campaign**
608
+
609
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/pause`
610
+ - operationId: `pause_outreach_campaign_integrations_linkedin_outreach_campaigns__campaign_id__pause_post` (also callable as `g8.api.call("pause_outreach_campaign_integrations_linkedin_outreach_campaigns__campaign_id__pause_post", input)`)
611
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
612
+ - API-key scope: `integrations:run`
613
+
614
+ Stop a running campaign sending, on the platform itself. Reversible with `/resume`.
615
+
616
+ **Input**
617
+
618
+ | Field | Type | Required | Description |
619
+ |---|---|---|---|
620
+ | `path.campaign_id` | `integer` | yes | The outreach campaign's id. |
621
+
622
+ **Returns** `ApiResponse_OutreachCampaignActionResult_`: the envelope `{ data: OutreachCampaignActionResult, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
623
+
624
+ Other envelope fields: `pagination` (PaginationMeta).
625
+
626
+ `OutreachCampaignActionResult` fields:
627
+
628
+ | Field | Type | Required | Description |
629
+ |---|---|---|---|
630
+ | `message` | `string` | yes | |
631
+ | `success` | `boolean` | yes | |
632
+
633
+ **Example**
634
+
635
+ ```ts
636
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
637
+ const result = await g8.api.linkedInOutreach.pauseOutreachCampaign({ path: { campaign_id: 123 } });
638
+ ```
639
+
640
+ ---
641
+
642
+ <a id="op-reconnectoutreach"></a>
643
+
644
+ ### `g8.api.linkedInOutreach.reconnectOutreach(input?)`
645
+
646
+ **Reconnect Outreach**
647
+
648
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/connection/reconnect`
649
+ - operationId: `reconnect_outreach_integrations_linkedin_outreach_connection_reconnect_post` (also callable as `g8.api.call("reconnect_outreach_integrations_linkedin_outreach_connection_reconnect_post", input)`)
650
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
651
+ - API-key scope: `integrations:run`
652
+
653
+ Refresh an expired session using the credentials already stored. Takes no credentials.
654
+
655
+ `requires_login: true` means the stored ones no longer work and a person must sign in again in the app.
656
+
657
+ **Input**: none.
658
+
659
+ **Returns** `ApiResponse_OutreachReconnectResult_`: the envelope `{ data: OutreachReconnectResult, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
660
+
661
+ Other envelope fields: `pagination` (PaginationMeta).
662
+
663
+ `OutreachReconnectResult` fields:
664
+
665
+ | Field | Type | Required | Description |
666
+ |---|---|---|---|
667
+ | `message` | `string` | yes | |
668
+ | `success` | `boolean` | yes | |
669
+ | `email` | `string \| null` | no | |
670
+ | `requires_login` | `boolean` | no | default `false` |
671
+ | `token_expires_at` | `string \| null` | no | |
672
+
673
+ **Example**
674
+
675
+ ```ts
676
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
677
+ const result = await g8.api.linkedInOutreach.reconnectOutreach();
678
+ ```
679
+
680
+ ---
681
+
682
+ <a id="op-resumeoutreachcampaign"></a>
683
+
684
+ ### `g8.api.linkedInOutreach.resumeOutreachCampaign(input)`
685
+
686
+ **Resume Outreach Campaign**
687
+
688
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/resume`
689
+ - operationId: `resume_outreach_campaign_integrations_linkedin_outreach_campaigns__campaign_id__resume_post` (also callable as `g8.api.call("resume_outreach_campaign_integrations_linkedin_outreach_campaigns__campaign_id__resume_post", input)`)
690
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
691
+ - API-key scope: `integrations:run`
692
+
693
+ Resume a paused campaign. OUTREACH RESTARTS IMMEDIATELY.
694
+
695
+ **Input**
696
+
697
+ | Field | Type | Required | Description |
698
+ |---|---|---|---|
699
+ | `path.campaign_id` | `integer` | yes | The outreach campaign's id. |
700
+
701
+ **Returns** `ApiResponse_OutreachCampaignActionResult_`: the envelope `{ data: OutreachCampaignActionResult, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
702
+
703
+ Other envelope fields: `pagination` (PaginationMeta).
704
+
705
+ `OutreachCampaignActionResult` fields:
706
+
707
+ | Field | Type | Required | Description |
708
+ |---|---|---|---|
709
+ | `message` | `string` | yes | |
710
+ | `success` | `boolean` | yes | |
711
+
712
+ **Example**
713
+
714
+ ```ts
715
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
716
+ const result = await g8.api.linkedInOutreach.resumeOutreachCampaign({ path: { campaign_id: 123 } });
717
+ ```
718
+
719
+ ---
720
+
721
+ <a id="op-searchoutreachcampaignleads"></a>
722
+
723
+ ### `g8.api.linkedInOutreach.searchOutreachCampaignLeads(input)`
724
+
725
+ **Search Outreach Campaign Leads**
726
+
727
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/campaigns/{campaign_id}/leads/search`
728
+ - operationId: `search_outreach_campaign_leads_integrations_linkedin_outreach_campaigns__campaign_id__leads_search_post` (also callable as `g8.api.call("search_outreach_campaign_leads_integrations_linkedin_outreach_campaigns__campaign_id__leads_search_post", input)`)
729
+ - Tier: `read`: reads data; safe to call and to retry
730
+ - API-key scope: `integrations:read`
731
+
732
+ Who is in a campaign and what has happened to each of them. READS ONLY - POST because paging is a body.
733
+
734
+ **Input**
735
+
736
+ | Field | Type | Required | Description |
737
+ |---|---|---|---|
738
+ | `path.campaign_id` | `integer` | yes | The outreach campaign's id. |
739
+ | `body` | `OutreachCampaignLeadsQuery` | yes | Request body; fields below. |
740
+
741
+ Body fields (`OutreachCampaignLeadsQuery`):
742
+
743
+ | Field | Type | Required | Description |
744
+ |---|---|---|---|
745
+ | `body.campaign_id` | `integer \| null` | no | Ignored; the path value is used. |
746
+ | `body.limit` | `integer` | no | Page size. Values above 1000 are capped at 1000. default `100` |
747
+ | `body.offset` | `integer` | no | Leads to skip. default `0` |
748
+ | `body.time_filter` | `"CreationTime" \| "Everywhere" \| null` | no | |
749
+ | `body.time_from` | `string \| null` | no | ISO 8601. |
750
+ | `body.time_to` | `string \| null` | no | ISO 8601. |
751
+
752
+ **Returns** `ApiResponse_OutreachCampaignLeads_`: the envelope `{ data: OutreachCampaignLeads, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
753
+
754
+ Other envelope fields: `pagination` (PaginationMeta).
755
+
756
+ `OutreachCampaignLeads` fields:
757
+
758
+ | Field | Type | Required | Description |
759
+ |---|---|---|---|
760
+ | `items` | `Array<OutreachCampaignLead>` | yes | |
761
+ | `limit` | `integer` | yes | |
762
+ | `offset` | `integer` | yes | |
763
+ | `total_count` | `integer` | yes | |
764
+
765
+ **Example**
766
+
767
+ ```ts
768
+ const result = await g8.api.linkedInOutreach.searchOutreachCampaignLeads({ path: { campaign_id: 123 }, body: {} });
769
+ ```
770
+
771
+ ---
772
+
773
+ <a id="op-selectactiveoutreachworkspace"></a>
774
+
775
+ ### `g8.api.linkedInOutreach.selectActiveOutreachWorkspace(input)`
776
+
777
+ **Select Active Outreach Workspace**
778
+
779
+ - HTTP: `PUT /api/v1/integrations/linkedin-outreach/workspaces/active`
780
+ - operationId: `select_active_outreach_workspace_integrations_linkedin_outreach_workspaces_active_put` (also callable as `g8.api.call("select_active_outreach_workspace_integrations_linkedin_outreach_workspaces_active_put", input)`)
781
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
782
+ - API-key scope: `integrations:run`
783
+
784
+ Select the workspace this org sends from. ONE-TIME: a second call is a 409.
785
+
786
+ Every sender account, list and campaign on this surface is read from the selected workspace.
787
+
788
+ **Input**
789
+
790
+ | Field | Type | Required | Description |
791
+ |---|---|---|---|
792
+ | `body` | `OutreachWorkspaceSelectRequest` | yes | Request body; fields below. |
793
+
794
+ Body fields (`OutreachWorkspaceSelectRequest`):
795
+
796
+ | Field | Type | Required | Description |
797
+ |---|---|---|---|
798
+ | `body.workspace_id` | `integer` | yes | A `workspace_id` from `GET /integrations/linkedin-outreach/workspaces`. |
799
+
800
+ **Returns** `ApiResponse_OutreachWorkspaceSelected_`: the envelope `{ data: OutreachWorkspaceSelected, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
801
+
802
+ Other envelope fields: `pagination` (PaginationMeta).
803
+
804
+ `OutreachWorkspaceSelected` fields:
805
+
806
+ | Field | Type | Required | Description |
807
+ |---|---|---|---|
808
+ | `message` | `string` | yes | |
809
+ | `success` | `boolean` | yes | |
810
+ | `workspace_id` | `integer` | yes | |
811
+ | `workspace_name` | `string \| null` | no | |
812
+
813
+ **Example**
814
+
815
+ ```ts
816
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
817
+ const result = await g8.api.linkedInOutreach.selectActiveOutreachWorkspace({ body: { workspace_id: 123 } });
818
+ ```
819
+
820
+ ---
821
+
822
+ <a id="op-syncoutreachworkspace"></a>
823
+
824
+ ### `g8.api.linkedInOutreach.syncOutreachWorkspace(input?)`
825
+
826
+ **Sync Outreach Workspace**
827
+
828
+ - HTTP: `POST /api/v1/integrations/linkedin-outreach/workspaces/sync`
829
+ - operationId: `sync_outreach_workspace_integrations_linkedin_outreach_workspaces_sync_post` (also callable as `g8.api.call("sync_outreach_workspace_integrations_linkedin_outreach_workspaces_sync_post", input)`)
830
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
831
+ - API-key scope: `integrations:run`
832
+
833
+ Confirm the workspace configuration. Reads only: `success: false` means none is selected yet.
834
+
835
+ **Input**: none.
836
+
837
+ **Returns** `ApiResponse_OutreachWorkspaceState_`: the envelope `{ data: OutreachWorkspaceState, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
838
+
839
+ Other envelope fields: `pagination` (PaginationMeta).
840
+
841
+ `OutreachWorkspaceState` fields:
842
+
843
+ | Field | Type | Required | Description |
844
+ |---|---|---|---|
845
+ | `connected` | `boolean \| null` | no | |
846
+ | `message` | `string \| null` | no | |
847
+ | `success` | `boolean \| null` | no | |
848
+ | `workspace_configured` | `boolean \| null` | no | |
849
+ | `workspace_id` | `integer \| null` | no | |
850
+ | `workspace_name` | `string \| null` | no | |
851
+
852
+ **Example**
853
+
854
+ ```ts
855
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
856
+ const result = await g8.api.linkedInOutreach.syncOutreachWorkspace();
857
+ ```
858
+
859
+ ---
860
+
861
+ ## Referenced types
862
+
863
+ Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
864
+
865
+ <a id="type-outreachcampaign"></a>
866
+
867
+ ### `OutreachCampaign`
868
+
869
+ | Field | Type | Required | Description |
870
+ |---|---|---|---|
871
+ | `id` | `integer` | yes | |
872
+ | `name` | `string` | yes | |
873
+ | `status` | `string` | yes | DRAFT, ONGOING, PAUSED or FINISHED. |
874
+ | `created_at` | `string \| null` | no | |
875
+ | `finished_leads` | `integer` | no | default `0` |
876
+ | `pending_leads` | `integer` | no | default `0` |
877
+ | `total_leads` | `integer` | no | default `0` |
878
+
879
+ <a id="type-outreachcampaignlead"></a>
880
+
881
+ ### `OutreachCampaignLead`
882
+
883
+ | Field | Type | Required | Description |
884
+ |---|---|---|---|
885
+ | `id` | `integer` | yes | |
886
+ | `creation_time` | `string \| null` | no | |
887
+ | `error_code` | `string \| null` | no | |
888
+ | `failed_time` | `string \| null` | no | |
889
+ | `last_action_time` | `string \| null` | no | |
890
+ | `lead_campaign_status` | `string \| null` | no | |
891
+ | `lead_campaign_status_message` | `string \| null` | no | |
892
+ | `lead_connection_status` | `string \| null` | no | |
893
+ | `lead_message_status` | `string \| null` | no | |
894
+ | `linkedin_sender_full_name` | `string \| null` | no | |
895
+ | `linkedin_sender_id` | `integer \| null` | no | |
896
+ | `linkedin_user_profile` | `OutreachLeadProfile \| null` | no | |
897
+ | `linkedin_user_profile_id` | `string \| null` | no | |
898
+
899
+ <a id="type-outreachcampaignstatsfigures"></a>
900
+
901
+ ### `OutreachCampaignStatsFigures`
902
+
903
+ | Field | Type | Required | Description |
904
+ |---|---|---|---|
905
+ | `campaign_id` | `integer` | yes | |
906
+ | `connection_acceptance_rate` | `number` | no | default `0` |
907
+ | `connections_accepted` | `integer` | no | default `0` |
908
+ | `connections_sent` | `integer` | no | default `0` |
909
+ | `follows` | `integer` | no | default `0` |
910
+ | `inmail_messages_sent` | `integer` | no | default `0` |
911
+ | `message_reply_rate` | `number` | no | default `0` |
912
+ | `messages_sent` | `integer` | no | default `0` |
913
+ | `post_likes` | `integer` | no | default `0` |
914
+ | `profile_views` | `integer` | no | default `0` |
915
+ | `total_message_replies` | `integer` | no | default `0` |
916
+ | `total_message_started` | `integer` | no | default `0` |
917
+
918
+ <a id="type-outreachlist"></a>
919
+
920
+ ### `OutreachList`
921
+
922
+ | Field | Type | Required | Description |
923
+ |---|---|---|---|
924
+ | `id` | `integer` | yes | |
925
+ | `name` | `string` | yes | |
926
+ | `created_at` | `string \| null` | no | |
927
+ | `leads_count` | `integer` | no | default `0` |
928
+
929
+ <a id="type-outreachprogressfigures"></a>
930
+
931
+ ### `OutreachProgressFigures`
932
+
933
+ | Field | Type | Required | Description |
934
+ |---|---|---|---|
935
+ | `total_users` | `integer` | no | default `0` |
936
+ | `total_users_excluded` | `integer` | no | default `0` |
937
+ | `total_users_failed` | `integer` | no | default `0` |
938
+ | `total_users_finished` | `integer` | no | default `0` |
939
+ | `total_users_in_progress` | `integer` | no | default `0` |
940
+ | `total_users_manually_stopped` | `integer` | no | default `0` |
941
+ | `total_users_pending` | `integer` | no | default `0` |
942
+
943
+ <a id="type-outreachsenderaccount"></a>
944
+
945
+ ### `OutreachSenderAccount`
946
+
947
+ A LinkedIn account that sends outreach.
948
+
949
+ | Field | Type | Required | Description |
950
+ |---|---|---|---|
951
+ | `id` | `integer` | yes | |
952
+ | `name` | `string` | yes | |
953
+ | `email` | `string \| null` | no | |
954
+ | `is_connected` | `boolean` | no | default `true` |
955
+ | `is_premium` | `boolean` | no | default `false` |
956
+ | `profile_picture_url` | `string \| null` | no | |
957
+ | `status` | `string \| null` | no | |
958
+
959
+ <a id="type-outreachstepcampaign"></a>
960
+
961
+ ### `OutreachStepCampaign`
962
+
963
+ | Field | Type | Required | Description |
964
+ |---|---|---|---|
965
+ | `campaign_id` | `integer` | yes | |
966
+ | `linkedin_action_type` | `string` | yes | |
967
+ | `status` | `string` | yes | |
968
+
969
+ <a id="type-outreachtemplate"></a>
970
+
971
+ ### `OutreachTemplate`
972
+
973
+ | Field | Type | Required | Description |
974
+ |---|---|---|---|
975
+ | `id` | `integer` | yes | |
976
+ | `name` | `string` | yes | |
977
+ | `sequence` | `Record<string, unknown>` | yes | |
978
+ | `description` | `string \| null` | no | |
979
+ | `is_default` | `boolean` | no | default `false` |
980
+
981
+ <a id="type-outreachworkspace"></a>
982
+
983
+ ### `OutreachWorkspace`
984
+
985
+ | Field | Type | Required | Description |
986
+ |---|---|---|---|
987
+ | `workspace_id` | `integer` | yes | |
988
+ | `workspace_name` | `string` | yes | |
989
+ | `seats_limit` | `integer \| null` | no | |
990
+ | `used_seats` | `integer \| null` | no | |