veryfront 0.0.49 → 0.0.50

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 (536) hide show
  1. package/dist/ai/components.js +260 -56
  2. package/dist/ai/components.js.map +4 -4
  3. package/dist/ai/index.d.ts +1 -0
  4. package/dist/ai/index.js +12 -4
  5. package/dist/ai/index.js.map +2 -2
  6. package/dist/ai/primitives.js +55 -10
  7. package/dist/ai/primitives.js.map +3 -3
  8. package/dist/ai/react.js +140 -1
  9. package/dist/ai/react.js.map +3 -3
  10. package/dist/ai/workflow-react.js +458 -0
  11. package/dist/ai/workflow-react.js.map +7 -0
  12. package/dist/ai/workflow.js +5422 -0
  13. package/dist/ai/workflow.js.map +7 -0
  14. package/dist/cli.js +957 -221
  15. package/dist/components.js +12 -4
  16. package/dist/components.js.map +2 -2
  17. package/dist/config.js +12 -4
  18. package/dist/config.js.map +2 -2
  19. package/dist/data.js +12 -4
  20. package/dist/data.js.map +2 -2
  21. package/dist/index.js +12 -6
  22. package/dist/index.js.map +2 -2
  23. package/dist/integrations/_base/files/SETUP.md +667 -98
  24. package/dist/integrations/_base/files/app/api/integrations/token-storage/route.ts +14 -0
  25. package/dist/integrations/_base/files/app/components/ServiceConnections.tsx +2 -1
  26. package/dist/integrations/_base/files/app/setup/page.tsx +858 -54
  27. package/dist/integrations/_base/files/lib/token-store-examples.ts +435 -0
  28. package/dist/integrations/_base/files/lib/token-store.ts +273 -23
  29. package/dist/integrations/airtable/connector.json +99 -0
  30. package/dist/integrations/airtable/files/ai/tools/create-record.ts +25 -0
  31. package/dist/integrations/airtable/files/ai/tools/get-base.ts +34 -0
  32. package/dist/integrations/airtable/files/ai/tools/get-record.ts +23 -0
  33. package/dist/integrations/airtable/files/ai/tools/list-bases.ts +19 -0
  34. package/dist/integrations/airtable/files/ai/tools/list-records.ts +47 -0
  35. package/dist/integrations/airtable/files/app/api/auth/airtable/callback/route.ts +11 -0
  36. package/dist/integrations/airtable/files/app/api/auth/airtable/route.ts +9 -0
  37. package/dist/integrations/airtable/files/lib/airtable-client.ts +244 -0
  38. package/dist/integrations/airtable/files/lib/token-store.ts +5 -0
  39. package/dist/integrations/anthropic/README.md +181 -0
  40. package/dist/integrations/anthropic/connector.json +88 -0
  41. package/dist/integrations/anthropic/files/_env.example +4 -0
  42. package/dist/integrations/anthropic/files/ai/tools/get-organization.ts +36 -0
  43. package/dist/integrations/anthropic/files/ai/tools/get-usage.ts +100 -0
  44. package/dist/integrations/anthropic/files/ai/tools/list-api-keys.ts +64 -0
  45. package/dist/integrations/anthropic/files/ai/tools/list-members.ts +65 -0
  46. package/dist/integrations/anthropic/files/ai/tools/list-workspaces.ts +35 -0
  47. package/dist/integrations/anthropic/files/lib/anthropic-admin-client.ts +264 -0
  48. package/dist/integrations/asana/connector.json +85 -0
  49. package/dist/integrations/asana/files/_env.example +4 -0
  50. package/dist/integrations/asana/files/ai/tools/create-task.ts +34 -0
  51. package/dist/integrations/asana/files/ai/tools/get-task.ts +26 -0
  52. package/dist/integrations/asana/files/ai/tools/list-projects.ts +26 -0
  53. package/dist/integrations/asana/files/ai/tools/list-tasks.ts +50 -0
  54. package/dist/integrations/asana/files/ai/tools/update-task.ts +36 -0
  55. package/dist/integrations/asana/files/app/api/auth/asana/callback/route.ts +11 -0
  56. package/dist/integrations/asana/files/app/api/auth/asana/route.ts +7 -0
  57. package/dist/integrations/asana/files/lib/asana-client.ts +162 -0
  58. package/dist/integrations/asana/files/lib/token-store.ts +11 -0
  59. package/dist/integrations/aws/connector.json +72 -0
  60. package/dist/integrations/aws/files/_env.example +10 -0
  61. package/dist/integrations/aws/files/ai/tools/get-s3-object.ts +62 -0
  62. package/dist/integrations/aws/files/ai/tools/list-ec2-instances.ts +56 -0
  63. package/dist/integrations/aws/files/ai/tools/list-lambda-functions.ts +57 -0
  64. package/dist/integrations/aws/files/ai/tools/list-s3-buckets.ts +44 -0
  65. package/dist/integrations/aws/files/ai/tools/list-s3-objects.ts +58 -0
  66. package/dist/integrations/aws/files/lib/aws-client.ts +255 -0
  67. package/dist/integrations/bitbucket/connector.json +85 -0
  68. package/dist/integrations/bitbucket/files/_env.example +9 -0
  69. package/dist/integrations/bitbucket/files/ai/tools/create-pull-request.ts +83 -0
  70. package/dist/integrations/bitbucket/files/ai/tools/list-issues.ts +112 -0
  71. package/dist/integrations/bitbucket/files/ai/tools/list-pull-requests.ts +91 -0
  72. package/dist/integrations/bitbucket/files/ai/tools/list-repositories.ts +78 -0
  73. package/dist/integrations/bitbucket/files/app/api/auth/bitbucket/callback/route.ts +11 -0
  74. package/dist/integrations/bitbucket/files/app/api/auth/bitbucket/route.ts +9 -0
  75. package/dist/integrations/bitbucket/files/lib/bitbucket-client.ts +316 -0
  76. package/dist/integrations/bitbucket/files/lib/token-store.ts +5 -0
  77. package/dist/integrations/box/connector.json +85 -0
  78. package/dist/integrations/box/files/_env.example +4 -0
  79. package/dist/integrations/box/files/ai/tools/create-folder.ts +28 -0
  80. package/dist/integrations/box/files/ai/tools/get-file.ts +29 -0
  81. package/dist/integrations/box/files/ai/tools/list-files.ts +33 -0
  82. package/dist/integrations/box/files/ai/tools/search-files.ts +35 -0
  83. package/dist/integrations/box/files/ai/tools/upload-file.ts +32 -0
  84. package/dist/integrations/box/files/app/api/auth/box/callback/route.ts +11 -0
  85. package/dist/integrations/box/files/app/api/auth/box/route.ts +7 -0
  86. package/dist/integrations/box/files/lib/box-client.ts +280 -0
  87. package/dist/integrations/box/files/lib/token-store.ts +11 -0
  88. package/dist/integrations/calendar/files/app/api/auth/calendar/callback/route.ts +7 -110
  89. package/dist/integrations/calendar/files/app/api/auth/calendar/route.ts +5 -25
  90. package/dist/integrations/calendar/files/lib/token-store.ts +2 -110
  91. package/dist/integrations/clickup/connector.json +85 -0
  92. package/dist/integrations/clickup/files/_env.example +4 -0
  93. package/dist/integrations/clickup/files/ai/tools/create-task.ts +64 -0
  94. package/dist/integrations/clickup/files/ai/tools/get-task.ts +59 -0
  95. package/dist/integrations/clickup/files/ai/tools/list-lists.ts +109 -0
  96. package/dist/integrations/clickup/files/ai/tools/list-tasks.ts +95 -0
  97. package/dist/integrations/clickup/files/ai/tools/update-task.ts +85 -0
  98. package/dist/integrations/clickup/files/app/api/auth/clickup/callback/route.ts +11 -0
  99. package/dist/integrations/clickup/files/app/api/auth/clickup/route.ts +7 -0
  100. package/dist/integrations/clickup/files/lib/clickup-client.ts +439 -0
  101. package/dist/integrations/clickup/files/lib/token-store.ts +11 -0
  102. package/dist/integrations/confluence/README.md +246 -0
  103. package/dist/integrations/confluence/connector.json +104 -0
  104. package/dist/integrations/confluence/files/_env.example +4 -0
  105. package/dist/integrations/confluence/files/ai/tools/create-page.ts +43 -0
  106. package/dist/integrations/confluence/files/ai/tools/get-page.ts +30 -0
  107. package/dist/integrations/confluence/files/ai/tools/list-spaces.ts +31 -0
  108. package/dist/integrations/confluence/files/ai/tools/search-content.ts +38 -0
  109. package/dist/integrations/confluence/files/ai/tools/update-page.ts +45 -0
  110. package/dist/integrations/confluence/files/app/api/auth/confluence/callback/route.ts +11 -0
  111. package/dist/integrations/confluence/files/app/api/auth/confluence/route.ts +9 -0
  112. package/dist/integrations/confluence/files/lib/confluence-client.ts +281 -0
  113. package/dist/integrations/confluence/files/lib/token-store.ts +5 -0
  114. package/dist/integrations/discord/connector.json +100 -0
  115. package/dist/integrations/discord/files/_env.example +12 -0
  116. package/dist/integrations/discord/files/ai/tools/get-messages.ts +55 -0
  117. package/dist/integrations/discord/files/ai/tools/get-user.ts +32 -0
  118. package/dist/integrations/discord/files/ai/tools/list-channels.ts +32 -0
  119. package/dist/integrations/discord/files/ai/tools/list-guilds.ts +24 -0
  120. package/dist/integrations/discord/files/ai/tools/send-message.ts +33 -0
  121. package/dist/integrations/discord/files/app/api/auth/discord/callback/route.ts +11 -0
  122. package/dist/integrations/discord/files/app/api/auth/discord/route.ts +9 -0
  123. package/dist/integrations/discord/files/lib/discord-client.ts +273 -0
  124. package/dist/integrations/discord/files/lib/token-store.ts +5 -0
  125. package/dist/integrations/docs-google/connector.json +101 -0
  126. package/dist/integrations/docs-google/files/_env.example +8 -0
  127. package/dist/integrations/docs-google/files/ai/tools/create-document.ts +46 -0
  128. package/dist/integrations/docs-google/files/ai/tools/get-document.ts +46 -0
  129. package/dist/integrations/docs-google/files/ai/tools/list-documents.ts +42 -0
  130. package/dist/integrations/docs-google/files/ai/tools/search-documents.ts +38 -0
  131. package/dist/integrations/docs-google/files/ai/tools/update-document.ts +131 -0
  132. package/dist/integrations/docs-google/files/app/api/auth/docs-google/callback/route.ts +11 -0
  133. package/dist/integrations/docs-google/files/app/api/auth/docs-google/route.ts +9 -0
  134. package/dist/integrations/docs-google/files/lib/docs-client.ts +582 -0
  135. package/dist/integrations/docs-google/files/lib/token-store.ts +5 -0
  136. package/dist/integrations/drive/connector.json +134 -0
  137. package/dist/integrations/drive/files/_env.example +9 -0
  138. package/dist/integrations/drive/files/ai/tools/create-folder.ts +47 -0
  139. package/dist/integrations/drive/files/ai/tools/get-file.ts +55 -0
  140. package/dist/integrations/drive/files/ai/tools/list-files.ts +78 -0
  141. package/dist/integrations/drive/files/ai/tools/search-files.ts +79 -0
  142. package/dist/integrations/drive/files/ai/tools/upload-file.ts +59 -0
  143. package/dist/integrations/drive/files/app/api/auth/drive/callback/route.ts +11 -0
  144. package/dist/integrations/drive/files/app/api/auth/drive/route.ts +9 -0
  145. package/dist/integrations/drive/files/lib/drive-client.ts +359 -0
  146. package/dist/integrations/drive/files/lib/token-store.ts +113 -0
  147. package/dist/integrations/dropbox/connector.json +107 -0
  148. package/dist/integrations/dropbox/files/_env.example +24 -0
  149. package/dist/integrations/dropbox/files/ai/tools/get-account.ts +58 -0
  150. package/dist/integrations/dropbox/files/ai/tools/get-file.ts +61 -0
  151. package/dist/integrations/dropbox/files/ai/tools/list-files.ts +56 -0
  152. package/dist/integrations/dropbox/files/ai/tools/search-files.ts +70 -0
  153. package/dist/integrations/dropbox/files/ai/tools/upload-file.ts +48 -0
  154. package/dist/integrations/dropbox/files/app/api/auth/dropbox/callback/route.ts +11 -0
  155. package/dist/integrations/dropbox/files/app/api/auth/dropbox/route.ts +9 -0
  156. package/dist/integrations/dropbox/files/lib/dropbox-client.ts +397 -0
  157. package/dist/integrations/dropbox/files/lib/token-store.ts +5 -0
  158. package/dist/integrations/figma/INTEGRATION_SUMMARY.md +436 -0
  159. package/dist/integrations/figma/README.md +287 -0
  160. package/dist/integrations/figma/connector.json +100 -0
  161. package/dist/integrations/figma/files/_env.example +5 -0
  162. package/dist/integrations/figma/files/ai/tools/get-comments.ts +72 -0
  163. package/dist/integrations/figma/files/ai/tools/get-file.ts +54 -0
  164. package/dist/integrations/figma/files/ai/tools/list-files.ts +39 -0
  165. package/dist/integrations/figma/files/ai/tools/list-projects.ts +69 -0
  166. package/dist/integrations/figma/files/ai/tools/post-comment.ts +54 -0
  167. package/dist/integrations/figma/files/app/api/auth/figma/callback/route.ts +11 -0
  168. package/dist/integrations/figma/files/app/api/auth/figma/route.ts +9 -0
  169. package/dist/integrations/figma/files/lib/figma-client.ts +355 -0
  170. package/dist/integrations/figma/files/lib/token-store.ts +5 -0
  171. package/dist/integrations/figma/files/lib/types.ts +503 -0
  172. package/dist/integrations/freshdesk/connector.json +85 -0
  173. package/dist/integrations/freshdesk/files/_env.example +4 -0
  174. package/dist/integrations/freshdesk/files/ai/tools/create-ticket.ts +60 -0
  175. package/dist/integrations/freshdesk/files/ai/tools/get-ticket.ts +46 -0
  176. package/dist/integrations/freshdesk/files/ai/tools/list-contacts.ts +37 -0
  177. package/dist/integrations/freshdesk/files/ai/tools/list-tickets.ts +59 -0
  178. package/dist/integrations/freshdesk/files/ai/tools/update-ticket.ts +61 -0
  179. package/dist/integrations/freshdesk/files/app/api/auth/freshdesk/callback/route.ts +11 -0
  180. package/dist/integrations/freshdesk/files/app/api/auth/freshdesk/route.ts +7 -0
  181. package/dist/integrations/freshdesk/files/lib/freshdesk-client.ts +178 -0
  182. package/dist/integrations/freshdesk/files/lib/token-store.ts +11 -0
  183. package/dist/integrations/github/files/app/api/auth/github/callback/route.ts +6 -127
  184. package/dist/integrations/github/files/app/api/auth/github/route.ts +4 -24
  185. package/dist/integrations/github/files/lib/token-store.ts +2 -110
  186. package/dist/integrations/gitlab/connector.json +100 -0
  187. package/dist/integrations/gitlab/files/_env.example +7 -0
  188. package/dist/integrations/gitlab/files/ai/tools/create-issue.ts +49 -0
  189. package/dist/integrations/gitlab/files/ai/tools/get-issue.ts +56 -0
  190. package/dist/integrations/gitlab/files/ai/tools/list-merge-requests.ts +75 -0
  191. package/dist/integrations/gitlab/files/ai/tools/list-projects.ts +51 -0
  192. package/dist/integrations/gitlab/files/ai/tools/search-issues.ts +67 -0
  193. package/dist/integrations/gitlab/files/app/api/auth/gitlab/callback/route.ts +11 -0
  194. package/dist/integrations/gitlab/files/app/api/auth/gitlab/route.ts +9 -0
  195. package/dist/integrations/gitlab/files/lib/gitlab-client.ts +366 -0
  196. package/dist/integrations/gitlab/files/lib/token-store.ts +5 -0
  197. package/dist/integrations/gmail/files/app/api/auth/gmail/callback/route.ts +7 -108
  198. package/dist/integrations/gmail/files/app/api/auth/gmail/route.ts +5 -23
  199. package/dist/integrations/gmail/files/lib/gmail-client.ts +16 -55
  200. package/dist/integrations/gmail/files/lib/token-store.ts +4 -109
  201. package/dist/integrations/hubspot/connector.json +98 -0
  202. package/dist/integrations/hubspot/files/_env.example +5 -0
  203. package/dist/integrations/hubspot/files/ai/tools/create-contact.ts +41 -0
  204. package/dist/integrations/hubspot/files/ai/tools/create-deal.ts +41 -0
  205. package/dist/integrations/hubspot/files/ai/tools/get-contact.ts +39 -0
  206. package/dist/integrations/hubspot/files/ai/tools/list-contacts.ts +43 -0
  207. package/dist/integrations/hubspot/files/ai/tools/list-deals.ts +41 -0
  208. package/dist/integrations/hubspot/files/app/api/auth/hubspot/callback/route.ts +11 -0
  209. package/dist/integrations/hubspot/files/app/api/auth/hubspot/route.ts +9 -0
  210. package/dist/integrations/hubspot/files/lib/hubspot-client.ts +393 -0
  211. package/dist/integrations/hubspot/files/lib/token-store.ts +5 -0
  212. package/dist/integrations/intercom/connector.json +85 -0
  213. package/dist/integrations/intercom/files/_env.example +4 -0
  214. package/dist/integrations/intercom/files/ai/tools/get-contact.ts +35 -0
  215. package/dist/integrations/intercom/files/ai/tools/get-conversation.ts +55 -0
  216. package/dist/integrations/intercom/files/ai/tools/list-contacts.ts +35 -0
  217. package/dist/integrations/intercom/files/ai/tools/list-conversations.ts +49 -0
  218. package/dist/integrations/intercom/files/ai/tools/send-message.ts +34 -0
  219. package/dist/integrations/intercom/files/app/api/auth/intercom/callback/route.ts +11 -0
  220. package/dist/integrations/intercom/files/app/api/auth/intercom/route.ts +7 -0
  221. package/dist/integrations/intercom/files/lib/intercom-client.ts +308 -0
  222. package/dist/integrations/intercom/files/lib/token-store.ts +11 -0
  223. package/dist/integrations/jira/connector.json +109 -0
  224. package/dist/integrations/jira/files/ai/tools/create-issue.ts +47 -0
  225. package/dist/integrations/jira/files/ai/tools/get-issue.ts +57 -0
  226. package/dist/integrations/jira/files/ai/tools/list-projects.ts +30 -0
  227. package/dist/integrations/jira/files/ai/tools/search-issues.ts +49 -0
  228. package/dist/integrations/jira/files/ai/tools/update-issue.ts +81 -0
  229. package/dist/integrations/jira/files/app/api/auth/jira/callback/route.ts +11 -0
  230. package/dist/integrations/jira/files/app/api/auth/jira/route.ts +9 -0
  231. package/dist/integrations/jira/files/lib/jira-client.ts +338 -0
  232. package/dist/integrations/jira/files/lib/token-store.ts +5 -0
  233. package/dist/integrations/linear/connector.json +100 -0
  234. package/dist/integrations/linear/files/_env.example +6 -0
  235. package/dist/integrations/linear/files/ai/tools/create-issue.ts +71 -0
  236. package/dist/integrations/linear/files/ai/tools/get-issue.ts +55 -0
  237. package/dist/integrations/linear/files/ai/tools/list-projects.ts +43 -0
  238. package/dist/integrations/linear/files/ai/tools/search-issues.ts +54 -0
  239. package/dist/integrations/linear/files/ai/tools/update-issue.ts +71 -0
  240. package/dist/integrations/linear/files/app/api/auth/linear/callback/route.ts +11 -0
  241. package/dist/integrations/linear/files/app/api/auth/linear/route.ts +9 -0
  242. package/dist/integrations/linear/files/lib/linear-client.ts +464 -0
  243. package/dist/integrations/linear/files/lib/token-store.ts +5 -0
  244. package/dist/integrations/mailchimp/connector.json +85 -0
  245. package/dist/integrations/mailchimp/files/_env.example +4 -0
  246. package/dist/integrations/mailchimp/files/ai/tools/get-campaign.ts +45 -0
  247. package/dist/integrations/mailchimp/files/ai/tools/get-list.ts +51 -0
  248. package/dist/integrations/mailchimp/files/ai/tools/list-campaigns.ts +46 -0
  249. package/dist/integrations/mailchimp/files/ai/tools/list-lists.ts +46 -0
  250. package/dist/integrations/mailchimp/files/ai/tools/list-members.ts +58 -0
  251. package/dist/integrations/mailchimp/files/app/api/auth/mailchimp/callback/route.ts +11 -0
  252. package/dist/integrations/mailchimp/files/app/api/auth/mailchimp/route.ts +7 -0
  253. package/dist/integrations/mailchimp/files/lib/mailchimp-client.ts +267 -0
  254. package/dist/integrations/mailchimp/files/lib/token-store.ts +11 -0
  255. package/dist/integrations/mixpanel/connector.json +96 -0
  256. package/dist/integrations/mixpanel/files/_env.example +11 -0
  257. package/dist/integrations/mixpanel/files/ai/tools/get-funnel.ts +46 -0
  258. package/dist/integrations/mixpanel/files/ai/tools/get-retention.ts +64 -0
  259. package/dist/integrations/mixpanel/files/ai/tools/list-cohorts.ts +46 -0
  260. package/dist/integrations/mixpanel/files/ai/tools/query-events.ts +43 -0
  261. package/dist/integrations/mixpanel/files/ai/tools/track-event.ts +41 -0
  262. package/dist/integrations/mixpanel/files/lib/mixpanel-client.ts +319 -0
  263. package/dist/integrations/mixpanel/files/lib/token-store.ts +43 -0
  264. package/dist/integrations/monday/connector.json +85 -0
  265. package/dist/integrations/monday/files/_env.example +4 -0
  266. package/dist/integrations/monday/files/ai/tools/create-item.ts +36 -0
  267. package/dist/integrations/monday/files/ai/tools/get-item.ts +31 -0
  268. package/dist/integrations/monday/files/ai/tools/list-boards.ts +29 -0
  269. package/dist/integrations/monday/files/ai/tools/list-items.ts +36 -0
  270. package/dist/integrations/monday/files/ai/tools/update-item.ts +36 -0
  271. package/dist/integrations/monday/files/app/api/auth/monday/callback/route.ts +11 -0
  272. package/dist/integrations/monday/files/app/api/auth/monday/route.ts +7 -0
  273. package/dist/integrations/monday/files/lib/monday-client.ts +329 -0
  274. package/dist/integrations/monday/files/lib/token-store.ts +11 -0
  275. package/dist/integrations/neon/connector.json +89 -0
  276. package/dist/integrations/neon/files/_env.example +6 -0
  277. package/dist/integrations/neon/files/ai/tools/describe-table.ts +38 -0
  278. package/dist/integrations/neon/files/ai/tools/list-branches.ts +35 -0
  279. package/dist/integrations/neon/files/ai/tools/list-projects.ts +31 -0
  280. package/dist/integrations/neon/files/ai/tools/list-tables.ts +49 -0
  281. package/dist/integrations/neon/files/ai/tools/query-database.ts +33 -0
  282. package/dist/integrations/neon/files/app/api/auth/neon/route.ts +51 -0
  283. package/dist/integrations/neon/files/lib/neon-client.ts +294 -0
  284. package/dist/integrations/neon/files/lib/token-store.ts +29 -0
  285. package/dist/integrations/notion/connector.json +87 -0
  286. package/dist/integrations/notion/files/_env.example +6 -0
  287. package/dist/integrations/notion/files/ai/tools/create-page.ts +32 -0
  288. package/dist/integrations/notion/files/ai/tools/query-database.ts +44 -0
  289. package/dist/integrations/notion/files/ai/tools/read-page.ts +34 -0
  290. package/dist/integrations/notion/files/ai/tools/search-notion.ts +51 -0
  291. package/dist/integrations/notion/files/app/api/auth/notion/callback/route.ts +11 -0
  292. package/dist/integrations/notion/files/app/api/auth/notion/route.ts +9 -0
  293. package/dist/integrations/notion/files/lib/notion-client.ts +218 -0
  294. package/dist/integrations/notion/files/lib/token-store.ts +5 -0
  295. package/dist/integrations/onedrive/connector.json +100 -0
  296. package/dist/integrations/onedrive/files/_env.example +23 -0
  297. package/dist/integrations/onedrive/files/ai/tools/download-file.ts +38 -0
  298. package/dist/integrations/onedrive/files/ai/tools/list-files.ts +63 -0
  299. package/dist/integrations/onedrive/files/ai/tools/search-files.ts +59 -0
  300. package/dist/integrations/onedrive/files/ai/tools/upload-file.ts +43 -0
  301. package/dist/integrations/onedrive/files/app/api/auth/onedrive/callback/route.ts +11 -0
  302. package/dist/integrations/onedrive/files/app/api/auth/onedrive/route.ts +9 -0
  303. package/dist/integrations/onedrive/files/lib/onedrive-client.ts +314 -0
  304. package/dist/integrations/onedrive/files/lib/token-store.ts +5 -0
  305. package/dist/integrations/outlook/README.md +308 -0
  306. package/dist/integrations/outlook/connector.json +98 -0
  307. package/dist/integrations/outlook/files/_env.example +8 -0
  308. package/dist/integrations/outlook/files/ai/tools/get-email.ts +47 -0
  309. package/dist/integrations/outlook/files/ai/tools/list-emails.ts +46 -0
  310. package/dist/integrations/outlook/files/ai/tools/list-folders.ts +22 -0
  311. package/dist/integrations/outlook/files/ai/tools/search-emails.ts +41 -0
  312. package/dist/integrations/outlook/files/ai/tools/send-email.ts +41 -0
  313. package/dist/integrations/outlook/files/app/api/auth/outlook/callback/route.ts +11 -0
  314. package/dist/integrations/outlook/files/app/api/auth/outlook/route.ts +9 -0
  315. package/dist/integrations/outlook/files/lib/outlook-client.ts +204 -0
  316. package/dist/integrations/outlook/files/lib/token-store.ts +5 -0
  317. package/dist/integrations/pipedrive/connector.json +85 -0
  318. package/dist/integrations/pipedrive/files/_env.example +4 -0
  319. package/dist/integrations/pipedrive/files/ai/tools/create-deal.ts +44 -0
  320. package/dist/integrations/pipedrive/files/ai/tools/get-deal.ts +34 -0
  321. package/dist/integrations/pipedrive/files/ai/tools/list-deals.ts +40 -0
  322. package/dist/integrations/pipedrive/files/ai/tools/list-persons.ts +33 -0
  323. package/dist/integrations/pipedrive/files/ai/tools/update-deal.ts +46 -0
  324. package/dist/integrations/pipedrive/files/app/api/auth/pipedrive/callback/route.ts +11 -0
  325. package/dist/integrations/pipedrive/files/app/api/auth/pipedrive/route.ts +7 -0
  326. package/dist/integrations/pipedrive/files/lib/pipedrive-client.ts +259 -0
  327. package/dist/integrations/pipedrive/files/lib/token-store.ts +11 -0
  328. package/dist/integrations/posthog/connector.json +84 -0
  329. package/dist/integrations/posthog/files/_env.example +6 -0
  330. package/dist/integrations/posthog/files/ai/tools/capture-event.ts +37 -0
  331. package/dist/integrations/posthog/files/ai/tools/get-trends.ts +44 -0
  332. package/dist/integrations/posthog/files/ai/tools/list-feature-flags.ts +38 -0
  333. package/dist/integrations/posthog/files/ai/tools/list-persons.ts +32 -0
  334. package/dist/integrations/posthog/files/lib/posthog-client.ts +286 -0
  335. package/dist/integrations/posthog/files/lib/token-store.ts +21 -0
  336. package/dist/integrations/quickbooks/connector.json +85 -0
  337. package/dist/integrations/quickbooks/files/_env.example +4 -0
  338. package/dist/integrations/quickbooks/files/ai/tools/create-invoice.ts +48 -0
  339. package/dist/integrations/quickbooks/files/ai/tools/get-customer.ts +36 -0
  340. package/dist/integrations/quickbooks/files/ai/tools/get-invoice.ts +46 -0
  341. package/dist/integrations/quickbooks/files/ai/tools/list-customers.ts +37 -0
  342. package/dist/integrations/quickbooks/files/ai/tools/list-invoices.ts +40 -0
  343. package/dist/integrations/quickbooks/files/app/api/auth/quickbooks/callback/route.ts +11 -0
  344. package/dist/integrations/quickbooks/files/app/api/auth/quickbooks/route.ts +7 -0
  345. package/dist/integrations/quickbooks/files/lib/quickbooks-client.ts +252 -0
  346. package/dist/integrations/quickbooks/files/lib/token-store.ts +11 -0
  347. package/dist/integrations/salesforce/connector.json +104 -0
  348. package/dist/integrations/salesforce/files/ai/tools/create-lead.ts +101 -0
  349. package/dist/integrations/salesforce/files/ai/tools/get-account.ts +53 -0
  350. package/dist/integrations/salesforce/files/ai/tools/list-accounts.ts +50 -0
  351. package/dist/integrations/salesforce/files/ai/tools/list-contacts.ts +54 -0
  352. package/dist/integrations/salesforce/files/ai/tools/list-opportunities.ts +55 -0
  353. package/dist/integrations/salesforce/files/app/api/auth/salesforce/callback/route.ts +11 -0
  354. package/dist/integrations/salesforce/files/app/api/auth/salesforce/route.ts +9 -0
  355. package/dist/integrations/salesforce/files/lib/salesforce-client.ts +539 -0
  356. package/dist/integrations/salesforce/files/lib/token-store.ts +5 -0
  357. package/dist/integrations/sentry/connector.json +84 -0
  358. package/dist/integrations/sentry/files/_env.example +6 -0
  359. package/dist/integrations/sentry/files/ai/tools/get-issue.ts +66 -0
  360. package/dist/integrations/sentry/files/ai/tools/list-issues.ts +57 -0
  361. package/dist/integrations/sentry/files/ai/tools/list-projects.ts +32 -0
  362. package/dist/integrations/sentry/files/ai/tools/resolve-issue.ts +28 -0
  363. package/dist/integrations/sentry/files/lib/sentry-client.ts +268 -0
  364. package/dist/integrations/sentry/files/lib/token-store.ts +29 -0
  365. package/dist/integrations/servicenow/connector.json +66 -0
  366. package/dist/integrations/servicenow/files/_env.example +5 -0
  367. package/dist/integrations/servicenow/files/ai/tools/create-incident.ts +58 -0
  368. package/dist/integrations/servicenow/files/ai/tools/get-incident.ts +59 -0
  369. package/dist/integrations/servicenow/files/ai/tools/list-incidents.ts +72 -0
  370. package/dist/integrations/servicenow/files/ai/tools/search-knowledge.ts +48 -0
  371. package/dist/integrations/servicenow/files/ai/tools/update-incident.ts +60 -0
  372. package/dist/integrations/servicenow/files/app/api/auth/servicenow/callback/route.ts +89 -0
  373. package/dist/integrations/servicenow/files/app/api/auth/servicenow/route.ts +42 -0
  374. package/dist/integrations/servicenow/files/lib/servicenow-client.ts +239 -0
  375. package/dist/integrations/servicenow/files/lib/token-store.ts +42 -0
  376. package/dist/integrations/sharepoint/connector.json +99 -0
  377. package/dist/integrations/sharepoint/files/ai/tools/get-file.ts +93 -0
  378. package/dist/integrations/sharepoint/files/ai/tools/get-site.ts +51 -0
  379. package/dist/integrations/sharepoint/files/ai/tools/list-files.ts +63 -0
  380. package/dist/integrations/sharepoint/files/ai/tools/list-sites.ts +28 -0
  381. package/dist/integrations/sharepoint/files/ai/tools/upload-file.ts +72 -0
  382. package/dist/integrations/sharepoint/files/app/api/auth/sharepoint/callback/route.ts +11 -0
  383. package/dist/integrations/sharepoint/files/app/api/auth/sharepoint/route.ts +9 -0
  384. package/dist/integrations/sharepoint/files/lib/sharepoint-client.ts +420 -0
  385. package/dist/integrations/sharepoint/files/lib/token-store.ts +5 -0
  386. package/dist/integrations/sheets/README.md +331 -0
  387. package/dist/integrations/sheets/connector.json +99 -0
  388. package/dist/integrations/sheets/files/_env.example +8 -0
  389. package/dist/integrations/sheets/files/ai/tools/create-spreadsheet.ts +85 -0
  390. package/dist/integrations/sheets/files/ai/tools/get-spreadsheet.ts +39 -0
  391. package/dist/integrations/sheets/files/ai/tools/list-spreadsheets.ts +41 -0
  392. package/dist/integrations/sheets/files/ai/tools/read-range.ts +35 -0
  393. package/dist/integrations/sheets/files/ai/tools/write-range.ts +51 -0
  394. package/dist/integrations/sheets/files/app/api/auth/sheets/callback/route.ts +11 -0
  395. package/dist/integrations/sheets/files/app/api/auth/sheets/route.ts +9 -0
  396. package/dist/integrations/sheets/files/lib/sheets-client.ts +425 -0
  397. package/dist/integrations/sheets/files/lib/token-store.ts +5 -0
  398. package/dist/integrations/shopify/connector.json +99 -0
  399. package/dist/integrations/shopify/files/_env.example +5 -0
  400. package/dist/integrations/shopify/files/ai/tools/get-order.ts +49 -0
  401. package/dist/integrations/shopify/files/ai/tools/get-product.ts +39 -0
  402. package/dist/integrations/shopify/files/ai/tools/list-customers.ts +40 -0
  403. package/dist/integrations/shopify/files/ai/tools/list-orders.ts +52 -0
  404. package/dist/integrations/shopify/files/ai/tools/list-products.ts +39 -0
  405. package/dist/integrations/shopify/files/app/api/auth/shopify/callback/route.ts +11 -0
  406. package/dist/integrations/shopify/files/app/api/auth/shopify/route.ts +7 -0
  407. package/dist/integrations/shopify/files/lib/shopify-client.ts +198 -0
  408. package/dist/integrations/shopify/files/lib/token-store.ts +11 -0
  409. package/dist/integrations/slack/files/app/api/auth/slack/callback/route.ts +6 -127
  410. package/dist/integrations/slack/files/app/api/auth/slack/route.ts +4 -24
  411. package/dist/integrations/slack/files/lib/token-store.ts +2 -110
  412. package/dist/integrations/snowflake/connector.json +151 -0
  413. package/dist/integrations/snowflake/files/_env.example +16 -0
  414. package/dist/integrations/snowflake/files/ai/tools/describe-table.ts +57 -0
  415. package/dist/integrations/snowflake/files/ai/tools/list-databases.ts +34 -0
  416. package/dist/integrations/snowflake/files/ai/tools/list-schemas.ts +40 -0
  417. package/dist/integrations/snowflake/files/ai/tools/list-tables.ts +49 -0
  418. package/dist/integrations/snowflake/files/ai/tools/run-query.ts +119 -0
  419. package/dist/integrations/snowflake/files/lib/snowflake-client.ts +389 -0
  420. package/dist/integrations/snowflake/files/lib/token-store.ts +77 -0
  421. package/dist/integrations/stripe/connector.json +97 -0
  422. package/dist/integrations/stripe/files/_env.example +6 -0
  423. package/dist/integrations/stripe/files/ai/tools/get-balance.ts +28 -0
  424. package/dist/integrations/stripe/files/ai/tools/get-customer.ts +26 -0
  425. package/dist/integrations/stripe/files/ai/tools/list-customers.ts +42 -0
  426. package/dist/integrations/stripe/files/ai/tools/list-payments.ts +45 -0
  427. package/dist/integrations/stripe/files/ai/tools/list-subscriptions.ts +67 -0
  428. package/dist/integrations/stripe/files/app/api/auth/stripe/route.ts +71 -0
  429. package/dist/integrations/stripe/files/lib/stripe-client.ts +376 -0
  430. package/dist/integrations/stripe/files/lib/token-store.ts +21 -0
  431. package/dist/integrations/supabase/connector.json +101 -0
  432. package/dist/integrations/supabase/files/_env.example +6 -0
  433. package/dist/integrations/supabase/files/ai/tools/delete-row.ts +77 -0
  434. package/dist/integrations/supabase/files/ai/tools/insert-row.ts +35 -0
  435. package/dist/integrations/supabase/files/ai/tools/list-tables.ts +60 -0
  436. package/dist/integrations/supabase/files/ai/tools/query-table.ts +48 -0
  437. package/dist/integrations/supabase/files/ai/tools/update-row.ts +64 -0
  438. package/dist/integrations/supabase/files/app/api/auth/supabase/route.ts +91 -0
  439. package/dist/integrations/supabase/files/lib/supabase-client.ts +296 -0
  440. package/dist/integrations/supabase/files/lib/token-store.ts +47 -0
  441. package/dist/integrations/teams/README.md +256 -0
  442. package/dist/integrations/teams/connector.json +99 -0
  443. package/dist/integrations/teams/files/ai/tools/get-messages.ts +55 -0
  444. package/dist/integrations/teams/files/ai/tools/list-channels.ts +28 -0
  445. package/dist/integrations/teams/files/ai/tools/list-chats.ts +41 -0
  446. package/dist/integrations/teams/files/ai/tools/list-teams.ts +27 -0
  447. package/dist/integrations/teams/files/ai/tools/send-message.ts +61 -0
  448. package/dist/integrations/teams/files/app/api/auth/teams/callback/route.ts +11 -0
  449. package/dist/integrations/teams/files/app/api/auth/teams/route.ts +9 -0
  450. package/dist/integrations/teams/files/lib/teams-client.ts +345 -0
  451. package/dist/integrations/teams/files/lib/token-store.ts +5 -0
  452. package/dist/integrations/trello/connector.json +85 -0
  453. package/dist/integrations/trello/files/_env.example +4 -0
  454. package/dist/integrations/trello/files/ai/tools/create-card.ts +54 -0
  455. package/dist/integrations/trello/files/ai/tools/get-card.ts +33 -0
  456. package/dist/integrations/trello/files/ai/tools/list-boards.ts +29 -0
  457. package/dist/integrations/trello/files/ai/tools/list-cards.ts +52 -0
  458. package/dist/integrations/trello/files/ai/tools/update-card.ts +65 -0
  459. package/dist/integrations/trello/files/app/api/auth/trello/callback/route.ts +11 -0
  460. package/dist/integrations/trello/files/app/api/auth/trello/route.ts +7 -0
  461. package/dist/integrations/trello/files/lib/token-store.ts +11 -0
  462. package/dist/integrations/trello/files/lib/trello-client.ts +202 -0
  463. package/dist/integrations/twilio/connector.json +146 -0
  464. package/dist/integrations/twilio/files/_env.example +14 -0
  465. package/dist/integrations/twilio/files/ai/tools/get-message.ts +58 -0
  466. package/dist/integrations/twilio/files/ai/tools/list-calls.ts +129 -0
  467. package/dist/integrations/twilio/files/ai/tools/list-messages.ts +97 -0
  468. package/dist/integrations/twilio/files/ai/tools/send-sms.ts +75 -0
  469. package/dist/integrations/twilio/files/ai/tools/send-whatsapp.ts +81 -0
  470. package/dist/integrations/twilio/files/lib/token-store.ts +60 -0
  471. package/dist/integrations/twilio/files/lib/twilio-client.ts +375 -0
  472. package/dist/integrations/twitter/connector.json +87 -0
  473. package/dist/integrations/twitter/files/_env.example +6 -0
  474. package/dist/integrations/twitter/files/ai/tools/get-timeline.ts +59 -0
  475. package/dist/integrations/twitter/files/ai/tools/post-tweet.ts +49 -0
  476. package/dist/integrations/twitter/files/ai/tools/search-tweets.ts +71 -0
  477. package/dist/integrations/twitter/files/app/api/auth/twitter/callback/route.ts +11 -0
  478. package/dist/integrations/twitter/files/app/api/auth/twitter/route.ts +9 -0
  479. package/dist/integrations/twitter/files/lib/token-store.ts +5 -0
  480. package/dist/integrations/twitter/files/lib/twitter-client.ts +236 -0
  481. package/dist/integrations/webex/connector.json +85 -0
  482. package/dist/integrations/webex/files/_env.example +4 -0
  483. package/dist/integrations/webex/files/ai/tools/create-meeting.ts +69 -0
  484. package/dist/integrations/webex/files/ai/tools/get-meeting.ts +31 -0
  485. package/dist/integrations/webex/files/ai/tools/list-meetings.ts +44 -0
  486. package/dist/integrations/webex/files/ai/tools/list-rooms.ts +35 -0
  487. package/dist/integrations/webex/files/ai/tools/send-message.ts +51 -0
  488. package/dist/integrations/webex/files/app/api/auth/webex/callback/route.ts +11 -0
  489. package/dist/integrations/webex/files/app/api/auth/webex/route.ts +7 -0
  490. package/dist/integrations/webex/files/lib/token-store.ts +11 -0
  491. package/dist/integrations/webex/files/lib/webex-client.ts +279 -0
  492. package/dist/integrations/xero/connector.json +85 -0
  493. package/dist/integrations/xero/files/_env.example +4 -0
  494. package/dist/integrations/xero/files/ai/tools/create-invoice.ts +65 -0
  495. package/dist/integrations/xero/files/ai/tools/get-contact.ts +40 -0
  496. package/dist/integrations/xero/files/ai/tools/get-invoice.ts +44 -0
  497. package/dist/integrations/xero/files/ai/tools/list-contacts.ts +54 -0
  498. package/dist/integrations/xero/files/ai/tools/list-invoices.ts +54 -0
  499. package/dist/integrations/xero/files/app/api/auth/xero/callback/route.ts +11 -0
  500. package/dist/integrations/xero/files/app/api/auth/xero/route.ts +7 -0
  501. package/dist/integrations/xero/files/lib/token-store.ts +11 -0
  502. package/dist/integrations/xero/files/lib/xero-client.ts +292 -0
  503. package/dist/integrations/zendesk/connector.json +61 -0
  504. package/dist/integrations/zendesk/files/_env.example +5 -0
  505. package/dist/integrations/zendesk/files/ai/tools/create-ticket.ts +82 -0
  506. package/dist/integrations/zendesk/files/ai/tools/get-ticket.ts +53 -0
  507. package/dist/integrations/zendesk/files/ai/tools/list-tickets.ts +60 -0
  508. package/dist/integrations/zendesk/files/ai/tools/search-tickets.ts +56 -0
  509. package/dist/integrations/zendesk/files/app/api/auth/zendesk/callback/route.ts +91 -0
  510. package/dist/integrations/zendesk/files/app/api/auth/zendesk/route.ts +41 -0
  511. package/dist/integrations/zendesk/files/lib/token-store.ts +47 -0
  512. package/dist/integrations/zendesk/files/lib/zendesk-client.ts +265 -0
  513. package/dist/integrations/zoom/connector.json +85 -0
  514. package/dist/integrations/zoom/files/_env.example +4 -0
  515. package/dist/integrations/zoom/files/ai/tools/create-meeting.ts +106 -0
  516. package/dist/integrations/zoom/files/ai/tools/delete-meeting.ts +32 -0
  517. package/dist/integrations/zoom/files/ai/tools/get-meeting.ts +44 -0
  518. package/dist/integrations/zoom/files/ai/tools/list-meetings.ts +47 -0
  519. package/dist/integrations/zoom/files/ai/tools/update-meeting.ts +111 -0
  520. package/dist/integrations/zoom/files/app/api/auth/zoom/callback/route.ts +11 -0
  521. package/dist/integrations/zoom/files/app/api/auth/zoom/route.ts +7 -0
  522. package/dist/integrations/zoom/files/lib/token-store.ts +11 -0
  523. package/dist/integrations/zoom/files/lib/zoom-client.ts +228 -0
  524. package/dist/oauth/handlers.js +554 -0
  525. package/dist/oauth/handlers.js.map +7 -0
  526. package/dist/oauth/index.js +1157 -0
  527. package/dist/oauth/index.js.map +7 -0
  528. package/dist/oauth/providers.js +927 -0
  529. package/dist/oauth/providers.js.map +7 -0
  530. package/dist/oauth/token-store.js +82 -0
  531. package/dist/oauth/token-store.js.map +7 -0
  532. package/package.json +25 -1
  533. package/dist/integrations/gmail/files/lib/oauth.ts +0 -145
  534. package/dist/integrations/slack/files/lib/oauth.ts +0 -145
  535. /package/dist/integrations/{calendar → docs-google}/files/lib/oauth.ts +0 -0
  536. /package/dist/integrations/{github → drive}/files/lib/oauth.ts +0 -0
