Skip to content

Commit a8dcdd5

Browse files
authored
v0.6.96: pinned table columns, sequence number in copilot messages, tables UI improvements, new slack scopes, model-level denylists, object storage tracespans
2 parents 503432c + c51c41f commit a8dcdd5

186 files changed

Lines changed: 42773 additions & 3428 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/docs/components/icons.tsx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
import type { SVGProps } from 'react'
22
import { useId } from 'react'
33

4+
export function EnrichmentIcon(props: SVGProps<SVGSVGElement>) {
5+
return (
6+
<svg
7+
{...props}
8+
viewBox='0 0 24 24'
9+
fill='currentColor'
10+
role='img'
11+
xmlns='http://www.w3.org/2000/svg'
12+
>
13+
<path d='M12 2.5l1.9 4.6 4.6 1.9-4.6 1.9L12 15.5l-1.9-4.6L5.5 9l4.6-1.9L12 2.5z' />
14+
<path d='M18.5 14l.95 2.3 2.3.95-2.3.95L18.5 20.5l-.95-2.3-2.3-.95 2.3-.95.95-2.3z' />
15+
<path d='M5.5 14.5l.7 1.7 1.7.7-1.7.7-.7 1.7-.7-1.7-1.7-.7 1.7-.7.7-1.7z' />
16+
</svg>
17+
)
18+
}
19+
420
export function AgentMailIcon(props: SVGProps<SVGSVGElement>) {
521
return (
622
<svg {...props} viewBox='0 0 350 363' fill='none' xmlns='http://www.w3.org/2000/svg'>
@@ -4731,7 +4747,7 @@ export function ZoomInfoIcon(props: SVGProps<SVGSVGElement>) {
47314747
return (
47324748
<svg
47334749
{...props}
4734-
viewBox='0 0 65 65'
4750+
viewBox='0.272461 0.272461 64 64'
47354751
fill='none'
47364752
xmlns='http://www.w3.org/2000/svg'
47374753
aria-hidden='true'

apps/docs/components/ui/icon-mapping.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import {
2020
AshbyIcon,
2121
AthenaIcon,
2222
AttioIcon,
23-
AzureDevOpsIcon,
2423
AzureIcon,
2524
BoxCompanyIcon,
2625
BrainIcon,
@@ -53,6 +52,7 @@ import {
5352
ElasticsearchIcon,
5453
ElevenLabsIcon,
5554
EmailBisonIcon,
55+
EnrichmentIcon,
5656
EnrichSoIcon,
5757
EvernoteIcon,
5858
ExaAIIcon,
@@ -232,7 +232,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
232232
ashby: AshbyIcon,
233233
athena: AthenaIcon,
234234
attio: AttioIcon,
235-
azure_devops: AzureDevOpsIcon,
235+
azure_devops: AzureIcon,
236236
box: BoxCompanyIcon,
237237
brandfetch: BrandfetchIcon,
238238
brightdata: BrightDataIcon,
@@ -265,6 +265,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
265265
elevenlabs: ElevenLabsIcon,
266266
emailbison: EmailBisonIcon,
267267
enrich: EnrichSoIcon,
268+
enrichment: EnrichmentIcon,
268269
evernote: EvernoteIcon,
269270
exa: ExaAIIcon,
270271
extend: ExtendIcon,

apps/docs/content/docs/de/copilot/index.mdx

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -246,98 +246,3 @@ Die Copilot-Nutzung wird pro Token des zugrunde liegenden LLM abgerechnet. Wenn
246246
<Callout type="info">
247247
Siehe die [Seite zur Kostenberechnung](/execution/costs) für Abrechnungsdetails.
248248
</Callout>
249-
## Copilot MCP
250-
251-
Sie können Copilot als MCP-Server in Ihrem bevorzugten Editor oder AI-Client verwenden. Damit können Sie Sim-Workflows direkt aus Tools wie Cursor, Claude Code, Claude Desktop und VS Code erstellen, testen, bereitstellen und verwalten.
252-
253-
### Generieren eines Copilot-API-Schlüssels
254-
255-
Um sich mit dem Copilot-MCP-Server zu verbinden, benötigen Sie einen **Copilot-API-Schlüssel**:
256-
257-
1. Gehen Sie zu [sim.ai](https://sim.ai) und melden Sie sich an
258-
2. Navigieren Sie zu **Einstellungen****Copilot**
259-
3. Klicken Sie auf **API-Schlüssel generieren**
260-
4. Kopieren Sie den Schlüssel – er wird nur einmal angezeigt
261-
262-
Der Schlüssel sieht aus wie `sk-sim-copilot-...`. Sie werden ihn in der folgenden Konfiguration verwenden.
263-
264-
### Cursor
265-
266-
Fügen Sie Folgendes zu Ihrer `.cursor/mcp.json` (Projektebene) oder den globalen Cursor-MCP-Einstellungen hinzu:
267-
268-
```json
269-
{
270-
"mcpServers": {
271-
"sim-copilot": {
272-
"url": "https://www.sim.ai/api/mcp/copilot",
273-
"headers": {
274-
"X-API-Key": "YOUR_COPILOT_API_KEY"
275-
}
276-
}
277-
}
278-
}
279-
```
280-
281-
Ersetzen Sie `YOUR_COPILOT_API_KEY` durch den oben generierten Schlüssel.
282-
283-
### Claude Code
284-
285-
Führen Sie den folgenden Befehl aus, um den Copilot MCP-Server hinzuzufügen:
286-
287-
```bash
288-
claude mcp add sim-copilot \
289-
--transport http \
290-
https://www.sim.ai/api/mcp/copilot \
291-
--header "X-API-Key: YOUR_COPILOT_API_KEY"
292-
```
293-
294-
Ersetzen Sie `YOUR_COPILOT_API_KEY` durch Ihren Schlüssel.
295-
296-
### Claude Desktop
297-
298-
Claude Desktop benötigt [`mcp-remote`](https://www.npmjs.com/package/mcp-remote), um sich mit HTTP-basierten MCP-Servern zu verbinden. Fügen Sie Folgendes zu Ihrer Claude Desktop-Konfigurationsdatei hinzu (`~/Library/Application Support/Claude/claude_desktop_config.json` unter macOS):
299-
300-
```json
301-
{
302-
"mcpServers": {
303-
"sim-copilot": {
304-
"command": "npx",
305-
"args": [
306-
"-y",
307-
"mcp-remote",
308-
"https://www.sim.ai/api/mcp/copilot",
309-
"--header",
310-
"X-API-Key: YOUR_COPILOT_API_KEY"
311-
]
312-
}
313-
}
314-
}
315-
```
316-
317-
Ersetzen Sie `YOUR_COPILOT_API_KEY` durch Ihren Schlüssel.
318-
319-
### VS Code
320-
321-
Fügen Sie Folgendes zu Ihrer VS Code `settings.json` oder Workspace `.vscode/settings.json` hinzu:
322-
323-
```json
324-
{
325-
"mcp": {
326-
"servers": {
327-
"sim-copilot": {
328-
"type": "http",
329-
"url": "https://www.sim.ai/api/mcp/copilot",
330-
"headers": {
331-
"X-API-Key": "YOUR_COPILOT_API_KEY"
332-
}
333-
}
334-
}
335-
}
336-
}
337-
```
338-
339-
Ersetzen Sie `YOUR_COPILOT_API_KEY` durch Ihren Schlüssel.
340-
341-
<Callout type="info">
342-
Für selbst gehostete Deployments ersetzen Sie `https://www.sim.ai` durch Ihre selbst gehostete Sim-URL.
343-
</Callout>

apps/docs/content/docs/en/copilot/index.mdx

Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -50,90 +50,6 @@ For complex requests, Copilot may show its reasoning in an expandable thinking b
5050

5151
Copilot usage is billed per token and counts toward your plan's credit usage. If you reach your limit, enable on-demand billing from Settings → Subscription.
5252

53-
## Copilot MCP
54-
55-
You can use Copilot as an MCP server to build, test, and manage Sim workflows from external editors — Cursor, Claude Code, Claude Desktop, and VS Code.
56-
57-
### Generating a Copilot API Key
58-
59-
1. Go to [sim.ai](https://sim.ai) and sign in
60-
2. Navigate to **Settings****Copilot**
61-
3. Click **Generate API Key**
62-
4. Copy the key — it is only shown once
63-
64-
The key will look like `sk-sim-copilot-...`.
65-
66-
### Cursor
67-
68-
Add to `.cursor/mcp.json`:
69-
70-
```json
71-
{
72-
"mcpServers": {
73-
"sim-copilot": {
74-
"url": "https://www.sim.ai/api/mcp/copilot",
75-
"headers": {
76-
"X-API-Key": "YOUR_COPILOT_API_KEY"
77-
}
78-
}
79-
}
80-
}
81-
```
82-
83-
### Claude Code
84-
85-
```bash
86-
claude mcp add sim-copilot \
87-
--transport http \
88-
https://www.sim.ai/api/mcp/copilot \
89-
--header "X-API-Key: YOUR_COPILOT_API_KEY"
90-
```
91-
92-
### Claude Desktop
93-
94-
Claude Desktop requires [`mcp-remote`](https://www.npmjs.com/package/mcp-remote). Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
95-
96-
```json
97-
{
98-
"mcpServers": {
99-
"sim-copilot": {
100-
"command": "npx",
101-
"args": [
102-
"-y",
103-
"mcp-remote",
104-
"https://www.sim.ai/api/mcp/copilot",
105-
"--header",
106-
"X-API-Key: YOUR_COPILOT_API_KEY"
107-
]
108-
}
109-
}
110-
}
111-
```
112-
113-
### VS Code
114-
115-
Add to `settings.json` or `.vscode/settings.json`:
116-
117-
```json
118-
{
119-
"mcp": {
120-
"servers": {
121-
"sim-copilot": {
122-
"type": "http",
123-
"url": "https://www.sim.ai/api/mcp/copilot",
124-
"headers": {
125-
"X-API-Key": "YOUR_COPILOT_API_KEY"
126-
}
127-
}
128-
}
129-
}
130-
}
131-
```
132-
133-
<Callout type="info">
134-
For self-hosted deployments, replace `https://www.sim.ai` with your self-hosted Sim URL.
135-
</Callout>
136-
13753
<FAQ items={[
13854
{ question: "How is Copilot different from Mothership?", answer: "Copilot is scoped to the workflow you have open — it reads and edits that workflow's blocks and connections. Mothership has access to your entire workspace and can build workflows, manage tables, run research, schedule jobs, and take actions across integrations." },
13955
{ question: "Can Copilot access other workflows or workspace data?", answer: "Copilot is scoped to the current workflow. For tasks that span multiple workflows or require workspace-level context, use Mothership." },

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ Update an existing contact in your Apollo database
252252
| `mobile_phone` | string | No | Mobile phone number |
253253
| `home_phone` | string | No | Home phone number |
254254
| `other_phone` | string | No | Alternative phone number |
255-
| `typed_custom_fields` | json | No | Custom field values keyed by custom field ID \(accepted by Apollo but not officially documented for PATCH /contacts/\{id\}\) |
255+
| `typed_custom_fields` | json | No | Custom field values keyed by custom field ID |
256256

257257
#### Output
258258

@@ -440,16 +440,17 @@ Update up to 1000 existing accounts at once in your Apollo database (higher limi
440440
| `account_ids` | array | No | Array of account IDs to update with the same values \(max 1000\). Use with name/owner_id for uniform updates. Use either this OR account_attributes. |
441441
| `name` | string | No | When using account_ids, apply this name to all accounts |
442442
| `owner_id` | string | No | When using account_ids, apply this owner to all accounts |
443+
| `account_stage_id` | string | No | When using account_ids, apply this account stage to all accounts |
443444
| `account_attributes` | json | No | Array of account objects with individual updates \(each must include id\). Example: \[\{"id": "acc1", "name": "Acme", "owner_id": "u1", "account_stage_id": "s1", "typed_custom_fields": \{"field_id": "value"\}\}\] |
444445
| `async` | boolean | No | When true, processes the update asynchronously. Only supported when using account_ids; returns 422 if used with account_attributes. |
445446

446447
#### Output
447448

448449
| Parameter | Type | Description |
449450
| --------- | ---- | ----------- |
450-
| `accounts` | json | Updated accounts \(synchronous response, ≤100 accounts\): \[\{id, account_stage_id, ...\}\] |
451+
| `accounts` | json | Updated accounts \(synchronous response\): \[\{id, account_stage_id, ...\}\] |
451452
| `account_ids` | json | IDs of accounts that were updated |
452-
| `entity_progress_job` | json | Async job descriptor \(&gt;100 accounts or async=true\) |
453+
| `entity_progress_job` | json | Async job descriptor \(when async=true is passed with account_ids\) |
453454
| `job_id` | string | Async job ID extracted from entity_progress_job |
454455
| `message` | string | Optional confirmation message from Apollo |
455456

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

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Enrichment
2+
title: Data Enrichment
33
description: Enrich data with a Sim enrichment
44
---
55

@@ -31,18 +31,9 @@ Run a Sim enrichment (e.g. Work Email, Phone Number) and return its outputs
3131

3232
#### Output
3333

34-
The exact fields depend on which enrichment ran. `matched` and `provider` are always present.
35-
3634
| Parameter | Type | Description |
3735
| --------- | ---- | ----------- |
3836
| `matched` | boolean | Whether the enrichment found a result |
39-
| `provider` | string | Provider whose result was returned (e.g. "Hunter", "People Data Labs"); `null` on no match |
40-
| `email` | string | Work email address (Work Email enrichment) |
41-
| `phone` | string | Phone number (Phone Number enrichment) |
42-
| `domain` | string | Website domain (Company Domain enrichment) |
43-
| `industry` | string | Industry (Company Info enrichment) |
44-
| `employeeCount` | number | Employee count (Company Info enrichment) |
45-
| `foundedYear` | number | Founded year (Company Info enrichment) |
46-
| `description` | string | Company description (Company Info enrichment) |
37+
| `provider` | string | Provider whose result was returned \(e.g. "Hunter", "People Data Labs"\) |
4738

4839

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

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,19 @@ Retrieve details of a previously sent email by its ID
8080
| --------- | ---- | ----------- |
8181
| `id` | string | Email ID |
8282
| `from` | string | Sender email address |
83-
| `to` | json | Recipient email addresses |
83+
| `to` | array | Recipient email addresses |
8484
| `subject` | string | Email subject |
8585
| `html` | string | HTML email content |
8686
| `text` | string | Plain text email content |
87-
| `cc` | json | CC email addresses |
88-
| `bcc` | json | BCC email addresses |
89-
| `replyTo` | json | Reply-to email addresses |
87+
| `cc` | array | CC email addresses |
88+
| `bcc` | array | BCC email addresses |
89+
| `replyTo` | array | Reply-to email addresses |
9090
| `lastEvent` | string | Last event status \(e.g., delivered, bounced\) |
9191
| `createdAt` | string | Email creation timestamp |
9292
| `scheduledAt` | string | Scheduled send timestamp |
93-
| `tags` | json | Email tags as name-value pairs |
93+
| `tags` | array | Email tags as name-value pairs |
94+
|`name` | string | Tag name |
95+
|`value` | string | Tag value |
9496

9597
### `resend_create_contact`
9698

@@ -126,7 +128,13 @@ List all contacts in Resend
126128

127129
| Parameter | Type | Description |
128130
| --------- | ---- | ----------- |
129-
| `contacts` | json | Array of contacts with id, email, first_name, last_name, created_at, unsubscribed |
131+
| `contacts` | array | Array of contacts |
132+
|`id` | string | Contact ID |
133+
|`email` | string | Contact email address |
134+
|`first_name` | string | Contact first name |
135+
|`last_name` | string | Contact last name |
136+
|`created_at` | string | Contact creation timestamp |
137+
|`unsubscribed` | boolean | Whether the contact is unsubscribed |
130138
| `hasMore` | boolean | Whether there are more contacts to retrieve |
131139

132140
### `resend_get_contact`
@@ -203,7 +211,12 @@ List all verified domains in your Resend account
203211

204212
| Parameter | Type | Description |
205213
| --------- | ---- | ----------- |
206-
| `domains` | json | Array of domains with id, name, status, region, and createdAt |
214+
| `domains` | array | Array of domains |
215+
|`id` | string | Domain ID |
216+
|`name` | string | Domain name |
217+
|`status` | string | Domain verification status |
218+
|`region` | string | Region the domain is configured in |
219+
|`createdAt` | string | Domain creation timestamp |
207220
| `hasMore` | boolean | Whether there are more domains to retrieve |
208221

209222

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ Enrich a company by name, domain, LinkedIn ID, or LinkedIn slug with detailed fi
149149
| `company_region` | string | State/region |
150150
| `company_postal_code` | string | Postal code |
151151
| `company_country` | string | Country |
152-
| `credits` | json | Credits deducted for this enrichment \(api_credits: \{ total, email_credits, phone_credits, scrape_credits \}\) |
152+
| `credits` | json | Credits deducted for this enrichment \(api_credits: \{ total, company_credits \}\) |
153153

154154
### `wiza_start_individual_reveal`
155155

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Enrich up to 25 companies in one request with detailed firmographics, industry,
119119
| `clientId` | string | Yes | ZoomInfo OAuth client ID |
120120
| `clientSecret` | string | Yes | ZoomInfo OAuth client secret |
121121
| `matchCompanyInput` | string | Yes | JSON array \(1-25 items\) of company matching criteria, e.g. \[\{"companyName":"Acme","companyWebsite":"acme.com"\}\] |
122-
| `outputFields` | string | No | JSON array or comma-separated list of fields to return \(e.g. \["id","name","website","revenue","employeeCount"\]\) |
122+
| `outputFields` | string | No | JSON array or comma-separated list of fields to return \(e.g. \["id","name","website","revenue","employeeCount"\]\). Defaults to a standard firmographic set if omitted. |
123123

124124
#### Output
125125

@@ -138,7 +138,7 @@ Enrich up to 25 contacts in one request with verified emails, phone numbers, job
138138
| `clientId` | string | Yes | ZoomInfo OAuth client ID |
139139
| `clientSecret` | string | Yes | ZoomInfo OAuth client secret |
140140
| `matchPersonInput` | string | Yes | JSON array \(1-25 items\) of contact matching criteria, e.g. \[\{"firstName":"Jane","lastName":"Doe","companyName":"Acme"\}\] |
141-
| `outputFields` | string | No | JSON array or comma-separated list of fields to return \(e.g. \["id","firstName","email","phone","jobTitle"\]\) |
141+
| `outputFields` | string | No | JSON array or comma-separated list of fields to return \(e.g. \["id","firstName","email","phone","jobTitle"\]\). Defaults to a standard contact set if omitted. |
142142
| `requiredFields` | string | No | JSON array or comma-separated list of fields that must exist in results \(e.g. \["email"\]\) |
143143

144144
#### Output

0 commit comments

Comments
 (0)