Skip to content

Commit 79d98b3

Browse files
authored
v0.7.5: deployments API and block, vanta integration, performance improvements, styling consolidation
2 parents a48b4a1 + 26224b8 commit 79d98b3

234 files changed

Lines changed: 51879 additions & 2212 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: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7059,6 +7059,29 @@ export function SimTriggerIcon(props: SVGProps<SVGSVGElement>) {
70597059
)
70607060
}
70617061

7062+
export function SimDeploymentsIcon(props: SVGProps<SVGSVGElement>) {
7063+
return (
7064+
<svg
7065+
{...props}
7066+
viewBox='0 0 222 222'
7067+
fill='none'
7068+
xmlns='http://www.w3.org/2000/svg'
7069+
aria-hidden='true'
7070+
>
7071+
<path
7072+
fillRule='evenodd'
7073+
clipRule='evenodd'
7074+
d='M107.822 93.76C107.822 97.35 106.403 100.792 103.884 103.328L103.523 103.692C101.006 106.236 97.59 107.658 94.02 107.658H13.45C6.02 107.658 0 113.718 0 121.191V208.332C0 215.806 6.02 221.866 13.45 221.866H99.96C107.383 221.866 113.4 215.806 113.4 208.332V126.745C113.4 123.419 114.71 120.228 117.047 117.874C119.377 115.527 122.546 114.207 125.849 114.207H207.777C215.198 114.207 221.214 108.148 221.214 100.674V13.53C221.214 6.06 215.198 0 207.777 0H121.26C113.839 0 107.822 6.06 107.822 13.53V93.76ZM134.078 18.55H194.952C199.289 18.55 202.796 22.09 202.796 26.45V87.76C202.796 92.12 199.289 95.66 194.952 95.66H134.078C129.748 95.66 126.233 92.12 126.233 87.76V26.45C126.233 22.09 129.748 18.55 134.078 18.55Z'
7075+
fill='#33C482'
7076+
/>
7077+
<path
7078+
d='M207.878 129.57H143.554C135.756 129.57 129.434 135.937 129.434 143.791V207.784C129.434 215.638 135.756 222.005 143.554 222.005H207.878C215.677 222.005 221.999 215.638 221.999 207.784V143.791C221.999 135.937 215.677 129.57 207.878 129.57Z'
7079+
fill='#33C482'
7080+
/>
7081+
</svg>
7082+
)
7083+
}
7084+
70627085
export function SimilarwebIcon(props: SVGProps<SVGSVGElement>) {
70637086
return (
70647087
<svg
@@ -7555,6 +7578,57 @@ export function OnePasswordIcon(props: SVGProps<SVGSVGElement>) {
75557578
)
75567579
}
75577580

7581+
export function VantaIcon(props: SVGProps<SVGSVGElement>) {
7582+
const id = useId()
7583+
const clipId = `vanta_clip_${id}`
7584+
const maskId = `vanta_mask_${id}`
7585+
return (
7586+
<svg {...props} viewBox='0 0 512 512' fill='none' xmlns='http://www.w3.org/2000/svg'>
7587+
<g clipPath={`url(#${clipId})`}>
7588+
<circle cx='256' cy='256' r='256' fill='#AC55FF' />
7589+
<mask
7590+
id={maskId}
7591+
style={{ maskType: 'alpha' }}
7592+
maskUnits='userSpaceOnUse'
7593+
x='0'
7594+
y='0'
7595+
width='512'
7596+
height='512'
7597+
>
7598+
<circle cx='256' cy='256' r='256' fill='#AC55FF' />
7599+
</mask>
7600+
<g mask={`url(#${maskId})`}>
7601+
<path
7602+
d='M269.699 530.451C360.294 530.451 407.136 502.376 421.276 474.223C422.09 472.599 420.53 470.761 418.81 471.332C402.863 476.607 390.96 466.808 389.625 455.498C389.625 455.498 385.167 407.538 369.22 402.858C370.165 400.913 374.01 385.586 362.126 371.424C365.376 361.406 362.691 354.81 360.26 349.823C363.222 346.191 365.498 341.506 366.482 336.943C366.726 335.861 366.721 334.905 367.598 333.887C373.201 329.231 379.384 325.389 383.145 318.574C389.923 306.26 385.382 292.196 377.167 281.817C376.334 280.671 375.681 280.12 375.622 277.176C375.642 272.145 374.731 266.968 372.027 262.717C370.648 260.557 368.84 258.69 366.945 256.959C359.052 249.598 349.609 244.163 340.542 238.293C339.295 237.494 337.843 236.431 337.302 234.978C334.447 224.351 327.065 216.131 317.886 213.894C317.691 206.776 310.187 195.983 298.835 195.983C295.371 195.983 292.506 197.865 290.718 194.623C286.566 186.75 278.293 185.287 273.976 185.088C273.25 185.053 273.046 184.078 273.704 183.766C275.087 183.103 277.182 182.187 280.291 180.988C295.882 173.524 289.431 131.009 283.049 108.575C280.062 100.199 272.49 76.3803 253.942 74.8057C252.665 74.6985 251.359 74.7277 250.126 75.0836C246.555 76.1122 243.909 78.9738 242.048 82.9372C235.914 95.2709 234.379 128.562 232.123 142.797C228.922 163.096 226.023 184.873 215.913 193.799C211.606 182.436 205.374 177.171 201.969 177.37C199.001 178.068 203.016 183.835 201.306 192.341C200.117 197.236 197.408 201.804 192.794 201.804C179.273 201.804 167.098 134.173 163.463 93.5451C163.365 92.4824 163.263 91.4245 163.068 90.3715C161.285 80.5533 156.12 74.757 150.663 74.757C147.896 74.757 137.961 73.7478 126.584 91.639C118.764 105.591 113.795 120.177 113.312 147.341C113.322 174.714 125.532 193.019 130.477 202.023C150.688 235.266 153.387 246.741 149.562 267.007C145.674 286.653 157.533 297.7 157.533 297.7C155.857 300.298 153.645 307.259 153.134 314.899C152.807 319.764 153.801 328.49 156.125 333.891C151.024 344.885 151.146 353.621 151.146 359.129C151.146 371.892 145.577 377.089 138.336 379.36C140.29 386.322 153.275 390.051 160.788 382.612C158.571 404.476 154.473 424.171 148.753 448.546C145.197 465.233 145.796 474.583 148.49 482.5C149.703 486.069 151.604 489.355 153.928 492.319C181.637 527.667 233.629 530.451 269.699 530.451ZM269.655 482.739C259.671 481.116 250.331 476.139 243.515 468.602C225.351 474.618 206.466 459.33 212.205 439.147C213.121 436.505 217.058 437.475 216.668 440.229C216.103 443.783 216.756 447.42 218.281 450.55C222.34 459.827 234.438 462.323 241.853 455.859C244.596 453.441 248.562 454.362 250.424 457.36C266.663 479.4 300.355 475.266 311.654 450.525C313.311 447.069 314.392 443.408 315.021 439.615C315.464 436.924 319.498 437.178 319.61 439.898C320.522 466.525 295.6 486.902 269.65 482.744L269.655 482.739Z'
7603+
fill='#240642'
7604+
/>
7605+
<path
7606+
d='M371.525 292.61C369.79 292.61 367.924 295.033 367.446 298.806C366.414 304.125 366.769 313.958 362.028 313.958C358.749 313.958 358.452 307.367 352.942 301.293C347.226 295.399 339.031 294.799 333.774 290.558C330.851 288.53 329.111 286.034 329.301 281.749C329.301 281.749 329.925 274.924 339.134 276.172C343.514 276.63 350.613 277.698 355.007 278.2C362.857 279.087 364.772 273.247 365.005 271.263C365.507 266.612 360.572 262.761 357.448 260.05C353.502 256.613 349.2 253.527 344.742 250.758C343.933 250.256 343.109 249.735 342.286 249.208C331.104 242.076 311.225 230.137 300.077 243.768C296.082 249.12 294.347 255.287 293.095 260.396C290.781 269.747 285.923 273.354 282.474 279.058C276.992 288.111 273.226 298.392 272.938 308.971C272.89 324.244 282.332 339.205 297.397 348.555C309.9 355.117 316.317 355.117 321.325 353.777C322.241 353.465 324.249 352.065 322.87 349.75C322.621 349.257 321.925 348.175 321.501 347.473C320.073 344.846 322.027 342.442 324.921 344.69C326.826 346.181 328.77 347.673 331.011 348.585C332.897 349.35 335.046 349.652 336.995 349.136C336.995 349.136 336.995 349.136 336.999 349.136C339.28 348.39 340.434 346.893 340.566 344.982C340.698 342.701 339.665 340.936 337.954 339.995C335.353 338.728 329.594 335.559 327.162 333.765C324.419 331.844 321.486 328.973 320.468 327.89C317.15 324.361 316.2 320.914 314.134 320.914C313.788 320.934 313.452 321.129 313.218 321.392C311.922 322.777 311.912 325.058 311.849 326.36C311.805 327.32 311.956 328.783 310.611 328.783C307.278 328.783 307.288 321.831 307.293 319.944C307.293 317.36 308.238 310.657 312.229 310.657C313.461 310.657 315.137 312.31 315.795 312.958C324.59 322.723 334.812 330.318 347.762 330.318C357.677 330.318 365.96 324.717 371.169 319.466C375.247 315.371 377.932 310.243 378.112 304.944C378.224 301.585 376.611 292.615 371.525 292.615V292.61ZM314.714 301.697C313.51 302.365 312.073 301.536 310.762 301.107C308.126 300.24 305.135 301.117 302.962 302.843C301.471 304.032 300.331 305.587 299.405 307.264C298.396 309.097 298.206 311.515 296.038 311.515C294.255 311.515 293.358 309.044 293.163 308.025C292.116 302.492 294.786 296.335 299.751 293.683C304.716 291.031 311.6 292.435 314.811 297.056C315.308 297.773 315.732 298.582 315.79 299.455C315.849 300.327 315.483 301.273 314.718 301.697H314.714Z'
7607+
fill='white'
7608+
/>
7609+
<path
7610+
d='M249.386 238.371C244.645 238.44 240.046 240.477 236.694 243.919C234.808 245.854 230.608 252.114 231.017 261.761C230.949 263.18 229.083 263.687 228.333 262.478C225.307 257.057 225.132 251.402 226.306 247.229C228.912 238.795 236.274 231.785 246.224 231.785C259.277 231.785 262.551 240.326 263.204 242.973C263.516 244.07 262.161 244.879 261.328 244.099C259.165 242.086 255.827 238.371 249.376 238.371H249.386Z'
7611+
fill='white'
7612+
/>
7613+
<path
7614+
d='M250.453 257.471C247.334 257.749 244.874 255.736 244.596 252.621C244.323 249.559 246.384 247.034 249.503 246.756C252.621 246.478 255.15 248.599 255.422 251.66C255.7 254.78 253.571 257.193 250.458 257.471H250.453Z'
7615+
fill='white'
7616+
/>
7617+
<path
7618+
d='M148.261 199.172C143.662 199.172 128.582 174.699 128.582 140.145C128.582 124.638 132.563 108.087 139.798 108.087C144.251 108.087 145.26 117.574 145.465 120.387C147.808 150.066 143.983 170.224 149.567 197.109C149.937 198.684 148.987 199.176 148.261 199.176V199.172Z'
7619+
fill='white'
7620+
/>
7621+
</g>
7622+
</g>
7623+
<defs>
7624+
<clipPath id={clipId}>
7625+
<rect width='512' height='512' fill='white' />
7626+
</clipPath>
7627+
</defs>
7628+
</svg>
7629+
)
7630+
}
7631+
75587632
export function VercelIcon(props: SVGProps<SVGSVGElement>) {
75597633
return (
75607634
<svg

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ import {
207207
TwilioIcon,
208208
TypeformIcon,
209209
UpstashIcon,
210+
VantaIcon,
210211
VercelIcon,
211212
VideoIcon,
212213
WealthboxIcon,
@@ -456,6 +457,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
456457
twilio_voice: TwilioIcon,
457458
typeform: TypeformIcon,
458459
upstash: UpstashIcon,
460+
vanta: VantaIcon,
459461
vercel: VercelIcon,
460462
video_generator: VideoIcon,
461463
video_generator_v2: VideoIcon,

apps/docs/content/docs/en/api-reference/(generated)/workflows/meta.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
"cancelExecution",
66
"listWorkflows",
77
"getWorkflow",
8+
"deployWorkflow",
9+
"undeployWorkflow",
10+
"rollbackWorkflow",
811
"getJobStatus"
912
]
1013
}

apps/docs/content/docs/en/integrations/atlassian-service-account.mdx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,20 @@ The service account inherits permissions from the project/space roles you grant
6464
<Step>
6565
Select the scopes the token needs. The minimum set Sim's Jira and Confluence blocks expect is:
6666

67-
**Jira (granular):**
67+
**Jira (classic):**
6868
```
6969
read:jira-user
7070
read:jira-work
7171
write:jira-work
7272
```
7373

74+
**Jira Service Management (classic):**
75+
```
76+
read:servicedesk-request
77+
write:servicedesk-request
78+
manage:servicedesk-customer
79+
```
80+
7481
**Confluence (granular):**
7582
```
7683
read:confluence-content.all
@@ -82,6 +89,10 @@ The service account inherits permissions from the project/space roles you grant
8289

8390
Add more scopes only if you need the corresponding operations (delete, manage webhooks, etc.). The full list of scopes Sim's blocks may use is documented in [Atlassian's developer reference](https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/).
8491

92+
<Callout type="warn">
93+
Prefer the classic scopes above over granular equivalents. Atlassian enforces an endpoint's granular scope list as all-or-nothing, so a token built from a partial granular set fails with `Unauthorized; scope does not match` even though each individual scope was granted. The classic scopes each cover their product's endpoints on their own. If your organization only permits granular scopes, include every scope listed for each endpoint in Atlassian's reference — Jira Service Management request operations also require `read:user:jira`.
94+
</Callout>
95+
8596
<div className="flex justify-center">
8697
<Image
8798
src="/static/credentials/atlassian/admin-scope-picker.png"
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
title: Deployments
3+
description: Manage workflow deployments
4+
---
5+
6+
import { BlockInfoCard } from "@/components/ui/block-info-card"
7+
8+
<BlockInfoCard
9+
type="deployments"
10+
color="#0C0C0C"
11+
/>
12+
13+
## Usage Instructions
14+
15+
Deploy, undeploy, and roll back workflows in the current workspace. Promote a previous deployment version to live, list every version, or fetch the deployed workflow state for a specific version.
16+
17+
18+
19+
## Actions
20+
21+
### `deployments_deploy`
22+
23+
Deploy a workflow’s current draft state, creating a new deployment version and making it live for API execution. Requires admin permission on the workflow’s workspace.
24+
25+
#### Input
26+
27+
| Parameter | Type | Required | Description |
28+
| --------- | ---- | -------- | ----------- |
29+
| `workflowId` | string | Yes | ID of the workflow to deploy |
30+
| `name` | string | No | Optional label for the new deployment version |
31+
| `description` | string | No | Optional summary of what changed in this version |
32+
33+
#### Output
34+
35+
| Parameter | Type | Description |
36+
| --------- | ---- | ----------- |
37+
| `workflowId` | string | ID of the deployed workflow |
38+
| `isDeployed` | boolean | Whether the workflow is now deployed |
39+
| `deployedAt` | string | ISO 8601 timestamp of the deployment \(null if unavailable\) |
40+
| `version` | number | The deployment version that is now active |
41+
| `warnings` | array | Non-fatal warnings \(e.g. trigger or schedule sync still in progress\) |
42+
43+
### `deployments_undeploy`
44+
45+
Take a deployed workflow offline. API execution stops and schedules, webhooks, and other deployment side effects are removed. Requires admin permission on the workflow’s workspace.
46+
47+
#### Input
48+
49+
| Parameter | Type | Required | Description |
50+
| --------- | ---- | -------- | ----------- |
51+
| `workflowId` | string | Yes | ID of the workflow to undeploy |
52+
53+
#### Output
54+
55+
| Parameter | Type | Description |
56+
| --------- | ---- | ----------- |
57+
| `workflowId` | string | ID of the undeployed workflow |
58+
| `isDeployed` | boolean | Whether the workflow is still deployed \(false\) |
59+
| `deployedAt` | string | Always null after an undeploy |
60+
| `warnings` | array | Non-fatal warnings \(e.g. trigger or schedule cleanup still in progress\) |
61+
62+
### `deployments_promote`
63+
64+
Make a specific deployment version the live one without creating a new version — the same operation as Promote to live in the deploy modal. Useful for rolling back to a known-good version. Also works on an undeployed workflow: it re-deploys the workflow live at that version. Requires admin permission on the workflow’s workspace.
65+
66+
#### Input
67+
68+
| Parameter | Type | Required | Description |
69+
| --------- | ---- | -------- | ----------- |
70+
| `workflowId` | string | Yes | ID of the workflow |
71+
| `version` | number | Yes | The deployment version number to promote to live |
72+
73+
#### Output
74+
75+
| Parameter | Type | Description |
76+
| --------- | ---- | ----------- |
77+
| `workflowId` | string | ID of the workflow |
78+
| `isDeployed` | boolean | Whether the workflow is now deployed |
79+
| `deployedAt` | string | ISO 8601 timestamp of the active deployment \(null if unavailable\) |
80+
| `version` | number | The deployment version that is now live |
81+
| `warnings` | array | Non-fatal warnings \(e.g. trigger or schedule sync still in progress\) |
82+
83+
### `deployments_list_versions`
84+
85+
List every deployment version of a workflow, newest first, including which version is currently live.
86+
87+
#### Input
88+
89+
| Parameter | Type | Required | Description |
90+
| --------- | ---- | -------- | ----------- |
91+
| `workflowId` | string | Yes | ID of the workflow |
92+
93+
#### Output
94+
95+
| Parameter | Type | Description |
96+
| --------- | ---- | ----------- |
97+
| `workflowId` | string | ID of the workflow |
98+
| `versions` | array | Deployment versions, newest first \(id, version, name, description, isActive, createdAt, createdBy, deployedByName\) |
99+
100+
### `deployments_get_version`
101+
102+
Fetch a single deployment version of a workflow, including its metadata and the full workflow state snapshot that was deployed.
103+
104+
#### Input
105+
106+
| Parameter | Type | Required | Description |
107+
| --------- | ---- | -------- | ----------- |
108+
| `workflowId` | string | Yes | ID of the workflow |
109+
| `version` | number | Yes | The deployment version number to fetch |
110+
111+
#### Output
112+
113+
| Parameter | Type | Description |
114+
| --------- | ---- | ----------- |
115+
| `workflowId` | string | ID of the workflow |
116+
| `version` | number | The deployment version number |
117+
| `name` | string | Version label |
118+
| `description` | string | Version description |
119+
| `isActive` | boolean | Whether this version is currently live |
120+
| `createdAt` | string | When this version was deployed \(ISO 8601\) |
121+
| `deployedState` | json | The full workflow state snapshot \(blocks, edges, loops, parallels, variables\) |
122+
123+

apps/docs/content/docs/en/integrations/meta.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"databricks",
4343
"datadog",
4444
"daytona",
45+
"deployments",
4546
"devin",
4647
"discord",
4748
"docusign",
@@ -208,6 +209,7 @@
208209
"twilio_voice",
209210
"typeform",
210211
"upstash",
212+
"vanta",
211213
"vercel",
212214
"wealthbox",
213215
"webflow",

0 commit comments

Comments
 (0)