Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5483,3 +5483,37 @@ export function AgentSkillsIcon(props: SVGProps<SVGSVGElement>) {
</svg>
)
}

export function OnePasswordIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg' fill='none'>
<circle
cx='24'
cy='24'
r='21.5'
stroke='#000000'
strokeLinecap='round'
strokeLinejoin='round'
/>
<path
d='M28.083,17.28a7.8633,7.8633,0,0,1,0,13.44'
stroke='#000000'
strokeLinecap='round'
strokeLinejoin='round'
/>
<path
d='M19.917,30.72a7.8633,7.8633,0,0,1,0-13.44'
stroke='#000000'
strokeLinecap='round'
strokeLinejoin='round'
/>
<path
d='M26.067,10.43H21.933a2.0172,2.0172,0,0,0-2.016,2.016v6.36c2.358,1.281,2.736,2.562,0,3.843V35.574a2.0169,2.0169,0,0,0,2.016,2.015h4.134a2.0169,2.0169,0,0,0,2.016-2.015V29.213c-2.358-1.281-2.736-2.562,0-3.842V12.446A2.0172,2.0172,0,0,0,26.067,10.43Z'
fill='#000000'
stroke='#000000'
strokeLinecap='round'
strokeLinejoin='round'
/>
</svg>
)
}
2 changes: 2 additions & 0 deletions apps/docs/components/ui/icon-mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ import {
MySQLIcon,
Neo4jIcon,
NotionIcon,
OnePasswordIcon,
OpenAIIcon,
OutlookIcon,
PackageSearchIcon,
Expand Down Expand Up @@ -214,6 +215,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
neo4j: Neo4jIcon,
notion_v2: NotionIcon,
onedrive: MicrosoftOneDriveIcon,
onepassword: OnePasswordIcon,
openai: OpenAIIcon,
outlook: OutlookIcon,
parallel_ai: ParallelIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/docs/content/docs/en/tools/airweave.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ With Airweave, you can:
In Sim, the Airweave integration empowers your agents to search, summarize, and extract insights from all your organization’s data via a single tool. Use Airweave to drive rich, contextual knowledge retrieval within your workflows—whether answering questions, generating summaries, or supporting dynamic decision-making.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Search across your synced data sources using Airweave. Supports semantic search with hybrid, neural, or keyword retrieval strategies. Optionally generate AI-powered answers from search results.
Expand Down
511 changes: 458 additions & 53 deletions apps/docs/content/docs/en/tools/jira.mdx

Large diffs are not rendered by default.

208 changes: 192 additions & 16 deletions apps/docs/content/docs/en/tools/jira_service_management.mdx

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions apps/docs/content/docs/en/tools/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
"neo4j",
"notion",
"onedrive",
"onepassword",
"openai",
"outlook",
"parallel_ai",
Expand Down
260 changes: 260 additions & 0 deletions apps/docs/content/docs/en/tools/onepassword.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
---
title: 1Password
description: Manage secrets and items in 1Password vaults
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard
type="onepassword"
color="#E0E0E0"
/>

{/* MANUAL-CONTENT-START:intro */}
[1Password](https://1password.com) is a widely trusted password manager and secrets vault solution, allowing individuals and teams to securely store, access, and share passwords, API credentials, and sensitive information. With robust encryption, granular access controls, and seamless syncing across devices, 1Password supports teams and organizations in managing secrets efficiently and securely.

The [1Password Connect API](https://developer.1password.com/docs/connect/) allows programmatic access to vaults and items within an organization's 1Password account. This integration in Sim lets you automate secret retrieval, onboarding workflows, secret rotation, vault audits, and more, all in a secure and auditable manner.

With 1Password in your Sim workflow, you can:

- **List, search, and retrieve vaults**: Access metadata or browse available vaults for organizing secrets by project or purpose
- **Fetch items and secrets**: Get credentials, API keys, or custom secrets in real time to power your workflows securely
- **Create, update, or delete secrets**: Automate secret management, provisioning, and rotation for enhanced security practices
- **Integrate with CI/CD and automation**: Fetch credentials or tokens only when needed, reducing manual work and reducing risk
- **Ensure access controls**: Leverage role-based access and fine-grained permissions to control which agents or users can access specific secrets

By connecting Sim with 1Password, you empower your agents to securely manage secrets, reduce manual overhead, and maintain best practices for security automation, incident response, and DevOps workflows—all while ensuring secrets never leave a controlled environment.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Access and manage secrets stored in 1Password vaults using the Connect API or Service Account SDK. List vaults, retrieve items with their fields and secrets, create new items, update existing ones, delete items, and resolve secret references.



## Tools

### `onepassword_list_vaults`

List all vaults accessible by the Connect token or Service Account

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `filter` | string | No | SCIM filter expression \(e.g., name eq "My Vault"\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `vaults` | array | List of accessible vaults |
| ↳ `id` | string | Vault ID |
| ↳ `name` | string | Vault name |
| ↳ `description` | string | Vault description |
| ↳ `attributeVersion` | number | Vault attribute version |
| ↳ `contentVersion` | number | Vault content version |
| ↳ `type` | string | Vault type \(USER_CREATED, PERSONAL, EVERYONE, TRANSFER\) |
| ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp |

### `onepassword_get_vault`

Get details of a specific vault by ID

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Vault ID |
| `name` | string | Vault name |
| `description` | string | Vault description |
| `attributeVersion` | number | Vault attribute version |
| `contentVersion` | number | Vault content version |
| `items` | number | Number of items in the vault |
| `type` | string | Vault type \(USER_CREATED, PERSONAL, EVERYONE, TRANSFER\) |
| `createdAt` | string | Creation timestamp |
| `updatedAt` | string | Last update timestamp |

### `onepassword_list_items`

List items in a vault. Returns summaries without field values.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID to list items from |
| `filter` | string | No | SCIM filter expression \(e.g., title eq "API Key" or tag eq "production"\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | List of items in the vault \(summaries without field values\) |
| ↳ `id` | string | Item ID |
| ↳ `title` | string | Item title |
| ↳ `vault` | object | Vault reference |
| ↳ `id` | string | Vault ID |
| ↳ `category` | string | Item category \(e.g., LOGIN, API_CREDENTIAL\) |
| ↳ `urls` | array | URLs associated with the item |
| ↳ `href` | string | URL |
| ↳ `label` | string | URL label |
| ↳ `primary` | boolean | Whether this is the primary URL |
| ↳ `favorite` | boolean | Whether the item is favorited |
| ↳ `tags` | array | Item tags |
| ↳ `version` | number | Item version number |
| ↳ `state` | string | Item state \(ARCHIVED or DELETED\) |
| ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp |
| ↳ `lastEditedBy` | string | ID of the last editor |

### `onepassword_get_item`

Get full details of an item including all fields and secrets

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID |
| `itemId` | string | Yes | The item UUID to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `response` | json | Operation response data |

### `onepassword_create_item`

Create a new item in a vault

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID to create the item in |
| `category` | string | Yes | Item category \(e.g., LOGIN, PASSWORD, API_CREDENTIAL, SECURE_NOTE, SERVER, DATABASE\) |
| `title` | string | No | Item title |
| `tags` | string | No | Comma-separated list of tags |
| `fields` | string | No | JSON array of field objects \(e.g., \[\{"label":"username","value":"admin","type":"STRING","purpose":"USERNAME"\}\]\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `response` | json | Operation response data |

### `onepassword_replace_item`

Replace an entire item with new data (full update)

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID |
| `itemId` | string | Yes | The item UUID to replace |
| `item` | string | Yes | JSON object representing the full item \(e.g., \{"vault":\{"id":"..."\},"category":"LOGIN","title":"My Item","fields":\[...\]\}\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `response` | json | Operation response data |

### `onepassword_update_item`

Update an existing item using JSON Patch operations (RFC6902)

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID |
| `itemId` | string | Yes | The item UUID to update |
| `operations` | string | Yes | JSON array of RFC6902 patch operations \(e.g., \[\{"op":"replace","path":"/title","value":"New Title"\}\]\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `response` | json | Operation response data |

### `onepassword_delete_item`

Delete an item from a vault

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: "service_account" or "connect" |
| `serviceAccountToken` | string | No | 1Password Service Account token \(for Service Account mode\) |
| `apiKey` | string | No | 1Password Connect API token \(for Connect Server mode\) |
| `serverUrl` | string | No | 1Password Connect server URL \(for Connect Server mode\) |
| `vaultId` | string | Yes | The vault UUID |
| `itemId` | string | Yes | The item UUID to delete |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the item was successfully deleted |

### `onepassword_resolve_secret`

Resolve a secret reference (op://vault/item/field) to its value. Service Account mode only.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `connectionMode` | string | No | Connection mode: must be "service_account" for this operation |
| `serviceAccountToken` | string | Yes | 1Password Service Account token |
| `secretReference` | string | Yes | Secret reference URI \(e.g., op://vault-name/item-name/field-name or op://vault-name/item-name/section-name/field-name\) |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `value` | string | The resolved secret value |
| `reference` | string | The original secret reference URI |


16 changes: 12 additions & 4 deletions apps/sim/app/api/tools/jira/add-attachment/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,24 @@ export async function POST(request: NextRequest) {
)
}

const attachments = await response.json()
const attachmentIds = Array.isArray(attachments)
? attachments.map((attachment) => attachment.id).filter(Boolean)
: []
const jiraAttachments = await response.json()
const attachmentsList = Array.isArray(jiraAttachments) ? jiraAttachments : []

const attachmentIds = attachmentsList.map((att: any) => att.id).filter(Boolean)
const attachments = attachmentsList.map((att: any) => ({
id: att.id ?? '',
filename: att.filename ?? '',
mimeType: att.mimeType ?? '',
size: att.size ?? 0,
content: att.content ?? '',
}))

return NextResponse.json({
success: true,
output: {
ts: new Date().toISOString(),
issueKey: validatedData.issueKey,
attachments,
attachmentIds,
files: filesOutput,
},
Expand Down
Loading