@squidcloud/cli 1.0.459 → 1.0.461
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.
- package/dist/index.js +43 -5
- package/dist/resources/claude/skills/squid-development/SKILL.md +9 -2
- package/dist/resources/claude/skills/squid-development/reference/ai.md +8 -6
- package/dist/resources/claude/skills/squid-development/reference/backend.md +72 -0
- package/dist/resources/claude/skills/squid-development/reference/connectors.md +28 -0
- package/dist/resources/claude/skills/squid-integrations/SKILL.md +249 -0
- package/dist/resources/claude/skills/squid-integrations/reference/connector-functions.md +541 -0
- package/dist/resources/claude/skills/squid-integrations/reference/connector-sdks.md +616 -0
- package/dist/resources/claude/skills/squid-integrations/reference/integration-catalog.md +154 -0
- package/dist/resources/claude/skills/squid-integrations/reference/integration-setup.md +529 -0
- package/dist/resources/claude/skills/squid-react-development/SKILL.md +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
# Connector AI Functions Reference
|
|
2
|
+
|
|
3
|
+
Each Squid SaaS connector provides built-in AI functions that AI agents can call automatically when connected to the integration. These functions are available out-of-the-box - no custom code needed.
|
|
4
|
+
|
|
5
|
+
## How to Use Connector AI Functions
|
|
6
|
+
|
|
7
|
+
1. **Add the integration** in Squid Console (e.g., add a Slack integration with bot token)
|
|
8
|
+
2. **Connect it to an AI Agent** either in Console AI Studio or via code:
|
|
9
|
+
|
|
10
|
+
```typescript
|
|
11
|
+
// Via agent upsert
|
|
12
|
+
await squid.ai().agent('my-agent').upsert({
|
|
13
|
+
description: 'Support agent',
|
|
14
|
+
options: {
|
|
15
|
+
model: 'gpt-5-mini',
|
|
16
|
+
instructions: 'You are a support agent that can search tickets and send messages.'
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// Via ask/chat options
|
|
21
|
+
const response = await squid.ai().agent('my-agent').ask('Find open tickets about login issues', {
|
|
22
|
+
connectedIntegrations: [
|
|
23
|
+
{
|
|
24
|
+
integrationId: 'zendesk-prod',
|
|
25
|
+
integrationType: 'zendesk',
|
|
26
|
+
description: 'Zendesk support system with customer tickets'
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// Restrict to specific functions
|
|
32
|
+
const response = await squid.ai().agent('my-agent').ask('Search for login issues', {
|
|
33
|
+
connectedIntegrations: [
|
|
34
|
+
{
|
|
35
|
+
integrationId: 'zendesk-prod',
|
|
36
|
+
integrationType: 'zendesk',
|
|
37
|
+
functionsToUse: ['searchInZendeskAiFunction', 'getZendeskTicketDetailsAiFunction']
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
3. The agent automatically discovers and calls the connector's AI functions based on the user's prompt.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Mail Connector
|
|
48
|
+
|
|
49
|
+
Integration type: `mail`. Requires SMTP configuration (host, port, user, encryption).
|
|
50
|
+
|
|
51
|
+
### sendMailWithAi
|
|
52
|
+
Send emails via SMTP.
|
|
53
|
+
- **to** (string, required): Recipient email address
|
|
54
|
+
- **from** (string, optional): Sender email address
|
|
55
|
+
- **subject** (string, required): Email subject line
|
|
56
|
+
- **body** (string, required): Email body content
|
|
57
|
+
- **html** (boolean, required): Whether body is HTML
|
|
58
|
+
|
|
59
|
+
**Example prompt:** "Send an email to john@example.com about the meeting tomorrow"
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Slack Connector
|
|
64
|
+
|
|
65
|
+
Integration type: `slack`. Requires app ID, bot token, signing secret.
|
|
66
|
+
|
|
67
|
+
### searchInSlack
|
|
68
|
+
Semantic search across indexed Slack messages.
|
|
69
|
+
- **prompt** (string, required): Search query
|
|
70
|
+
- **limit** (number, optional): Max results
|
|
71
|
+
|
|
72
|
+
**Example prompt:** "Search Slack for messages about the production outage last week"
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Jira Connector
|
|
77
|
+
|
|
78
|
+
Integration type: `jira`. Requires API key, domain, email. Supports issue indexing for semantic search.
|
|
79
|
+
|
|
80
|
+
### AI Functions
|
|
81
|
+
The Jira connector provides issue management functions with knowledge base integration for semantic search across indexed issues:
|
|
82
|
+
- Search issues by text and filters
|
|
83
|
+
- Get issue details
|
|
84
|
+
- Create new issues
|
|
85
|
+
- Update existing issues
|
|
86
|
+
- Add comments
|
|
87
|
+
- Transition issue status
|
|
88
|
+
|
|
89
|
+
**Example prompt:** "Find all open bugs in the BACKEND project assigned to me"
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Jira Service Management (JSM) Connector
|
|
94
|
+
|
|
95
|
+
Integration type: `jira_jsm`. Extends Jira for service desk workflows.
|
|
96
|
+
|
|
97
|
+
### searchJsmRequests
|
|
98
|
+
Search service desk requests by text.
|
|
99
|
+
- **query** (string, required): Search text
|
|
100
|
+
- **serviceDeskId** (string, optional): Filter by service desk
|
|
101
|
+
|
|
102
|
+
### getJsmRequestDetails
|
|
103
|
+
Get detailed request information.
|
|
104
|
+
- **requestId** (string, required): The request ID/key
|
|
105
|
+
|
|
106
|
+
### searchJsmKnowledgeBase
|
|
107
|
+
Semantic search across JSM knowledge base using embeddings.
|
|
108
|
+
- **prompt** (string, required): Search query
|
|
109
|
+
|
|
110
|
+
### createJsmRequest
|
|
111
|
+
Create new service desk requests.
|
|
112
|
+
- **serviceDeskId** (string, required): Target service desk
|
|
113
|
+
- **requestTypeId** (string, required): Type of request
|
|
114
|
+
- **summary** (string, required): Request summary
|
|
115
|
+
- **description** (string, optional): Request description
|
|
116
|
+
|
|
117
|
+
### updateJsmRequest
|
|
118
|
+
Update existing requests.
|
|
119
|
+
- **requestId** (string, required): The request ID/key
|
|
120
|
+
- **fields** (string, optional): Fields to update (JSON)
|
|
121
|
+
|
|
122
|
+
### addJsmComment
|
|
123
|
+
Add comments to requests.
|
|
124
|
+
- **requestId** (string, required): The request ID/key
|
|
125
|
+
- **comment** (string, required): Comment text
|
|
126
|
+
- **isPublic** (boolean, optional): Whether comment is public
|
|
127
|
+
|
|
128
|
+
### transitionJsmRequest
|
|
129
|
+
Transition request status.
|
|
130
|
+
- **requestId** (string, required): The request ID/key
|
|
131
|
+
- **transitionId** (string, required): Target transition
|
|
132
|
+
|
|
133
|
+
### listJsmServiceDesks
|
|
134
|
+
List available service desks. No parameters.
|
|
135
|
+
|
|
136
|
+
### listJsmRequestTypes
|
|
137
|
+
List request types for a service desk.
|
|
138
|
+
- **serviceDeskId** (string, required): Service desk ID
|
|
139
|
+
|
|
140
|
+
**Example prompt:** "Create a new IT support request for laptop replacement in the IT Help Desk"
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Zendesk Connector
|
|
145
|
+
|
|
146
|
+
Integration type: `zendesk`. Requires subdomain, email, API token.
|
|
147
|
+
|
|
148
|
+
### searchInZendeskAiFunction
|
|
149
|
+
Semantic search across Zendesk tickets and knowledge base.
|
|
150
|
+
- **prompt** (string, required): Search query
|
|
151
|
+
|
|
152
|
+
### listZendeskTicketsAiFunction
|
|
153
|
+
List tickets with sorting and filtering.
|
|
154
|
+
- **sortBy** (string, optional): Sort field
|
|
155
|
+
- **sortOrder** (string, optional): asc or desc
|
|
156
|
+
|
|
157
|
+
### getZendeskTicketDetailsAiFunction
|
|
158
|
+
Get detailed ticket information including comments and metadata.
|
|
159
|
+
- **ticketId** (string, required): Zendesk ticket ID
|
|
160
|
+
|
|
161
|
+
**Example prompt:** "Show me the details of ticket #12345 and find similar tickets about password reset"
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Freshdesk Connector
|
|
166
|
+
|
|
167
|
+
Integration type: `freshdesk`. Requires subdomain, API key. Supports ticket indexing.
|
|
168
|
+
|
|
169
|
+
### searchFreshdeskTickets
|
|
170
|
+
Text-based ticket search.
|
|
171
|
+
- **query** (string, required): Search text
|
|
172
|
+
|
|
173
|
+
### findSimilarFreshdeskTickets
|
|
174
|
+
Semantic similarity search using embeddings.
|
|
175
|
+
- **prompt** (string, required): Description to find similar tickets for
|
|
176
|
+
|
|
177
|
+
### getFreshdeskTicketDetails
|
|
178
|
+
Get ticket details with related tickets.
|
|
179
|
+
- **ticketId** (string, required): Freshdesk ticket ID
|
|
180
|
+
|
|
181
|
+
### searchFreshdeskKnowledgeBase
|
|
182
|
+
Semantic search across Freshdesk knowledge base articles.
|
|
183
|
+
- **prompt** (string, required): Search query
|
|
184
|
+
|
|
185
|
+
### createFreshdeskTicket
|
|
186
|
+
Create new support tickets.
|
|
187
|
+
- **subject** (string, required): Ticket subject
|
|
188
|
+
- **description** (string, required): Ticket description
|
|
189
|
+
- **email** (string, required): Requester email
|
|
190
|
+
- **priority** (number, optional): 1=Low, 2=Medium, 3=High, 4=Urgent
|
|
191
|
+
- **status** (number, optional): 2=Open, 3=Pending, 4=Resolved, 5=Closed
|
|
192
|
+
|
|
193
|
+
### updateFreshdeskTicket
|
|
194
|
+
Update ticket properties.
|
|
195
|
+
- **ticketId** (string, required): Ticket ID
|
|
196
|
+
- **fields** (string, required): JSON of fields to update
|
|
197
|
+
|
|
198
|
+
### replyToFreshdeskTicket
|
|
199
|
+
Add a reply to a ticket (visible to requester).
|
|
200
|
+
- **ticketId** (string, required): Ticket ID
|
|
201
|
+
- **body** (string, required): Reply content
|
|
202
|
+
|
|
203
|
+
### addFreshdeskNote
|
|
204
|
+
Add an internal note to a ticket (not visible to requester).
|
|
205
|
+
- **ticketId** (string, required): Ticket ID
|
|
206
|
+
- **body** (string, required): Note content
|
|
207
|
+
|
|
208
|
+
### listFreshdeskTickets
|
|
209
|
+
List tickets with pagination.
|
|
210
|
+
- **page** (number, optional): Page number
|
|
211
|
+
- **perPage** (number, optional): Results per page
|
|
212
|
+
|
|
213
|
+
**Example prompt:** "Create a high-priority ticket for the billing system being down and find similar past tickets"
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## GitHub Connector
|
|
218
|
+
|
|
219
|
+
Integration type: `github`. Requires app ID, installation ID, private key, webhook secret.
|
|
220
|
+
|
|
221
|
+
### searchPullRequests
|
|
222
|
+
Search PRs with multiple filters.
|
|
223
|
+
- **query** (string, required): Search text
|
|
224
|
+
- **state** (string, optional): open, closed, all
|
|
225
|
+
- **author** (string, optional): PR author
|
|
226
|
+
- **label** (string, optional): PR label
|
|
227
|
+
|
|
228
|
+
### getPRDetails
|
|
229
|
+
Get PR details including files changed and reviews.
|
|
230
|
+
- **prNumber** (number, required): Pull request number
|
|
231
|
+
|
|
232
|
+
### searchCode
|
|
233
|
+
Search code across repository.
|
|
234
|
+
- **query** (string, required): Code search query
|
|
235
|
+
- **path** (string, optional): File path filter
|
|
236
|
+
|
|
237
|
+
### getFileContent
|
|
238
|
+
Get specific file contents.
|
|
239
|
+
- **path** (string, required): File path
|
|
240
|
+
- **ref** (string, optional): Branch or commit ref
|
|
241
|
+
|
|
242
|
+
### createPullRequest
|
|
243
|
+
Create a new pull request.
|
|
244
|
+
- **title** (string, required): PR title
|
|
245
|
+
- **body** (string, required): PR description
|
|
246
|
+
- **head** (string, required): Source branch
|
|
247
|
+
- **base** (string, required): Target branch
|
|
248
|
+
|
|
249
|
+
### addPRComment
|
|
250
|
+
Add a comment to a PR.
|
|
251
|
+
- **prNumber** (number, required): PR number
|
|
252
|
+
- **body** (string, required): Comment text
|
|
253
|
+
|
|
254
|
+
### submitPRReview
|
|
255
|
+
Submit a PR review.
|
|
256
|
+
- **prNumber** (number, required): PR number
|
|
257
|
+
- **body** (string, required): Review body
|
|
258
|
+
- **event** (string, required): APPROVE, REQUEST_CHANGES, or COMMENT
|
|
259
|
+
|
|
260
|
+
### closePullRequest
|
|
261
|
+
Close a pull request.
|
|
262
|
+
- **prNumber** (number, required): PR number
|
|
263
|
+
|
|
264
|
+
### mergePullRequest
|
|
265
|
+
Merge a pull request.
|
|
266
|
+
- **prNumber** (number, required): PR number
|
|
267
|
+
- **mergeMethod** (string, optional): merge, squash, or rebase
|
|
268
|
+
|
|
269
|
+
### listOpenPRs
|
|
270
|
+
List open pull requests. No required parameters.
|
|
271
|
+
|
|
272
|
+
**Example prompt:** "Show me all open PRs by john-doe and review PR #42"
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Salesforce Connector
|
|
277
|
+
|
|
278
|
+
Integration type: `salesforce`. Requires instance domain, OAuth consumer key/secret.
|
|
279
|
+
|
|
280
|
+
### Opportunity Management
|
|
281
|
+
- **getOpportunity** (opportunityId) - Get opportunity details
|
|
282
|
+
- **createOpportunity** (name, stageName, closeDate, amount, ...) - Create opportunity
|
|
283
|
+
- **updateOpportunity** (opportunityId, fields) - Update opportunity
|
|
284
|
+
- **deleteOpportunity** (opportunityId) - Delete opportunity
|
|
285
|
+
- **describeOpportunity** - Get opportunity field metadata
|
|
286
|
+
|
|
287
|
+
### Case Management
|
|
288
|
+
- **getCase** (caseId) - Get case details
|
|
289
|
+
- **createCase** (subject, description, priority, ...) - Create case
|
|
290
|
+
- **updateCase** (caseId, fields) - Update case
|
|
291
|
+
- **deleteCase** (caseId) - Delete case
|
|
292
|
+
- **describeCase** - Get case field metadata
|
|
293
|
+
|
|
294
|
+
### Account Management
|
|
295
|
+
- **getAccount** (accountId) - Get account details
|
|
296
|
+
- **createAccount** (name, industry, ...) - Create account
|
|
297
|
+
- **updateAccount** (accountId, fields) - Update account
|
|
298
|
+
- **deleteAccount** (accountId) - Delete account
|
|
299
|
+
- **describeAccount** - Get account field metadata
|
|
300
|
+
|
|
301
|
+
### Incident Management
|
|
302
|
+
- **getIncident** (incidentId) - Get incident details
|
|
303
|
+
- **createIncident** (subject, description, ...) - Create incident
|
|
304
|
+
- **updateIncident** (incidentId, fields) - Update incident
|
|
305
|
+
- **deleteIncident** (incidentId) - Delete incident
|
|
306
|
+
- **describeIncident** - Get incident field metadata
|
|
307
|
+
|
|
308
|
+
### searchSalesforceKnowledgeBase
|
|
309
|
+
Semantic search across Salesforce knowledge articles.
|
|
310
|
+
- **prompt** (string, required): Search query
|
|
311
|
+
|
|
312
|
+
**Example prompt:** "Create a new opportunity for Acme Corp worth $50k closing next month"
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## HubSpot Connector
|
|
317
|
+
|
|
318
|
+
Integration type: `hubspot`. Requires access token.
|
|
319
|
+
|
|
320
|
+
### getHubSpotContactDetailsAiFunction
|
|
321
|
+
Get contact information by ID.
|
|
322
|
+
- **contactId** (string, required): HubSpot contact ID
|
|
323
|
+
|
|
324
|
+
### getHubSpotCompanyDetailsAiFunction
|
|
325
|
+
Get company information by ID.
|
|
326
|
+
- **companyId** (string, required): HubSpot company ID
|
|
327
|
+
|
|
328
|
+
### searchHubSpotContactsAiFunction
|
|
329
|
+
Search contacts by query.
|
|
330
|
+
- **query** (string, required): Search query
|
|
331
|
+
|
|
332
|
+
### searchHubSpotCompaniesAiFunction
|
|
333
|
+
Search companies by query.
|
|
334
|
+
- **query** (string, required): Search query
|
|
335
|
+
|
|
336
|
+
**Example prompt:** "Find all contacts at Acme Corp and show me their details"
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Confluence Connector
|
|
341
|
+
|
|
342
|
+
Integration type: `confluence`. Requires API key, domain, space filters.
|
|
343
|
+
|
|
344
|
+
### searchInConfluence
|
|
345
|
+
Semantic search across indexed Confluence pages.
|
|
346
|
+
- **prompt** (string, required): Search query
|
|
347
|
+
|
|
348
|
+
**Example prompt:** "Find documentation about the deployment process"
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Google Calendar Connector
|
|
353
|
+
|
|
354
|
+
Integration type: `google_calendar`. Requires OAuth configuration.
|
|
355
|
+
|
|
356
|
+
### listCalendarEvents
|
|
357
|
+
List calendar events in a date range.
|
|
358
|
+
- **startDate** (string, required): Start date
|
|
359
|
+
- **endDate** (string, required): End date
|
|
360
|
+
- **maxResults** (number, optional): Maximum events to return
|
|
361
|
+
- **calendarId** (string, optional): Specific calendar ID
|
|
362
|
+
|
|
363
|
+
**Example prompt:** "Show me my meetings for next week"
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Google Drive Connector
|
|
368
|
+
|
|
369
|
+
Integration type: `google_drive`. Requires OAuth configuration.
|
|
370
|
+
|
|
371
|
+
### listIndexedDocuments
|
|
372
|
+
List indexed documents with type filtering.
|
|
373
|
+
- **type** (string, optional): Filter by document type
|
|
374
|
+
|
|
375
|
+
### searchInGoogleDrive
|
|
376
|
+
Semantic search across indexed Google Drive documents.
|
|
377
|
+
- **prompt** (string, required): Search query
|
|
378
|
+
|
|
379
|
+
**Example prompt:** "Find the Q4 financial report in Google Drive"
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Linear Connector
|
|
384
|
+
|
|
385
|
+
Integration type: `linear`. Requires API key. Supports issue indexing.
|
|
386
|
+
|
|
387
|
+
### searchLinearIssues
|
|
388
|
+
Search issues with team and status filtering.
|
|
389
|
+
- **query** (string, required): Search text
|
|
390
|
+
- **teamId** (string, optional): Filter by team
|
|
391
|
+
- **status** (string, optional): Filter by status
|
|
392
|
+
|
|
393
|
+
### findSimilarIssues
|
|
394
|
+
Semantic similarity search for issues.
|
|
395
|
+
- **prompt** (string, required): Description to find similar issues for
|
|
396
|
+
|
|
397
|
+
### getLinearIssueDetails
|
|
398
|
+
Get detailed issue information.
|
|
399
|
+
- **issueId** (string, required): Linear issue ID
|
|
400
|
+
|
|
401
|
+
### searchLinearKnowledgeBase
|
|
402
|
+
Semantic search with embeddings across indexed issues.
|
|
403
|
+
- **prompt** (string, required): Search query
|
|
404
|
+
|
|
405
|
+
### createLinearIssue
|
|
406
|
+
Create new issues.
|
|
407
|
+
- **title** (string, required): Issue title
|
|
408
|
+
- **description** (string, optional): Issue description
|
|
409
|
+
- **teamId** (string, required): Team ID
|
|
410
|
+
- **priority** (number, optional): Priority level
|
|
411
|
+
- **assigneeId** (string, optional): Assignee ID
|
|
412
|
+
|
|
413
|
+
### updateLinearIssue
|
|
414
|
+
Update issue properties.
|
|
415
|
+
- **issueId** (string, required): Issue ID
|
|
416
|
+
- **fields** (string, required): JSON of fields to update
|
|
417
|
+
|
|
418
|
+
### addLinearComment
|
|
419
|
+
Add comments to issues.
|
|
420
|
+
- **issueId** (string, required): Issue ID
|
|
421
|
+
- **body** (string, required): Comment text
|
|
422
|
+
|
|
423
|
+
### listLinearTeams
|
|
424
|
+
List available teams. No parameters.
|
|
425
|
+
|
|
426
|
+
**Example prompt:** "Create a high-priority bug in the Frontend team: login button not working on mobile"
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## ServiceNow CSM Connector
|
|
431
|
+
|
|
432
|
+
Integration type: `servicenow_csm`. Requires instance domain, API token.
|
|
433
|
+
|
|
434
|
+
### searchInServiceNowKnowledgeBaseAiFunction
|
|
435
|
+
Semantic search across ServiceNow knowledge base.
|
|
436
|
+
- **prompt** (string, required): Search query
|
|
437
|
+
|
|
438
|
+
### searchServiceNowCasesAiFunction
|
|
439
|
+
Text-based case search.
|
|
440
|
+
- **query** (string, required): Search query
|
|
441
|
+
|
|
442
|
+
### getServiceNowCaseDetailsAiFunction
|
|
443
|
+
Get detailed case information.
|
|
444
|
+
- **caseId** (string, required): Case ID
|
|
445
|
+
|
|
446
|
+
### createServiceNowCaseAiFunction
|
|
447
|
+
Create new cases.
|
|
448
|
+
- **short_description** (string, required): Case summary
|
|
449
|
+
- **description** (string, optional): Detailed description
|
|
450
|
+
|
|
451
|
+
### replyToServiceNowCaseAiFunction
|
|
452
|
+
Reply to existing cases.
|
|
453
|
+
- **caseId** (string, required): Case ID
|
|
454
|
+
- **body** (string, required): Reply content
|
|
455
|
+
|
|
456
|
+
**Example prompt:** "Create a new case for network connectivity issues in the office"
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## Microsoft Teams Connector
|
|
461
|
+
|
|
462
|
+
Integration type: `teams`. Requires Microsoft tenant, client secret.
|
|
463
|
+
|
|
464
|
+
### searchInTeams
|
|
465
|
+
Semantic search across indexed Teams messages.
|
|
466
|
+
- **prompt** (string, required): Search query
|
|
467
|
+
- **teamNames** (string, optional): Filter by team names
|
|
468
|
+
- **channelNames** (string, optional): Filter by channel names
|
|
469
|
+
|
|
470
|
+
**Example prompt:** "Search Teams for discussions about the product launch"
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## SharePoint Connector
|
|
475
|
+
|
|
476
|
+
Integration type: `sharepoint`. Requires Microsoft tenant, client secret.
|
|
477
|
+
|
|
478
|
+
### listIndexedDocuments
|
|
479
|
+
List indexed SharePoint documents.
|
|
480
|
+
- **type** (string, optional): Filter by document type
|
|
481
|
+
|
|
482
|
+
### searchInSharePoint
|
|
483
|
+
Semantic search across indexed SharePoint documents.
|
|
484
|
+
- **prompt** (string, required): Search query
|
|
485
|
+
|
|
486
|
+
**Example prompt:** "Find the employee handbook in SharePoint"
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
490
|
+
## OneDrive Integration
|
|
491
|
+
|
|
492
|
+
Integration type: `onedrive`. Requires Microsoft OAuth configuration.
|
|
493
|
+
|
|
494
|
+
Access OneDrive files through the SharePoint connector or via storage APIs.
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
## Google Docs Integration
|
|
499
|
+
|
|
500
|
+
Integration type: `google_docs`. Requires OAuth configuration.
|
|
501
|
+
|
|
502
|
+
Access Google Docs content through the Google Drive connector's indexing and search capabilities.
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## Common Patterns
|
|
507
|
+
|
|
508
|
+
### Multi-Connector Agent
|
|
509
|
+
```typescript
|
|
510
|
+
const response = await squid.ai().agent('ops-agent').ask('Summarize open issues and recent messages', {
|
|
511
|
+
connectedIntegrations: [
|
|
512
|
+
{ integrationId: 'jira-prod', integrationType: 'jira', description: 'Issue tracker' },
|
|
513
|
+
{ integrationId: 'slack-eng', integrationType: 'slack', description: 'Engineering Slack' },
|
|
514
|
+
{ integrationId: 'confluence-docs', integrationType: 'confluence', description: 'Documentation' }
|
|
515
|
+
]
|
|
516
|
+
});
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### Agent with Knowledge Base + Connector
|
|
520
|
+
```typescript
|
|
521
|
+
const response = await squid.ai().agent('support-agent').ask(customerQuestion, {
|
|
522
|
+
connectedIntegrations: [
|
|
523
|
+
{ integrationId: 'zendesk-prod', integrationType: 'zendesk' }
|
|
524
|
+
],
|
|
525
|
+
connectedKnowledgeBases: [
|
|
526
|
+
{ knowledgeBaseId: 'product-docs', description: 'Product documentation and FAQs' }
|
|
527
|
+
]
|
|
528
|
+
});
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
### Restricting Functions
|
|
532
|
+
```typescript
|
|
533
|
+
// Only allow search, not create/update/delete
|
|
534
|
+
const response = await squid.ai().agent('readonly-agent').ask('Find related tickets', {
|
|
535
|
+
connectedIntegrations: [{
|
|
536
|
+
integrationId: 'jira-prod',
|
|
537
|
+
integrationType: 'jira',
|
|
538
|
+
functionsToUse: ['searchJiraIssues', 'getJiraIssueDetails']
|
|
539
|
+
}]
|
|
540
|
+
});
|
|
541
|
+
```
|