@@ -1,132 +1,701 @@
1
- # Service Integration Setup Guide
1
+ # Integration Setup Guide
2
2
 
3
- This guide will help you set up OAuth credentials for your AI agent's service integrations.
3
+ This guide helps you set up credentials for all 50+ service integrations available in Veryfront.
4
4
 
5
5
  ## Quick Start
6
6
 
7
- 1. Start the development server: `veryfront dev`
8
- 2. Visit `http://localhost:3000/setup` for an interactive setup guide
9
- 3. Follow the step-by-step instructions for each service
7
+ ```bash
8
+ # Create a new project with integrations
9
+ veryfront init my-app --with ai --integrations slack,github,notion
10
10
 
11
- ## Service-Specific Setup
11
+ # Start development
12
+ cd my-app
13
+ veryfront dev
14
+ ```
12
15
 
13
- ### Gmail & Google Calendar
16
+ Visit `http://localhost:3000/api/auth/{service}` to connect each service.
14
17
 
15
- Both Gmail and Calendar use Google OAuth. You only need one set of credentials.
18
+ ---
19
+
20
+ ## Table of Contents
21
+
22
+ - [Google Services](#google-services) (Gmail, Calendar, Drive, Docs, Sheets)
23
+ - [Microsoft Services](#microsoft-services) (Outlook, Teams, SharePoint, OneDrive)
24
+ - [Atlassian Services](#atlassian-services) (Jira, Confluence)
25
+ - [Communication](#communication) (Slack, Discord, Twilio, Zoom, Webex)
26
+ - [Project Management](#project-management) (Asana, Monday, Trello, ClickUp, Linear, Notion)
27
+ - [Developer Tools](#developer-tools) (GitHub, GitLab, Bitbucket, Figma, Sentry, PostHog)
28
+ - [CRM & Sales](#crm--sales) (Salesforce, HubSpot, Pipedrive, Intercom, Zendesk, Freshdesk)
29
+ - [Databases](#databases) (Supabase, Neon, Airtable, Snowflake)
30
+ - [Cloud & Storage](#cloud--storage) (AWS, Dropbox, Box)
31
+ - [Finance](#finance) (Stripe, QuickBooks, Xero)
32
+ - [Marketing](#marketing) (Mailchimp, Twitter)
33
+ - [E-commerce](#e-commerce) (Shopify)
34
+ - [AI & Analytics](#ai--analytics) (Anthropic, Mixpanel)
35
+
36
+ ---
37
+
38
+ ## Google Services
39
+
40
+ **Gmail, Calendar, Drive, Docs, Sheets** all use the same Google OAuth credentials.
41
+
42
+ ### Setup Steps
16
43
 
17
44
  1. Go to [Google Cloud Console](https://console.cloud.google.com/apis/credentials)
18
- 2. Create a new project or select an existing one
19
- 3. Enable APIs:
45
+ 2. Create a new project or select existing
46
+ 3. Enable required APIs:
20
47
  - Gmail API
21
48
  - Google Calendar API
22
- 4. Create OAuth 2.0 credentials:
23
- - Application type: **Web application**
49
+ - Google Drive API
50
+ - Google Docs API
51
+ - Google Sheets API
52
+ 4. Go to **OAuth consent screen**:
53
+ - User Type: External (or Internal for Workspace)
54
+ - Add scopes for each API you need
55
+ 5. Go to **Credentials** > **Create Credentials** > **OAuth client ID**:
56
+ - Application type: Web application
24
57
  - Authorized redirect URIs:
25
- - `http://localhost:3000/api/auth/gmail/callback`
26
- - `http://localhost:3000/api/auth/calendar/callback`
27
- 5. Copy credentials to `.env`:
28
- ```
29
- GOOGLE_CLIENT_ID=your-client-id
30
- GOOGLE_CLIENT_SECRET=your-client-secret
31
- ```
58
+ ```
59
+ http://localhost:3000/api/auth/gmail/callback
60
+ http://localhost:3000/api/auth/calendar/callback
61
+ http://localhost:3000/api/auth/drive/callback
62
+ http://localhost:3000/api/auth/docs-google/callback
63
+ http://localhost:3000/api/auth/sheets/callback
64
+ ```
65
+
66
+ ### Environment Variables
67
+
68
+ ```env
69
+ GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
70
+ GOOGLE_CLIENT_SECRET=your-client-secret
71
+ ```
72
+
73
+ ### Required Scopes by Service
74
+
75
+ | Service | Scopes |
76
+ |---------|--------|
77
+ | Gmail | `gmail.readonly`, `gmail.send`, `gmail.modify` |
78
+ | Calendar | `calendar.readonly`, `calendar.events` |
79
+ | Drive | `drive.readonly`, `drive.file` |
80
+ | Docs | `documents.readonly`, `documents` |
81
+ | Sheets | `spreadsheets.readonly`, `spreadsheets` |
82
+
83
+ ---
84
+
85
+ ## Microsoft Services
86
+
87
+ **Outlook, Teams, SharePoint, OneDrive** use Microsoft OAuth (Azure AD).
88
+
89
+ ### Setup Steps
90
+
91
+ 1. Go to [Azure Portal](https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade)
92
+ 2. Click **New registration**:
93
+ - Name: Your app name
94
+ - Supported account types: Accounts in any organizational directory
95
+ - Redirect URI: Web, `http://localhost:3000/api/auth/outlook/callback`
96
+ 3. After creation, go to **Certificates & secrets**:
97
+ - Create a new client secret
98
+ 4. Go to **API permissions**:
99
+ - Add Microsoft Graph permissions
100
+
101
+ ### Environment Variables
102
+
103
+ ```env
104
+ MICROSOFT_CLIENT_ID=your-application-client-id
105
+ MICROSOFT_CLIENT_SECRET=your-client-secret
106
+ MICROSOFT_TENANT_ID=common
107
+ ```
108
+
109
+ ### Required Scopes by Service
110
+
111
+ | Service | Scopes |
112
+ |---------|--------|
113
+ | Outlook | `Mail.Read`, `Mail.Send`, `Calendars.ReadWrite` |
114
+ | Teams | `Team.ReadBasic.All`, `Chat.ReadWrite`, `ChannelMessage.Send` |
115
+ | SharePoint | `Sites.Read.All`, `Files.ReadWrite.All` |
116
+ | OneDrive | `Files.Read`, `Files.ReadWrite` |
117
+
118
+ ---
119
+
120
+ ## Atlassian Services
121
+
122
+ **Jira and Confluence** use Atlassian OAuth 2.0 (3LO).
123
+
124
+ ### Setup Steps
125
+
126
+ 1. Go to [Atlassian Developer Console](https://developer.atlassian.com/console/myapps/)
127
+ 2. Click **Create** > **OAuth 2.0 integration**
128
+ 3. Configure:
129
+ - Name: Your app name
130
+ - Callback URL: `http://localhost:3000/api/auth/jira/callback`
131
+ 4. Add required scopes in **Permissions**
132
+ 5. Get your Cloud ID: Visit `https://your-domain.atlassian.net/_edge/tenant_info`
133
+
134
+ ### Environment Variables
135
+
136
+ ```env
137
+ ATLASSIAN_CLIENT_ID=your-client-id
138
+ ATLASSIAN_CLIENT_SECRET=your-client-secret
139
+ ATLASSIAN_CLOUD_ID=your-cloud-id
140
+ ```
141
+
142
+ ### Required Scopes
143
+
144
+ | Service | Scopes |
145
+ |---------|--------|
146
+ | Jira | `read:jira-work`, `write:jira-work`, `read:jira-user` |
147
+ | Confluence | `read:confluence-content.all`, `write:confluence-content` |
148
+
149
+ ---
150
+
151
+ ## Communication
32
152
 
33
153
  ### Slack
34
154
 
35
155
  1. Go to [Slack API Apps](https://api.slack.com/apps)
36
- 2. Click "Create New App" > "From scratch"
37
- 3. Add OAuth scopes under "OAuth & Permissions":
38
- - `channels:read` - View basic channel info
39
- - `chat:write` - Send messages
40
- - `users:read` - View users
41
- 4. Add redirect URL:
42
- - `http://localhost:3000/api/auth/slack/callback`
43
- 5. Install to your workspace
44
- 6. Copy credentials to `.env`:
45
- ```
46
- SLACK_CLIENT_ID=your-client-id
47
- SLACK_CLIENT_SECRET=your-client-secret
48
- ```
156
+ 2. Click **Create New App** > **From scratch**
157
+ 3. Go to **OAuth & Permissions**:
158
+ - Add redirect URL: `http://localhost:3000/api/auth/slack/callback`
159
+ - Add scopes: `channels:read`, `chat:write`, `users:read`, `im:write`
160
+ 4. **Install to Workspace**
49
161
 
50
- ### GitHub
162
+ ```env
163
+ SLACK_CLIENT_ID=your-client-id
164
+ SLACK_CLIENT_SECRET=your-client-secret
165
+ ```
51
166
 
52
- 1. Go to [GitHub Developer Settings](https://github.com/settings/developers)
53
- 2. Click "New OAuth App"
54
- 3. Fill in the form:
55
- - Homepage URL: `http://localhost:3000`
56
- - Authorization callback URL: `http://localhost:3000/api/auth/github/callback`
57
- 4. Copy credentials to `.env`:
58
- ```
59
- GITHUB_CLIENT_ID=your-client-id
60
- GITHUB_CLIENT_SECRET=your-client-secret
61
- ```
62
-
63
- ### Jira (Atlassian)
167
+ ### Discord
64
168
 
65
- 1. Go to [Atlassian Developer Console](https://developer.atlassian.com/console/myapps/)
66
- 2. Create a new OAuth 2.0 integration
67
- 3. Add required scopes:
68
- - `read:jira-work`
69
- - `write:jira-work`
70
- 4. Set callback URL:
71
- - `http://localhost:3000/api/auth/jira/callback`
72
- 5. Copy credentials to `.env`:
73
- ```
74
- JIRA_CLIENT_ID=your-client-id
75
- JIRA_CLIENT_SECRET=your-client-secret
76
- JIRA_CLOUD_ID=your-atlassian-cloud-id
77
- ```
169
+ 1. Go to [Discord Developer Portal](https://discord.com/developers/applications)
170
+ 2. Create **New Application**
171
+ 3. Go to **OAuth2**:
172
+ - Add redirect: `http://localhost:3000/api/auth/discord/callback`
173
+ - Scopes: `identify`, `guilds`, `messages.read`
174
+
175
+ ```env
176
+ DISCORD_CLIENT_ID=your-client-id
177
+ DISCORD_CLIENT_SECRET=your-client-secret
178
+ ```
179
+
180
+ ### Twilio (SMS/WhatsApp)
181
+
182
+ 1. Go to [Twilio Console](https://console.twilio.com/)
183
+ 2. Get Account SID and Auth Token from dashboard
184
+ 3. Get or buy a phone number for sending
185
+
186
+ ```env
187
+ TWILIO_ACCOUNT_SID=your-account-sid
188
+ TWILIO_AUTH_TOKEN=your-auth-token
189
+ TWILIO_PHONE_NUMBER=+1234567890
190
+ ```
191
+
192
+ ### Zoom
193
+
194
+ 1. Go to [Zoom App Marketplace](https://marketplace.zoom.us/develop/create)
195
+ 2. Create **OAuth App**
196
+ 3. Configure redirect: `http://localhost:3000/api/auth/zoom/callback`
197
+ 4. Add scopes: `meeting:read`, `meeting:write`, `user:read`
198
+
199
+ ```env
200
+ ZOOM_CLIENT_ID=your-client-id
201
+ ZOOM_CLIENT_SECRET=your-client-secret
202
+ ```
203
+
204
+ ### Webex
205
+
206
+ 1. Go to [Webex for Developers](https://developer.webex.com/my-apps)
207
+ 2. Create new integration
208
+ 3. Redirect URI: `http://localhost:3000/api/auth/webex/callback`
209
+ 4. Scopes: `spark:messages_read`, `spark:messages_write`, `spark:rooms_read`
210
+
211
+ ```env
212
+ WEBEX_CLIENT_ID=your-client-id
213
+ WEBEX_CLIENT_SECRET=your-client-secret
214
+ ```
215
+
216
+ ---
217
+
218
+ ## Project Management
219
+
220
+ ### Asana
221
+
222
+ 1. Go to [Asana Developer Console](https://app.asana.com/0/developer-console)
223
+ 2. Create new app
224
+ 3. Set redirect URL: `http://localhost:3000/api/auth/asana/callback`
225
+
226
+ ```env
227
+ ASANA_CLIENT_ID=your-client-id
228
+ ASANA_CLIENT_SECRET=your-client-secret
229
+ ```
230
+
231
+ ### Monday.com
232
+
233
+ 1. Go to [Monday Apps](https://auth.monday.com/oauth2/authorize)
234
+ 2. Create new app in your account's Developer section
235
+ 3. Configure OAuth with redirect: `http://localhost:3000/api/auth/monday/callback`
236
+
237
+ ```env
238
+ MONDAY_CLIENT_ID=your-client-id
239
+ MONDAY_CLIENT_SECRET=your-client-secret
240
+ ```
241
+
242
+ ### Trello
243
+
244
+ 1. Go to [Trello Power-Ups Admin](https://trello.com/power-ups/admin)
245
+ 2. Create new Power-Up
246
+ 3. Configure OAuth redirect: `http://localhost:3000/api/auth/trello/callback`
247
+
248
+ ```env
249
+ TRELLO_API_KEY=your-api-key
250
+ TRELLO_API_SECRET=your-api-secret
251
+ ```
252
+
253
+ ### ClickUp
254
+
255
+ 1. Go to [ClickUp API Settings](https://app.clickup.com/settings/apps)
256
+ 2. Create new app
257
+ 3. Redirect URL: `http://localhost:3000/api/auth/clickup/callback`
258
+
259
+ ```env
260
+ CLICKUP_CLIENT_ID=your-client-id
261
+ CLICKUP_CLIENT_SECRET=your-client-secret
262
+ ```
263
+
264
+ ### Linear
265
+
266
+ 1. Go to [Linear Settings > API](https://linear.app/settings/api)
267
+ 2. Create OAuth application
268
+ 3. Callback URL: `http://localhost:3000/api/auth/linear/callback`
269
+
270
+ ```env
271
+ LINEAR_CLIENT_ID=your-client-id
272
+ LINEAR_CLIENT_SECRET=your-client-secret
273
+ ```
78
274
 
79
275
  ### Notion
80
276
 
81
277
  1. Go to [Notion Integrations](https://www.notion.so/my-integrations)
82
- 2. Click "New integration"
83
- 3. Configure:
84
- - Name: Your app name
85
- - Associated workspace: Select your workspace
86
- - Capabilities: Select required capabilities
87
- 4. Copy the Internal Integration Token to `.env`:
88
- ```
89
- NOTION_API_KEY=your-integration-token
90
- ```
91
- 5. **Important**: Share the pages you want to access with your integration
92
-
93
- ## Testing Connections
94
-
95
- After setting up credentials:
96
-
97
- 1. Start the dev server: `veryfront dev`
98
- 2. Visit each connection URL to authorize:
99
- - Gmail: `http://localhost:3000/api/auth/gmail`
100
- - Slack: `http://localhost:3000/api/auth/slack`
101
- - Calendar: `http://localhost:3000/api/auth/calendar`
102
- - GitHub: `http://localhost:3000/api/auth/github`
103
- 3. Check connection status at `http://localhost:3000/setup`
278
+ 2. Create new **public** integration (for OAuth)
279
+ 3. Set redirect URI: `http://localhost:3000/api/auth/notion/callback`
280
+ 4. **Important**: Share pages with your integration
281
+
282
+ ```env
283
+ NOTION_CLIENT_ID=your-oauth-client-id
284
+ NOTION_CLIENT_SECRET=your-oauth-client-secret
285
+ ```
286
+
287
+ ---
288
+
289
+ ## Developer Tools
290
+
291
+ ### GitHub
292
+
293
+ 1. Go to [GitHub Developer Settings](https://github.com/settings/developers)
294
+ 2. Create **New OAuth App**
295
+ 3. Authorization callback: `http://localhost:3000/api/auth/github/callback`
296
+
297
+ ```env
298
+ GITHUB_CLIENT_ID=your-client-id
299
+ GITHUB_CLIENT_SECRET=your-client-secret
300
+ ```
301
+
302
+ ### GitLab
303
+
304
+ 1. Go to [GitLab Applications](https://gitlab.com/-/profile/applications)
305
+ 2. Create new application
306
+ 3. Redirect URI: `http://localhost:3000/api/auth/gitlab/callback`
307
+ 4. Scopes: `read_user`, `read_api`, `read_repository`
308
+
309
+ ```env
310
+ GITLAB_CLIENT_ID=your-application-id
311
+ GITLAB_CLIENT_SECRET=your-secret
312
+ ```
313
+
314
+ ### Bitbucket
315
+
316
+ 1. Go to [Bitbucket App Passwords](https://bitbucket.org/account/settings/app-passwords/) or create OAuth consumer
317
+ 2. For OAuth: Workspace settings > OAuth consumers
318
+ 3. Callback URL: `http://localhost:3000/api/auth/bitbucket/callback`
319
+
320
+ ```env
321
+ BITBUCKET_CLIENT_ID=your-client-id
322
+ BITBUCKET_CLIENT_SECRET=your-client-secret
323
+ ```
324
+
325
+ ### Figma
326
+
327
+ 1. Go to [Figma Developers](https://www.figma.com/developers/apps)
328
+ 2. Create new app
329
+ 3. Callback URL: `http://localhost:3000/api/auth/figma/callback`
330
+
331
+ ```env
332
+ FIGMA_CLIENT_ID=your-client-id
333
+ FIGMA_CLIENT_SECRET=your-client-secret
334
+ ```
335
+
336
+ ### Sentry
337
+
338
+ 1. Go to [Sentry Developer Settings](https://sentry.io/settings/developer-settings/)
339
+ 2. Create new public integration
340
+ 3. Redirect URL: `http://localhost:3000/api/auth/sentry/callback`
341
+
342
+ ```env
343
+ SENTRY_CLIENT_ID=your-client-id
344
+ SENTRY_CLIENT_SECRET=your-client-secret
345
+ ```
346
+
347
+ ### PostHog
348
+
349
+ Uses API key authentication (no OAuth).
350
+
351
+ 1. Go to your PostHog project settings
352
+ 2. Create a personal API key
353
+
354
+ ```env
355
+ POSTHOG_API_KEY=phx_your-api-key
356
+ POSTHOG_HOST=https://app.posthog.com
357
+ ```
358
+
359
+ ---
360
+
361
+ ## CRM & Sales
362
+
363
+ ### Salesforce
364
+
365
+ 1. Go to [Salesforce Setup](https://login.salesforce.com/) > App Manager
366
+ 2. Create **New Connected App**
367
+ 3. Enable OAuth, add callback: `http://localhost:3000/api/auth/salesforce/callback`
368
+ 4. Required scopes: `api`, `refresh_token`
369
+
370
+ ```env
371
+ SALESFORCE_CLIENT_ID=your-consumer-key
372
+ SALESFORCE_CLIENT_SECRET=your-consumer-secret
373
+ ```
374
+
375
+ ### HubSpot
376
+
377
+ 1. Go to [HubSpot Developers](https://developers.hubspot.com/)
378
+ 2. Create app in your developer account
379
+ 3. Configure OAuth redirect: `http://localhost:3000/api/auth/hubspot/callback`
380
+ 4. Select required scopes
381
+
382
+ ```env
383
+ HUBSPOT_CLIENT_ID=your-client-id
384
+ HUBSPOT_CLIENT_SECRET=your-client-secret
385
+ ```
386
+
387
+ ### Pipedrive
388
+
389
+ 1. Go to [Pipedrive Marketplace Manager](https://developers.pipedrive.com/)
390
+ 2. Create new app
391
+ 3. OAuth redirect: `http://localhost:3000/api/auth/pipedrive/callback`
392
+
393
+ ```env
394
+ PIPEDRIVE_CLIENT_ID=your-client-id
395
+ PIPEDRIVE_CLIENT_SECRET=your-client-secret
396
+ ```
397
+
398
+ ### Intercom
399
+
400
+ 1. Go to [Intercom Developer Hub](https://developers.intercom.com/)
401
+ 2. Create new app
402
+ 3. Configure OAuth: `http://localhost:3000/api/auth/intercom/callback`
403
+
404
+ ```env
405
+ INTERCOM_CLIENT_ID=your-client-id
406
+ INTERCOM_CLIENT_SECRET=your-client-secret
407
+ ```
408
+
409
+ ### Zendesk
410
+
411
+ 1. Go to Admin Center > Apps and integrations > APIs > Zendesk API
412
+ 2. Create OAuth client
413
+ 3. Redirect URL: `http://localhost:3000/api/auth/zendesk/callback`
414
+
415
+ ```env
416
+ ZENDESK_CLIENT_ID=your-client-id
417
+ ZENDESK_CLIENT_SECRET=your-client-secret
418
+ ZENDESK_SUBDOMAIN=your-subdomain
419
+ ```
420
+
421
+ ### Freshdesk
422
+
423
+ Uses API key authentication.
424
+
425
+ 1. Go to Profile Settings in Freshdesk
426
+ 2. Find your API Key
427
+
428
+ ```env
429
+ FRESHDESK_API_KEY=your-api-key
430
+ FRESHDESK_DOMAIN=your-domain.freshdesk.com
431
+ ```
432
+
433
+ ---
434
+
435
+ ## Databases
436
+
437
+ ### Supabase
438
+
439
+ Uses API key (no OAuth needed).
440
+
441
+ 1. Go to your Supabase project dashboard
442
+ 2. Go to Settings > API
443
+ 3. Copy the `anon` or `service_role` key
444
+
445
+ ```env
446
+ SUPABASE_URL=https://your-project.supabase.co
447
+ SUPABASE_ANON_KEY=your-anon-key
448
+ SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
449
+ ```
450
+
451
+ ### Neon
452
+
453
+ Uses API key authentication.
454
+
455
+ 1. Go to [Neon Console](https://console.neon.tech/)
456
+ 2. Create API key in Account Settings
457
+
458
+ ```env
459
+ NEON_API_KEY=your-api-key
460
+ NEON_PROJECT_ID=your-project-id
461
+ ```
462
+
463
+ ### Airtable
464
+
465
+ 1. Go to [Airtable Account](https://airtable.com/account)
466
+ 2. Create personal access token or OAuth app
467
+ 3. For OAuth: [Airtable OAuth](https://airtable.com/create/oauth)
468
+
469
+ ```env
470
+ AIRTABLE_API_KEY=your-api-key
471
+ # Or for OAuth:
472
+ AIRTABLE_CLIENT_ID=your-client-id
473
+ AIRTABLE_CLIENT_SECRET=your-client-secret
474
+ ```
475
+
476
+ ### Snowflake
477
+
478
+ Uses account credentials (key-pair or password).
479
+
480
+ 1. Get your Snowflake account identifier
481
+ 2. Create a user with appropriate permissions
482
+ 3. (Optional) Set up key-pair authentication
483
+
484
+ ```env
485
+ SNOWFLAKE_ACCOUNT=your-account-identifier
486
+ SNOWFLAKE_USERNAME=your-username
487
+ SNOWFLAKE_PASSWORD=your-password
488
+ SNOWFLAKE_WAREHOUSE=your-warehouse
489
+ SNOWFLAKE_DATABASE=your-database
490
+ ```
491
+
492
+ ---
493
+
494
+ ## Cloud & Storage
495
+
496
+ ### AWS
497
+
498
+ Uses IAM credentials.
499
+
500
+ 1. Go to [AWS IAM Console](https://console.aws.amazon.com/iam/)
501
+ 2. Create a new IAM user with programmatic access
502
+ 3. Attach policies for services you need (S3, EC2, Lambda, etc.)
503
+
504
+ ```env
505
+ AWS_ACCESS_KEY_ID=your-access-key
506
+ AWS_SECRET_ACCESS_KEY=your-secret-key
507
+ AWS_REGION=us-east-1
508
+ ```
509
+
510
+ ### Dropbox
511
+
512
+ 1. Go to [Dropbox App Console](https://www.dropbox.com/developers/apps)
513
+ 2. Create app with Full Dropbox or App folder access
514
+ 3. OAuth2 redirect: `http://localhost:3000/api/auth/dropbox/callback`
515
+
516
+ ```env
517
+ DROPBOX_CLIENT_ID=your-app-key
518
+ DROPBOX_CLIENT_SECRET=your-app-secret
519
+ ```
520
+
521
+ ### Box
522
+
523
+ 1. Go to [Box Developer Console](https://app.box.com/developers/console)
524
+ 2. Create new app with OAuth 2.0
525
+ 3. Redirect URI: `http://localhost:3000/api/auth/box/callback`
526
+
527
+ ```env
528
+ BOX_CLIENT_ID=your-client-id
529
+ BOX_CLIENT_SECRET=your-client-secret
530
+ ```
531
+
532
+ ---
533
+
534
+ ## Finance
535
+
536
+ ### Stripe
537
+
538
+ Uses API key (no OAuth for basic usage).
539
+
540
+ 1. Go to [Stripe Dashboard](https://dashboard.stripe.com/apikeys)
541
+ 2. Get your secret key (use test key for development)
542
+
543
+ ```env
544
+ STRIPE_SECRET_KEY=sk_test_your-secret-key
545
+ STRIPE_PUBLISHABLE_KEY=pk_test_your-publishable-key
546
+ ```
547
+
548
+ ### QuickBooks
549
+
550
+ 1. Go to [Intuit Developer](https://developer.intuit.com/)
551
+ 2. Create app and get OAuth credentials
552
+ 3. Redirect URI: `http://localhost:3000/api/auth/quickbooks/callback`
553
+
554
+ ```env
555
+ QUICKBOOKS_CLIENT_ID=your-client-id
556
+ QUICKBOOKS_CLIENT_SECRET=your-client-secret
557
+ ```
558
+
559
+ ### Xero
560
+
561
+ 1. Go to [Xero Developer](https://developer.xero.com/app/manage)
562
+ 2. Create app
563
+ 3. Redirect URI: `http://localhost:3000/api/auth/xero/callback`
564
+
565
+ ```env
566
+ XERO_CLIENT_ID=your-client-id
567
+ XERO_CLIENT_SECRET=your-client-secret
568
+ ```
569
+
570
+ ---
571
+
572
+ ## Marketing
573
+
574
+ ### Mailchimp
575
+
576
+ 1. Go to [Mailchimp Account API Keys](https://us1.admin.mailchimp.com/account/api/)
577
+ 2. For OAuth: Register app at [Mailchimp OAuth](https://admin.mailchimp.com/account/oauth2/)
578
+ 3. Redirect: `http://localhost:3000/api/auth/mailchimp/callback`
579
+
580
+ ```env
581
+ MAILCHIMP_CLIENT_ID=your-client-id
582
+ MAILCHIMP_CLIENT_SECRET=your-client-secret
583
+ # Or API key:
584
+ MAILCHIMP_API_KEY=your-api-key-us1
585
+ ```
586
+
587
+ ### Twitter/X
588
+
589
+ 1. Go to [Twitter Developer Portal](https://developer.twitter.com/en/portal/dashboard)
590
+ 2. Create project and app
591
+ 3. Enable OAuth 2.0
592
+ 4. Callback URL: `http://localhost:3000/api/auth/twitter/callback`
593
+
594
+ ```env
595
+ TWITTER_CLIENT_ID=your-client-id
596
+ TWITTER_CLIENT_SECRET=your-client-secret
597
+ ```
598
+
599
+ ---
600
+
601
+ ## E-commerce
602
+
603
+ ### Shopify
604
+
605
+ 1. Go to [Shopify Partners](https://partners.shopify.com/)
606
+ 2. Create new app
607
+ 3. App URL and redirect: `http://localhost:3000/api/auth/shopify/callback`
608
+
609
+ ```env
610
+ SHOPIFY_CLIENT_ID=your-api-key
611
+ SHOPIFY_CLIENT_SECRET=your-api-secret
612
+ SHOPIFY_SHOP_NAME=your-store.myshopify.com
613
+ ```
614
+
615
+ ---
616
+
617
+ ## AI & Analytics
618
+
619
+ ### Anthropic (Admin API)
620
+
621
+ For organization management and usage tracking.
622
+
623
+ 1. Go to [Anthropic Console](https://console.anthropic.com/)
624
+ 2. Create Admin API key (requires admin access)
625
+
626
+ ```env
627
+ ANTHROPIC_ADMIN_API_KEY=your-admin-api-key
628
+ ```
629
+
630
+ ### Mixpanel
631
+
632
+ Uses API key/secret for data export.
633
+
634
+ 1. Go to [Mixpanel Project Settings](https://mixpanel.com/settings/project)
635
+ 2. Get Project Token for tracking
636
+ 3. Get API Secret for data export
637
+
638
+ ```env
639
+ MIXPANEL_PROJECT_TOKEN=your-project-token
640
+ MIXPANEL_API_SECRET=your-api-secret
641
+ ```
642
+
643
+ ---
644
+
645
+ ## Testing Your Setup
646
+
647
+ After configuring credentials:
648
+
649
+ ```bash
650
+ # Start the dev server
651
+ veryfront dev
652
+
653
+ # Test each integration by visiting:
654
+ # http://localhost:3000/api/auth/{service}
655
+
656
+ # Check connection status
657
+ curl http://localhost:3000/api/connections
658
+ ```
104
659
 
105
660
  ## Troubleshooting
106
661
 
107
- ### "Invalid redirect URI" error
108
- - Make sure the callback URL in your OAuth app matches exactly
109
- - Include the full path: `/api/auth/{service}/callback`
662
+ ### Common Issues
663
+
664
+ | Error | Solution |
665
+ |-------|----------|
666
+ | "Invalid redirect URI" | Ensure callback URL matches exactly (including trailing slash) |
667
+ | "Invalid client" | Check CLIENT_ID is correct and app is published |
668
+ | "Access denied" | Verify all required scopes are added |
669
+ | "Token expired" | Implement refresh token flow or re-authenticate |
670
+
671
+ ### Debug Mode
672
+
673
+ Enable debug logging:
674
+
675
+ ```bash
676
+ DEBUG=veryfront:oauth veryfront dev
677
+ ```
110
678
 
111
- ### "Access denied" error
112
- - Check that all required scopes are added
113
- - For Slack, ensure the app is installed to your workspace
679
+ ### Token Storage
114
680
 
115
- ### Tokens expire
116
- - Tokens are stored in memory by default (reset on server restart)
117
- - For production, implement persistent storage in `lib/token-store.ts`
681
+ By default, tokens are stored in memory. For production:
118
682
 
119
- ## Production Deployment
683
+ 1. Implement `TokenStore` interface in `lib/token-store.ts`
684
+ 2. Use Redis, database, or encrypted file storage
685
+ 3. Handle token refresh automatically
120
686
 
121
- Before deploying:
687
+ ## Production Checklist
122
688
 
123
- 1. Update redirect URIs to your production domain
124
- 2. Implement persistent token storage (database/KV)
125
- 3. Add proper error handling and logging
126
- 4. Consider rate limiting for API calls
689
+ - [ ] Update all redirect URIs to production domain
690
+ - [ ] Implement persistent token storage
691
+ - [ ] Set up token encryption
692
+ - [ ] Configure rate limiting
693
+ - [ ] Add error monitoring (Sentry)
694
+ - [ ] Test OAuth flows end-to-end
695
+ - [ ] Review and minimize required scopes
127
696
 
128
697
  ## Need Help?
129
698
 
130
- - Check the interactive setup guide at `/setup`
131
- - Review the API documentation for each service
132
- - Ensure environment variables are properly set
699
+ - Run `veryfront doctor` to diagnose issues
700
+ - Check the [Veryfront Documentation](https://veryfront.com/docs)
701
+ - Join our [Discord community](https://discord.gg/veryfront)