Files
sim/apps/docs/content/docs/en/tools/confluence.mdx
Waleed f99518b837 feat(calcom): added calcom (#3070)
* feat(tools): added calcom

* added more triggers, tested

* updated regex in script for release to be more lenient

* fix(tag-dropdown): performance improvements and scroll bug fixes

- Add flatTagIndexMap for O(1) tag lookups (replaces O(n²) findIndex calls)
- Memoize caret position calculation to avoid DOM manipulation on every render
- Use refs for inputValue/cursorPosition to keep handleTagSelect callback stable
- Change itemRefs from index-based to tag-based keys to prevent stale refs
- Fix scroll jump in nested folders by removing scroll reset from registerFolder
- Add onFolderEnter callback for scroll reset when entering folder via keyboard
- Disable keyboard navigation wrap-around at boundaries
- Simplify selection reset to single effect on flatTagList.length change

Also:
- Add safeCompare utility for timing-safe string comparison
- Refactor webhook signature validation to use safeCompare

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* updated types

* fix(calcom): simplify required field constraints for booking attendee

The condition field already restricts these to calcom_create_booking,
so simplified to required: true. Per Cal.com API docs, email is optional
while name and timeZone are required.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* added tests

* updated folder multi select, updated calcom and github tools and docs generator script

* updated drag, updated outputs for tools, regen docs with nested docs script

* updated setup instructions links, destructure trigger outputs, fix text subblock styling

* updated docs gen script

* updated docs script

* updated docs script

* updated script

* remove destructuring of stripe webhook

* expanded wand textarea, updated calcom tools

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 20:37:30 -08:00

417 lines
17 KiB
Plaintext

---
title: Confluence
description: Interact with Confluence
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="confluence_v2"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Confluence](https://www.atlassian.com/software/confluence) is Atlassian's powerful team collaboration and knowledge management platform. It serves as a centralized workspace where teams can create, organize, and share information across departments and organizations.
With Confluence, you can:
- **Create structured documentation**: Build comprehensive wikis, project plans, and knowledge bases with rich formatting
- **Collaborate in real-time**: Work together on documents with teammates, with comments, mentions, and editing capabilities
- **Organize information hierarchically**: Structure content with spaces, pages, and nested hierarchies for intuitive navigation
- **Integrate with other tools**: Connect with Jira, Trello, and other Atlassian products for seamless workflow integration
- **Control access permissions**: Manage who can view, edit, or comment on specific content
In Sim, the Confluence integration enables your agents to access and leverage your organization's knowledge base. Agents can retrieve information from Confluence pages, search for specific content, and even update documentation when needed. This allows your workflows to incorporate the collective knowledge stored in your Confluence instance, making it possible to build agents that can reference internal documentation, follow established procedures, and maintain up-to-date information resources as part of their operations.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Confluence into the workflow. Can read, create, update, delete pages, manage comments, attachments, labels, and search content.
## Tools
### `confluence_retrieve`
Retrieve content from Confluence pages using the Confluence API.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to retrieve |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of retrieval |
| `pageId` | string | Confluence page ID |
| `content` | string | Page content with HTML tags stripped |
| `title` | string | Page title |
### `confluence_update`
Update a Confluence page using the Confluence API.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to update |
| `title` | string | No | New title for the page |
| `content` | string | No | New content for the page in Confluence storage format |
| `version` | number | No | Version number of the page \(required for preventing conflicts\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of update |
| `pageId` | string | Confluence page ID |
| `title` | string | Updated page title |
| `success` | boolean | Update operation success status |
### `confluence_create_page`
Create a new page in a Confluence space.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Confluence space ID where the page will be created |
| `title` | string | Yes | Title of the new page |
| `content` | string | Yes | Page content in Confluence storage format \(HTML\) |
| `parentId` | string | No | Parent page ID if creating a child page |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of creation |
| `pageId` | string | Created page ID |
| `title` | string | Page title |
| `url` | string | Page URL |
### `confluence_delete_page`
Delete a Confluence page (moves it to trash where it can be restored).
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of deletion |
| `pageId` | string | Deleted page ID |
| `deleted` | boolean | Deletion status |
### `confluence_search`
Search for content across Confluence pages, blog posts, and other content.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `query` | string | Yes | Search query string |
| `limit` | number | No | Maximum number of results to return \(default: 25\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of search |
| `results` | array | Array of search results |
| ↳ `id` | string | Unique content identifier |
| ↳ `title` | string | Content title |
| ↳ `type` | string | Content type \(e.g., page, blogpost, attachment, comment\) |
| ↳ `status` | string | Content status \(e.g., current\) |
| ↳ `url` | string | URL to view the content in Confluence |
| ↳ `excerpt` | string | Text excerpt matching the search query |
| ↳ `spaceKey` | string | Key of the space containing the content |
| ↳ `space` | object | Space information for the content |
| ↳ `id` | string | Space identifier |
| ↳ `key` | string | Space key |
| ↳ `name` | string | Space name |
| ↳ `lastModified` | string | ISO 8601 timestamp of last modification |
| ↳ `entityType` | string | Entity type identifier \(e.g., content, space\) |
### `confluence_create_comment`
Add a comment to a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to comment on |
| `comment` | string | Yes | Comment text in Confluence storage format |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of creation |
| `commentId` | string | Created comment ID |
| `pageId` | string | Page ID |
### `confluence_list_comments`
List all comments on a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to list comments from |
| `limit` | number | No | Maximum number of comments to return \(default: 25\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `comments` | array | Array of Confluence comments |
| ↳ `id` | string | Unique comment identifier |
| ↳ `status` | string | Comment status \(e.g., current\) |
| ↳ `title` | string | Comment title |
| ↳ `pageId` | string | ID of the page the comment belongs to |
| ↳ `blogPostId` | string | ID of the blog post the comment belongs to |
| ↳ `parentCommentId` | string | ID of the parent comment |
| ↳ `body` | object | Comment body content |
| ↳ `value` | string | Comment body content |
| ↳ `representation` | string | Content representation format \(e.g., storage, view\) |
| ↳ `createdAt` | string | ISO 8601 timestamp when the comment was created |
| ↳ `authorId` | string | Account ID of the comment author |
| ↳ `version` | object | Comment version information |
| ↳ `number` | number | Version number |
| ↳ `message` | string | Version message |
| ↳ `minorEdit` | boolean | Whether this is a minor edit |
| ↳ `authorId` | string | Account ID of the version author |
| ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
### `confluence_update_comment`
Update an existing comment on a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `commentId` | string | Yes | Confluence comment ID to update |
| `comment` | string | Yes | Updated comment text in Confluence storage format |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of update |
| `commentId` | string | Updated comment ID |
| `updated` | boolean | Update status |
### `confluence_delete_comment`
Delete a comment from a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `commentId` | string | Yes | Confluence comment ID to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of deletion |
| `commentId` | string | Deleted comment ID |
| `deleted` | boolean | Deletion status |
### `confluence_upload_attachment`
Upload a file as an attachment to a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to attach the file to |
| `file` | file | Yes | The file to upload as an attachment |
| `fileName` | string | No | Optional custom file name for the attachment |
| `comment` | string | No | Optional comment to add to the attachment |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of upload |
| `attachmentId` | string | Uploaded attachment ID |
| `title` | string | Attachment file name |
| `fileSize` | number | File size in bytes |
| `mediaType` | string | MIME type of the attachment |
| `downloadUrl` | string | Download URL for the attachment |
| `pageId` | string | Page ID the attachment was added to |
### `confluence_list_attachments`
List all attachments on a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to list attachments from |
| `limit` | number | No | Maximum number of attachments to return \(default: 25\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `attachments` | array | Array of Confluence attachments |
| ↳ `id` | string | Unique attachment identifier \(prefixed with "att"\) |
| ↳ `title` | string | Attachment file name |
| ↳ `status` | string | Attachment status \(e.g., current, archived, trashed\) |
| ↳ `mediaType` | string | MIME type of the attachment |
| ↳ `fileSize` | number | File size in bytes |
| ↳ `downloadUrl` | string | URL to download the attachment |
| ↳ `webuiUrl` | string | URL to view the attachment in Confluence UI |
| ↳ `pageId` | string | ID of the page the attachment belongs to |
| ↳ `blogPostId` | string | ID of the blog post the attachment belongs to |
| ↳ `comment` | string | Comment/description of the attachment |
| ↳ `version` | object | Attachment version information |
| ↳ `number` | number | Version number |
| ↳ `message` | string | Version message |
| ↳ `minorEdit` | boolean | Whether this is a minor edit |
| ↳ `authorId` | string | Account ID of the version author |
| ↳ `createdAt` | string | ISO 8601 timestamp of version creation |
### `confluence_delete_attachment`
Delete an attachment from a Confluence page (moves to trash).
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `attachmentId` | string | Yes | Confluence attachment ID to delete |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of deletion |
| `attachmentId` | string | Deleted attachment ID |
| `deleted` | boolean | Deletion status |
### `confluence_list_labels`
List all labels on a Confluence page.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `pageId` | string | Yes | Confluence page ID to list labels from |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of retrieval |
| `labels` | array | Array of labels on the page |
| ↳ `id` | string | Unique label identifier |
| ↳ `name` | string | Label name |
| ↳ `prefix` | string | Label prefix/type \(e.g., global, my, team\) |
### `confluence_get_space`
Get details about a specific Confluence space.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `spaceId` | string | Yes | Confluence space ID to retrieve |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of retrieval |
| `spaceId` | string | Space ID |
| `name` | string | Space name |
| `key` | string | Space key |
| `type` | string | Space type |
| `status` | string | Space status |
| `url` | string | Space URL |
### `confluence_list_spaces`
List all Confluence spaces accessible to the user.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Confluence domain \(e.g., yourcompany.atlassian.net\) |
| `limit` | number | No | Maximum number of spaces to return \(default: 25\) |
| `cloudId` | string | No | Confluence Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation |
| `spaces` | array | Array of Confluence spaces |
| ↳ `id` | string | Unique space identifier |
| ↳ `key` | string | Space key \(short identifier used in URLs\) |
| ↳ `name` | string | Space name |
| ↳ `type` | string | Space type \(e.g., global, personal\) |
| ↳ `status` | string | Space status \(e.g., current, archived\) |
| ↳ `authorId` | string | Account ID of the space creator |
| ↳ `createdAt` | string | ISO 8601 timestamp when the space was created |
| ↳ `homepageId` | string | ID of the space homepage |
| ↳ `description` | object | Space description |
| ↳ `value` | string | Description text content |
| ↳ `representation` | string | Content representation format \(e.g., plain, view, storage\) |