Compare commits

..

6 Commits

Author SHA1 Message Date
waleed
276ce665e4 ack comments 2026-01-27 14:50:57 -08:00
waleed
08bad4da9f ack comments 2026-01-27 14:38:38 -08:00
waleed
37dbfe393a fix(workflow): preserve parent and position when duplicating/pasting nested blocks
Three related fixes for blocks inside containers (loop/parallel):

1. regenerateBlockIds now preserves parentId when the parent exists in
   the current workflow, not just when it's in the copy set. This keeps
   duplicated blocks inside their container.

2. calculatePasteOffset now uses simple offset for nested blocks instead
   of viewport-center calculation. Since nested blocks use relative
   positioning, the viewport-center offset would place them incorrectly.

3. Use CONTAINER_DIMENSIONS constants instead of hardcoded magic numbers
   in orphan cleanup position calculation.
2026-01-27 14:17:16 -08:00
waleed
503f676910 fix(store): clear extent property when orphaning blocks
When a block's parent is removed, properly clear both parentId and extent
properties from block.data, matching the pattern used in batchUpdateBlocksWithParent.
2026-01-27 14:10:55 -08:00
waleed
f2ca90ae6f refactor(store): remove unused workflow store functions
Remove redundant functions superseded by collaborative workflow patterns:
- duplicateBlock (superseded by collaborative paste flow)
- toggleBlockAdvancedMode (superseded by setBlockAdvancedMode)
- updateLoopCollection (redundant wrapper)
- setBlockTriggerMode (unused)
- generateLoopBlocks/generateParallelBlocks methods (called directly as utils)

Also removes ~160 lines of related tests and cleans up unused imports.
2026-01-27 14:10:55 -08:00
waleed
fe4fd47b9d improvement(workflow): remove useEffect anti-patterns 2026-01-27 14:10:55 -08:00
809 changed files with 15502 additions and 74378 deletions

View File

@@ -55,21 +55,21 @@ export const {serviceName}{Action}Tool: ToolConfig<
}, },
params: { params: {
// Hidden params (system-injected, only use hidden for oauth accessToken) // Hidden params (system-injected)
accessToken: { accessToken: {
type: 'string', type: 'string',
required: true, required: true,
visibility: 'hidden', visibility: 'hidden',
description: 'OAuth access token', description: 'OAuth access token',
}, },
// User-only params (credentials, api key, IDs user must provide) // User-only params (credentials, IDs user must provide)
someId: { someId: {
type: 'string', type: 'string',
required: true, required: true,
visibility: 'user-only', visibility: 'user-only',
description: 'The ID of the resource', description: 'The ID of the resource',
}, },
// User-or-LLM params (everything else, can be provided by user OR computed by LLM) // User-or-LLM params (can be provided by user OR computed by LLM)
query: { query: {
type: 'string', type: 'string',
required: false, // Use false for optional required: false, // Use false for optional
@@ -114,8 +114,8 @@ export const {serviceName}{Action}Tool: ToolConfig<
### Visibility Options ### Visibility Options
- `'hidden'` - System-injected (OAuth tokens, internal params). User never sees. - `'hidden'` - System-injected (OAuth tokens, internal params). User never sees.
- `'user-only'` - User must provide (credentials, api keys, account-specific IDs) - `'user-only'` - User must provide (credentials, account-specific IDs)
- `'user-or-llm'` - User provides OR LLM can compute (search queries, content, filters, most fall into this category) - `'user-or-llm'` - User provides OR LLM can compute (search queries, content, filters)
### Parameter Types ### Parameter Types
- `'string'` - Text values - `'string'` - Text values

View File

@@ -1,7 +0,0 @@
Based on the given area of interest, please:
1. Dig around the codebase in terms of that given area of interest, gather general information such as keywords and architecture overview.
2. Spawn off n=10 (unless specified otherwise) task agents to dig deeper into the codebase in terms of that given area of interest, some of them should be out of the box for variance.
3. Once the task agents are done, use the information to do what the user wants.
If user is in plan mode, use the information to create the plan.

View File

@@ -172,6 +172,31 @@ Key environment variables for self-hosted deployments. See [`.env.example`](apps
| `API_ENCRYPTION_KEY` | Yes | Encrypts API keys (`openssl rand -hex 32`) | | `API_ENCRYPTION_KEY` | Yes | Encrypts API keys (`openssl rand -hex 32`) |
| `COPILOT_API_KEY` | No | API key from sim.ai for Copilot features | | `COPILOT_API_KEY` | No | API key from sim.ai for Copilot features |
## Troubleshooting
### Ollama models not showing in dropdown (Docker)
If you're running Ollama on your host machine and Sim in Docker, change `OLLAMA_URL` from `localhost` to `host.docker.internal`:
```bash
OLLAMA_URL=http://host.docker.internal:11434 docker compose -f docker-compose.prod.yml up -d
```
See [Using an External Ollama Instance](#using-an-external-ollama-instance) for details.
### Database connection issues
Ensure PostgreSQL has the pgvector extension installed. When using Docker, wait for the database to be healthy before running migrations.
### Port conflicts
If ports 3000, 3002, or 5432 are in use, configure alternatives:
```bash
# Custom ports
NEXT_PUBLIC_APP_URL=http://localhost:3100 POSTGRES_PORT=5433 docker compose up -d
```
## Tech Stack ## Tech Stack
- **Framework**: [Next.js](https://nextjs.org/) (App Router) - **Framework**: [Next.js](https://nextjs.org/) (App Router)

View File

@@ -1,6 +1,5 @@
import type React from 'react' import type React from 'react'
import { findNeighbour } from 'fumadocs-core/page-tree' import { findNeighbour } from 'fumadocs-core/page-tree'
import { Pre } from 'fumadocs-ui/components/codeblock'
import defaultMdxComponents from 'fumadocs-ui/mdx' import defaultMdxComponents from 'fumadocs-ui/mdx'
import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page' import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page'
import { ChevronLeft, ChevronRight } from 'lucide-react' import { ChevronLeft, ChevronRight } from 'lucide-react'
@@ -22,7 +21,6 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
const data = page.data as PageData const data = page.data as PageData
const MDX = data.body const MDX = data.body
const baseUrl = 'https://docs.sim.ai' const baseUrl = 'https://docs.sim.ai'
const markdownContent = await data.getText('processed')
const pageTreeRecord = source.pageTree as Record<string, any> const pageTreeRecord = source.pageTree as Record<string, any>
const pageTree = const pageTree =
@@ -202,7 +200,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
<div className='relative mt-6 sm:mt-0'> <div className='relative mt-6 sm:mt-0'>
<div className='absolute top-1 right-0 flex items-center gap-2'> <div className='absolute top-1 right-0 flex items-center gap-2'>
<div className='hidden sm:flex'> <div className='hidden sm:flex'>
<LLMCopyButton content={markdownContent} /> <LLMCopyButton markdownUrl={`${page.url}.mdx`} />
</div> </div>
<PageNavigationArrows previous={neighbours?.previous} next={neighbours?.next} /> <PageNavigationArrows previous={neighbours?.previous} next={neighbours?.next} />
</div> </div>
@@ -213,11 +211,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
<MDX <MDX
components={{ components={{
...defaultMdxComponents, ...defaultMdxComponents,
pre: (props: React.HTMLAttributes<HTMLPreElement>) => ( CodeBlock,
<CodeBlock {...props}>
<Pre>{props.children}</Pre>
</CodeBlock>
),
h1: (props: React.HTMLAttributes<HTMLHeadingElement>) => ( h1: (props: React.HTMLAttributes<HTMLHeadingElement>) => (
<Heading as='h1' {...props} /> <Heading as='h1' {...props} />
), ),

View File

@@ -3,7 +3,6 @@ import { defineI18nUI } from 'fumadocs-ui/i18n'
import { DocsLayout } from 'fumadocs-ui/layouts/docs' import { DocsLayout } from 'fumadocs-ui/layouts/docs'
import { RootProvider } from 'fumadocs-ui/provider/next' import { RootProvider } from 'fumadocs-ui/provider/next'
import { Geist_Mono, Inter } from 'next/font/google' import { Geist_Mono, Inter } from 'next/font/google'
import Script from 'next/script'
import { import {
SidebarFolder, SidebarFolder,
SidebarItem, SidebarItem,
@@ -18,13 +17,11 @@ import '../global.css'
const inter = Inter({ const inter = Inter({
subsets: ['latin'], subsets: ['latin'],
variable: '--font-geist-sans', variable: '--font-geist-sans',
display: 'swap',
}) })
const geistMono = Geist_Mono({ const geistMono = Geist_Mono({
subsets: ['latin'], subsets: ['latin'],
variable: '--font-geist-mono', variable: '--font-geist-mono',
display: 'swap',
}) })
const { provider } = defineI18nUI(i18n, { const { provider } = defineI18nUI(i18n, {
@@ -96,9 +93,10 @@ export default async function Layout({ children, params }: LayoutProps) {
type='application/ld+json' type='application/ld+json'
dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }} dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }}
/> />
{/* OneDollarStats Analytics - CDN script handles everything automatically */}
<script defer src='https://assets.onedollarstats.com/stonks.js' />
</head> </head>
<body className='flex min-h-screen flex-col font-sans'> <body className='flex min-h-screen flex-col font-sans'>
<Script src='https://assets.onedollarstats.com/stonks.js' strategy='lazyOnload' />
<RootProvider i18n={provider(lang)}> <RootProvider i18n={provider(lang)}>
<Navbar /> <Navbar />
<DocsLayout <DocsLayout

View File

@@ -9,7 +9,7 @@ export default function NotFound() {
<DocsPage> <DocsPage>
<DocsBody> <DocsBody>
<div className='flex min-h-[60vh] flex-col items-center justify-center text-center'> <div className='flex min-h-[60vh] flex-col items-center justify-center text-center'>
<h1 className='mb-4 bg-gradient-to-b from-[#47d991] to-[#33c482] bg-clip-text font-bold text-8xl text-transparent'> <h1 className='mb-4 bg-gradient-to-b from-[#8357FF] to-[#6F3DFA] bg-clip-text font-bold text-8xl text-transparent'>
404 404
</h1> </h1>
<h2 className='mb-2 font-semibold text-2xl text-foreground'>Page Not Found</h2> <h2 className='mb-2 font-semibold text-2xl text-foreground'>Page Not Found</h2>

View File

@@ -1,5 +1,4 @@
import type { SVGProps } from 'react' import type { SVGProps } from 'react'
import { useId } from 'react'
export function SearchIcon(props: SVGProps<SVGSVGElement>) { export function SearchIcon(props: SVGProps<SVGSVGElement>) {
return ( return (
@@ -738,9 +737,6 @@ export function GmailIcon(props: SVGProps<SVGSVGElement>) {
} }
export function GrafanaIcon(props: SVGProps<SVGSVGElement>) { export function GrafanaIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradientId = `grafana_gradient_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -751,12 +747,12 @@ export function GrafanaIcon(props: SVGProps<SVGSVGElement>) {
fill='none' fill='none'
> >
<path <path
fill={`url(#${gradientId})`} fill='url(#grafana-color-16__paint0_linear_2372_364)'
d='M13.985 7.175a4.408 4.408 0 00-.138-.802 5.035 5.035 0 00-1.054-1.998 2.96 2.96 0 00-.366-.393c.198-.787-.245-1.468-.245-1.468-.764-.046-1.237.227-1.42.363-.031-.015-.062-.03-.092-.03-.122-.046-.26-.106-.397-.137-.138-.045-.275-.075-.413-.12-.137-.031-.29-.061-.443-.092-.03 0-.046 0-.076-.015C9.005 1.44 8.058 1 8.058 1 7.004 1.666 6.79 2.604 6.79 2.604s0 .015-.016.06l-.183.046c-.076.03-.168.06-.244.076-.077.03-.168.06-.245.09-.153.076-.32.152-.473.228-.153.09-.306.181-.443.272-.016-.015-.03-.015-.03-.015-1.467-.545-2.766.136-2.766.136-.122 1.544.58 2.528.733 2.71-.03.09-.06.196-.091.287a8.104 8.104 0 00-.245 1.09c0 .06-.015.106-.015.166C1.397 8.386 1 9.748 1 9.748c1.13 1.287 2.46 1.377 2.46 1.377.167.303.366.575.58.848.092.106.183.212.29.318a3.014 3.014 0 00.061 2.149c1.268.045 2.093-.545 2.261-.681.122.045.26.076.382.106.382.106.78.151 1.176.181h.49c.595.848 1.634.954 1.634.954.748-.772.779-1.544.779-1.71v-.015-.03-.03c.153-.107.305-.228.443-.35a5.37 5.37 0 00.779-.892c.015-.03.046-.06.061-.09.84.045 1.436-.515 1.436-.515-.138-.863-.642-1.287-.749-1.378l-.015-.015h-.015s-.015 0-.015-.015c0-.045.015-.106.015-.151 0-.091.015-.182.015-.288V9.4v-.166-.076-.152l-.015-.075c-.015-.091-.03-.197-.061-.288a3.506 3.506 0 00-.428-1.044 3.856 3.856 0 00-.718-.848 3.784 3.784 0 00-.901-.575 3.347 3.347 0 00-.993-.272c-.168-.015-.336-.03-.504-.03H9.37 9.204c-.092.015-.169.015-.26.03-.336.06-.642.181-.932.348-.275.166-.52.363-.718.605a2.579 2.579 0 00-.459.757 2.63 2.63 0 00-.183.817v.393c.015.137.046.273.077.394.076.258.183.485.336.666.137.197.32.348.504.485.183.12.382.212.58.272.199.06.382.076.565.076h.244c.031 0 .047 0 .062-.015.015 0 .046-.015.061-.015.046-.016.076-.016.122-.03l.23-.092a.869.869 0 00.198-.12c.015-.016.03-.03.046-.03a.129.129 0 00.015-.198c-.046-.06-.122-.075-.183-.03-.015.015-.03.015-.046.03-.046.03-.107.046-.168.06l-.183.046c-.03 0-.061.015-.092.015H8.73a1.519 1.519 0 01-.825-.378 1.452 1.452 0 01-.306-.378 1.655 1.655 0 01-.168-.485c-.015-.09-.015-.166-.015-.257v-.106-.03c0-.046.015-.091.015-.136.061-.364.26-.727.55-1 .077-.075.153-.136.23-.181.076-.06.167-.106.259-.151.092-.046.183-.076.29-.106a.993.993 0 01.306-.046h.321c.107.015.229.03.336.046.214.045.427.12.626.242.397.212.733.56.947.969.107.211.183.423.214.65.015.06.015.121.015.167v.363c0 .06-.015.121-.015.182 0 .06-.015.12-.03.181l-.046.182c-.03.121-.077.242-.123.363a3.183 3.183 0 01-.366.666 3.002 3.002 0 01-1.91 1.18c-.122.016-.26.03-.382.046h-.198c-.061 0-.138 0-.199-.015a3.637 3.637 0 01-.81-.151 4.068 4.068 0 01-.748-.303 4.098 4.098 0 01-1.696-1.695 4.398 4.398 0 01-.29-.742c-.076-.257-.107-.514-.137-.772v-.302-.091c0-.136.015-.258.03-.394s.046-.272.061-.393c.03-.137.061-.258.092-.394a5.33 5.33 0 01.275-.741c.214-.47.504-.893.855-1.226.092-.091.184-.167.275-.243.092-.075.184-.136.29-.211a5.39 5.39 0 01.306-.182c.046-.03.107-.045.153-.076a.26.26 0 01.076-.03.26.26 0 01.077-.03c.107-.046.229-.091.336-.121.03-.015.06-.015.091-.03.03-.016.061-.016.092-.03.061-.016.122-.031.168-.046.03-.015.061-.015.092-.015.03 0 .06-.016.091-.016.03 0 .061-.015.092-.015l.046-.015h.046c.03 0 .06-.015.091-.015.03 0 .061-.015.107-.015.03 0 .077-.015.107-.015h.764c.23.015.443.03.657.075.428.076.84.212 1.207.394.366.182.702.393.977.636l.046.045.046.045c.03.03.061.061.107.091l.092.091.091.09c.123.122.23.258.336.394.199.258.367.515.49.772.014.015.014.03.03.046.015.015.015.03.015.045l.046.09.046.092.045.09c.046.122.092.228.123.333.06.167.107.318.137.455.015.045.061.09.122.075a.104.104 0 00.107-.106c.092-.227.092-.393.077-.575z' d='M13.985 7.175a4.408 4.408 0 00-.138-.802 5.035 5.035 0 00-1.054-1.998 2.96 2.96 0 00-.366-.393c.198-.787-.245-1.468-.245-1.468-.764-.046-1.237.227-1.42.363-.031-.015-.062-.03-.092-.03-.122-.046-.26-.106-.397-.137-.138-.045-.275-.075-.413-.12-.137-.031-.29-.061-.443-.092-.03 0-.046 0-.076-.015C9.005 1.44 8.058 1 8.058 1 7.004 1.666 6.79 2.604 6.79 2.604s0 .015-.016.06l-.183.046c-.076.03-.168.06-.244.076-.077.03-.168.06-.245.09-.153.076-.32.152-.473.228-.153.09-.306.181-.443.272-.016-.015-.03-.015-.03-.015-1.467-.545-2.766.136-2.766.136-.122 1.544.58 2.528.733 2.71-.03.09-.06.196-.091.287a8.104 8.104 0 00-.245 1.09c0 .06-.015.106-.015.166C1.397 8.386 1 9.748 1 9.748c1.13 1.287 2.46 1.377 2.46 1.377.167.303.366.575.58.848.092.106.183.212.29.318a3.014 3.014 0 00.061 2.149c1.268.045 2.093-.545 2.261-.681.122.045.26.076.382.106.382.106.78.151 1.176.181h.49c.595.848 1.634.954 1.634.954.748-.772.779-1.544.779-1.71v-.015-.03-.03c.153-.107.305-.228.443-.35a5.37 5.37 0 00.779-.892c.015-.03.046-.06.061-.09.84.045 1.436-.515 1.436-.515-.138-.863-.642-1.287-.749-1.378l-.015-.015h-.015s-.015 0-.015-.015c0-.045.015-.106.015-.151 0-.091.015-.182.015-.288V9.4v-.166-.076-.152l-.015-.075c-.015-.091-.03-.197-.061-.288a3.506 3.506 0 00-.428-1.044 3.856 3.856 0 00-.718-.848 3.784 3.784 0 00-.901-.575 3.347 3.347 0 00-.993-.272c-.168-.015-.336-.03-.504-.03H9.37 9.204c-.092.015-.169.015-.26.03-.336.06-.642.181-.932.348-.275.166-.52.363-.718.605a2.579 2.579 0 00-.459.757 2.63 2.63 0 00-.183.817v.393c.015.137.046.273.077.394.076.258.183.485.336.666.137.197.32.348.504.485.183.12.382.212.58.272.199.06.382.076.565.076h.244c.031 0 .047 0 .062-.015.015 0 .046-.015.061-.015.046-.016.076-.016.122-.03l.23-.092a.869.869 0 00.198-.12c.015-.016.03-.03.046-.03a.129.129 0 00.015-.198c-.046-.06-.122-.075-.183-.03-.015.015-.03.015-.046.03-.046.03-.107.046-.168.06l-.183.046c-.03 0-.061.015-.092.015H8.73a1.519 1.519 0 01-.825-.378 1.452 1.452 0 01-.306-.378 1.655 1.655 0 01-.168-.485c-.015-.09-.015-.166-.015-.257v-.106-.03c0-.046.015-.091.015-.136.061-.364.26-.727.55-1 .077-.075.153-.136.23-.181.076-.06.167-.106.259-.151.092-.046.183-.076.29-.106a.993.993 0 01.306-.046h.321c.107.015.229.03.336.046.214.045.427.12.626.242.397.212.733.56.947.969.107.211.183.423.214.65.015.06.015.121.015.167v.363c0 .06-.015.121-.015.182 0 .06-.015.12-.03.181l-.046.182c-.03.121-.077.242-.123.363a3.183 3.183 0 01-.366.666 3.002 3.002 0 01-1.91 1.18c-.122.016-.26.03-.382.046h-.198c-.061 0-.138 0-.199-.015a3.637 3.637 0 01-.81-.151 4.068 4.068 0 01-.748-.303 4.098 4.098 0 01-1.696-1.695 4.398 4.398 0 01-.29-.742c-.076-.257-.107-.514-.137-.772v-.302-.091c0-.136.015-.258.03-.394s.046-.272.061-.393c.03-.137.061-.258.092-.394a5.33 5.33 0 01.275-.741c.214-.47.504-.893.855-1.226.092-.091.184-.167.275-.243.092-.075.184-.136.29-.211a5.39 5.39 0 01.306-.182c.046-.03.107-.045.153-.076a.26.26 0 01.076-.03.26.26 0 01.077-.03c.107-.046.229-.091.336-.121.03-.015.06-.015.091-.03.03-.016.061-.016.092-.03.061-.016.122-.031.168-.046.03-.015.061-.015.092-.015.03 0 .06-.016.091-.016.03 0 .061-.015.092-.015l.046-.015h.046c.03 0 .06-.015.091-.015.03 0 .061-.015.107-.015.03 0 .077-.015.107-.015h.764c.23.015.443.03.657.075.428.076.84.212 1.207.394.366.182.702.393.977.636l.046.045.046.045c.03.03.061.061.107.091l.092.091.091.09c.123.122.23.258.336.394.199.258.367.515.49.772.014.015.014.03.03.046.015.015.015.03.015.045l.046.09.046.092.045.09c.046.122.092.228.123.333.06.167.107.318.137.455.015.045.061.09.122.075a.104.104 0 00.107-.106c.092-.227.092-.393.077-.575z'
/> />
<defs> <defs>
<linearGradient <linearGradient
id={gradientId} id='grafana-color-16__paint0_linear_2372_364'
x1='7.502' x1='7.502'
x2='7.502' x2='7.502'
y1='18.142' y1='18.142'
@@ -1240,10 +1236,6 @@ export function GoogleCalendarIcon(props: SVGProps<SVGSVGElement>) {
} }
export function SupabaseIcon(props: SVGProps<SVGSVGElement>) { export function SupabaseIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradient0 = `supabase_paint0_${id}`
const gradient1 = `supabase_paint1_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -1255,11 +1247,11 @@ export function SupabaseIcon(props: SVGProps<SVGSVGElement>) {
> >
<path <path
d='M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z' d='M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z'
fill={`url(#${gradient0})`} fill='url(#supabase_paint0_linear)'
/> />
<path <path
d='M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z' d='M15.4057 26.2606C14.7241 27.1195 13.3394 26.649 13.3242 25.5519L13.083 9.50684H23.8724C25.8262 9.50684 26.9157 11.7636 25.7006 13.2933L15.4057 26.2606Z'
fill={`url(#${gradient1})`} fill='url(#supabase_paint1_linear)'
fillOpacity='0.2' fillOpacity='0.2'
/> />
<path <path
@@ -1268,7 +1260,7 @@ export function SupabaseIcon(props: SVGProps<SVGSVGElement>) {
/> />
<defs> <defs>
<linearGradient <linearGradient
id={gradient0} id='supabase_paint0_linear'
x1='13.084' x1='13.084'
y1='13.0655' y1='13.0655'
x2='22.6727' x2='22.6727'
@@ -1279,7 +1271,7 @@ export function SupabaseIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' stopColor='#3ECF8E' /> <stop offset='1' stopColor='#3ECF8E' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={gradient1} id='supabase_paint1_linear'
x1='8.83277' x1='8.83277'
y1='7.24485' y1='7.24485'
x2='13.2057' x2='13.2057'
@@ -1489,9 +1481,6 @@ export function DocumentIcon(props: SVGProps<SVGSVGElement>) {
} }
export function MistralIcon(props: SVGProps<SVGSVGElement>) { export function MistralIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const clipId = `mistral_clip_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -1502,7 +1491,7 @@ export function MistralIcon(props: SVGProps<SVGSVGElement>) {
xmlns='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg'
preserveAspectRatio='xMidYMid meet' preserveAspectRatio='xMidYMid meet'
> >
<g clipPath={`url(#${clipId})`}> <g clipPath='url(#clip0_1621_58)'>
<path d='M17.4541 0H21.8177V4.39481H17.4541V0Z' fill='black' /> <path d='M17.4541 0H21.8177V4.39481H17.4541V0Z' fill='black' />
<path d='M19.6367 0H24.0003V4.39481H19.6367V0Z' fill='#F7D046' /> <path d='M19.6367 0H24.0003V4.39481H19.6367V0Z' fill='#F7D046' />
<path <path
@@ -1539,7 +1528,7 @@ export function MistralIcon(props: SVGProps<SVGSVGElement>) {
/> />
</g> </g>
<defs> <defs>
<clipPath id={clipId}> <clipPath id='clip0_1621_58'>
<rect width='24' height='22' fill='white' /> <rect width='24' height='22' fill='white' />
</clipPath> </clipPath>
</defs> </defs>
@@ -2107,23 +2096,6 @@ export function ClayIcon(props: SVGProps<SVGSVGElement>) {
) )
} }
export function ClerkIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 128 128' fill='none' xmlns='http://www.w3.org/2000/svg'>
<circle cx='64' cy='64' r='20' fill='white' />
<path
d='M99.5716 10.788C101.571 12.1272 101.742 14.9444 100.04 16.646L85.4244 31.2618C84.1035 32.5828 82.0542 32.7914 80.3915 31.9397C75.4752 29.421 69.9035 28 64 28C44.1177 28 28 44.1177 28 64C28 69.9035 29.421 75.4752 31.9397 80.3915C32.7914 82.0542 32.5828 84.1035 31.2618 85.4244L16.646 100.04C14.9444 101.742 12.1272 101.571 10.788 99.5716C3.97411 89.3989 0 77.1635 0 64C0 28.6538 28.6538 0 64 0C77.1635 0 89.3989 3.97411 99.5716 10.788Z'
fill='white'
fillOpacity='0.4'
/>
<path
d='M100.04 111.354C101.742 113.056 101.571 115.873 99.5717 117.212C89.3989 124.026 77.1636 128 64 128C50.8364 128 38.6011 124.026 28.4283 117.212C26.4289 115.873 26.2581 113.056 27.9597 111.354L42.5755 96.7382C43.8965 95.4172 45.9457 95.2085 47.6084 96.0603C52.5248 98.579 58.0964 100 64 100C69.9036 100 75.4753 98.579 80.3916 96.0603C82.0543 95.2085 84.1036 95.4172 85.4245 96.7382L100.04 111.354Z'
fill='white'
/>
</svg>
)
}
export function MicrosoftIcon(props: SVGProps<SVGSVGElement>) { export function MicrosoftIcon(props: SVGProps<SVGSVGElement>) {
return ( return (
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23' {...props}> <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23' {...props}>
@@ -2137,9 +2109,6 @@ export function MicrosoftIcon(props: SVGProps<SVGSVGElement>) {
} }
export function MicrosoftTeamsIcon(props: SVGProps<SVGSVGElement>) { export function MicrosoftTeamsIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradientId = `msteams_gradient_${id}`
return ( return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2228.833 2073.333'> <svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2228.833 2073.333'>
<path <path
@@ -2185,7 +2154,7 @@ export function MicrosoftTeamsIcon(props: SVGProps<SVGSVGElement>) {
d='M1140.333,561.355v103.148c-104.963-24.857-191.679-98.469-233.25-198.003 h138.395C1097.783,466.699,1140.134,509.051,1140.333,561.355z' d='M1140.333,561.355v103.148c-104.963-24.857-191.679-98.469-233.25-198.003 h138.395C1097.783,466.699,1140.134,509.051,1140.333,561.355z'
/> />
<linearGradient <linearGradient
id={gradientId} id='msteams_gradient_a'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='198.099' x1='198.099'
y1='1683.0726' y1='1683.0726'
@@ -2201,7 +2170,7 @@ export function MicrosoftTeamsIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' stopColor='#3940ab' /> <stop offset='1' stopColor='#3940ab' />
</linearGradient> </linearGradient>
<path <path
fill={`url(#${gradientId})`} fill='url(#msteams_gradient_a)'
d='M95.01,466.5h950.312c52.473,0,95.01,42.538,95.01,95.01v950.312c0,52.473-42.538,95.01-95.01,95.01 H95.01c-52.473,0-95.01-42.538-95.01-95.01V561.51C0,509.038,42.538,466.5,95.01,466.5z' d='M95.01,466.5h950.312c52.473,0,95.01,42.538,95.01,95.01v950.312c0,52.473-42.538,95.01-95.01,95.01 H95.01c-52.473,0-95.01-42.538-95.01-95.01V561.51C0,509.038,42.538,466.5,95.01,466.5z'
/> />
<path <path
@@ -2213,10 +2182,6 @@ export function MicrosoftTeamsIcon(props: SVGProps<SVGSVGElement>) {
} }
export function OutlookIcon(props: SVGProps<SVGSVGElement>) { export function OutlookIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradient1 = `outlook_gradient1_${id}`
const gradient2 = `outlook_gradient2_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -2246,7 +2211,7 @@ export function OutlookIcon(props: SVGProps<SVGSVGElement>) {
<path fill='#14447D' d='M520.453,1025.151h416.38v346.969h-416.38V1025.151z' /> <path fill='#14447D' d='M520.453,1025.151h416.38v346.969h-416.38V1025.151z' />
<path fill='#0078D4' d='M1362.667,1022h383.25v383.25h-383.25V1022z' /> <path fill='#0078D4' d='M1362.667,1022h383.25v383.25h-383.25V1022z' />
<linearGradient <linearGradient
id={gradient1} id='SVGID_1_'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='1128.4584' x1='1128.4584'
y1='811.0833' y1='811.0833'
@@ -2258,7 +2223,7 @@ export function OutlookIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' style={{ stopColor: '#28A8EA' }} /> <stop offset='1' style={{ stopColor: '#28A8EA' }} />
</linearGradient> </linearGradient>
<path <path
fill={`url(#${gradient1})`} fill='url(#SVGID_1_)'
d='M1811.58,927.593l-0.809,0.426l-634.492,356.848c-2.768,1.703-5.578,3.321-8.517,4.769 c-10.777,5.132-22.481,8.029-34.407,8.517l-34.663-20.27c-2.929-1.47-5.773-3.105-8.517-4.897L447.167,906.003h-0.298 l-21.036-11.753v722.384c0.328,48.196,39.653,87.006,87.849,86.7h1230.914c0.724,0,1.363-0.341,2.129-0.341 c10.18-0.651,20.216-2.745,29.808-6.217c4.145-1.756,8.146-3.835,11.966-6.217c2.853-1.618,7.75-5.152,7.75-5.152 c21.814-16.142,34.726-41.635,34.833-68.772V894.25C1831.068,908.067,1823.616,920.807,1811.58,927.593z' d='M1811.58,927.593l-0.809,0.426l-634.492,356.848c-2.768,1.703-5.578,3.321-8.517,4.769 c-10.777,5.132-22.481,8.029-34.407,8.517l-34.663-20.27c-2.929-1.47-5.773-3.105-8.517-4.897L447.167,906.003h-0.298 l-21.036-11.753v722.384c0.328,48.196,39.653,87.006,87.849,86.7h1230.914c0.724,0,1.363-0.341,2.129-0.341 c10.18-0.651,20.216-2.745,29.808-6.217c4.145-1.756,8.146-3.835,11.966-6.217c2.853-1.618,7.75-5.152,7.75-5.152 c21.814-16.142,34.726-41.635,34.833-68.772V894.25C1831.068,908.067,1823.616,920.807,1811.58,927.593z'
/> />
<path <path
@@ -2306,7 +2271,7 @@ export function OutlookIcon(props: SVGProps<SVGSVGElement>) {
d='M936.833,461.305v823.136c-0.046,43.067-34.861,78.015-77.927,78.225H425.833 V383.25h433.072c43.062,0.023,77.951,34.951,77.927,78.013C936.833,461.277,936.833,461.291,936.833,461.305z' d='M936.833,461.305v823.136c-0.046,43.067-34.861,78.015-77.927,78.225H425.833 V383.25h433.072c43.062,0.023,77.951,34.951,77.927,78.013C936.833,461.277,936.833,461.291,936.833,461.305z'
/> />
<linearGradient <linearGradient
id={gradient2} id='SVGID_2_'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='162.7469' x1='162.7469'
y1='1383.0741' y1='1383.0741'
@@ -2319,7 +2284,7 @@ export function OutlookIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' style={{ stopColor: '#0A63C9' }} /> <stop offset='1' style={{ stopColor: '#0A63C9' }} />
</linearGradient> </linearGradient>
<path <path
fill={`url(#${gradient2})`} fill='url(#SVGID_2_)'
d='M78.055,383.25h780.723c43.109,0,78.055,34.947,78.055,78.055v780.723 c0,43.109-34.946,78.055-78.055,78.055H78.055c-43.109,0-78.055-34.947-78.055-78.055V461.305 C0,418.197,34.947,383.25,78.055,383.25z' d='M78.055,383.25h780.723c43.109,0,78.055,34.947,78.055,78.055v780.723 c0,43.109-34.946,78.055-78.055,78.055H78.055c-43.109,0-78.055-34.947-78.055-78.055V461.305 C0,418.197,34.947,383.25,78.055,383.25z'
/> />
<path <path
@@ -2332,9 +2297,6 @@ export function OutlookIcon(props: SVGProps<SVGSVGElement>) {
} }
export function MicrosoftExcelIcon(props: SVGProps<SVGSVGElement>) { export function MicrosoftExcelIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradientId = `excel_gradient_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -2376,7 +2338,7 @@ export function MicrosoftExcelIcon(props: SVGProps<SVGSVGElement>) {
d='M1073.893,479.25H532.5V1704h541.393c53.834-0.175,97.432-43.773,97.607-97.607 V576.857C1171.325,523.023,1127.727,479.425,1073.893,479.25z' d='M1073.893,479.25H532.5V1704h541.393c53.834-0.175,97.432-43.773,97.607-97.607 V576.857C1171.325,523.023,1127.727,479.425,1073.893,479.25z'
/> />
<linearGradient <linearGradient
id={gradientId} id='SVGID_1_'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='203.5132' x1='203.5132'
y1='1729.0183' y1='1729.0183'
@@ -2389,7 +2351,7 @@ export function MicrosoftExcelIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' style={{ stopColor: '#0B6631' }} /> <stop offset='1' style={{ stopColor: '#0B6631' }} />
</linearGradient> </linearGradient>
<path <path
fill={`url(#${gradientId})`} fill='url(#SVGID_1_)'
d='M97.607,479.25h976.285c53.907,0,97.607,43.7,97.607,97.607v976.285 c0,53.907-43.7,97.607-97.607,97.607H97.607C43.7,1650.75,0,1607.05,0,1553.143V576.857C0,522.95,43.7,479.25,97.607,479.25z' d='M97.607,479.25h976.285c53.907,0,97.607,43.7,97.607,97.607v976.285 c0,53.907-43.7,97.607-97.607,97.607H97.607C43.7,1650.75,0,1607.05,0,1553.143V576.857C0,522.95,43.7,479.25,97.607,479.25z'
/> />
<path <path
@@ -2503,13 +2465,7 @@ export const AnthropicIcon = (props: SVGProps<SVGSVGElement>) => (
</svg> </svg>
) )
export function AzureIcon(props: SVGProps<SVGSVGElement>) { export const AzureIcon = (props: SVGProps<SVGSVGElement>) => (
const id = useId()
const gradient0 = `azure_paint0_${id}`
const gradient1 = `azure_paint1_${id}`
const gradient2 = `azure_paint2_${id}`
return (
<svg <svg
{...props} {...props}
width='18' width='18'
@@ -2520,7 +2476,7 @@ export function AzureIcon(props: SVGProps<SVGSVGElement>) {
> >
<path <path
d='M5.33492 1.37491C5.44717 1.04229 5.75909 0.818359 6.11014 0.818359H11.25L5.91513 16.6255C5.80287 16.9581 5.49095 17.182 5.13991 17.182H1.13968C0.579936 17.182 0.185466 16.6325 0.364461 16.1022L5.33492 1.37491Z' d='M5.33492 1.37491C5.44717 1.04229 5.75909 0.818359 6.11014 0.818359H11.25L5.91513 16.6255C5.80287 16.9581 5.49095 17.182 5.13991 17.182H1.13968C0.579936 17.182 0.185466 16.6325 0.364461 16.1022L5.33492 1.37491Z'
fill={`url(#${gradient0})`} fill='url(#paint0_linear_6102_134469)'
/> />
<path <path
d='M13.5517 11.4546H5.45126C5.1109 11.4546 4.94657 11.8715 5.19539 12.1037L10.4005 16.9618C10.552 17.1032 10.7515 17.1819 10.9587 17.1819H15.5453L13.5517 11.4546Z' d='M13.5517 11.4546H5.45126C5.1109 11.4546 4.94657 11.8715 5.19539 12.1037L10.4005 16.9618C10.552 17.1032 10.7515 17.1819 10.9587 17.1819H15.5453L13.5517 11.4546Z'
@@ -2528,15 +2484,15 @@ export function AzureIcon(props: SVGProps<SVGSVGElement>) {
/> />
<path <path
d='M6.11014 0.818359C5.75909 0.818359 5.44717 1.04229 5.33492 1.37491L0.364461 16.1022C0.185466 16.6325 0.579936 17.182 1.13968 17.182H5.13991C5.49095 17.182 5.80287 16.9581 5.91513 16.6255L6.90327 13.6976L10.4005 16.9617C10.552 17.1032 10.7515 17.1818 10.9588 17.1818H15.5454L13.5517 11.4545H7.66032L11.25 0.818359H6.11014Z' d='M6.11014 0.818359C5.75909 0.818359 5.44717 1.04229 5.33492 1.37491L0.364461 16.1022C0.185466 16.6325 0.579936 17.182 1.13968 17.182H5.13991C5.49095 17.182 5.80287 16.9581 5.91513 16.6255L6.90327 13.6976L10.4005 16.9617C10.552 17.1032 10.7515 17.1818 10.9588 17.1818H15.5454L13.5517 11.4545H7.66032L11.25 0.818359H6.11014Z'
fill={`url(#${gradient1})`} fill='url(#paint1_linear_6102_134469)'
/> />
<path <path
d='M12.665 1.37478C12.5528 1.04217 12.2409 0.818237 11.8898 0.818237H6.13629H6.16254C6.51358 0.818237 6.82551 1.04217 6.93776 1.37478L11.9082 16.1021C12.0872 16.6324 11.6927 17.1819 11.133 17.1819H11.0454H16.8603C17.42 17.1819 17.8145 16.6324 17.6355 16.1021L12.665 1.37478Z' d='M12.665 1.37478C12.5528 1.04217 12.2409 0.818237 11.8898 0.818237H6.13629H6.16254C6.51358 0.818237 6.82551 1.04217 6.93776 1.37478L11.9082 16.1021C12.0872 16.6324 11.6927 17.1819 11.133 17.1819H11.0454H16.8603C17.42 17.1819 17.8145 16.6324 17.6355 16.1021L12.665 1.37478Z'
fill={`url(#${gradient2})`} fill='url(#paint2_linear_6102_134469)'
/> />
<defs> <defs>
<linearGradient <linearGradient
id={gradient0} id='paint0_linear_6102_134469'
x1='6.07512' x1='6.07512'
y1='1.38476' y1='1.38476'
x2='0.738178' x2='0.738178'
@@ -2547,7 +2503,7 @@ export function AzureIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' stopColor='#0669BC' /> <stop offset='1' stopColor='#0669BC' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={gradient1} id='paint1_linear_6102_134469'
x1='10.3402' x1='10.3402'
y1='11.4564' y1='11.4564'
x2='9.107' x2='9.107'
@@ -2561,7 +2517,7 @@ export function AzureIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='1' stopOpacity='0' /> <stop offset='1' stopOpacity='0' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={gradient2} id='paint2_linear_6102_134469'
x1='9.45858' x1='9.45858'
y1='1.38467' y1='1.38467'
x2='15.3168' x2='15.3168'
@@ -2574,7 +2530,6 @@ export function AzureIcon(props: SVGProps<SVGSVGElement>) {
</defs> </defs>
</svg> </svg>
) )
}
export const GroqIcon = (props: SVGProps<SVGSVGElement>) => ( export const GroqIcon = (props: SVGProps<SVGSVGElement>) => (
<svg <svg
@@ -2601,15 +2556,11 @@ export const DeepseekIcon = (props: SVGProps<SVGSVGElement>) => (
</svg> </svg>
) )
export function GeminiIcon(props: SVGProps<SVGSVGElement>) { export const GeminiIcon = (props: SVGProps<SVGSVGElement>) => (
const id = useId()
const gradientId = `gemini_gradient_${id}`
return (
<svg {...props} height='1em' viewBox='0 0 24 24' width='1em' xmlns='http://www.w3.org/2000/svg'> <svg {...props} height='1em' viewBox='0 0 24 24' width='1em' xmlns='http://www.w3.org/2000/svg'>
<title>Gemini</title> <title>Gemini</title>
<defs> <defs>
<linearGradient id={gradientId} x1='0%' x2='68.73%' y1='100%' y2='30.395%'> <linearGradient id='lobe-icons-gemini-fill' x1='0%' x2='68.73%' y1='100%' y2='30.395%'>
<stop offset='0%' stopColor='#1C7DFF' /> <stop offset='0%' stopColor='#1C7DFF' />
<stop offset='52.021%' stopColor='#1C69FF' /> <stop offset='52.021%' stopColor='#1C69FF' />
<stop offset='100%' stopColor='#F0DCD6' /> <stop offset='100%' stopColor='#F0DCD6' />
@@ -2617,12 +2568,11 @@ export function GeminiIcon(props: SVGProps<SVGSVGElement>) {
</defs> </defs>
<path <path
d='M12 24A14.304 14.304 0 000 12 14.304 14.304 0 0012 0a14.305 14.305 0 0012 12 14.305 14.305 0 00-12 12' d='M12 24A14.304 14.304 0 000 12 14.304 14.304 0 0012 0a14.305 14.305 0 0012 12 14.305 14.305 0 00-12 12'
fill={`url(#${gradientId})`} fill='url(#lobe-icons-gemini-fill)'
fillRule='nonzero' fillRule='nonzero'
/> />
</svg> </svg>
) )
}
export const VertexIcon = (props: SVGProps<SVGSVGElement>) => ( export const VertexIcon = (props: SVGProps<SVGSVGElement>) => (
<svg <svg
@@ -2785,13 +2735,9 @@ export function ScheduleIcon(props: SVGProps<SVGSVGElement>) {
} }
export function QdrantIcon(props: SVGProps<SVGSVGElement>) { export function QdrantIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradientId = `qdrant_gradient_${id}`
const clipPathId = `qdrant_clippath_${id}`
return ( return (
<svg {...props} fill='none' viewBox='0 0 49 56' xmlns='http://www.w3.org/2000/svg'> <svg {...props} fill='none' viewBox='0 0 49 56' xmlns='http://www.w3.org/2000/svg'>
<g clipPath={`url(#${clipPathId})`}> <g clipPath='url(#qdrant_clippath_b)'>
<path <path
d='m38.489 51.477-1.1167-30.787-2.0223-8.1167 13.498 1.429v37.242l-8.2456 4.7589-2.1138-4.5259z' d='m38.489 51.477-1.1167-30.787-2.0223-8.1167 13.498 1.429v37.242l-8.2456 4.7589-2.1138-4.5259z'
clipRule='evenodd' clipRule='evenodd'
@@ -2842,12 +2788,12 @@ export function QdrantIcon(props: SVGProps<SVGSVGElement>) {
/> />
<path <path
d='m24.603 46.483v-9.5222l-7.7166-4.4411v9.5064l7.7166 4.4569z' d='m24.603 46.483v-9.5222l-7.7166-4.4411v9.5064l7.7166 4.4569z'
fill={`url(#${gradientId})`} fill='url(#qdrant_gradient_a)'
/> />
</g> </g>
<defs> <defs>
<linearGradient <linearGradient
id={gradientId} id='qdrant_gradient_a'
x1='23.18' x1='23.18'
x2='15.491' x2='15.491'
y1='38.781' y1='38.781'
@@ -2857,7 +2803,7 @@ export function QdrantIcon(props: SVGProps<SVGSVGElement>) {
<stop stopColor='#FF3364' offset='0' /> <stop stopColor='#FF3364' offset='0' />
<stop stopColor='#C91540' stopOpacity='0' offset='1' /> <stop stopColor='#C91540' stopOpacity='0' offset='1' />
</linearGradient> </linearGradient>
<clipPath id={clipPathId}> <clipPath id='qdrant_clippath_b'>
<rect transform='translate(.34961)' width='48.3' height='56' fill='#fff' /> <rect transform='translate(.34961)' width='48.3' height='56' fill='#fff' />
</clipPath> </clipPath>
</defs> </defs>
@@ -3291,13 +3237,9 @@ export const SOC2BadgeIcon = (props: SVGProps<SVGSVGElement>) => (
</svg> </svg>
) )
export function HIPAABadgeIcon(props: SVGProps<SVGSVGElement>) { export const HIPAABadgeIcon = (props: SVGProps<SVGSVGElement>) => (
const id = useId()
const clipId = `hipaa_clip_${id}`
return (
<svg {...props} viewBox='0 0 46 40' fill='none' xmlns='http://www.w3.org/2000/svg'> <svg {...props} viewBox='0 0 46 40' fill='none' xmlns='http://www.w3.org/2000/svg'>
<g clipPath={`url(#${clipId})`}> <g clipPath='url(#clip0_122_4972)'>
<path <path
fillRule='evenodd' fillRule='evenodd'
clipRule='evenodd' clipRule='evenodd'
@@ -3311,13 +3253,12 @@ export function HIPAABadgeIcon(props: SVGProps<SVGSVGElement>) {
/> />
</g> </g>
<defs> <defs>
<clipPath id={clipId}> <clipPath id='clip0_122_4972'>
<rect width='45.8537' height='40' fill='white' /> <rect width='45.8537' height='40' fill='white' />
</clipPath> </clipPath>
</defs> </defs>
</svg> </svg>
) )
}
export function GoogleFormsIcon(props: SVGProps<SVGSVGElement>) { export function GoogleFormsIcon(props: SVGProps<SVGSVGElement>) {
return ( return (
@@ -3334,6 +3275,19 @@ export function GoogleFormsIcon(props: SVGProps<SVGSVGElement>) {
d='M19.229 50.292h16.271v-2.959H19.229v2.959Zm0-17.75v2.958h16.271v-2.958H19.229Zm-3.698 1.479c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm0 7.396c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm0 7.396c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm3.698-5.917h16.271v-2.959H19.229v2.959Z' d='M19.229 50.292h16.271v-2.959H19.229v2.959Zm0-17.75v2.958h16.271v-2.958H19.229Zm-3.698 1.479c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm0 7.396c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm0 7.396c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm3.698-5.917h16.271v-2.959H19.229v2.959Z'
fill='#F1F1F1' fill='#F1F1F1'
/> />
<defs>
<linearGradient
id='gf-gradient'
x1='30.881'
y1='16.452'
x2='47.333'
y2='32.9'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#9575CD' />
<stop offset='1' stopColor='#7E57C2' />
</linearGradient>
</defs>
</svg> </svg>
) )
} }
@@ -3782,9 +3736,6 @@ export function SentryIcon(props: SVGProps<SVGSVGElement>) {
} }
export function IncidentioIcon(props: SVGProps<SVGSVGElement>) { export function IncidentioIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const clipId = `incidentio_clip_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -3794,7 +3745,7 @@ export function IncidentioIcon(props: SVGProps<SVGSVGElement>) {
fill='none' fill='none'
xmlns='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg'
> >
<g clipPath={`url(#${clipId})`}> <g clipPath='url(#clip0_1361_12561)'>
<path <path
fillRule='evenodd' fillRule='evenodd'
clipRule='evenodd' clipRule='evenodd'
@@ -3803,7 +3754,7 @@ export function IncidentioIcon(props: SVGProps<SVGSVGElement>) {
/> />
</g> </g>
<defs> <defs>
<clipPath id={clipId}> <clipPath id='clip0_1361_12561'>
<rect width='128' height='163' fill='white' /> <rect width='128' height='163' fill='white' />
</clipPath> </clipPath>
</defs> </defs>
@@ -4027,9 +3978,6 @@ export function SftpIcon(props: SVGProps<SVGSVGElement>) {
} }
export function ApifyIcon(props: SVGProps<SVGSVGElement>) { export function ApifyIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const clipId = `apify_clip_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -4039,7 +3987,7 @@ export function ApifyIcon(props: SVGProps<SVGSVGElement>) {
fill='none' fill='none'
xmlns='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg'
> >
<g clipPath={`url(#${clipId})`}> <g clipPath='url(#clip0_267_4154)'>
<path <path
d='M114.695 0H196.97C198.643 0 200 1.35671 200 3.03031V128.766C200 131.778 196.083 132.945 194.434 130.425L112.159 4.68953C110.841 2.67412 112.287 0 114.695 0Z' d='M114.695 0H196.97C198.643 0 200 1.35671 200 3.03031V128.766C200 131.778 196.083 132.945 194.434 130.425L112.159 4.68953C110.841 2.67412 112.287 0 114.695 0Z'
fill='#246DFF' fill='#246DFF'
@@ -4054,7 +4002,7 @@ export function ApifyIcon(props: SVGProps<SVGSVGElement>) {
/> />
</g> </g>
<defs> <defs>
<clipPath id={clipId}> <clipPath id='clip0_267_4154'>
<rect width='200' height='200' fill='white' /> <rect width='200' height='200' fill='white' />
</clipPath> </clipPath>
</defs> </defs>
@@ -4163,9 +4111,6 @@ export function TextractIcon(props: SVGProps<SVGSVGElement>) {
} }
export function McpIcon(props: SVGProps<SVGSVGElement>) { export function McpIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const clipId = `mcp_clip_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -4175,7 +4120,7 @@ export function McpIcon(props: SVGProps<SVGSVGElement>) {
fill='none' fill='none'
xmlns='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg'
> >
<g clipPath={`url(#${clipId})`}> <g clipPath='url(#mcp-clip)'>
<path <path
fillRule='evenodd' fillRule='evenodd'
clipRule='evenodd' clipRule='evenodd'
@@ -4184,7 +4129,7 @@ export function McpIcon(props: SVGProps<SVGSVGElement>) {
/> />
</g> </g>
<defs> <defs>
<clipPath id={clipId}> <clipPath id='mcp-clip'>
<rect width='16' height='16' fill='white' /> <rect width='16' height='16' fill='white' />
</clipPath> </clipPath>
</defs> </defs>
@@ -4516,10 +4461,6 @@ export function GrainIcon(props: SVGProps<SVGSVGElement>) {
} }
export function CirclebackIcon(props: SVGProps<SVGSVGElement>) { export function CirclebackIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const patternId = `circleback_pattern_${id}`
const imageId = `circleback_image_${id}`
return ( return (
<svg <svg
{...props} {...props}
@@ -4530,13 +4471,13 @@ export function CirclebackIcon(props: SVGProps<SVGSVGElement>) {
xmlns='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg'
xmlnsXlink='http://www.w3.org/1999/xlink' xmlnsXlink='http://www.w3.org/1999/xlink'
> >
<rect width='280' height='280' fill={`url(#${patternId})`} /> <rect width='280' height='280' fill='url(#pattern0_5_2)' />
<defs> <defs>
<pattern id={patternId} patternContentUnits='objectBoundingBox' width='1' height='1'> <pattern id='pattern0_5_2' patternContentUnits='objectBoundingBox' width='1' height='1'>
<use xlinkHref={`#${imageId}`} transform='scale(0.00357143)' /> <use xlinkHref='#image0_5_2' transform='scale(0.00357143)' />
</pattern> </pattern>
<image <image
id={imageId} id='image0_5_2'
width='280' width='280'
height='280' height='280'
preserveAspectRatio='none' preserveAspectRatio='none'
@@ -4576,21 +4517,11 @@ export function JiraServiceManagementIcon(props: SVGProps<SVGSVGElement>) {
} }
export function FirefliesIcon(props: SVGProps<SVGSVGElement>) { export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const g1 = `fireflies_g1_${id}`
const g2 = `fireflies_g2_${id}`
const g3 = `fireflies_g3_${id}`
const g4 = `fireflies_g4_${id}`
const g5 = `fireflies_g5_${id}`
const g6 = `fireflies_g6_${id}`
const g7 = `fireflies_g7_${id}`
const g8 = `fireflies_g8_${id}`
return ( return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 68 68'> <svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 68 68'>
<defs> <defs>
<linearGradient <linearGradient
id={g1} id='fireflies_g1'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='144.6644' x1='144.6644'
y1='-133.7781' y1='-133.7781'
@@ -4606,7 +4537,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3B73FF' /> <stop offset='0.994' stopColor='#3B73FF' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g2} id='fireflies_g2'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='145.1664' x1='145.1664'
y1='-133.3084' y1='-133.3084'
@@ -4622,7 +4553,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3B73FF' /> <stop offset='0.994' stopColor='#3B73FF' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g3} id='fireflies_g3'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='144.7625' x1='144.7625'
y1='-123.2011' y1='-123.2011'
@@ -4638,7 +4569,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3B73FF' /> <stop offset='0.994' stopColor='#3B73FF' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g4} id='fireflies_g4'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='134.8237' x1='134.8237'
y1='-132.3271' y1='-132.3271'
@@ -4654,7 +4585,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3B73FF' /> <stop offset='0.994' stopColor='#3B73FF' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g5} id='fireflies_g5'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='82.2078' x1='82.2078'
y1='-52.7908' y1='-52.7908'
@@ -4670,7 +4601,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3D081E' /> <stop offset='0.994' stopColor='#3D081E' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g6} id='fireflies_g6'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='107.6542' x1='107.6542'
y1='-78.5296' y1='-78.5296'
@@ -4686,7 +4617,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3D081E' /> <stop offset='0.994' stopColor='#3D081E' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g7} id='fireflies_g7'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='70.8311' x1='70.8311'
y1='-99.3209' y1='-99.3209'
@@ -4702,7 +4633,7 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
<stop offset='0.994' stopColor='#3D081E' /> <stop offset='0.994' stopColor='#3D081E' />
</linearGradient> </linearGradient>
<linearGradient <linearGradient
id={g8} id='fireflies_g8'
gradientUnits='userSpaceOnUse' gradientUnits='userSpaceOnUse'
x1='297.6904' x1='297.6904'
y1='-1360.8851' y1='-1360.8851'
@@ -4719,25 +4650,25 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
</linearGradient> </linearGradient>
</defs> </defs>
<g> <g>
<path fill={`url(#${g1})`} d='M18.4,0H0v18.3h18.4V0z' /> <path fill='url(#fireflies_g1)' d='M18.4,0H0v18.3h18.4V0z' />
<path fill={`url(#${g2})`} d='M40.2,22.1H21.8v18.3h18.4V22.1z' /> <path fill='url(#fireflies_g2)' d='M40.2,22.1H21.8v18.3h18.4V22.1z' />
<path <path
fill={`url(#${g3})`} fill='url(#fireflies_g3)'
d='M40.2,0H21.8v18.3H56v-2.6c0-4.2-1.7-8.1-4.6-11.1C48.4,1.7,44.4,0,40.2,0L40.2,0z' d='M40.2,0H21.8v18.3H56v-2.6c0-4.2-1.7-8.1-4.6-11.1C48.4,1.7,44.4,0,40.2,0L40.2,0z'
/> />
<path <path
fill={`url(#${g4})`} fill='url(#fireflies_g4)'
d='M0,22.1v18.3c0,4.2,1.7,8.1,4.6,11.1c3,2.9,7,4.6,11.2,4.6h2.6V22.1H0z' d='M0,22.1v18.3c0,4.2,1.7,8.1,4.6,11.1c3,2.9,7,4.6,11.2,4.6h2.6V22.1H0z'
/> />
<path fill={`url(#${g5})`} opacity='0.18' d='M0,0l18.4,18.3H0V0z' /> <path fill='url(#fireflies_g5)' opacity='0.18' d='M0,0l18.4,18.3H0V0z' />
<path fill={`url(#${g6})`} opacity='0.18' d='M21.8,22.1l18.4,18.3H21.8V22.1z' /> <path fill='url(#fireflies_g6)' opacity='0.18' d='M21.8,22.1l18.4,18.3H21.8V22.1z' />
<path <path
fill={`url(#${g7})`} fill='url(#fireflies_g7)'
opacity='0.18' opacity='0.18'
d='M0,40.3c0,4.2,1.7,8.1,4.6,11.1c3,2.9,7,4.6,11.2,4.6h2.6V22.1L0,40.3z' d='M0,40.3c0,4.2,1.7,8.1,4.6,11.1c3,2.9,7,4.6,11.2,4.6h2.6V22.1L0,40.3z'
/> />
<path <path
fill={`url(#${g8})`} fill='url(#fireflies_g8)'
opacity='0.18' opacity='0.18'
d='M40.2,0c4.2,0,8.2,1.7,11.2,4.6c3,2.9,4.6,6.9,4.6,11.1v2.6H21.8L40.2,0z' d='M40.2,0c4.2,0,8.2,1.7,11.2,4.6c3,2.9,4.6,6.9,4.6,11.1v2.6H21.8L40.2,0z'
/> />
@@ -4747,13 +4678,10 @@ export function FirefliesIcon(props: SVGProps<SVGSVGElement>) {
} }
export function BedrockIcon(props: SVGProps<SVGSVGElement>) { export function BedrockIcon(props: SVGProps<SVGSVGElement>) {
const id = useId()
const gradientId = `bedrock_gradient_${id}`
return ( return (
<svg {...props} viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <svg {...props} viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'>
<defs> <defs>
<linearGradient id={gradientId} x1='80%' x2='20%' y1='20%' y2='80%'> <linearGradient id='bedrock_gradient' x1='80%' x2='20%' y1='20%' y2='80%'>
<stop offset='0%' stopColor='#6350FB' /> <stop offset='0%' stopColor='#6350FB' />
<stop offset='50%' stopColor='#3D8FFF' /> <stop offset='50%' stopColor='#3D8FFF' />
<stop offset='100%' stopColor='#9AD8F8' /> <stop offset='100%' stopColor='#9AD8F8' />
@@ -4761,7 +4689,7 @@ export function BedrockIcon(props: SVGProps<SVGSVGElement>) {
</defs> </defs>
<path <path
d='M13.05 15.513h3.08c.214 0 .389.177.389.394v1.82a1.704 1.704 0 011.296 1.661c0 .943-.755 1.708-1.685 1.708-.931 0-1.686-.765-1.686-1.708 0-.807.554-1.484 1.297-1.662v-1.425h-2.69v4.663a.395.395 0 01-.188.338l-2.69 1.641a.385.385 0 01-.405-.002l-4.926-3.086a.395.395 0 01-.185-.336V16.3L2.196 14.87A.395.395 0 012 14.555L2 14.528V9.406c0-.14.073-.27.192-.34l2.465-1.462V4.448c0-.129.062-.249.165-.322l.021-.014L9.77 1.058a.385.385 0 01.407 0l2.69 1.675a.395.395 0 01.185.336V7.6h3.856V5.683a1.704 1.704 0 01-1.296-1.662c0-.943.755-1.708 1.685-1.708.931 0 1.685.765 1.685 1.708 0 .807-.553 1.484-1.296 1.662v2.311a.391.391 0 01-.389.394h-4.245v1.806h6.624a1.69 1.69 0 011.64-1.313c.93 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708a1.69 1.69 0 01-1.64-1.314H13.05v1.937h4.953l.915 1.18a1.66 1.66 0 01.84-.227c.931 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708-.93 0-1.685-.765-1.685-1.708 0-.346.102-.668.276-.937l-.724-.935H13.05v1.806zM9.973 1.856L7.93 3.122V6.09h-.778V3.604L5.435 4.669v2.945l2.11 1.36L9.712 7.61V5.334h.778V7.83c0 .136-.07.263-.184.335L7.963 9.638v2.081l1.422 1.009-.446.646-1.406-.998-1.53 1.005-.423-.66 1.605-1.055v-1.99L5.038 8.29l-2.26 1.34v1.676l1.972-1.189.398.677-2.37 1.429V14.3l2.166 1.258 2.27-1.368.397.677-2.176 1.311V19.3l1.876 1.175 2.365-1.426.398.678-2.017 1.216 1.918 1.201 2.298-1.403v-5.78l-4.758 2.893-.4-.675 5.158-3.136V3.289L9.972 1.856zM16.13 18.47a.913.913 0 00-.908.92c0 .507.406.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zm3.63-3.81a.913.913 0 00-.908.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92zm1.555-4.99a.913.913 0 00-.908.92c0 .507.407.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zM17.296 3.1a.913.913 0 00-.907.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92z' d='M13.05 15.513h3.08c.214 0 .389.177.389.394v1.82a1.704 1.704 0 011.296 1.661c0 .943-.755 1.708-1.685 1.708-.931 0-1.686-.765-1.686-1.708 0-.807.554-1.484 1.297-1.662v-1.425h-2.69v4.663a.395.395 0 01-.188.338l-2.69 1.641a.385.385 0 01-.405-.002l-4.926-3.086a.395.395 0 01-.185-.336V16.3L2.196 14.87A.395.395 0 012 14.555L2 14.528V9.406c0-.14.073-.27.192-.34l2.465-1.462V4.448c0-.129.062-.249.165-.322l.021-.014L9.77 1.058a.385.385 0 01.407 0l2.69 1.675a.395.395 0 01.185.336V7.6h3.856V5.683a1.704 1.704 0 01-1.296-1.662c0-.943.755-1.708 1.685-1.708.931 0 1.685.765 1.685 1.708 0 .807-.553 1.484-1.296 1.662v2.311a.391.391 0 01-.389.394h-4.245v1.806h6.624a1.69 1.69 0 011.64-1.313c.93 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708a1.69 1.69 0 01-1.64-1.314H13.05v1.937h4.953l.915 1.18a1.66 1.66 0 01.84-.227c.931 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708-.93 0-1.685-.765-1.685-1.708 0-.346.102-.668.276-.937l-.724-.935H13.05v1.806zM9.973 1.856L7.93 3.122V6.09h-.778V3.604L5.435 4.669v2.945l2.11 1.36L9.712 7.61V5.334h.778V7.83c0 .136-.07.263-.184.335L7.963 9.638v2.081l1.422 1.009-.446.646-1.406-.998-1.53 1.005-.423-.66 1.605-1.055v-1.99L5.038 8.29l-2.26 1.34v1.676l1.972-1.189.398.677-2.37 1.429V14.3l2.166 1.258 2.27-1.368.397.677-2.176 1.311V19.3l1.876 1.175 2.365-1.426.398.678-2.017 1.216 1.918 1.201 2.298-1.403v-5.78l-4.758 2.893-.4-.675 5.158-3.136V3.289L9.972 1.856zM16.13 18.47a.913.913 0 00-.908.92c0 .507.406.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zm3.63-3.81a.913.913 0 00-.908.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92zm1.555-4.99a.913.913 0 00-.908.92c0 .507.407.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zM17.296 3.1a.913.913 0 00-.907.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92z'
fill={`url(#${gradientId})`} fill='url(#bedrock_gradient)'
fillRule='nonzero' fillRule='nonzero'
/> />
</svg> </svg>
@@ -5113,60 +5041,3 @@ export function PulseIcon(props: SVGProps<SVGSVGElement>) {
</svg> </svg>
) )
} }
export function SimilarwebIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
role='img'
viewBox='0 0 24 24'
xmlns='http://www.w3.org/2000/svg'
height='24'
width='24'
>
<path
d='M22.099 5.781c-1.283 -2 -3.14 -3.67 -5.27 -4.52l-0.63 -0.213a7.433 7.433 0 0 0 -2.15 -0.331c-2.307 0.01 -4.175 1.92 -4.175 4.275a4.3 4.3 0 0 0 0.867 2.602l-0.26 -0.342c0.124 0.186 0.26 0.37 0.417 0.556 0.663 0.802 1.604 1.635 2.822 2.58 2.999 2.32 4.943 4.378 5.104 6.93 0.038 0.344 0.062 0.696 0.062 1.051 0 1.297 -0.283 2.67 -0.764 3.635h0.005s-0.207 0.377 -0.077 0.487c0.066 0.057 0.21 0.1 0.46 -0.053a12.104 12.104 0 0 0 3.4 -3.33 12.111 12.111 0 0 0 2.088 -6.635 12.098 12.098 0 0 0 -1.9 -6.692zm-9.096 8.718 -1.878 -1.55c-3.934 -2.87 -5.98 -5.966 -4.859 -9.783a8.73 8.73 0 0 1 0.37 -1.016v-0.004s0.278 -0.583 -0.327 -0.295a12.067 12.067 0 0 0 -6.292 9.975 12.11 12.11 0 0 0 2.053 7.421 9.394 9.394 0 0 0 2.154 2.168H4.22c4.148 3.053 7.706 1.446 7.706 1.446h0.003a4.847 4.847 0 0 0 2.962 -4.492 4.855 4.855 0 0 0 -1.889 -3.87z'
fill='currentColor'
/>
</svg>
)
}
export function CalComIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
width='101'
height='22'
viewBox='0 0 101 22'
fill='currentColor'
xmlns='http://www.w3.org/2000/svg'
>
<path
d='M10.0582 20.817C4.32115 20.817 0 16.2763 0 10.6704C0 5.04589 4.1005 0.467773 10.0582 0.467773C13.2209 0.467773 15.409 1.43945 17.1191 3.66311L14.3609 5.96151C13.2025 4.72822 11.805 4.11158 10.0582 4.11158C6.17833 4.11158 4.04533 7.08268 4.04533 10.6704C4.04533 14.2582 6.38059 17.1732 10.0582 17.1732C11.7866 17.1732 13.2577 16.5566 14.4161 15.3233L17.1375 17.7151C15.501 19.8453 13.2577 20.817 10.0582 20.817Z'
fill='#292929'
/>
<path
d='M29.0161 5.88601H32.7304V20.4612H29.0161V18.331C28.2438 19.8446 26.9566 20.8536 24.4927 20.8536C20.5577 20.8536 17.4133 17.4341 17.4133 13.2297C17.4133 9.02528 20.5577 5.60571 24.4927 5.60571C26.9383 5.60571 28.2438 6.61477 29.0161 8.12835V5.88601ZM29.1264 13.2297C29.1264 10.95 27.5634 9.06266 25.0995 9.06266C22.7274 9.06266 21.1828 10.9686 21.1828 13.2297C21.1828 15.4346 22.7274 17.3967 25.0995 17.3967C27.5451 17.3967 29.1264 15.4907 29.1264 13.2297Z'
fill='#292929'
/>
<path d='M35.3599 0H39.0742V20.4427H35.3599V0Z' fill='#292929' />
<path
d='M40.7291 18.5182C40.7291 17.3223 41.6853 16.3132 42.9908 16.3132C44.2964 16.3132 45.2158 17.3223 45.2158 18.5182C45.2158 19.7515 44.278 20.7605 42.9908 20.7605C41.7037 20.7605 40.7291 19.7515 40.7291 18.5182Z'
fill='#292929'
/>
<path
d='M59.4296 18.1068C58.0505 19.7885 55.9543 20.8536 53.4719 20.8536C49.0404 20.8536 45.7858 17.4341 45.7858 13.2297C45.7858 9.02528 49.0404 5.60571 53.4719 5.60571C55.8623 5.60571 57.9402 6.61477 59.3193 8.20309L56.4508 10.6136C55.7336 9.71667 54.7958 9.04397 53.4719 9.04397C51.0999 9.04397 49.5553 10.95 49.5553 13.211C49.5553 15.472 51.0999 17.378 53.4719 17.378C54.9062 17.378 55.8991 16.6306 56.6346 15.6215L59.4296 18.1068Z'
fill='#292929'
/>
<path
d='M59.7422 13.2297C59.7422 9.02528 62.9968 5.60571 67.4283 5.60571C71.8598 5.60571 75.1144 9.02528 75.1144 13.2297C75.1144 17.4341 71.8598 20.8536 67.4283 20.8536C62.9968 20.8349 59.7422 17.4341 59.7422 13.2297ZM71.3449 13.2297C71.3449 10.95 69.8003 9.06266 67.4283 9.06266C65.0563 9.04397 63.5117 10.95 63.5117 13.2297C63.5117 15.4907 65.0563 17.3967 67.4283 17.3967C69.8003 17.3967 71.3449 15.4907 71.3449 13.2297Z'
fill='#292929'
/>
<path
d='M100.232 11.5482V20.4428H96.518V12.4638C96.518 9.94119 95.3412 8.85739 93.576 8.85739C91.921 8.85739 90.7442 9.67958 90.7442 12.4638V20.4428H87.0299V12.4638C87.0299 9.94119 85.8346 8.85739 84.0878 8.85739C82.4329 8.85739 80.9802 9.67958 80.9802 12.4638V20.4428H77.2659V5.8676H80.9802V7.88571C81.7525 6.31607 83.15 5.53125 85.3014 5.53125C87.3425 5.53125 89.0525 6.5403 89.9903 8.24074C90.9281 6.50293 92.3072 5.53125 94.8079 5.53125C97.8603 5.54994 100.232 7.86702 100.232 11.5482Z'
fill='#292929'
/>
</svg>
)
}

View File

@@ -8,7 +8,13 @@ import { ThemeToggle } from '@/components/ui/theme-toggle'
export function Navbar() { export function Navbar() {
return ( return (
<nav className='sticky top-0 z-50 border-border/50 border-b bg-background/80 backdrop-blur-md backdrop-saturate-150'> <nav
className='sticky top-0 z-50 border-border/50 border-b'
style={{
backdropFilter: 'blur(25px) saturate(180%)',
WebkitBackdropFilter: 'blur(25px) saturate(180%)',
}}
>
{/* Desktop: Single row layout */} {/* Desktop: Single row layout */}
<div className='hidden h-16 w-full items-center lg:flex'> <div className='hidden h-16 w-full items-center lg:flex'>
<div <div

View File

@@ -1,13 +1,45 @@
'use client' 'use client'
import { useState } from 'react'
import { useCopyButton } from 'fumadocs-ui/utils/use-copy-button' import { useCopyButton } from 'fumadocs-ui/utils/use-copy-button'
import { Check, Copy } from 'lucide-react' import { Check, Copy } from 'lucide-react'
export function LLMCopyButton({ content }: { content: string }) { const cache = new Map<string, string>()
const [checked, onClick] = useCopyButton(() => navigator.clipboard.writeText(content))
export function LLMCopyButton({
markdownUrl,
}: {
/**
* A URL to fetch the raw Markdown/MDX content of page
*/
markdownUrl: string
}) {
const [isLoading, setLoading] = useState(false)
const [checked, onClick] = useCopyButton(async () => {
const cached = cache.get(markdownUrl)
if (cached) return navigator.clipboard.writeText(cached)
setLoading(true)
try {
await navigator.clipboard.write([
new ClipboardItem({
'text/plain': fetch(markdownUrl).then(async (res) => {
const content = await res.text()
cache.set(markdownUrl, content)
return content
}),
}),
])
} finally {
setLoading(false)
}
})
return ( return (
<button <button
disabled={isLoading}
onClick={onClick} onClick={onClick}
className='flex cursor-pointer items-center gap-1.5 rounded-lg border border-border/40 bg-background px-2.5 py-2 text-muted-foreground/60 text-sm leading-none transition-all hover:border-border hover:bg-accent/50 hover:text-muted-foreground' className='flex cursor-pointer items-center gap-1.5 rounded-lg border border-border/40 bg-background px-2.5 py-2 text-muted-foreground/60 text-sm leading-none transition-all hover:border-border hover:bg-accent/50 hover:text-muted-foreground'
aria-label={checked ? 'Copied to clipboard' : 'Copy page content'} aria-label={checked ? 'Copied to clipboard' : 'Copy page content'}

View File

@@ -17,16 +17,23 @@ export function CodeBlock(props: React.ComponentProps<typeof FumadocsCodeBlock>)
return ( return (
<FumadocsCodeBlock <FumadocsCodeBlock
{...props} {...props}
Actions={({ className }) => ( Actions={({ children, className }) => (
<div className={cn('empty:hidden', className)}> <div className={cn('empty:hidden', className)}>
{/* Custom copy button */}
<button <button
type='button' type='button'
aria-label={copied ? 'Copied Text' : 'Copy Text'} aria-label={copied ? 'Copied Text' : 'Copy Text'}
onClick={(e) => { onClick={(e) => {
const pre = (e.currentTarget as HTMLElement).closest('figure')?.querySelector('pre') const pre = (e.currentTarget as HTMLElement)
.closest('.nd-codeblock')
?.querySelector('pre')
if (pre) handleCopy(pre.textContent || '') if (pre) handleCopy(pre.textContent || '')
}} }}
className='cursor-pointer rounded-md p-2 text-muted-foreground transition-colors hover:text-foreground' className={cn(
'cursor-pointer rounded-md p-2 transition-all',
'border border-border bg-background/80 hover:bg-muted',
'backdrop-blur-sm'
)}
> >
<span className='flex items-center justify-center'> <span className='flex items-center justify-center'>
{copied ? ( {copied ? (

View File

@@ -13,11 +13,9 @@ import {
AsanaIcon, AsanaIcon,
BrainIcon, BrainIcon,
BrowserUseIcon, BrowserUseIcon,
CalComIcon,
CalendlyIcon, CalendlyIcon,
CirclebackIcon, CirclebackIcon,
ClayIcon, ClayIcon,
ClerkIcon,
ConfluenceIcon, ConfluenceIcon,
CursorIcon, CursorIcon,
DatadogIcon, DatadogIcon,
@@ -101,7 +99,6 @@ import {
ServiceNowIcon, ServiceNowIcon,
SftpIcon, SftpIcon,
ShopifyIcon, ShopifyIcon,
SimilarwebIcon,
SlackIcon, SlackIcon,
SmtpIcon, SmtpIcon,
SQSIcon, SQSIcon,
@@ -143,11 +140,9 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
arxiv: ArxivIcon, arxiv: ArxivIcon,
asana: AsanaIcon, asana: AsanaIcon,
browser_use: BrowserUseIcon, browser_use: BrowserUseIcon,
calcom: CalComIcon,
calendly: CalendlyIcon, calendly: CalendlyIcon,
circleback: CirclebackIcon, circleback: CirclebackIcon,
clay: ClayIcon, clay: ClayIcon,
clerk: ClerkIcon,
confluence_v2: ConfluenceIcon, confluence_v2: ConfluenceIcon,
cursor_v2: CursorIcon, cursor_v2: CursorIcon,
datadog: DatadogIcon, datadog: DatadogIcon,
@@ -231,7 +226,6 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
sftp: SftpIcon, sftp: SftpIcon,
sharepoint: MicrosoftSharepointIcon, sharepoint: MicrosoftSharepointIcon,
shopify: ShopifyIcon, shopify: ShopifyIcon,
similarweb: SimilarwebIcon,
slack: SlackIcon, slack: SlackIcon,
smtp: SmtpIcon, smtp: SmtpIcon,
sqs: SQSIcon, sqs: SQSIcon,

View File

@@ -58,7 +58,7 @@ Controls response randomness and creativity:
### Max Output Tokens ### Max Output Tokens
Controls the maximum length of the model's response. For Anthropic models, Sim uses reliable defaults: streaming executions use the model's full capacity (e.g. 64,000 tokens for Claude 4.5), while non-streaming executions default to 8,192 to avoid timeout issues. When using tools with Anthropic models, intermediate tool-calling requests use a capped limit of 8,192 tokens to avoid SDK timeout errors, regardless of your configured max tokens—the final streaming response uses your full configured limit. This only affects Anthropic's direct API; AWS Bedrock handles this automatically. For long-form content generation via API, explicitly set a higher value. Controls the maximum length of the model's response. For Anthropic models, Sim uses reliable defaults: streaming executions use the model's full capacity (e.g. 64,000 tokens for Claude 4.5), while non-streaming executions default to 8,192 to avoid timeout issues. For long-form content generation via API, explicitly set a higher value.
### API Key ### API Key

View File

@@ -280,24 +280,14 @@ A quick lookup for everyday actions in the Sim workflow editor. For keyboard sho
<td>Click clear button in Chat panel</td> <td>Click clear button in Chat panel</td>
<td><ActionImage src="/static/quick-reference/clear-chat.png" alt="Clear chat history" /></td> <td><ActionImage src="/static/quick-reference/clear-chat.png" alt="Clear chat history" /></td>
</tr> </tr>
<tr>
<td>Run from block</td>
<td>Hover block → Click play button, or right-click → **Run from block**</td>
<td><ActionImage src="/static/quick-reference/run-from-block.png" alt="Run from block" /></td>
</tr>
<tr>
<td>Run until block</td>
<td>Right-click block → **Run until block**</td>
<td><ActionImage src="/static/quick-reference/run-until-block.png" alt="Run until block" /></td>
</tr>
<tr> <tr>
<td>View execution logs</td> <td>View execution logs</td>
<td>Open terminal panel at bottom, or `Mod+L`</td> <td>Open terminal panel at bottom, or `Mod+L`</td>
<td><ActionImage src="/static/quick-reference/terminal.png" alt="Execution logs terminal" /></td> <td><ActionImage src="/static/quick-reference/terminal.png" alt="Execution logs terminal" /></td>
</tr> </tr>
<tr> <tr>
<td>Filter logs</td> <td>Filter logs by block or status</td>
<td>Click filter icon in terminal Filter by block or status</td> <td>Click block filter in terminal or right-click log entry → **Filter by Block** or **Filter by Status**</td>
<td><ActionImage src="/static/quick-reference/filter-block.png" alt="Filter logs by block" /></td> <td><ActionImage src="/static/quick-reference/filter-block.png" alt="Filter logs by block" /></td>
</tr> </tr>
<tr> <tr>
@@ -345,11 +335,6 @@ A quick lookup for everyday actions in the Sim workflow editor. For keyboard sho
<td>Access previous versions in Deploy tab → **Promote to live**</td> <td>Access previous versions in Deploy tab → **Promote to live**</td>
<td><ActionImage src="/static/quick-reference/promote-deployment.png" alt="Promote deployment to live" /></td> <td><ActionImage src="/static/quick-reference/promote-deployment.png" alt="Promote deployment to live" /></td>
</tr> </tr>
<tr>
<td>Add version description</td>
<td>Deploy tab → Click description icon → Add or generate description</td>
<td><ActionVideo src="quick-reference/deployment-description.mp4" alt="Add deployment version description" /></td>
</tr>
<tr> <tr>
<td>Copy API endpoint</td> <td>Copy API endpoint</td>
<td>Deploy tab → API → Copy API cURL</td> <td>Deploy tab → API → Copy API cURL</td>

View File

@@ -52,12 +52,12 @@ Send a message to an external A2A-compatible agent.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `content` | string | Text response content from the agent | | `content` | string | The text response from the agent |
| `taskId` | string | Unique task identifier | | `taskId` | string | Task ID for follow-up interactions |
| `contextId` | string | Groups related tasks/messages | | `contextId` | string | Context ID for conversation continuity |
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) | | `state` | string | Task state |
| `artifacts` | array | Task output artifacts | | `artifacts` | array | Structured output artifacts |
| `history` | array | Conversation history \(Message array\) | | `history` | array | Full message history |
### `a2a_get_task` ### `a2a_get_task`
@@ -76,11 +76,11 @@ Query the status of an existing A2A task.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `taskId` | string | Unique task identifier | | `taskId` | string | Task ID |
| `contextId` | string | Groups related tasks/messages | | `contextId` | string | Context ID |
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) | | `state` | string | Task state |
| `artifacts` | array | Task output artifacts | | `artifacts` | array | Output artifacts |
| `history` | array | Conversation history \(Message array\) | | `history` | array | Message history |
### `a2a_cancel_task` ### `a2a_cancel_task`
@@ -99,7 +99,7 @@ Cancel a running A2A task.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `cancelled` | boolean | Whether cancellation was successful | | `cancelled` | boolean | Whether cancellation was successful |
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) | | `state` | string | Task state after cancellation |
### `a2a_get_agent_card` ### `a2a_get_agent_card`
@@ -116,15 +116,14 @@ Fetch the Agent Card (discovery document) for an A2A agent.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `name` | string | Agent display name | | `name` | string | Agent name |
| `description` | string | Agent purpose/capabilities | | `description` | string | Agent description |
| `url` | string | Service endpoint URL | | `url` | string | Agent endpoint URL |
| `provider` | object | Creator organization details | | `version` | string | Agent version |
| `capabilities` | object | Feature support matrix | | `capabilities` | object | Agent capabilities \(streaming, pushNotifications, etc.\) |
| `skills` | array | Available operations | | `skills` | array | Skills the agent can perform |
| `version` | string | A2A protocol version supported by the agent | | `defaultInputModes` | array | Default input modes \(text, file, data\) |
| `defaultInputModes` | array | Default input content types accepted by the agent | | `defaultOutputModes` | array | Default output modes \(text, file, data\) |
| `defaultOutputModes` | array | Default output content types produced by the agent |
### `a2a_resubscribe` ### `a2a_resubscribe`
@@ -142,12 +141,12 @@ Reconnect to an ongoing A2A task stream after connection interruption.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `taskId` | string | Unique task identifier | | `taskId` | string | Task ID |
| `contextId` | string | Groups related tasks/messages | | `contextId` | string | Context ID |
| `state` | string | Current lifecycle state \(working, completed, failed, canceled, rejected, input_required, auth_required\) | | `state` | string | Current task state |
| `isRunning` | boolean | Whether the task is still running | | `isRunning` | boolean | Whether the task is still running |
| `artifacts` | array | Task output artifacts | | `artifacts` | array | Output artifacts |
| `history` | array | Conversation history \(Message array\) | | `history` | array | Message history |
### `a2a_set_push_notification` ### `a2a_set_push_notification`
@@ -167,9 +166,9 @@ Configure a webhook to receive task update notifications.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `url` | string | HTTPS webhook URL for notifications | | `url` | string | Configured webhook URL |
| `token` | string | Authentication token for webhook validation | | `token` | string | Token for webhook validation |
| `success` | boolean | Whether the operation was successful | | `success` | boolean | Whether configuration was successful |
### `a2a_get_push_notification` ### `a2a_get_push_notification`
@@ -187,8 +186,9 @@ Get the push notification webhook configuration for a task.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `token` | string | Authentication token for webhook validation | | `url` | string | Configured webhook URL |
| `exists` | boolean | Whether the resource exists | | `token` | string | Token for webhook validation |
| `exists` | boolean | Whether a push notification config exists |
### `a2a_delete_push_notification` ### `a2a_delete_push_notification`
@@ -207,6 +207,6 @@ Delete the push notification webhook configuration for a task.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Whether the operation was successful | | `success` | boolean | Whether deletion was successful |

View File

@@ -168,10 +168,10 @@ Search for tasks in an Asana workspace
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `ts` | string | Timestamp of the response | | `ts` | string | Timestamp of the response |
| `tasks` | array | Array of matching tasks | | `tasks` | array | Array of matching tasks |
| ↳ `gid` | string | Task GID | | ↳ `gid` | string | Assignee GID |
| ↳ `resource_type` | string | Resource type | | ↳ `resource_type` | string | Resource type |
| ↳ `resource_subtype` | string | Resource subtype | | ↳ `resource_subtype` | string | Resource subtype |
| ↳ `name` | string | Task name | | ↳ `name` | string | Assignee name |
| ↳ `notes` | string | Task notes | | ↳ `notes` | string | Task notes |
| ↳ `completed` | boolean | Completion status | | ↳ `completed` | boolean | Completion status |
| ↳ `assignee` | object | Assignee details | | ↳ `assignee` | object | Assignee details |

View File

@@ -1,789 +0,0 @@
---
title: CalCom
description: Manage Cal.com bookings, event types, schedules, and availability
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="calcom"
color="#FFFFFE"
/>
{/* MANUAL-CONTENT-START:intro */}
[Cal.com](https://cal.com/) is a flexible and open-source scheduling platform that makes it easy to manage appointments, bookings, event types, and team availabilities.
With Cal.com, you can:
- **Automate scheduling**: Allow users to view your available time slots and book meetings automatically, without back-and-forth emails.
- **Manage events**: Create and customize event types, durations, and rules for one-on-one or group meetings.
- **Integrate calendars**: Seamlessly connect with Google, Outlook, Apple, or other calendar providers to avoid double bookings.
- **Handle attendees and guests**: Collect attendee information, manage guests, and send invitations or reminders.
- **Control availability**: Define custom working hours, buffer times, and cancellation/rebooking rules.
- **Power workflows**: Trigger custom actions via webhooks when a booking is created, cancelled, or rescheduled.
In Sim, the Cal.com integration enables your agents to book meetings, check availabilities, manage event types, and automate scheduling tasks programmatically. This helps agents coordinate meetings, send bookings on behalf of users, check schedules, or respond to booking events—all without manual intervention. By connecting Sim with Cal.com, you unlock highly automated and intelligent scheduling workflows that can integrate seamlessly with your broader automation needs.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Cal.com into your workflow. Create and manage bookings, event types, schedules, and check availability slots. Supports creating, listing, rescheduling, and canceling bookings, as well as managing event types and schedules. Can also trigger workflows based on Cal.com webhook events (booking created, cancelled, rescheduled). Connect your Cal.com account via OAuth.
## Tools
### `calcom_create_booking`
Create a new booking on Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `eventTypeId` | number | Yes | The ID of the event type to book |
| `start` | string | Yes | Start time in UTC ISO 8601 format \(e.g., 2024-01-15T09:00:00Z\) |
| `attendee` | object | Yes | Attendee information object with name, email, timeZone, and optional phoneNumber \(constructed from individual attendee fields\) |
| `guests` | array | No | Array of guest email addresses |
| `items` | string | No | Guest email address |
| `lengthInMinutes` | number | No | Duration of the booking in minutes \(overrides event type default\) |
| `metadata` | object | No | Custom metadata to attach to the booking |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Created booking details |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `uid` | string | Unique identifier for the booking |
| ↳ `title` | string | Title of the booking |
| ↳ `status` | string | Booking status \(e.g., accepted, pending, cancelled\) |
| ↳ `start` | string | Start time in ISO 8601 format |
| ↳ `end` | string | End time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `meetingUrl` | string | URL to join the meeting |
| ↳ `location` | string | Location of the booking |
| ↳ `absentHost` | boolean | Whether the host was absent |
| ↳ `guests` | array | Guest email addresses |
| ↳ `bookingFieldsResponses` | json | Custom booking field responses \(dynamic keys based on event type configuration\) |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `icsUid` | string | ICS calendar UID |
| ↳ `createdAt` | string | When the booking was created |
### `calcom_get_booking`
Get details of a specific booking by its UID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `bookingUid` | string | Yes | Unique identifier \(UID\) of the booking |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Booking details |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `uid` | string | Unique identifier for the booking |
| ↳ `title` | string | Title of the booking |
| ↳ `description` | string | Description of the booking |
| ↳ `status` | string | Booking status \(e.g., accepted, pending, cancelled\) |
| ↳ `start` | string | Start time in ISO 8601 format |
| ↳ `end` | string | End time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `meetingUrl` | string | URL to join the meeting |
| ↳ `location` | string | Location of the booking |
| ↳ `absentHost` | boolean | Whether the host was absent |
| ↳ `guests` | array | Guest email addresses |
| ↳ `bookingFieldsResponses` | json | Custom booking field responses \(dynamic keys based on event type configuration\) |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `rating` | number | Booking rating |
| ↳ `icsUid` | string | ICS calendar UID |
| ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
| ↳ `reschedulingReason` | string | Reason for rescheduling if rescheduled |
| ↳ `rescheduledFromUid` | string | Original booking UID if this booking was rescheduled |
| ↳ `rescheduledToUid` | string | New booking UID after reschedule |
| ↳ `cancelledByEmail` | string | Email of person who cancelled the booking |
| ↳ `rescheduledByEmail` | string | Email of person who rescheduled the booking |
| ↳ `createdAt` | string | When the booking was created |
| ↳ `updatedAt` | string | When the booking was last updated |
### `calcom_list_bookings`
List all bookings with optional status filter
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `status` | string | No | Filter bookings by status: upcoming, recurring, past, cancelled, or unconfirmed |
| `take` | number | No | Number of bookings to return \(pagination limit\) |
| `skip` | number | No | Number of bookings to skip \(pagination offset\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | array | Array of bookings |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `uid` | string | Unique identifier for the booking |
| ↳ `title` | string | Title of the booking |
| ↳ `description` | string | Description of the booking |
| ↳ `status` | string | Booking status \(e.g., accepted, pending, cancelled\) |
| ↳ `start` | string | Start time in ISO 8601 format |
| ↳ `end` | string | End time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `meetingUrl` | string | URL to join the meeting |
| ↳ `location` | string | Location of the booking |
| ↳ `absentHost` | boolean | Whether the host was absent |
| ↳ `guests` | array | Guest email addresses |
| ↳ `bookingFieldsResponses` | json | Custom booking field responses \(dynamic keys based on event type configuration\) |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `rating` | number | Booking rating |
| ↳ `icsUid` | string | ICS calendar UID |
| ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
| ↳ `cancelledByEmail` | string | Email of person who cancelled the booking |
| ↳ `reschedulingReason` | string | Reason for rescheduling if rescheduled |
| ↳ `rescheduledByEmail` | string | Email of person who rescheduled the booking |
| ↳ `rescheduledFromUid` | string | Original booking UID if this booking was rescheduled |
| ↳ `rescheduledToUid` | string | New booking UID after reschedule |
| ↳ `createdAt` | string | When the booking was created |
| ↳ `updatedAt` | string | When the booking was last updated |
| `pagination` | object | Pagination metadata |
| ↳ `totalItems` | number | Total number of items |
| ↳ `remainingItems` | number | Remaining items after current page |
| ↳ `returnedItems` | number | Number of items returned in this response |
| ↳ `itemsPerPage` | number | Items per page |
| ↳ `currentPage` | number | Current page number |
| ↳ `totalPages` | number | Total number of pages |
| ↳ `hasNextPage` | boolean | Whether there is a next page |
| ↳ `hasPreviousPage` | boolean | Whether there is a previous page |
### `calcom_cancel_booking`
Cancel an existing booking
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `bookingUid` | string | Yes | Unique identifier \(UID\) of the booking to cancel |
| `cancellationReason` | string | No | Reason for cancelling the booking |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Cancelled booking details |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `uid` | string | Unique identifier for the booking |
| ↳ `title` | string | Title of the booking |
| ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
| ↳ `cancelledByEmail` | string | Email of person who cancelled the booking |
| ↳ `start` | string | Start time in ISO 8601 format |
| ↳ `end` | string | End time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `location` | string | Location of the booking |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `createdAt` | string | When the booking was created |
| ↳ `status` | string | Booking status \(should be cancelled\) |
### `calcom_reschedule_booking`
Reschedule an existing booking to a new time
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `bookingUid` | string | Yes | Unique identifier \(UID\) of the booking to reschedule |
| `start` | string | Yes | New start time in UTC ISO 8601 format \(e.g., 2024-01-15T09:00:00Z\) |
| `reschedulingReason` | string | No | Reason for rescheduling the booking |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Rescheduled booking details |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `title` | string | Title of the booking |
| ↳ `status` | string | Booking status \(e.g., accepted, pending, cancelled\) |
| ↳ `reschedulingReason` | string | Reason for rescheduling if rescheduled |
| ↳ `rescheduledFromUid` | string | Original booking UID if this booking was rescheduled |
| ↳ `rescheduledByEmail` | string | Email of person who rescheduled the booking |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `meetingUrl` | string | URL to join the meeting |
| ↳ `location` | string | Location of the booking |
| ↳ `guests` | array | Guest email addresses |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `icsUid` | string | ICS calendar UID |
| ↳ `createdAt` | string | When the booking was created |
| ↳ `uid` | string | Unique identifier for the new booking |
| ↳ `start` | string | New start time in ISO 8601 format |
| ↳ `end` | string | New end time in ISO 8601 format |
### `calcom_confirm_booking`
Confirm a pending booking that requires confirmation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `bookingUid` | string | Yes | Unique identifier \(UID\) of the booking to confirm |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Confirmed booking details |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `uid` | string | Unique identifier for the booking |
| ↳ `title` | string | Title of the booking |
| ↳ `start` | string | Start time in ISO 8601 format |
| ↳ `end` | string | End time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `meetingUrl` | string | URL to join the meeting |
| ↳ `location` | string | Location of the booking |
| ↳ `guests` | array | Guest email addresses |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `icsUid` | string | ICS calendar UID |
| ↳ `createdAt` | string | When the booking was created |
| ↳ `status` | string | Booking status \(should be accepted/confirmed\) |
### `calcom_decline_booking`
Decline a pending booking request
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `bookingUid` | string | Yes | Unique identifier \(UID\) of the booking to decline |
| `reason` | string | No | Reason for declining the booking |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Declined booking details |
| ↳ `eventType` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `slug` | string | Event type slug |
| ↳ `attendees` | array | List of attendees |
| ↳ `name` | string | Attendee name |
| ↳ `email` | string | Attendee actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `timeZone` | string | Attendee timezone \(IANA format\) |
| ↳ `phoneNumber` | string | Attendee phone number |
| ↳ `language` | string | Attendee language preference \(ISO code\) |
| ↳ `absent` | boolean | Whether attendee was absent |
| ↳ `hosts` | array | List of hosts |
| ↳ `id` | number | Host user ID |
| ↳ `name` | string | Host display name |
| ↳ `email` | string | Host actual email address |
| ↳ `displayEmail` | string | Email shown publicly \(may differ from actual email\) |
| ↳ `username` | string | Host Cal.com username |
| ↳ `timeZone` | string | Host timezone \(IANA format\) |
| ↳ `id` | number | Numeric booking ID |
| ↳ `uid` | string | Unique identifier for the booking |
| ↳ `title` | string | Title of the booking |
| ↳ `cancellationReason` | string | Reason for cancellation if cancelled |
| ↳ `start` | string | Start time in ISO 8601 format |
| ↳ `end` | string | End time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `eventTypeId` | number | Event type ID |
| ↳ `location` | string | Location of the booking |
| ↳ `metadata` | json | Custom metadata attached to the booking \(dynamic key-value pairs\) |
| ↳ `createdAt` | string | When the booking was created |
| ↳ `status` | string | Booking status \(should be cancelled/rejected\) |
### `calcom_create_event_type`
Create a new event type in Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `title` | string | Yes | Title of the event type |
| `slug` | string | Yes | Unique slug for the event type URL |
| `lengthInMinutes` | number | Yes | Duration of the event in minutes |
| `description` | string | No | Description of the event type |
| `slotInterval` | number | No | Interval between available booking slots in minutes |
| `minimumBookingNotice` | number | No | Minimum notice required before booking in minutes |
| `beforeEventBuffer` | number | No | Buffer time before the event in minutes |
| `afterEventBuffer` | number | No | Buffer time after the event in minutes |
| `scheduleId` | number | No | ID of the schedule to use for availability |
| `disableGuests` | boolean | No | Whether to disable guests from being added to bookings |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Created event type details |
| ↳ `id` | number | Event type ID |
| ↳ `title` | string | Event type title |
| ↳ `slug` | string | Event type slug |
| ↳ `description` | string | Event type description |
| ↳ `lengthInMinutes` | number | Duration in minutes |
| ↳ `slotInterval` | number | Slot interval in minutes |
| ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
| ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
| ↳ `afterEventBuffer` | number | Buffer after event in minutes |
| ↳ `scheduleId` | number | Schedule ID |
| ↳ `disableGuests` | boolean | Whether guests are disabled |
| ↳ `createdAt` | string | ISO timestamp of creation |
| ↳ `updatedAt` | string | ISO timestamp of last update |
### `calcom_get_event_type`
Get detailed information about a specific event type
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `eventTypeId` | number | Yes | Event type ID to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Event type details |
| ↳ `id` | number | Event type ID |
| ↳ `title` | string | Event type title |
| ↳ `slug` | string | Event type slug |
| ↳ `description` | string | Event type description |
| ↳ `lengthInMinutes` | number | Duration in minutes |
| ↳ `slotInterval` | number | Slot interval in minutes |
| ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
| ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
| ↳ `afterEventBuffer` | number | Buffer after event in minutes |
| ↳ `scheduleId` | number | Schedule ID |
| ↳ `disableGuests` | boolean | Whether guests are disabled |
| ↳ `createdAt` | string | ISO timestamp of creation |
| ↳ `updatedAt` | string | ISO timestamp of last update |
### `calcom_list_event_types`
Retrieve a list of all event types
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `sortCreatedAt` | string | No | Sort by creation date: "asc" or "desc" |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | array | Array of event types |
| ↳ `id` | number | Event type ID |
| ↳ `title` | string | Event type title |
| ↳ `slug` | string | Event type slug |
| ↳ `description` | string | Event type description |
| ↳ `lengthInMinutes` | number | Duration in minutes |
| ↳ `slotInterval` | number | Slot interval in minutes |
| ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
| ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
| ↳ `afterEventBuffer` | number | Buffer after event in minutes |
| ↳ `scheduleId` | number | Schedule ID |
| ↳ `disableGuests` | boolean | Whether guests are disabled |
| ↳ `createdAt` | string | ISO timestamp of creation |
| ↳ `updatedAt` | string | ISO timestamp of last update |
### `calcom_update_event_type`
Update an existing event type in Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `eventTypeId` | number | Yes | Event type ID to update |
| `title` | string | No | Title of the event type |
| `slug` | string | No | Unique slug for the event type URL |
| `lengthInMinutes` | number | No | Duration of the event in minutes |
| `description` | string | No | Description of the event type |
| `slotInterval` | number | No | Interval between available booking slots in minutes |
| `minimumBookingNotice` | number | No | Minimum notice required before booking in minutes |
| `beforeEventBuffer` | number | No | Buffer time before the event in minutes |
| `afterEventBuffer` | number | No | Buffer time after the event in minutes |
| `scheduleId` | number | No | ID of the schedule to use for availability |
| `disableGuests` | boolean | No | Whether to disable guests from being added to bookings |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Updated event type details |
| ↳ `id` | number | Event type ID |
| ↳ `title` | string | Event type title |
| ↳ `slug` | string | Event type slug |
| ↳ `description` | string | Event type description |
| ↳ `lengthInMinutes` | number | Duration in minutes |
| ↳ `slotInterval` | number | Slot interval in minutes |
| ↳ `minimumBookingNotice` | number | Minimum booking notice in minutes |
| ↳ `beforeEventBuffer` | number | Buffer before event in minutes |
| ↳ `afterEventBuffer` | number | Buffer after event in minutes |
| ↳ `scheduleId` | number | Schedule ID |
| ↳ `disableGuests` | boolean | Whether guests are disabled |
| ↳ `createdAt` | string | ISO timestamp of creation |
| ↳ `updatedAt` | string | ISO timestamp of last update |
### `calcom_delete_event_type`
Delete an event type from Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `eventTypeId` | number | Yes | Event type ID to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Deleted event type details |
| ↳ `id` | number | Event type ID |
| ↳ `lengthInMinutes` | number | Duration in minutes |
| ↳ `title` | string | Event type title |
| ↳ `slug` | string | Event type slug |
### `calcom_create_schedule`
Create a new availability schedule in Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `name` | string | Yes | Name of the schedule |
| `timeZone` | string | Yes | Timezone for the schedule \(e.g., America/New_York\) |
| `isDefault` | boolean | Yes | Whether this schedule should be the default |
| `availability` | array | No | Availability intervals for the schedule |
| `items` | object | No | Availability interval |
| `properties` | array | No | Days of the week \(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday\) |
| `days` | array | No | Days of the week \(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday\) |
| `startTime` | string | No | Start time in HH:MM format |
| `endTime` | string | No | End time in HH:MM format |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Created schedule data |
| ↳ `id` | number | Schedule ID |
| ↳ `ownerId` | number | Owner user ID |
| ↳ `name` | string | Schedule name |
| ↳ `timeZone` | string | Timezone \(e.g., America/New_York\) |
| ↳ `isDefault` | boolean | Whether this is the default schedule |
| ↳ `availability` | array | Availability windows |
| ↳ `days` | array | Days of the week \(Monday, Tuesday, etc.\) |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
| ↳ `overrides` | array | Date-specific availability overrides |
| ↳ `date` | string | Date in YYYY-MM-DD format |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
### `calcom_get_schedule`
Get a specific schedule by ID from Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `scheduleId` | string | Yes | ID of the schedule to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Schedule data |
| ↳ `id` | number | Schedule ID |
| ↳ `ownerId` | number | Owner user ID |
| ↳ `name` | string | Schedule name |
| ↳ `timeZone` | string | Timezone \(e.g., America/New_York\) |
| ↳ `isDefault` | boolean | Whether this is the default schedule |
| ↳ `availability` | array | Availability windows |
| ↳ `days` | array | Days of the week \(Monday, Tuesday, etc.\) |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
| ↳ `overrides` | array | Date-specific availability overrides |
| ↳ `date` | string | Date in YYYY-MM-DD format |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
### `calcom_list_schedules`
List all availability schedules from Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | array | Array of schedule objects |
| ↳ `id` | number | Schedule ID |
| ↳ `ownerId` | number | Owner user ID |
| ↳ `name` | string | Schedule name |
| ↳ `timeZone` | string | Timezone \(e.g., America/New_York\) |
| ↳ `isDefault` | boolean | Whether this is the default schedule |
| ↳ `availability` | array | Availability windows |
| ↳ `days` | array | Days of the week \(Monday, Tuesday, etc.\) |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
| ↳ `overrides` | array | Date-specific availability overrides |
| ↳ `date` | string | Date in YYYY-MM-DD format |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
### `calcom_update_schedule`
Update an existing schedule in Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `scheduleId` | string | Yes | ID of the schedule to update |
| `name` | string | No | New name for the schedule |
| `timeZone` | string | No | New timezone for the schedule \(e.g., America/New_York\) |
| `isDefault` | boolean | No | Whether this schedule should be the default |
| `availability` | array | No | New availability intervals for the schedule |
| `items` | object | No | Availability interval |
| `properties` | array | No | Days of the week \(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday\) |
| `days` | array | No | Days of the week \(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday\) |
| `startTime` | string | No | Start time in HH:MM format |
| `endTime` | string | No | End time in HH:MM format |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Updated schedule data |
| ↳ `id` | number | Schedule ID |
| ↳ `ownerId` | number | Owner user ID |
| ↳ `name` | string | Schedule name |
| ↳ `timeZone` | string | Timezone \(e.g., America/New_York\) |
| ↳ `isDefault` | boolean | Whether this is the default schedule |
| ↳ `availability` | array | Availability windows |
| ↳ `days` | array | Days of the week \(Monday, Tuesday, etc.\) |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
| ↳ `overrides` | array | Date-specific availability overrides |
| ↳ `date` | string | Date in YYYY-MM-DD format |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
### `calcom_delete_schedule`
Delete a schedule from Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `scheduleId` | string | Yes | ID of the schedule to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status \(success or error\) |
### `calcom_get_default_schedule`
Get the default availability schedule from Cal.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | object | Default schedule data |
| ↳ `id` | number | Schedule ID |
| ↳ `ownerId` | number | Owner user ID |
| ↳ `name` | string | Schedule name |
| ↳ `timeZone` | string | Timezone \(e.g., America/New_York\) |
| ↳ `isDefault` | boolean | Whether this is the default schedule |
| ↳ `availability` | array | Availability windows |
| ↳ `days` | array | Days of the week \(Monday, Tuesday, etc.\) |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
| ↳ `overrides` | array | Date-specific availability overrides |
| ↳ `date` | string | Date in YYYY-MM-DD format |
| ↳ `startTime` | string | Start time in HH:MM format |
| ↳ `endTime` | string | End time in HH:MM format |
### `calcom_get_slots`
Get available booking slots for a Cal.com event type within a time range
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `start` | string | Yes | Start of time range in UTC ISO 8601 format \(e.g., 2024-01-15T00:00:00Z\) |
| `end` | string | Yes | End of time range in UTC ISO 8601 format \(e.g., 2024-01-22T00:00:00Z\) |
| `eventTypeId` | number | No | Event type ID for direct lookup |
| `eventTypeSlug` | string | No | Event type slug \(requires username to be set\) |
| `username` | string | No | Username for personal event types \(required when using eventTypeSlug\) |
| `timeZone` | string | No | Timezone for returned slots \(defaults to UTC\) |
| `duration` | number | No | Slot length in minutes |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Response status |
| `data` | json | Available time slots grouped by date \(YYYY-MM-DD keys\). Each date maps to an array of slot objects with start time, optional end time, and seated event info. |

View File

@@ -51,7 +51,7 @@ Get information about the currently authenticated Calendly user
| ↳ `name` | string | User full name | | ↳ `name` | string | User full name |
| ↳ `slug` | string | Unique identifier for the user in URLs | | ↳ `slug` | string | Unique identifier for the user in URLs |
| ↳ `email` | string | User email address | | ↳ `email` | string | User email address |
| ↳ `scheduling_url` | string | URL to the user's scheduling page | | ↳ `scheduling_url` | string | URL to the user |
| ↳ `timezone` | string | User timezone | | ↳ `timezone` | string | User timezone |
| ↳ `avatar_url` | string | URL to user avatar image | | ↳ `avatar_url` | string | URL to user avatar image |
| ↳ `created_at` | string | ISO timestamp when user was created | | ↳ `created_at` | string | ISO timestamp when user was created |
@@ -82,7 +82,7 @@ Retrieve a list of all event types for a user or organization
| ↳ `uri` | string | Canonical reference to the event type | | ↳ `uri` | string | Canonical reference to the event type |
| ↳ `name` | string | Event type name | | ↳ `name` | string | Event type name |
| ↳ `active` | boolean | Whether the event type is active | | ↳ `active` | boolean | Whether the event type is active |
| ↳ `booking_method` | string | Booking method \(e.g., "round_robin_or_collect", "collective"\) | | ↳ `booking_method` | string | Booking method \(e.g., |
| ↳ `color` | string | Hex color code | | ↳ `color` | string | Hex color code |
| ↳ `created_at` | string | ISO timestamp of creation | | ↳ `created_at` | string | ISO timestamp of creation |
| ↳ `description_html` | string | HTML formatted description | | ↳ `description_html` | string | HTML formatted description |
@@ -116,7 +116,7 @@ Get detailed information about a specific event type
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `resource` | object | Event type details | | `resource` | object | Event type details |
| ↳ `uri` | string | Canonical reference to the event type | | ↳ `uri` | string | Canonical reference to the event type |
| ↳ `name` | string | Event type name | | ↳ `name` | string | Question text |
| ↳ `active` | boolean | Whether the event type is active | | ↳ `active` | boolean | Whether the event type is active |
| ↳ `booking_method` | string | Booking method | | ↳ `booking_method` | string | Booking method |
| ↳ `color` | string | Hex color code | | ↳ `color` | string | Hex color code |
@@ -128,12 +128,16 @@ Get detailed information about a specific event type
| ↳ `enabled` | boolean | Whether question is enabled | | ↳ `enabled` | boolean | Whether question is enabled |
| ↳ `required` | boolean | Whether question is required | | ↳ `required` | boolean | Whether question is required |
| ↳ `answer_choices` | array | Available answer choices | | ↳ `answer_choices` | array | Available answer choices |
| ↳ `type` | string | Event type classification |
| ↳ `position` | number | Question order |
| ↳ `enabled` | boolean | Whether question is enabled |
| ↳ `required` | boolean | Whether question is required |
| ↳ `answer_choices` | array | Available answer choices |
| ↳ `description_html` | string | HTML formatted description | | ↳ `description_html` | string | HTML formatted description |
| ↳ `description_plain` | string | Plain text description | | ↳ `description_plain` | string | Plain text description |
| ↳ `duration` | number | Duration in minutes | | ↳ `duration` | number | Duration in minutes |
| ↳ `scheduling_url` | string | URL to scheduling page | | ↳ `scheduling_url` | string | URL to scheduling page |
| ↳ `slug` | string | Unique identifier for URLs | | ↳ `slug` | string | Unique identifier for URLs |
| ↳ `type` | string | Event type classification |
| ↳ `updated_at` | string | ISO timestamp of last update | | ↳ `updated_at` | string | ISO timestamp of last update |
### `calendly_list_scheduled_events` ### `calendly_list_scheduled_events`
@@ -166,14 +170,16 @@ Retrieve a list of scheduled events for a user or organization
| ↳ `start_time` | string | ISO timestamp of event start | | ↳ `start_time` | string | ISO timestamp of event start |
| ↳ `end_time` | string | ISO timestamp of event end | | ↳ `end_time` | string | ISO timestamp of event end |
| ↳ `event_type` | string | URI of the event type | | ↳ `event_type` | string | URI of the event type |
| ↳ `location` | object | Event location details |
| ↳ `type` | string | Location type \(e.g., "zoom", "google_meet", "physical"\) |
| ↳ `location` | string | Location description | | ↳ `location` | string | Location description |
| ↳ `type` | string | Location type \(e.g., |
| ↳ `join_url` | string | URL to join online meeting \(if applicable\) | | ↳ `join_url` | string | URL to join online meeting \(if applicable\) |
| ↳ `invitees_counter` | object | Invitee count information | | ↳ `invitees_counter` | object | Invitee count information |
| ↳ `total` | number | Total number of invitees | | ↳ `total` | number | Total number of invitees |
| ↳ `active` | number | Number of active invitees | | ↳ `active` | number | Number of active invitees |
| ↳ `limit` | number | Maximum number of invitees | | ↳ `limit` | number | Maximum number of invitees |
| ↳ `total` | number | Total number of invitees |
| ↳ `active` | number | Number of active invitees |
| ↳ `limit` | number | Maximum number of invitees |
| ↳ `created_at` | string | ISO timestamp of event creation | | ↳ `created_at` | string | ISO timestamp of event creation |
| ↳ `updated_at` | string | ISO timestamp of last update | | ↳ `updated_at` | string | ISO timestamp of last update |
| `pagination` | object | Pagination information | | `pagination` | object | Pagination information |
@@ -205,22 +211,28 @@ Get detailed information about a specific scheduled event
| ↳ `start_time` | string | ISO timestamp of event start | | ↳ `start_time` | string | ISO timestamp of event start |
| ↳ `end_time` | string | ISO timestamp of event end | | ↳ `end_time` | string | ISO timestamp of event end |
| ↳ `event_type` | string | URI of the event type | | ↳ `event_type` | string | URI of the event type |
| ↳ `location` | object | Event location details |
| ↳ `type` | string | Location type |
| ↳ `location` | string | Location description | | ↳ `location` | string | Location description |
| ↳ `type` | string | Location type |
| ↳ `join_url` | string | URL to join online meeting | | ↳ `join_url` | string | URL to join online meeting |
| ↳ `invitees_counter` | object | Invitee count information | | ↳ `invitees_counter` | object | Invitee count information |
| ↳ `total` | number | Total number of invitees | | ↳ `total` | number | Total number of invitees |
| ↳ `active` | number | Number of active invitees | | ↳ `active` | number | Number of active invitees |
| ↳ `limit` | number | Maximum number of invitees | | ↳ `limit` | number | Maximum number of invitees |
| ↳ `total` | number | Total number of invitees |
| ↳ `active` | number | Number of active invitees |
| ↳ `limit` | number | Maximum number of invitees |
| ↳ `event_memberships` | array | Event hosts/members | | ↳ `event_memberships` | array | Event hosts/members |
| ↳ `user` | string | User URI | | ↳ `user` | string | User URI |
| ↳ `user_email` | string | User email | | ↳ `user_email` | string | User email |
| ↳ `user_name` | string | User name | | ↳ `user_name` | string | User name |
| ↳ `user` | string | User URI |
| ↳ `user_email` | string | User email |
| ↳ `user_name` | string | User name |
| ↳ `event_guests` | array | Additional guests | | ↳ `event_guests` | array | Additional guests |
| ↳ `email` | string | Guest email | | ↳ `email` | string | Guest email |
| ↳ `created_at` | string | When guest was added | | ↳ `created_at` | string | When guest was added |
| ↳ `updated_at` | string | When guest info was updated | | ↳ `updated_at` | string | When guest info was updated |
| ↳ `email` | string | Guest email |
| ↳ `created_at` | string | ISO timestamp of event creation | | ↳ `created_at` | string | ISO timestamp of event creation |
| ↳ `updated_at` | string | ISO timestamp of last update | | ↳ `updated_at` | string | ISO timestamp of last update |
@@ -255,6 +267,9 @@ Retrieve a list of invitees for a scheduled event
| ↳ `question` | string | Question text | | ↳ `question` | string | Question text |
| ↳ `answer` | string | Invitee answer | | ↳ `answer` | string | Invitee answer |
| ↳ `position` | number | Question order | | ↳ `position` | number | Question order |
| ↳ `question` | string | Question text |
| ↳ `answer` | string | Invitee answer |
| ↳ `position` | number | Question order |
| ↳ `timezone` | string | Invitee timezone | | ↳ `timezone` | string | Invitee timezone |
| ↳ `event` | string | URI of the scheduled event | | ↳ `event` | string | URI of the scheduled event |
| ↳ `created_at` | string | ISO timestamp when invitee was created | | ↳ `created_at` | string | ISO timestamp when invitee was created |

View File

@@ -1,442 +0,0 @@
---
title: Clerk
description: Manage users, organizations, and sessions in Clerk
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="clerk"
color="#131316"
/>
{/* MANUAL-CONTENT-START:intro */}
[Clerk](https://clerk.com/) is a comprehensive identity infrastructure platform that helps you manage users, authentication, and sessions for your applications.
In Sim, the Clerk integration lets your agents automate user and session management through easy-to-use API-based tools. Agents can securely list users, update user profiles, manage organizations, monitor sessions, and revoke access directly in your workflow.
With Clerk, you can:
- **Authenticate users and manage sessions**: Seamlessly control sign-in, sign-up, and session lifecycle for your users.
- **List and update users**: Automatically pull user lists, update user attributes, or view profile details as part of your agent tasks.
- **Manage organizations and memberships**: Add or update organizations and administer user memberships with clarity.
- **Monitor and revoke sessions**: See active or past user sessions, and revoke access immediately if needed for security.
The integration enables real-time, auditable management of your user base—all from within Sim. Connected agents can automate onboarding, enforce policies, keep directories up to date, and react to authentication events or organizational changes, helping you run secure and flexible processes using Clerk as your identity engine.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Clerk authentication and user management into your workflow. Create, update, delete, and list users. Manage organizations and their memberships. Monitor and control user sessions.
## Tools
### `clerk_list_users`
List all users in your Clerk application with optional filtering and pagination
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `limit` | number | No | Number of results per page \(1-500, default: 10\) |
| `offset` | number | No | Number of results to skip for pagination |
| `orderBy` | string | No | Sort field with optional +/- prefix for direction \(default: -created_at\) |
| `emailAddress` | string | No | Filter by email address \(comma-separated for multiple\) |
| `phoneNumber` | string | No | Filter by phone number \(comma-separated for multiple\) |
| `externalId` | string | No | Filter by external ID \(comma-separated for multiple\) |
| `username` | string | No | Filter by username \(comma-separated for multiple\) |
| `userId` | string | No | Filter by user ID \(comma-separated for multiple\) |
| `query` | string | No | Search query to match across email, phone, username, and names |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `users` | array | Array of Clerk user objects |
| ↳ `id` | string | User ID |
| ↳ `username` | string | Username |
| ↳ `firstName` | string | First name |
| ↳ `lastName` | string | Last name |
| ↳ `imageUrl` | string | Profile image URL |
| ↳ `hasImage` | boolean | Whether user has a profile image |
| ↳ `primaryEmailAddressId` | string | Primary email address ID |
| ↳ `primaryPhoneNumberId` | string | Primary phone number ID |
| ↳ `emailAddresses` | array | User email addresses |
| ↳ `id` | string | Email address ID |
| ↳ `emailAddress` | string | Email address |
| ↳ `phoneNumbers` | array | User phone numbers |
| ↳ `id` | string | Phone number ID |
| ↳ `phoneNumber` | string | Phone number |
| ↳ `externalId` | string | External system ID |
| ↳ `passwordEnabled` | boolean | Whether password is enabled |
| ↳ `twoFactorEnabled` | boolean | Whether 2FA is enabled |
| ↳ `banned` | boolean | Whether user is banned |
| ↳ `locked` | boolean | Whether user is locked |
| ↳ `lastSignInAt` | number | Last sign-in timestamp |
| ↳ `lastActiveAt` | number | Last activity timestamp |
| ↳ `createdAt` | number | Creation timestamp |
| ↳ `updatedAt` | number | Last update timestamp |
| ↳ `publicMetadata` | json | Public metadata |
| `totalCount` | number | Total number of users matching the query |
| `success` | boolean | Operation success status |
### `clerk_get_user`
Retrieve a single user by their ID from Clerk
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `userId` | string | Yes | The ID of the user to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | User ID |
| `username` | string | Username |
| `firstName` | string | First name |
| `lastName` | string | Last name |
| `imageUrl` | string | Profile image URL |
| `hasImage` | boolean | Whether user has a profile image |
| `primaryEmailAddressId` | string | Primary email address ID |
| `primaryPhoneNumberId` | string | Primary phone number ID |
| `primaryWeb3WalletId` | string | Primary Web3 wallet ID |
| `emailAddresses` | array | User email addresses |
| ↳ `id` | string | Email address ID |
| ↳ `emailAddress` | string | Email address |
| ↳ `verified` | boolean | Whether email is verified |
| `phoneNumbers` | array | User phone numbers |
| ↳ `id` | string | Phone number ID |
| ↳ `phoneNumber` | string | Phone number |
| ↳ `verified` | boolean | Whether phone is verified |
| `externalId` | string | External system ID |
| `passwordEnabled` | boolean | Whether password is enabled |
| `twoFactorEnabled` | boolean | Whether 2FA is enabled |
| `totpEnabled` | boolean | Whether TOTP is enabled |
| `backupCodeEnabled` | boolean | Whether backup codes are enabled |
| `banned` | boolean | Whether user is banned |
| `locked` | boolean | Whether user is locked |
| `deleteSelfEnabled` | boolean | Whether user can delete themselves |
| `createOrganizationEnabled` | boolean | Whether user can create organizations |
| `lastSignInAt` | number | Last sign-in timestamp |
| `lastActiveAt` | number | Last activity timestamp |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `publicMetadata` | json | Public metadata \(readable from frontend\) |
| `privateMetadata` | json | Private metadata \(backend only\) |
| `unsafeMetadata` | json | Unsafe metadata \(modifiable from frontend\) |
| `success` | boolean | Operation success status |
### `clerk_create_user`
Create a new user in your Clerk application
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `emailAddress` | string | No | Email addresses for the user \(comma-separated for multiple\) |
| `phoneNumber` | string | No | Phone numbers for the user \(comma-separated for multiple\) |
| `username` | string | No | Username for the user \(must be unique\) |
| `password` | string | No | Password for the user \(minimum 8 characters\) |
| `firstName` | string | No | First name of the user |
| `lastName` | string | No | Last name of the user |
| `externalId` | string | No | External system identifier \(must be unique\) |
| `publicMetadata` | json | No | Public metadata \(JSON object, readable from frontend\) |
| `privateMetadata` | json | No | Private metadata \(JSON object, backend only\) |
| `unsafeMetadata` | json | No | Unsafe metadata \(JSON object, modifiable from frontend\) |
| `skipPasswordChecks` | boolean | No | Skip password validation checks |
| `skipPasswordRequirement` | boolean | No | Make password optional |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Created user ID |
| `username` | string | Username |
| `firstName` | string | First name |
| `lastName` | string | Last name |
| `imageUrl` | string | Profile image URL |
| `primaryEmailAddressId` | string | Primary email address ID |
| `primaryPhoneNumberId` | string | Primary phone number ID |
| `emailAddresses` | array | User email addresses |
| ↳ `id` | string | Email address ID |
| ↳ `emailAddress` | string | Email address |
| ↳ `verified` | boolean | Whether email is verified |
| `phoneNumbers` | array | User phone numbers |
| ↳ `id` | string | Phone number ID |
| ↳ `phoneNumber` | string | Phone number |
| ↳ `verified` | boolean | Whether phone is verified |
| `externalId` | string | External system ID |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `publicMetadata` | json | Public metadata |
| `success` | boolean | Operation success status |
### `clerk_update_user`
Update an existing user in your Clerk application
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `userId` | string | Yes | The ID of the user to update |
| `firstName` | string | No | First name of the user |
| `lastName` | string | No | Last name of the user |
| `username` | string | No | Username \(must be unique\) |
| `password` | string | No | New password \(minimum 8 characters\) |
| `externalId` | string | No | External system identifier |
| `primaryEmailAddressId` | string | No | ID of verified email to set as primary |
| `primaryPhoneNumberId` | string | No | ID of verified phone to set as primary |
| `publicMetadata` | json | No | Public metadata \(JSON object\) |
| `privateMetadata` | json | No | Private metadata \(JSON object\) |
| `unsafeMetadata` | json | No | Unsafe metadata \(JSON object\) |
| `skipPasswordChecks` | boolean | No | Skip password validation checks |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Updated user ID |
| `username` | string | Username |
| `firstName` | string | First name |
| `lastName` | string | Last name |
| `imageUrl` | string | Profile image URL |
| `primaryEmailAddressId` | string | Primary email address ID |
| `primaryPhoneNumberId` | string | Primary phone number ID |
| `emailAddresses` | array | User email addresses |
| ↳ `id` | string | Email address ID |
| ↳ `emailAddress` | string | Email address |
| ↳ `verified` | boolean | Whether email is verified |
| `phoneNumbers` | array | User phone numbers |
| ↳ `id` | string | Phone number ID |
| ↳ `phoneNumber` | string | Phone number |
| ↳ `verified` | boolean | Whether phone is verified |
| `externalId` | string | External system ID |
| `banned` | boolean | Whether user is banned |
| `locked` | boolean | Whether user is locked |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `publicMetadata` | json | Public metadata |
| `success` | boolean | Operation success status |
### `clerk_delete_user`
Delete a user from your Clerk application
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `userId` | string | Yes | The ID of the user to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Deleted user ID |
| `object` | string | Object type \(user\) |
| `deleted` | boolean | Whether the user was deleted |
| `success` | boolean | Operation success status |
### `clerk_list_organizations`
List all organizations in your Clerk application with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `limit` | number | No | Number of results per page \(1-500, default: 10\) |
| `offset` | number | No | Number of results to skip for pagination |
| `includeMembersCount` | boolean | No | Include member count for each organization |
| `query` | string | No | Search by organization ID, name, or slug |
| `orderBy` | string | No | Sort field \(name, created_at, members_count\) with +/- prefix |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `organizations` | array | Array of Clerk organization objects |
| ↳ `id` | string | Organization ID |
| ↳ `name` | string | Organization name |
| ↳ `slug` | string | Organization slug |
| ↳ `imageUrl` | string | Organization image URL |
| ↳ `hasImage` | boolean | Whether organization has an image |
| ↳ `membersCount` | number | Number of members |
| ↳ `pendingInvitationsCount` | number | Number of pending invitations |
| ↳ `maxAllowedMemberships` | number | Max allowed memberships |
| ↳ `adminDeleteEnabled` | boolean | Whether admin delete is enabled |
| ↳ `createdBy` | string | Creator user ID |
| ↳ `createdAt` | number | Creation timestamp |
| ↳ `updatedAt` | number | Last update timestamp |
| ↳ `publicMetadata` | json | Public metadata |
| `totalCount` | number | Total number of organizations |
| `success` | boolean | Operation success status |
### `clerk_get_organization`
Retrieve a single organization by ID or slug from Clerk
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `organizationId` | string | Yes | The ID or slug of the organization to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Organization ID |
| `name` | string | Organization name |
| `slug` | string | Organization slug |
| `imageUrl` | string | Organization image URL |
| `hasImage` | boolean | Whether organization has an image |
| `membersCount` | number | Number of members |
| `pendingInvitationsCount` | number | Number of pending invitations |
| `maxAllowedMemberships` | number | Max allowed memberships |
| `adminDeleteEnabled` | boolean | Whether admin delete is enabled |
| `createdBy` | string | Creator user ID |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `publicMetadata` | json | Public metadata |
| `success` | boolean | Operation success status |
### `clerk_create_organization`
Create a new organization in your Clerk application
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `name` | string | Yes | Name of the organization |
| `createdBy` | string | Yes | User ID of the creator \(will become admin\) |
| `slug` | string | No | Slug identifier for the organization |
| `maxAllowedMemberships` | number | No | Maximum member capacity \(0 for unlimited\) |
| `publicMetadata` | json | No | Public metadata \(JSON object\) |
| `privateMetadata` | json | No | Private metadata \(JSON object\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Created organization ID |
| `name` | string | Organization name |
| `slug` | string | Organization slug |
| `imageUrl` | string | Organization image URL |
| `hasImage` | boolean | Whether organization has an image |
| `membersCount` | number | Number of members |
| `pendingInvitationsCount` | number | Number of pending invitations |
| `maxAllowedMemberships` | number | Max allowed memberships |
| `adminDeleteEnabled` | boolean | Whether admin delete is enabled |
| `createdBy` | string | Creator user ID |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `publicMetadata` | json | Public metadata |
| `success` | boolean | Operation success status |
### `clerk_list_sessions`
List sessions for a user or client in your Clerk application
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `userId` | string | No | User ID to list sessions for \(required if clientId not provided\) |
| `clientId` | string | No | Client ID to list sessions for \(required if userId not provided\) |
| `status` | string | No | Filter by session status \(abandoned, active, ended, expired, pending, removed, replaced, revoked\) |
| `limit` | number | No | Number of results per page \(1-500, default: 10\) |
| `offset` | number | No | Number of results to skip for pagination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `sessions` | array | Array of Clerk session objects |
| ↳ `id` | string | Session ID |
| ↳ `userId` | string | User ID |
| ↳ `clientId` | string | Client ID |
| ↳ `status` | string | Session status |
| ↳ `lastActiveAt` | number | Last activity timestamp |
| ↳ `lastActiveOrganizationId` | string | Last active organization ID |
| ↳ `expireAt` | number | Expiration timestamp |
| ↳ `abandonAt` | number | Abandon timestamp |
| ↳ `createdAt` | number | Creation timestamp |
| ↳ `updatedAt` | number | Last update timestamp |
| `totalCount` | number | Total number of sessions |
| `success` | boolean | Operation success status |
### `clerk_get_session`
Retrieve a single session by ID from Clerk
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `sessionId` | string | Yes | The ID of the session to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Session ID |
| `userId` | string | User ID |
| `clientId` | string | Client ID |
| `status` | string | Session status |
| `lastActiveAt` | number | Last activity timestamp |
| `lastActiveOrganizationId` | string | Last active organization ID |
| `expireAt` | number | Expiration timestamp |
| `abandonAt` | number | Abandon timestamp |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `success` | boolean | Operation success status |
### `clerk_revoke_session`
Revoke a session to immediately invalidate it
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `secretKey` | string | Yes | The Clerk Secret Key for API authentication |
| `sessionId` | string | Yes | The ID of the session to revoke |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Session ID |
| `userId` | string | User ID |
| `clientId` | string | Client ID |
| `status` | string | Session status \(should be revoked\) |
| `lastActiveAt` | number | Last activity timestamp |
| `lastActiveOrganizationId` | string | Last active organization ID |
| `expireAt` | number | Expiration timestamp |
| `abandonAt` | number | Abandon timestamp |
| `createdAt` | number | Creation timestamp |
| `updatedAt` | number | Last update timestamp |
| `success` | boolean | Operation success status |

View File

@@ -140,20 +140,7 @@ Search for content across Confluence pages, blog posts, and other content.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ts` | string | Timestamp of search | | `ts` | string | Timestamp of search |
| `results` | array | Array of search results | | `results` | array | 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` ### `confluence_create_comment`
@@ -193,25 +180,8 @@ List all comments on a Confluence page.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation | | `ts` | string | Timestamp of retrieval |
| `comments` | array | Array of Confluence comments | | `comments` | array | List of 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` ### `confluence_update_comment`
@@ -298,24 +268,8 @@ List all attachments on a Confluence page.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation | | `ts` | string | Timestamp of retrieval |
| `attachments` | array | Array of Confluence attachments | | `attachments` | array | List of 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` ### `confluence_delete_attachment`
@@ -354,10 +308,7 @@ List all labels on a Confluence page.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ts` | string | Timestamp of retrieval | | `ts` | string | Timestamp of retrieval |
| `labels` | array | Array of labels on the page | | `labels` | array | List of labels |
| ↳ `id` | string | Unique label identifier |
| ↳ `name` | string | Label name |
| ↳ `prefix` | string | Label prefix/type \(e.g., global, my, team\) |
### `confluence_get_space` ### `confluence_get_space`
@@ -399,18 +350,7 @@ List all Confluence spaces accessible to the user.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ts` | string | ISO 8601 timestamp of the operation | | `ts` | string | Timestamp of retrieval |
| `spaces` | array | Array of Confluence spaces | | `spaces` | array | List of 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\) |

View File

@@ -257,6 +257,11 @@ Search and retrieve logs from Datadog. Use for troubleshooting, analysis, or mon
| ↳ `service` | string | Service name | | ↳ `service` | string | Service name |
| ↳ `message` | string | Log message | | ↳ `message` | string | Log message |
| ↳ `status` | string | Log status/level | | ↳ `status` | string | Log status/level |
| ↳ `timestamp` | string | Log timestamp |
| ↳ `host` | string | Host name |
| ↳ `service` | string | Service name |
| ↳ `message` | string | Log message |
| ↳ `status` | string | Log status/level |
| `nextLogId` | string | Cursor for pagination | | `nextLogId` | string | Cursor for pagination |
### `datadog_send_logs` ### `datadog_send_logs`

View File

@@ -64,7 +64,7 @@ Send a message to a Discord channel
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Success or error message | | `message` | string | Success or error message |
| `data` | object | Discord message data | | `data` | object | Discord message data |
| ↳ `id` | string | Message ID | | ↳ `id` | string | Author user ID |
| ↳ `content` | string | Message content | | ↳ `content` | string | Message content |
| ↳ `channel_id` | string | Channel ID where message was sent | | ↳ `channel_id` | string | Channel ID where message was sent |
| ↳ `author` | object | Message author information | | ↳ `author` | object | Message author information |
@@ -72,6 +72,9 @@ Send a message to a Discord channel
| ↳ `username` | string | Author username | | ↳ `username` | string | Author username |
| ↳ `avatar` | string | Author avatar hash | | ↳ `avatar` | string | Author avatar hash |
| ↳ `bot` | boolean | Whether author is a bot | | ↳ `bot` | boolean | Whether author is a bot |
| ↳ `username` | string | Author username |
| ↳ `avatar` | string | Author avatar hash |
| ↳ `bot` | boolean | Whether author is a bot |
| ↳ `timestamp` | string | Message timestamp | | ↳ `timestamp` | string | Message timestamp |
| ↳ `edited_timestamp` | string | Message edited timestamp | | ↳ `edited_timestamp` | string | Message edited timestamp |
| ↳ `embeds` | array | Message embeds | | ↳ `embeds` | array | Message embeds |
@@ -99,7 +102,7 @@ Retrieve messages from a Discord channel
| `message` | string | Success or error message | | `message` | string | Success or error message |
| `data` | object | Container for messages data | | `data` | object | Container for messages data |
| ↳ `messages` | array | Array of Discord messages with full metadata | | ↳ `messages` | array | Array of Discord messages with full metadata |
| ↳ `id` | string | Message ID | | ↳ `id` | string | Author user ID |
| ↳ `content` | string | Message content | | ↳ `content` | string | Message content |
| ↳ `channel_id` | string | Channel ID | | ↳ `channel_id` | string | Channel ID |
| ↳ `author` | object | Message author information | | ↳ `author` | object | Message author information |
@@ -107,6 +110,9 @@ Retrieve messages from a Discord channel
| ↳ `username` | string | Author username | | ↳ `username` | string | Author username |
| ↳ `avatar` | string | Author avatar hash | | ↳ `avatar` | string | Author avatar hash |
| ↳ `bot` | boolean | Whether author is a bot | | ↳ `bot` | boolean | Whether author is a bot |
| ↳ `username` | string | Author username |
| ↳ `avatar` | string | Author avatar hash |
| ↳ `bot` | boolean | Whether author is a bot |
| ↳ `timestamp` | string | Message timestamp | | ↳ `timestamp` | string | Message timestamp |
| ↳ `edited_timestamp` | string | Message edited timestamp | | ↳ `edited_timestamp` | string | Message edited timestamp |
| ↳ `embeds` | array | Message embeds | | ↳ `embeds` | array | Message embeds |
@@ -114,7 +120,24 @@ Retrieve messages from a Discord channel
| ↳ `mentions` | array | User mentions in message | | ↳ `mentions` | array | User mentions in message |
| ↳ `mention_roles` | array | Role mentions in message | | ↳ `mention_roles` | array | Role mentions in message |
| ↳ `mention_everyone` | boolean | Whether message mentions everyone | | ↳ `mention_everyone` | boolean | Whether message mentions everyone |
| ↳ `id` | string | Author user ID |
| ↳ `content` | string | Message content |
| ↳ `channel_id` | string | Channel ID | | ↳ `channel_id` | string | Channel ID |
| ↳ `author` | object | Message author information |
| ↳ `id` | string | Author user ID |
| ↳ `username` | string | Author username |
| ↳ `avatar` | string | Author avatar hash |
| ↳ `bot` | boolean | Whether author is a bot |
| ↳ `username` | string | Author username |
| ↳ `avatar` | string | Author avatar hash |
| ↳ `bot` | boolean | Whether author is a bot |
| ↳ `timestamp` | string | Message timestamp |
| ↳ `edited_timestamp` | string | Message edited timestamp |
| ↳ `embeds` | array | Message embeds |
| ↳ `attachments` | array | Message attachments |
| ↳ `mentions` | array | User mentions in message |
| ↳ `mention_roles` | array | Role mentions in message |
| ↳ `mention_everyone` | boolean | Whether message mentions everyone |
### `discord_get_server` ### `discord_get_server`
@@ -658,6 +681,9 @@ Get information about a member in a Discord server
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `username` | string | Username | | ↳ `username` | string | Username |
| ↳ `avatar` | string | Avatar hash | | ↳ `avatar` | string | Avatar hash |
| ↳ `id` | string | User ID |
| ↳ `username` | string | Username |
| ↳ `avatar` | string | Avatar hash |
| ↳ `nick` | string | Server nickname | | ↳ `nick` | string | Server nickname |
| ↳ `roles` | array | Array of role IDs | | ↳ `roles` | array | Array of role IDs |
| ↳ `joined_at` | string | When the member joined | | ↳ `joined_at` | string | When the member joined |

View File

@@ -66,7 +66,7 @@ Search the web using Exa AI. Returns relevant search results with titles, URLs,
| ↳ `publishedDate` | string | Date when the content was published | | ↳ `publishedDate` | string | Date when the content was published |
| ↳ `author` | string | The author of the content | | ↳ `author` | string | The author of the content |
| ↳ `summary` | string | A brief summary of the content | | ↳ `summary` | string | A brief summary of the content |
| ↳ `favicon` | string | URL of the site's favicon | | ↳ `favicon` | string | URL of the site |
| ↳ `image` | string | URL of a representative image from the page | | ↳ `image` | string | URL of a representative image from the page |
| ↳ `text` | string | Text snippet or full content from the page | | ↳ `text` | string | Text snippet or full content from the page |
| ↳ `score` | number | Relevance score for the search result | | ↳ `score` | number | Relevance score for the search result |

View File

@@ -61,20 +61,6 @@ Extract structured content from web pages with comprehensive metadata support. C
| `markdown` | string | Page content in markdown format | | `markdown` | string | Page content in markdown format |
| `html` | string | Raw HTML content of the page | | `html` | string | Raw HTML content of the page |
| `metadata` | object | Page metadata including SEO and Open Graph information | | `metadata` | object | Page metadata including SEO and Open Graph information |
| ↳ `title` | string | Page title |
| ↳ `description` | string | Page meta description |
| ↳ `language` | string | Page language code \(e.g., "en"\) |
| ↳ `sourceURL` | string | Original source URL that was scraped |
| ↳ `statusCode` | number | HTTP status code of the response |
| ↳ `keywords` | string | Page meta keywords |
| ↳ `robots` | string | Robots meta directive \(e.g., "follow, index"\) |
| ↳ `ogTitle` | string | Open Graph title |
| ↳ `ogDescription` | string | Open Graph description |
| ↳ `ogUrl` | string | Open Graph URL |
| ↳ `ogImage` | string | Open Graph image URL |
| ↳ `ogLocaleAlternate` | array | Alternate locale versions for Open Graph |
| ↳ `ogSiteName` | string | Open Graph site name |
| ↳ `error` | string | Error message if scrape failed |
### `firecrawl_search` ### `firecrawl_search`
@@ -91,21 +77,7 @@ Search for information on the web using Firecrawl
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `data` | array | Search results data with scraped content and metadata | | `data` | array | Search results data |
| ↳ `title` | string | Search result title from search engine |
| ↳ `description` | string | Search result description/snippet from search engine |
| ↳ `url` | string | URL of the search result |
| ↳ `markdown` | string | Page content in markdown \(when scrapeOptions.formats includes "markdown"\) |
| ↳ `html` | string | Processed HTML content \(when scrapeOptions.formats includes "html"\) |
| ↳ `rawHtml` | string | Unprocessed raw HTML \(when scrapeOptions.formats includes "rawHtml"\) |
| ↳ `links` | array | Links found on the page \(when scrapeOptions.formats includes "links"\) |
| ↳ `screenshot` | string | Screenshot URL \(expires after 24 hours, when scrapeOptions.formats includes "screenshot"\) |
| ↳ `metadata` | object | Metadata about the search result page |
| ↳ `title` | string | Page title |
| ↳ `description` | string | Page meta description |
| ↳ `sourceURL` | string | Original source URL |
| ↳ `statusCode` | number | HTTP status code |
| ↳ `error` | string | Error message if scrape failed |
### `firecrawl_crawl` ### `firecrawl_crawl`
@@ -126,17 +98,18 @@ Crawl entire websites and extract structured content from all accessible pages
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pages` | array | Array of crawled pages with their content and metadata | | `pages` | array | Array of crawled pages with their content and metadata |
| ↳ `markdown` | string | Page content in markdown format | | ↳ `markdown` | string | Page content in markdown format |
| ↳ `html` | string | Processed HTML content of the page | | ↳ `html` | string | Page HTML content |
| ↳ `rawHtml` | string | Unprocessed raw HTML content | | ↳ `metadata` | object | Page metadata |
| ↳ `links` | array | Array of links found on the page |
| ↳ `screenshot` | string | Screenshot URL \(expires after 24 hours\) |
| ↳ `metadata` | object | Page metadata from crawl operation |
| ↳ `title` | string | Page title | | ↳ `title` | string | Page title |
| ↳ `description` | string | Page meta description | | ↳ `description` | string | Page description |
| ↳ `language` | string | Page language code | | ↳ `language` | string | Page language |
| ↳ `sourceURL` | string | Original source URL | | ↳ `sourceURL` | string | Source URL of the page |
| ↳ `statusCode` | number | HTTP status code |
| ↳ `title` | string | Page title |
| ↳ `description` | string | Page description |
| ↳ `language` | string | Page language |
| ↳ `sourceURL` | string | Source URL of the page |
| ↳ `statusCode` | number | HTTP status code | | ↳ `statusCode` | number | HTTP status code |
| ↳ `ogLocaleAlternate` | array | Alternate locale versions |
| `total` | number | Total number of pages found during crawl | | `total` | number | Total number of pages found during crawl |
| `creditsUsed` | number | Number of credits consumed by the crawl operation | | `creditsUsed` | number | Number of credits consumed by the crawl operation |

File diff suppressed because it is too large Load Diff

View File

@@ -139,10 +139,25 @@ Apply multiple updates to a form (add items, update info, change settings, etc.)
| ↳ `title` | string | The form title visible to responders | | ↳ `title` | string | The form title visible to responders |
| ↳ `description` | string | The form description | | ↳ `description` | string | The form description |
| ↳ `documentTitle` | string | The document title visible in Drive | | ↳ `documentTitle` | string | The document title visible in Drive |
| ↳ `title` | string | Item title |
| ↳ `description` | string | Item description |
| ↳ `documentTitle` | string | The document title visible in Drive |
| ↳ `settings` | object | Form settings | | ↳ `settings` | object | Form settings |
| ↳ `quizSettings` | object | Quiz settings | | ↳ `quizSettings` | object | Quiz settings |
| ↳ `isQuiz` | boolean | Whether the form is a quiz | | ↳ `isQuiz` | boolean | Whether the form is a quiz |
| ↳ `isQuiz` | boolean | Whether the form is a quiz |
| ↳ `emailCollectionType` | string | Email collection type | | ↳ `emailCollectionType` | string | Email collection type |
| ↳ `quizSettings` | object | Quiz settings |
| ↳ `isQuiz` | boolean | Whether the form is a quiz |
| ↳ `isQuiz` | boolean | Whether the form is a quiz |
| ↳ `emailCollectionType` | string | Email collection type |
| ↳ `itemId` | string | Item ID |
| ↳ `questionItem` | json | Question item configuration |
| ↳ `questionGroupItem` | json | Question group configuration |
| ↳ `pageBreakItem` | json | Page break configuration |
| ↳ `textItem` | json | Text item configuration |
| ↳ `imageItem` | json | Image item configuration |
| ↳ `videoItem` | json | Video item configuration |
| ↳ `revisionId` | string | The revision ID of the form | | ↳ `revisionId` | string | The revision ID of the form |
| ↳ `responderUri` | string | The URI to share with responders | | ↳ `responderUri` | string | The URI to share with responders |
| ↳ `linkedSheetId` | string | The ID of the linked Google Sheet | | ↳ `linkedSheetId` | string | The ID of the linked Google Sheet |
@@ -150,6 +165,13 @@ Apply multiple updates to a form (add items, update info, change settings, etc.)
| ↳ `publishState` | object | Current publish state | | ↳ `publishState` | object | Current publish state |
| ↳ `isPublished` | boolean | Whether the form is published | | ↳ `isPublished` | boolean | Whether the form is published |
| ↳ `isAcceptingResponses` | boolean | Whether the form is accepting responses | | ↳ `isAcceptingResponses` | boolean | Whether the form is accepting responses |
| ↳ `isPublished` | boolean | Whether the form is published |
| ↳ `isAcceptingResponses` | boolean | Whether the form is accepting responses |
| ↳ `publishState` | object | Current publish state |
| ↳ `isPublished` | boolean | Whether the form is published |
| ↳ `isAcceptingResponses` | boolean | Whether the form is accepting responses |
| ↳ `isPublished` | boolean | Whether the form is published |
| ↳ `isAcceptingResponses` | boolean | Whether the form is accepting responses |
### `google_forms_set_publish_settings` ### `google_forms_set_publish_settings`
@@ -172,6 +194,8 @@ Update the publish settings of a form (publish/unpublish, accept responses)
| ↳ `publishState` | object | The publish state | | ↳ `publishState` | object | The publish state |
| ↳ `isPublished` | boolean | Whether the form is published | | ↳ `isPublished` | boolean | Whether the form is published |
| ↳ `isAcceptingResponses` | boolean | Whether the form accepts responses | | ↳ `isAcceptingResponses` | boolean | Whether the form accepts responses |
| ↳ `isPublished` | boolean | Whether the form is published |
| ↳ `isAcceptingResponses` | boolean | Whether the form accepts responses |
### `google_forms_create_watch` ### `google_forms_create_watch`

View File

@@ -231,7 +231,7 @@ List all email aliases for a Google Group
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `aliases` | array | List of email aliases for the group | | `aliases` | array | List of email aliases for the group |
| ↳ `id` | string | Unique group identifier | | ↳ `id` | string | Unique group identifier |
| ↳ `primaryEmail` | string | Group's primary email address | | ↳ `primaryEmail` | string | Group |
| ↳ `alias` | string | Alias email address | | ↳ `alias` | string | Alias email address |
| ↳ `kind` | string | API resource type | | ↳ `kind` | string | API resource type |
| ↳ `etag` | string | Resource version identifier | | ↳ `etag` | string | Resource version identifier |
@@ -252,7 +252,7 @@ Add an email alias to a Google Group
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `id` | string | Unique group identifier | | `id` | string | Unique group identifier |
| `primaryEmail` | string | Group's primary email address | | `primaryEmail` | string | Group |
| `alias` | string | The alias that was added | | `alias` | string | The alias that was added |
| `kind` | string | API resource type | | `kind` | string | API resource type |
| `etag` | string | Resource version identifier | | `etag` | string | Resource version identifier |
@@ -288,7 +288,7 @@ Get the settings for a Google Group including access permissions, moderation, an
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `email` | string | The group's email address | | `email` | string | The group |
| `name` | string | The group name \(max 75 characters\) | | `name` | string | The group name \(max 75 characters\) |
| `description` | string | The group description \(max 4096 characters\) | | `description` | string | The group description \(max 4096 characters\) |
| `whoCanJoin` | string | Who can join the group \(ANYONE_CAN_JOIN, ALL_IN_DOMAIN_CAN_JOIN, INVITED_CAN_JOIN, CAN_REQUEST_TO_JOIN\) | | `whoCanJoin` | string | Who can join the group \(ANYONE_CAN_JOIN, ALL_IN_DOMAIN_CAN_JOIN, INVITED_CAN_JOIN, CAN_REQUEST_TO_JOIN\) |
@@ -297,7 +297,7 @@ Get the settings for a Google Group including access permissions, moderation, an
| `whoCanPostMessage` | string | Who can post messages to the group | | `whoCanPostMessage` | string | Who can post messages to the group |
| `allowExternalMembers` | string | Whether external users can be members | | `allowExternalMembers` | string | Whether external users can be members |
| `allowWebPosting` | string | Whether web posting is allowed | | `allowWebPosting` | string | Whether web posting is allowed |
| `primaryLanguage` | string | The group's primary language | | `primaryLanguage` | string | The group |
| `isArchived` | string | Whether messages are archived | | `isArchived` | string | Whether messages are archived |
| `archiveOnly` | string | Whether the group is archive-only \(inactive\) | | `archiveOnly` | string | Whether the group is archive-only \(inactive\) |
| `messageModerationLevel` | string | Message moderation level | | `messageModerationLevel` | string | Message moderation level |
@@ -368,7 +368,7 @@ Update the settings for a Google Group including access permissions, moderation,
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `email` | string | The group's email address | | `email` | string | The group |
| `name` | string | The group name | | `name` | string | The group name |
| `description` | string | The group description | | `description` | string | The group description |
| `whoCanJoin` | string | Who can join the group | | `whoCanJoin` | string | Who can join the group |
@@ -377,7 +377,7 @@ Update the settings for a Google Group including access permissions, moderation,
| `whoCanPostMessage` | string | Who can post messages to the group | | `whoCanPostMessage` | string | Who can post messages to the group |
| `allowExternalMembers` | string | Whether external users can be members | | `allowExternalMembers` | string | Whether external users can be members |
| `allowWebPosting` | string | Whether web posting is allowed | | `allowWebPosting` | string | Whether web posting is allowed |
| `primaryLanguage` | string | The group's primary language | | `primaryLanguage` | string | The group |
| `isArchived` | string | Whether messages are archived | | `isArchived` | string | Whether messages are archived |
| `archiveOnly` | string | Whether the group is archive-only | | `archiveOnly` | string | Whether the group is archive-only |
| `messageModerationLevel` | string | Message moderation level | | `messageModerationLevel` | string | Message moderation level |

View File

@@ -66,8 +66,8 @@ Search the web with the Custom Search API
| ↳ `title` | string | Title of the search result | | ↳ `title` | string | Title of the search result |
| ↳ `link` | string | URL of the search result | | ↳ `link` | string | URL of the search result |
| ↳ `snippet` | string | Snippet or description of the search result | | ↳ `snippet` | string | Snippet or description of the search result |
| ↳ `displayLink` | string | Display URL \(abbreviated form\) | | ↳ `displayLink` | string | Display URL |
| ↳ `pagemap` | object | PageMap information for the result \(structured data\) | | ↳ `pagemap` | object | Additional page metadata |
| `searchInformation` | object | Information about the search query and results | | `searchInformation` | object | Information about the search query and results |
| ↳ `totalResults` | string | Total number of search results available | | ↳ `totalResults` | string | Total number of search results available |
| ↳ `searchTime` | number | Time taken to perform the search in seconds | | ↳ `searchTime` | number | Time taken to perform the search in seconds |

View File

@@ -57,6 +57,8 @@ Read content from a Google Slides presentation
| ↳ `pageSize` | object | Presentation page size | | ↳ `pageSize` | object | Presentation page size |
| ↳ `width` | json | Page width as a Dimension object | | ↳ `width` | json | Page width as a Dimension object |
| ↳ `height` | json | Page height as a Dimension object | | ↳ `height` | json | Page height as a Dimension object |
| ↳ `width` | json | Page width as a Dimension object |
| ↳ `height` | json | Page height as a Dimension object |
| ↳ `mimeType` | string | The mime type of the presentation | | ↳ `mimeType` | string | The mime type of the presentation |
| ↳ `url` | string | URL to open the presentation | | ↳ `url` | string | URL to open the presentation |

View File

@@ -51,12 +51,6 @@ Retrieve all users from HubSpot account
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `users` | array | Array of HubSpot user objects | | `users` | array | Array of HubSpot user objects |
| ↳ `id` | string | User ID |
| ↳ `email` | string | User email address |
| ↳ `roleId` | string | User role ID |
| ↳ `primaryTeamId` | string | Primary team ID |
| ↳ `secondaryTeamIds` | array | Secondary team IDs |
| ↳ `superAdmin` | boolean | Whether user is a super admin |
| `totalItems` | number | Total number of users returned | | `totalItems` | number | Total number of users returned |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -77,33 +71,9 @@ Retrieve all contacts from HubSpot account with pagination support
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `contacts` | array | Array of HubSpot contact records | | `contacts` | array | Array of HubSpot contact objects |
| ↳ `email` | string | Contact email address | | `paging` | object | Pagination information |
| ↳ `firstname` | string | Contact first name | | `metadata` | object | Metadata with totalReturned and hasMore |
| ↳ `lastname` | string | Contact last name |
| ↳ `phone` | string | Contact phone number |
| ↳ `mobilephone` | string | Contact mobile phone number |
| ↳ `company` | string | Associated company name |
| ↳ `website` | string | Contact website URL |
| ↳ `jobtitle` | string | Contact job title |
| ↳ `lifecyclestage` | string | Lifecycle stage \(subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer\) |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `createdate` | string | Contact creation date \(ISO 8601\) |
| ↳ `lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `address` | string | Street address |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `fax` | string | Fax number |
| ↳ `hs_timezone` | string | Contact timezone |
| `paging` | object | Pagination information for fetching more results |
| ↳ `after` | string | Cursor for next page of results |
| ↳ `link` | string | Link to next page |
| `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records are available |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
### `hubspot_get_contact` ### `hubspot_get_contact`
@@ -123,27 +93,7 @@ Retrieve a single contact by ID or email from HubSpot
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `contact` | object | HubSpot contact record | | `contact` | object | HubSpot contact object with properties |
| ↳ `email` | string | Contact email address |
| ↳ `firstname` | string | Contact first name |
| ↳ `lastname` | string | Contact last name |
| ↳ `phone` | string | Contact phone number |
| ↳ `mobilephone` | string | Contact mobile phone number |
| ↳ `company` | string | Associated company name |
| ↳ `website` | string | Contact website URL |
| ↳ `jobtitle` | string | Contact job title |
| ↳ `lifecyclestage` | string | Lifecycle stage \(subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer\) |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `createdate` | string | Contact creation date \(ISO 8601\) |
| ↳ `lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `address` | string | Street address |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `fax` | string | Fax number |
| ↳ `hs_timezone` | string | Contact timezone |
| `contactId` | string | The retrieved contact ID | | `contactId` | string | The retrieved contact ID |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -162,27 +112,7 @@ Create a new contact in HubSpot. Requires at least one of: email, firstname, or
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `contact` | object | HubSpot contact record | | `contact` | object | Created HubSpot contact object |
| ↳ `email` | string | Contact email address |
| ↳ `firstname` | string | Contact first name |
| ↳ `lastname` | string | Contact last name |
| ↳ `phone` | string | Contact phone number |
| ↳ `mobilephone` | string | Contact mobile phone number |
| ↳ `company` | string | Associated company name |
| ↳ `website` | string | Contact website URL |
| ↳ `jobtitle` | string | Contact job title |
| ↳ `lifecyclestage` | string | Lifecycle stage \(subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer\) |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `createdate` | string | Contact creation date \(ISO 8601\) |
| ↳ `lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `address` | string | Street address |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `fax` | string | Fax number |
| ↳ `hs_timezone` | string | Contact timezone |
| `contactId` | string | The created contact ID | | `contactId` | string | The created contact ID |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -202,27 +132,7 @@ Update an existing contact in HubSpot by ID or email
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `contact` | object | HubSpot contact record | | `contact` | object | Updated HubSpot contact object |
| ↳ `email` | string | Contact email address |
| ↳ `firstname` | string | Contact first name |
| ↳ `lastname` | string | Contact last name |
| ↳ `phone` | string | Contact phone number |
| ↳ `mobilephone` | string | Contact mobile phone number |
| ↳ `company` | string | Associated company name |
| ↳ `website` | string | Contact website URL |
| ↳ `jobtitle` | string | Contact job title |
| ↳ `lifecyclestage` | string | Lifecycle stage \(subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer\) |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `createdate` | string | Contact creation date \(ISO 8601\) |
| ↳ `lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `address` | string | Street address |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `fax` | string | Fax number |
| ↳ `hs_timezone` | string | Contact timezone |
| `contactId` | string | The updated contact ID | | `contactId` | string | The updated contact ID |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -245,34 +155,10 @@ Search for contacts in HubSpot using filters, sorting, and queries
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `contacts` | array | Array of HubSpot contact records | | `contacts` | array | Array of matching HubSpot contact objects |
| ↳ `email` | string | Contact email address |
| ↳ `firstname` | string | Contact first name |
| ↳ `lastname` | string | Contact last name |
| ↳ `phone` | string | Contact phone number |
| ↳ `mobilephone` | string | Contact mobile phone number |
| ↳ `company` | string | Associated company name |
| ↳ `website` | string | Contact website URL |
| ↳ `jobtitle` | string | Contact job title |
| ↳ `lifecyclestage` | string | Lifecycle stage \(subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer\) |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `createdate` | string | Contact creation date \(ISO 8601\) |
| ↳ `lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `address` | string | Street address |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `fax` | string | Fax number |
| ↳ `hs_timezone` | string | Contact timezone |
| `paging` | object | Pagination information for fetching more results |
| ↳ `after` | string | Cursor for next page of results |
| ↳ `link` | string | Link to next page |
| `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records are available |
| `total` | number | Total number of matching contacts | | `total` | number | Total number of matching contacts |
| `paging` | object | Pagination information |
| `metadata` | object | Metadata with totalReturned and hasMore |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
### `hubspot_list_companies` ### `hubspot_list_companies`
@@ -292,34 +178,9 @@ Retrieve all companies from HubSpot account with pagination support
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `companies` | array | Array of HubSpot company records | | `companies` | array | Array of HubSpot company objects |
| ↳ `name` | string | Company name | | `paging` | object | Pagination information |
| ↳ `domain` | string | Company website domain \(unique identifier\) | | `metadata` | object | Metadata with totalReturned and hasMore |
| ↳ `description` | string | Company description |
| ↳ `industry` | string | Industry type \(e.g., Airlines/Aviation\) |
| ↳ `phone` | string | Company phone number |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `address` | string | Street address |
| ↳ `numberofemployees` | string | Total number of employees |
| ↳ `annualrevenue` | string | Annual revenue estimate |
| ↳ `lifecyclestage` | string | Lifecycle stage |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `hs_createdate` | string | Company creation date \(ISO 8601\) |
| ↳ `hs_lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `hs_additional_domains` | string | Additional domains \(semicolon-separated\) |
| ↳ `num_associated_contacts` | string | Number of associated contacts \(auto-updated\) |
| ↳ `num_associated_deals` | string | Number of associated deals \(auto-updated\) |
| ↳ `website` | string | Company website URL |
| `paging` | object | Pagination information for fetching more results |
| ↳ `after` | string | Cursor for next page of results |
| ↳ `link` | string | Link to next page |
| `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records are available |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
### `hubspot_get_company` ### `hubspot_get_company`
@@ -339,28 +200,7 @@ Retrieve a single company by ID or domain from HubSpot
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `company` | object | HubSpot company record | | `company` | object | HubSpot company object with properties |
| ↳ `name` | string | Company name |
| ↳ `domain` | string | Company website domain \(unique identifier\) |
| ↳ `description` | string | Company description |
| ↳ `industry` | string | Industry type \(e.g., Airlines/Aviation\) |
| ↳ `phone` | string | Company phone number |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `address` | string | Street address |
| ↳ `numberofemployees` | string | Total number of employees |
| ↳ `annualrevenue` | string | Annual revenue estimate |
| ↳ `lifecyclestage` | string | Lifecycle stage |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `hs_createdate` | string | Company creation date \(ISO 8601\) |
| ↳ `hs_lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `hs_additional_domains` | string | Additional domains \(semicolon-separated\) |
| ↳ `num_associated_contacts` | string | Number of associated contacts \(auto-updated\) |
| ↳ `num_associated_deals` | string | Number of associated deals \(auto-updated\) |
| ↳ `website` | string | Company website URL |
| `companyId` | string | The retrieved company ID | | `companyId` | string | The retrieved company ID |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -379,28 +219,7 @@ Create a new company in HubSpot
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `company` | object | HubSpot company record | | `company` | object | Created HubSpot company object |
| ↳ `name` | string | Company name |
| ↳ `domain` | string | Company website domain \(unique identifier\) |
| ↳ `description` | string | Company description |
| ↳ `industry` | string | Industry type \(e.g., Airlines/Aviation\) |
| ↳ `phone` | string | Company phone number |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `address` | string | Street address |
| ↳ `numberofemployees` | string | Total number of employees |
| ↳ `annualrevenue` | string | Annual revenue estimate |
| ↳ `lifecyclestage` | string | Lifecycle stage |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `hs_createdate` | string | Company creation date \(ISO 8601\) |
| ↳ `hs_lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `hs_additional_domains` | string | Additional domains \(semicolon-separated\) |
| ↳ `num_associated_contacts` | string | Number of associated contacts \(auto-updated\) |
| ↳ `num_associated_deals` | string | Number of associated deals \(auto-updated\) |
| ↳ `website` | string | Company website URL |
| `companyId` | string | The created company ID | | `companyId` | string | The created company ID |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -420,28 +239,7 @@ Update an existing company in HubSpot by ID or domain
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `company` | object | HubSpot company record | | `company` | object | Updated HubSpot company object |
| ↳ `name` | string | Company name |
| ↳ `domain` | string | Company website domain \(unique identifier\) |
| ↳ `description` | string | Company description |
| ↳ `industry` | string | Industry type \(e.g., Airlines/Aviation\) |
| ↳ `phone` | string | Company phone number |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `address` | string | Street address |
| ↳ `numberofemployees` | string | Total number of employees |
| ↳ `annualrevenue` | string | Annual revenue estimate |
| ↳ `lifecyclestage` | string | Lifecycle stage |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `hs_createdate` | string | Company creation date \(ISO 8601\) |
| ↳ `hs_lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `hs_additional_domains` | string | Additional domains \(semicolon-separated\) |
| ↳ `num_associated_contacts` | string | Number of associated contacts \(auto-updated\) |
| ↳ `num_associated_deals` | string | Number of associated deals \(auto-updated\) |
| ↳ `website` | string | Company website URL |
| `companyId` | string | The updated company ID | | `companyId` | string | The updated company ID |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -464,35 +262,10 @@ Search for companies in HubSpot using filters, sorting, and queries
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `companies` | array | Array of HubSpot company records | | `companies` | array | Array of matching HubSpot company objects |
| ↳ `name` | string | Company name |
| ↳ `domain` | string | Company website domain \(unique identifier\) |
| ↳ `description` | string | Company description |
| ↳ `industry` | string | Industry type \(e.g., Airlines/Aviation\) |
| ↳ `phone` | string | Company phone number |
| ↳ `city` | string | City |
| ↳ `state` | string | State/Region |
| ↳ `zip` | string | Postal/ZIP code |
| ↳ `country` | string | Country |
| ↳ `address` | string | Street address |
| ↳ `numberofemployees` | string | Total number of employees |
| ↳ `annualrevenue` | string | Annual revenue estimate |
| ↳ `lifecyclestage` | string | Lifecycle stage |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `hs_createdate` | string | Company creation date \(ISO 8601\) |
| ↳ `hs_lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `hs_additional_domains` | string | Additional domains \(semicolon-separated\) |
| ↳ `num_associated_contacts` | string | Number of associated contacts \(auto-updated\) |
| ↳ `num_associated_deals` | string | Number of associated deals \(auto-updated\) |
| ↳ `website` | string | Company website URL |
| `paging` | object | Pagination information for fetching more results |
| ↳ `after` | string | Cursor for next page of results |
| ↳ `link` | string | Link to next page |
| `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records are available |
| `total` | number | Total number of matching companies | | `total` | number | Total number of matching companies |
| `paging` | object | Pagination information |
| `metadata` | object | Metadata with totalReturned and hasMore |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
### `hubspot_list_deals` ### `hubspot_list_deals`
@@ -512,25 +285,9 @@ Retrieve all deals from HubSpot account with pagination support
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `deals` | array | Array of HubSpot deal records | | `deals` | array | Array of HubSpot deal objects |
| ↳ `dealname` | string | Deal name | | `paging` | object | Pagination information |
| ↳ `amount` | string | Deal amount | | `metadata` | object | Metadata with totalReturned and hasMore |
| ↳ `dealstage` | string | Current deal stage |
| ↳ `pipeline` | string | Pipeline the deal is in |
| ↳ `closedate` | string | Expected close date \(ISO 8601\) |
| ↳ `dealtype` | string | Deal type \(New Business, Existing Business, etc.\) |
| ↳ `description` | string | Deal description |
| ↳ `hubspot_owner_id` | string | HubSpot owner ID |
| ↳ `hs_object_id` | string | HubSpot object ID \(same as record ID\) |
| ↳ `createdate` | string | Deal creation date \(ISO 8601\) |
| ↳ `hs_lastmodifieddate` | string | Last modified date \(ISO 8601\) |
| ↳ `num_associated_contacts` | string | Number of associated contacts |
| `paging` | object | Pagination information for fetching more results |
| ↳ `after` | string | Cursor for next page of results |
| ↳ `link` | string | Link to next page |
| `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records are available |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |

View File

@@ -60,5 +60,8 @@ Generate completions using Hugging Face Inference API
| ↳ `prompt_tokens` | number | Number of tokens in the prompt | | ↳ `prompt_tokens` | number | Number of tokens in the prompt |
| ↳ `completion_tokens` | number | Number of tokens in the completion | | ↳ `completion_tokens` | number | Number of tokens in the completion |
| ↳ `total_tokens` | number | Total number of tokens used | | ↳ `total_tokens` | number | Total number of tokens used |
| ↳ `prompt_tokens` | number | Number of tokens in the prompt |
| ↳ `completion_tokens` | number | Number of tokens in the completion |
| ↳ `total_tokens` | number | Total number of tokens used |

View File

@@ -52,12 +52,7 @@ Returns companies matching a set of criteria using Hunter.io AI-powered search.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `results` | array | List of companies matching the search criteria | | `results` | array | Array of companies matching the search criteria, each containing domain, name, headcount, technologies, and email_count |
| ↳ `domain` | string | Company domain |
| ↳ `name` | string | Company/organization name |
| ↳ `headcount` | number | Company size/headcount |
| ↳ `technologies` | array | Technologies used by the company |
| ↳ `email_count` | number | Total number of email addresses found |
### `hunter_domain_search` ### `hunter_domain_search`
@@ -79,46 +74,26 @@ Returns all the email addresses found using one given domain name, with sources.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `emails` | array | List of email addresses found for the domain \(up to 100 per request\) |
| ↳ `value` | string | The email address |
| ↳ `type` | string | Email type: personal or generic \(role-based\) |
| ↳ `confidence` | number | Probability score \(0-100\) that the email is correct |
| ↳ `first_name` | string | Person's first name |
| ↳ `last_name` | string | Person's last name |
| ↳ `position` | string | Job title/position |
| ↳ `seniority` | string | Seniority level \(junior, senior, executive\) |
| ↳ `department` | string | Department \(executive, it, finance, management, sales, legal, support, hr, marketing, communication\) |
| ↳ `linkedin` | string | LinkedIn profile URL |
| ↳ `twitter` | string | Twitter handle |
| ↳ `phone_number` | string | Phone number |
| ↳ `sources` | array | List of sources where the email was found \(limited to 20\) |
| ↳ `domain` | string | Domain where the email was found |
| ↳ `uri` | string | Full URL of the source page |
| ↳ `extracted_on` | string | Date when the email was first extracted \(YYYY-MM-DD\) |
| ↳ `last_seen_on` | string | Date when the email was last seen \(YYYY-MM-DD\) |
| ↳ `still_on_page` | boolean | Whether the email is still present on the source page |
| ↳ `verification` | object | Email verification information |
| ↳ `date` | string | Date when the email was verified \(YYYY-MM-DD\) |
| ↳ `status` | string | Verification status \(valid, invalid, accept_all, webmail, disposable, unknown\) |
| `domain` | string | The searched domain name | | `domain` | string | The searched domain name |
| `disposable` | boolean | Whether the domain is a disposable email service | | `disposable` | boolean | Whether the domain accepts disposable email addresses |
| `webmail` | boolean | Whether the domain is a webmail provider \(e.g., Gmail\) | | `webmail` | boolean | Whether the domain is a webmail provider |
| `accept_all` | boolean | Whether the server accepts all email addresses \(may cause false positives\) | | `accept_all` | boolean | Whether the domain accepts all email addresses |
| `pattern` | string | The email pattern used by the organization \(e.g., \{first\}, \{first\}.\{last\}\) | | `pattern` | string | The email pattern used by the organization |
| `organization` | string | The organization/company name | | `organization` | string | The organization name |
| `description` | string | Description of the organization | | `description` | string | Description of the organization |
| `industry` | string | Industry classification of the organization | | `industry` | string | Industry of the organization |
| `twitter` | string | Twitter handle of the organization | | `twitter` | string | Twitter profile of the organization |
| `facebook` | string | Facebook page URL of the organization | | `facebook` | string | Facebook profile of the organization |
| `linkedin` | string | LinkedIn company page URL | | `linkedin` | string | LinkedIn profile of the organization |
| `instagram` | string | Instagram profile of the organization | | `instagram` | string | Instagram profile of the organization |
| `youtube` | string | YouTube channel of the organization | | `youtube` | string | YouTube channel of the organization |
| `technologies` | array | Technologies used by the organization | | `technologies` | array | Array of technologies used by the organization |
| `country` | string | Country where the organization is headquartered | | `country` | string | Country where the organization is located |
| `state` | string | State/province where the organization is located | | `state` | string | State where the organization is located |
| `city` | string | City where the organization is located | | `city` | string | City where the organization is located |
| `postal_code` | string | Postal code of the organization | | `postal_code` | string | Postal code of the organization |
| `street` | string | Street address of the organization | | `street` | string | Street address of the organization |
| `emails` | array | Array of email addresses found for the domain, each containing value, type, confidence, sources, and person details |
### `hunter_email_finder` ### `hunter_email_finder`
@@ -138,17 +113,10 @@ Finds the most likely email address for a person given their name and company do
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `sources` | array | List of sources where the email was found \(limited to 20\) |
| ↳ `domain` | string | Domain where the email was found |
| ↳ `uri` | string | Full URL of the source page |
| ↳ `extracted_on` | string | Date when the email was first extracted \(YYYY-MM-DD\) |
| ↳ `last_seen_on` | string | Date when the email was last seen \(YYYY-MM-DD\) |
| ↳ `still_on_page` | boolean | Whether the email is still present on the source page |
| `verification` | object | Email verification information |
| ↳ `date` | string | Date when the email was verified \(YYYY-MM-DD\) |
| ↳ `status` | string | Verification status \(valid, invalid, accept_all, webmail, disposable, unknown\) |
| `email` | string | The found email address | | `email` | string | The found email address |
| `score` | number | Confidence score \(0-100\) for the found email address | | `score` | number | Confidence score for the found email address |
| `sources` | array | Array of sources where the email was found, each containing domain, uri, extracted_on, last_seen_on, and still_on_page |
| `verification` | object | Verification information containing date and status |
### `hunter_email_verifier` ### `hunter_email_verifier`
@@ -165,25 +133,20 @@ Verifies the deliverability of an email address and provides detailed verificati
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `sources` | array | List of sources where the email was found \(limited to 20\) |
| ↳ `domain` | string | Domain where the email was found |
| ↳ `uri` | string | Full URL of the source page |
| ↳ `extracted_on` | string | Date when the email was first extracted \(YYYY-MM-DD\) |
| ↳ `last_seen_on` | string | Date when the email was last seen \(YYYY-MM-DD\) |
| ↳ `still_on_page` | boolean | Whether the email is still present on the source page |
| `result` | string | Deliverability result: deliverable, undeliverable, or risky | | `result` | string | Deliverability result: deliverable, undeliverable, or risky |
| `score` | number | Deliverability score \(0-100\). Webmail and disposable emails receive an arbitrary score of 50. | | `score` | number | Confidence score for the verification result |
| `email` | string | The verified email address | | `email` | string | The verified email address |
| `regexp` | boolean | Whether the email passes regular expression validation | | `regexp` | boolean | Whether the email follows a valid regex pattern |
| `gibberish` | boolean | Whether the email appears to be auto-generated \(e.g., e65rc109q@company.com\) | | `gibberish` | boolean | Whether the email appears to be gibberish |
| `disposable` | boolean | Whether the email is from a disposable email service | | `disposable` | boolean | Whether the email is from a disposable email provider |
| `webmail` | boolean | Whether the email is from a webmail provider \(e.g., Gmail\) | | `webmail` | boolean | Whether the email is from a webmail provider |
| `mx_records` | boolean | Whether MX records exist for the domain | | `mx_records` | boolean | Whether MX records exist for the domain |
| `smtp_server` | boolean | Whether connection to the SMTP server was successful | | `smtp_server` | boolean | Whether the SMTP server is reachable |
| `smtp_check` | boolean | Whether the email address doesn't bounce | | `smtp_check` | boolean | Whether the SMTP check was successful |
| `accept_all` | boolean | Whether the server accepts all email addresses \(may cause false positives\) | | `accept_all` | boolean | Whether the domain accepts all email addresses |
| `block` | boolean | Whether the domain is blocking verification \(validity could not be determined\) | | `block` | boolean | Whether the email is blocked |
| `status` | string | Verification status: valid, invalid, accept_all, webmail, disposable, unknown, or blocked | | `status` | string | Verification status: valid, invalid, accept_all, webmail, disposable, or unknown |
| `sources` | array | Array of sources where the email was found |
### `hunter_companies_find` ### `hunter_companies_find`
@@ -200,15 +163,8 @@ Enriches company data using domain name.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `company` | object | Company information |
| ↳ `name` | string | Company name |
| ↳ `domain` | string | Company domain |
| ↳ `industry` | string | Industry classification |
| ↳ `size` | string | Company size/headcount range |
| ↳ `country` | string | Country where the company is located |
| ↳ `linkedin` | string | LinkedIn company page URL |
| ↳ `twitter` | string | Twitter handle |
| `person` | object | Person information \(undefined for companies_find tool\) | | `person` | object | Person information \(undefined for companies_find tool\) |
| `company` | object | Company information including name, domain, industry, size, country, linkedin, and twitter |
### `hunter_email_count` ### `hunter_email_count`
@@ -227,27 +183,10 @@ Returns the total number of email addresses found for a domain or company.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `department` | object | Email count breakdown by department |
| ↳ `executive` | number | Number of executive department emails |
| ↳ `it` | number | Number of IT department emails |
| ↳ `finance` | number | Number of finance department emails |
| ↳ `management` | number | Number of management department emails |
| ↳ `sales` | number | Number of sales department emails |
| ↳ `legal` | number | Number of legal department emails |
| ↳ `support` | number | Number of support department emails |
| ↳ `hr` | number | Number of HR department emails |
| ↳ `marketing` | number | Number of marketing department emails |
| ↳ `communication` | number | Number of communication department emails |
| ↳ `education` | number | Number of education department emails |
| ↳ `design` | number | Number of design department emails |
| ↳ `health` | number | Number of health department emails |
| ↳ `operations` | number | Number of operations department emails |
| `seniority` | object | Email count breakdown by seniority level |
| ↳ `junior` | number | Number of junior-level emails |
| ↳ `senior` | number | Number of senior-level emails |
| ↳ `executive` | number | Number of executive-level emails |
| `total` | number | Total number of email addresses found | | `total` | number | Total number of email addresses found |
| `personal_emails` | number | Number of personal email addresses \(individual employees\) | | `personal_emails` | number | Number of personal email addresses found |
| `generic_emails` | number | Number of generic/role-based email addresses \(e.g., contact@, info@\) | | `generic_emails` | number | Number of generic email addresses found |
| `department` | object | Breakdown of email addresses by department \(executive, it, finance, management, sales, legal, support, hr, marketing, communication\) |
| `seniority` | object | Breakdown of email addresses by seniority level \(junior, senior, executive\) |

View File

@@ -62,5 +62,6 @@ Generate images using OpenAI
| ↳ `image` | string | Base64 encoded image data | | ↳ `image` | string | Base64 encoded image data |
| ↳ `metadata` | object | Image generation metadata | | ↳ `metadata` | object | Image generation metadata |
| ↳ `model` | string | Model used for image generation | | ↳ `model` | string | Model used for image generation |
| ↳ `model` | string | Model used for image generation |

View File

@@ -57,37 +57,35 @@ List incidents from incident.io. Returns a list of incidents with their details
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `incidents` | array | List of incidents | | `incidents` | array | List of incidents |
| ↳ `id` | string | Incident ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Incident name/title | | ↳ `name` | string | Type name |
| ↳ `summary` | string | Incident summary | | ↳ `summary` | string | Brief summary of the incident |
| ↳ `description` | string | Incident description | | ↳ `description` | string | Detailed description of the incident |
| ↳ `mode` | string | Incident mode \(standard, retrospective, test\) | | ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) |
| ↳ `call_url` | string | Video call URL | | ↳ `call_url` | string | URL for the incident call/bridge |
| ↳ `severity` | object | Incident severity | | ↳ `severity` | object | Severity of the incident |
| ↳ `id` | string | Severity ID | | ↳ `id` | string | Severity ID |
| ↳ `name` | string | Severity name \(e.g., Critical, Major, Minor\) | | ↳ `name` | string | Severity name |
| ↳ `description` | string | Severity description | | ↳ `rank` | number | Severity rank |
| ↳ `rank` | number | Severity rank \(lower = more severe\) | | ↳ `rank` | number | Severity rank |
| ↳ `status` | object | Current incident status | | ↳ `status` | object | Current status of the incident |
| ↳ `id` | string | Status ID | | ↳ `id` | string | Status ID |
| ↳ `name` | string | Status name | | ↳ `name` | string | Status name |
| ↳ `description` | string | Status description | | ↳ `category` | string | Status category |
| ↳ `category` | string | Status category \(triage, active, post-incident, closed\) | | ↳ `category` | string | Status category |
| ↳ `incident_type` | object | Incident type | | ↳ `incident_type` | object | Type of the incident |
| ↳ `id` | string | Incident type ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Incident type name | | ↳ `name` | string | Type name |
| ↳ `description` | string | Incident type description | | ↳ `created_at` | string | Creation timestamp |
| ↳ `is_default` | boolean | Whether this is the default incident type | | ↳ `updated_at` | string | Last update timestamp |
| ↳ `created_at` | string | When the incident was created \(ISO 8601\) | | ↳ `incident_url` | string | URL to the incident |
| ↳ `updated_at` | string | When the incident was last updated \(ISO 8601\) | | ↳ `slack_channel_id` | string | Associated Slack channel ID |
| ↳ `incident_url` | string | URL to the incident page | | ↳ `slack_channel_name` | string | Associated Slack channel name |
| ↳ `slack_channel_id` | string | Slack channel ID | | ↳ `visibility` | string | Incident visibility |
| ↳ `slack_channel_name` | string | Slack channel name |
| ↳ `visibility` | string | Incident visibility \(public, private\) |
| `pagination_meta` | object | Pagination metadata | | `pagination_meta` | object | Pagination metadata |
| ↳ `after` | string | Cursor for next page | | ↳ `after` | string | Cursor for the next page |
| ↳ `page_size` | number | Number of items per page | | ↳ `page_size` | number | Number of items per page |
| ↳ `total_record_count` | number | Total number of records | | ↳ `total_record_count` | number | Total number of records available |
### `incidentio_incidents_create` ### `incidentio_incidents_create`
@@ -111,8 +109,8 @@ Create a new incident in incident.io. Requires idempotency_key, severity_id, and
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `incident` | object | The created incident object | | `incident` | object | The created incident object |
| ↳ `id` | string | Incident ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Incident name | | ↳ `name` | string | Type name |
| ↳ `summary` | string | Brief summary of the incident | | ↳ `summary` | string | Brief summary of the incident |
| ↳ `description` | string | Detailed description of the incident | | ↳ `description` | string | Detailed description of the incident |
| ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) | | ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) |
@@ -121,10 +119,12 @@ Create a new incident in incident.io. Requires idempotency_key, severity_id, and
| ↳ `id` | string | Severity ID | | ↳ `id` | string | Severity ID |
| ↳ `name` | string | Severity name | | ↳ `name` | string | Severity name |
| ↳ `rank` | number | Severity rank | | ↳ `rank` | number | Severity rank |
| ↳ `rank` | number | Severity rank |
| ↳ `status` | object | Current status of the incident | | ↳ `status` | object | Current status of the incident |
| ↳ `id` | string | Status ID | | ↳ `id` | string | Status ID |
| ↳ `name` | string | Status name | | ↳ `name` | string | Status name |
| ↳ `category` | string | Status category | | ↳ `category` | string | Status category |
| ↳ `category` | string | Status category |
| ↳ `incident_type` | object | Type of the incident | | ↳ `incident_type` | object | Type of the incident |
| ↳ `id` | string | Type ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Type name | | ↳ `name` | string | Type name |
@@ -151,8 +151,8 @@ Retrieve detailed information about a specific incident from incident.io by its
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `incident` | object | Detailed incident information | | `incident` | object | Detailed incident information |
| ↳ `id` | string | Incident ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Incident name | | ↳ `name` | string | Type name |
| ↳ `summary` | string | Brief summary of the incident | | ↳ `summary` | string | Brief summary of the incident |
| ↳ `description` | string | Detailed description of the incident | | ↳ `description` | string | Detailed description of the incident |
| ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) | | ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) |
@@ -162,10 +162,12 @@ Retrieve detailed information about a specific incident from incident.io by its
| ↳ `id` | string | Severity ID | | ↳ `id` | string | Severity ID |
| ↳ `name` | string | Severity name | | ↳ `name` | string | Severity name |
| ↳ `rank` | number | Severity rank | | ↳ `rank` | number | Severity rank |
| ↳ `rank` | number | Severity rank |
| ↳ `status` | object | Current status of the incident | | ↳ `status` | object | Current status of the incident |
| ↳ `id` | string | Status ID | | ↳ `id` | string | Status ID |
| ↳ `name` | string | Status name | | ↳ `name` | string | Status name |
| ↳ `category` | string | Status category | | ↳ `category` | string | Status category |
| ↳ `category` | string | Status category |
| ↳ `incident_type` | object | Type of the incident | | ↳ `incident_type` | object | Type of the incident |
| ↳ `id` | string | Type ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Type name | | ↳ `name` | string | Type name |
@@ -200,8 +202,8 @@ Update an existing incident in incident.io. Can update name, summary, severity,
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `incident` | object | The updated incident object | | `incident` | object | The updated incident object |
| ↳ `id` | string | Incident ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Incident name | | ↳ `name` | string | Type name |
| ↳ `summary` | string | Brief summary of the incident | | ↳ `summary` | string | Brief summary of the incident |
| ↳ `description` | string | Detailed description of the incident | | ↳ `description` | string | Detailed description of the incident |
| ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) | | ↳ `mode` | string | Incident mode \(e.g., standard, retrospective\) |
@@ -210,10 +212,12 @@ Update an existing incident in incident.io. Can update name, summary, severity,
| ↳ `id` | string | Severity ID | | ↳ `id` | string | Severity ID |
| ↳ `name` | string | Severity name | | ↳ `name` | string | Severity name |
| ↳ `rank` | number | Severity rank | | ↳ `rank` | number | Severity rank |
| ↳ `rank` | number | Severity rank |
| ↳ `status` | object | Current status of the incident | | ↳ `status` | object | Current status of the incident |
| ↳ `id` | string | Status ID | | ↳ `id` | string | Status ID |
| ↳ `name` | string | Status name | | ↳ `name` | string | Status name |
| ↳ `category` | string | Status category | | ↳ `category` | string | Status category |
| ↳ `category` | string | Status category |
| ↳ `incident_type` | object | Type of the incident | | ↳ `incident_type` | object | Type of the incident |
| ↳ `id` | string | Type ID | | ↳ `id` | string | Type ID |
| ↳ `name` | string | Type name | | ↳ `name` | string | Type name |
@@ -241,12 +245,14 @@ List actions from incident.io. Optionally filter by incident ID.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `actions` | array | List of actions | | `actions` | array | List of actions |
| ↳ `id` | string | Action ID | | ↳ `id` | string | User ID |
| ↳ `description` | string | Action description | | ↳ `description` | string | Action description |
| ↳ `assignee` | object | Assigned user | | ↳ `assignee` | object | Assigned user |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `status` | string | Action status | | ↳ `status` | string | Action status |
| ↳ `due_at` | string | Due date/time | | ↳ `due_at` | string | Due date/time |
| ↳ `created_at` | string | Creation timestamp | | ↳ `created_at` | string | Creation timestamp |
@@ -261,6 +267,9 @@ List actions from incident.io. Optionally filter by incident ID.
| ↳ `provider` | string | Issue tracking provider \(e.g., Jira, Linear\) | | ↳ `provider` | string | Issue tracking provider \(e.g., Jira, Linear\) |
| ↳ `issue_name` | string | Issue identifier | | ↳ `issue_name` | string | Issue identifier |
| ↳ `issue_permalink` | string | URL to the external issue | | ↳ `issue_permalink` | string | URL to the external issue |
| ↳ `provider` | string | Issue tracking provider \(e.g., Jira, Linear\) |
| ↳ `issue_name` | string | Issue identifier |
| ↳ `issue_permalink` | string | URL to the external issue |
### `incidentio_actions_show` ### `incidentio_actions_show`
@@ -278,12 +287,14 @@ Get detailed information about a specific action from incident.io.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `action` | object | Action details | | `action` | object | Action details |
| ↳ `id` | string | Action ID | | ↳ `id` | string | User ID |
| ↳ `description` | string | Action description | | ↳ `description` | string | Action description |
| ↳ `assignee` | object | Assigned user | | ↳ `assignee` | object | Assigned user |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `status` | string | Action status | | ↳ `status` | string | Action status |
| ↳ `due_at` | string | Due date/time | | ↳ `due_at` | string | Due date/time |
| ↳ `created_at` | string | Creation timestamp | | ↳ `created_at` | string | Creation timestamp |
@@ -298,6 +309,9 @@ Get detailed information about a specific action from incident.io.
| ↳ `provider` | string | Issue tracking provider \(e.g., Jira, Linear\) | | ↳ `provider` | string | Issue tracking provider \(e.g., Jira, Linear\) |
| ↳ `issue_name` | string | Issue identifier | | ↳ `issue_name` | string | Issue identifier |
| ↳ `issue_permalink` | string | URL to the external issue | | ↳ `issue_permalink` | string | URL to the external issue |
| ↳ `provider` | string | Issue tracking provider \(e.g., Jira, Linear\) |
| ↳ `issue_name` | string | Issue identifier |
| ↳ `issue_permalink` | string | URL to the external issue |
### `incidentio_follow_ups_list` ### `incidentio_follow_ups_list`
@@ -316,19 +330,22 @@ List follow-ups from incident.io. Optionally filter by incident ID.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `follow_ups` | array | List of follow-ups | | `follow_ups` | array | List of follow-ups |
| ↳ `id` | string | Follow-up ID | | ↳ `id` | string | User ID |
| ↳ `title` | string | Follow-up title | | ↳ `title` | string | Follow-up title |
| ↳ `description` | string | Follow-up description | | ↳ `description` | string | Priority description |
| ↳ `assignee` | object | Assigned user | | ↳ `assignee` | object | Assigned user |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `status` | string | Follow-up status | | ↳ `status` | string | Follow-up status |
| ↳ `priority` | object | Follow-up priority | | ↳ `priority` | object | Follow-up priority |
| ↳ `id` | string | Priority ID | | ↳ `id` | string | Priority ID |
| ↳ `name` | string | Priority name | | ↳ `name` | string | Priority name |
| ↳ `description` | string | Priority description | | ↳ `description` | string | Priority description |
| ↳ `rank` | number | Priority rank | | ↳ `rank` | number | Priority rank |
| ↳ `rank` | number | Priority rank |
| ↳ `created_at` | string | Creation timestamp | | ↳ `created_at` | string | Creation timestamp |
| ↳ `updated_at` | string | Last update timestamp | | ↳ `updated_at` | string | Last update timestamp |
| ↳ `incident_id` | string | Associated incident ID | | ↳ `incident_id` | string | Associated incident ID |
@@ -342,6 +359,9 @@ List follow-ups from incident.io. Optionally filter by incident ID.
| ↳ `provider` | string | External provider name | | ↳ `provider` | string | External provider name |
| ↳ `issue_name` | string | External issue name or ID | | ↳ `issue_name` | string | External issue name or ID |
| ↳ `issue_permalink` | string | Permalink to external issue | | ↳ `issue_permalink` | string | Permalink to external issue |
| ↳ `provider` | string | External provider name |
| ↳ `issue_name` | string | External issue name or ID |
| ↳ `issue_permalink` | string | Permalink to external issue |
### `incidentio_follow_ups_show` ### `incidentio_follow_ups_show`
@@ -359,19 +379,22 @@ Get detailed information about a specific follow-up from incident.io.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `follow_up` | object | Follow-up details | | `follow_up` | object | Follow-up details |
| ↳ `id` | string | Follow-up ID | | ↳ `id` | string | User ID |
| ↳ `title` | string | Follow-up title | | ↳ `title` | string | Follow-up title |
| ↳ `description` | string | Follow-up description | | ↳ `description` | string | Priority description |
| ↳ `assignee` | object | Assigned user | | ↳ `assignee` | object | Assigned user |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `status` | string | Follow-up status | | ↳ `status` | string | Follow-up status |
| ↳ `priority` | object | Follow-up priority | | ↳ `priority` | object | Follow-up priority |
| ↳ `id` | string | Priority ID | | ↳ `id` | string | Priority ID |
| ↳ `name` | string | Priority name | | ↳ `name` | string | Priority name |
| ↳ `description` | string | Priority description | | ↳ `description` | string | Priority description |
| ↳ `rank` | number | Priority rank | | ↳ `rank` | number | Priority rank |
| ↳ `rank` | number | Priority rank |
| ↳ `created_at` | string | Creation timestamp | | ↳ `created_at` | string | Creation timestamp |
| ↳ `updated_at` | string | Last update timestamp | | ↳ `updated_at` | string | Last update timestamp |
| ↳ `incident_id` | string | Associated incident ID | | ↳ `incident_id` | string | Associated incident ID |
@@ -385,6 +408,9 @@ Get detailed information about a specific follow-up from incident.io.
| ↳ `provider` | string | External provider name | | ↳ `provider` | string | External provider name |
| ↳ `issue_name` | string | External issue name or ID | | ↳ `issue_name` | string | External issue name or ID |
| ↳ `issue_permalink` | string | Permalink to external issue | | ↳ `issue_permalink` | string | Permalink to external issue |
| ↳ `provider` | string | External provider name |
| ↳ `issue_name` | string | External issue name or ID |
| ↳ `issue_permalink` | string | Permalink to external issue |
### `incidentio_users_list` ### `incidentio_users_list`
@@ -1063,21 +1089,25 @@ List all updates for a specific incident in incident.io
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `incident_updates` | array | List of incident updates | | `incident_updates` | array | List of incident updates |
| ↳ `id` | string | The update ID | | ↳ `id` | string | User ID |
| ↳ `incident_id` | string | The incident ID | | ↳ `incident_id` | string | The incident ID |
| ↳ `message` | string | The update message | | ↳ `message` | string | The update message |
| ↳ `new_severity` | object | New severity if changed | | ↳ `new_severity` | object | New severity if changed |
| ↳ `id` | string | Severity ID | | ↳ `id` | string | Severity ID |
| ↳ `name` | string | Severity name | | ↳ `name` | string | Severity name |
| ↳ `rank` | number | Severity rank | | ↳ `rank` | number | Severity rank |
| ↳ `name` | string | User name |
| ↳ `rank` | number | Severity rank |
| ↳ `new_status` | object | New status if changed | | ↳ `new_status` | object | New status if changed |
| ↳ `id` | string | Status ID | | ↳ `id` | string | Status ID |
| ↳ `name` | string | Status name | | ↳ `name` | string | Status name |
| ↳ `category` | string | Status category | | ↳ `category` | string | Status category |
| ↳ `category` | string | Status category |
| ↳ `updater` | object | User who created the update | | ↳ `updater` | object | User who created the update |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `email` | string | User email |
| ↳ `created_at` | string | When the update was created | | ↳ `created_at` | string | When the update was created |
| ↳ `updated_at` | string | When the update was last modified | | ↳ `updated_at` | string | When the update was last modified |
| `pagination_meta` | object | Pagination information | | `pagination_meta` | object | Pagination information |
@@ -1104,12 +1134,14 @@ List all entries for a specific schedule in incident.io
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `schedule_entries` | array | List of schedule entries | | `schedule_entries` | array | List of schedule entries |
| ↳ `id` | string | The entry ID | | ↳ `id` | string | User ID |
| ↳ `schedule_id` | string | The schedule ID | | ↳ `schedule_id` | string | The schedule ID |
| ↳ `user` | object | User assigned to this entry | | ↳ `user` | object | User assigned to this entry |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `start_at` | string | When the entry starts | | ↳ `start_at` | string | When the entry starts |
| ↳ `end_at` | string | When the entry ends | | ↳ `end_at` | string | When the entry ends |
| ↳ `layer_id` | string | The schedule layer ID | | ↳ `layer_id` | string | The schedule layer ID |
@@ -1142,13 +1174,15 @@ Create a new schedule override in incident.io
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `override` | object | The created schedule override | | `override` | object | The created schedule override |
| ↳ `id` | string | The override ID | | ↳ `id` | string | User ID |
| ↳ `rotation_id` | string | The rotation ID | | ↳ `rotation_id` | string | The rotation ID |
| ↳ `schedule_id` | string | The schedule ID | | ↳ `schedule_id` | string | The schedule ID |
| ↳ `user` | object | User assigned to this override | | ↳ `user` | object | User assigned to this override |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `start_at` | string | When the override starts | | ↳ `start_at` | string | When the override starts |
| ↳ `end_at` | string | When the override ends | | ↳ `end_at` | string | When the override ends |
| ↳ `created_at` | string | When the override was created | | ↳ `created_at` | string | When the override was created |
@@ -1172,7 +1206,7 @@ Create a new escalation path in incident.io
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `escalation_path` | object | The created escalation path | | `escalation_path` | object | The created escalation path |
| ↳ `id` | string | The escalation path ID | | ↳ `id` | string | Target ID |
| ↳ `name` | string | The escalation path name | | ↳ `name` | string | The escalation path name |
| ↳ `path` | array | Array of escalation levels | | ↳ `path` | array | Array of escalation levels |
| ↳ `targets` | array | Targets for this level | | ↳ `targets` | array | Targets for this level |
@@ -1181,11 +1215,30 @@ Create a new escalation path in incident.io
| ↳ `schedule_id` | string | Schedule ID if type is schedule | | ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user | | ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level | | ↳ `urgency` | string | Urgency level |
| ↳ `id` | string | Target ID |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds |
| ↳ `targets` | array | Targets for this level |
| ↳ `id` | string | Target ID |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds | | ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds |
| ↳ `working_hours` | array | Working hours configuration | | ↳ `working_hours` | array | Working hours configuration |
| ↳ `weekday` | string | Day of week | | ↳ `weekday` | string | Day of week |
| ↳ `start_time` | string | Start time | | ↳ `start_time` | string | Start time |
| ↳ `end_time` | string | End time | | ↳ `end_time` | string | End time |
| ↳ `weekday` | string | Day of week |
| ↳ `start_time` | string | Start time |
| ↳ `end_time` | string | End time |
| ↳ `created_at` | string | When the path was created | | ↳ `created_at` | string | When the path was created |
| ↳ `updated_at` | string | When the path was last updated | | ↳ `updated_at` | string | When the path was last updated |
@@ -1205,7 +1258,7 @@ Get details of a specific escalation path in incident.io
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `escalation_path` | object | The escalation path details | | `escalation_path` | object | The escalation path details |
| ↳ `id` | string | The escalation path ID | | ↳ `id` | string | Target ID |
| ↳ `name` | string | The escalation path name | | ↳ `name` | string | The escalation path name |
| ↳ `path` | array | Array of escalation levels | | ↳ `path` | array | Array of escalation levels |
| ↳ `targets` | array | Targets for this level | | ↳ `targets` | array | Targets for this level |
@@ -1214,11 +1267,30 @@ Get details of a specific escalation path in incident.io
| ↳ `schedule_id` | string | Schedule ID if type is schedule | | ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user | | ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level | | ↳ `urgency` | string | Urgency level |
| ↳ `id` | string | Target ID |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds |
| ↳ `targets` | array | Targets for this level |
| ↳ `id` | string | Target ID |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds | | ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds |
| ↳ `working_hours` | array | Working hours configuration | | ↳ `working_hours` | array | Working hours configuration |
| ↳ `weekday` | string | Day of week | | ↳ `weekday` | string | Day of week |
| ↳ `start_time` | string | Start time | | ↳ `start_time` | string | Start time |
| ↳ `end_time` | string | End time | | ↳ `end_time` | string | End time |
| ↳ `weekday` | string | Day of week |
| ↳ `start_time` | string | Start time |
| ↳ `end_time` | string | End time |
| ↳ `created_at` | string | When the path was created | | ↳ `created_at` | string | When the path was created |
| ↳ `updated_at` | string | When the path was last updated | | ↳ `updated_at` | string | When the path was last updated |
@@ -1241,7 +1313,7 @@ Update an existing escalation path in incident.io
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `escalation_path` | object | The updated escalation path | | `escalation_path` | object | The updated escalation path |
| ↳ `id` | string | The escalation path ID | | ↳ `id` | string | Target ID |
| ↳ `name` | string | The escalation path name | | ↳ `name` | string | The escalation path name |
| ↳ `path` | array | Array of escalation levels | | ↳ `path` | array | Array of escalation levels |
| ↳ `targets` | array | Targets for this level | | ↳ `targets` | array | Targets for this level |
@@ -1250,11 +1322,30 @@ Update an existing escalation path in incident.io
| ↳ `schedule_id` | string | Schedule ID if type is schedule | | ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user | | ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level | | ↳ `urgency` | string | Urgency level |
| ↳ `id` | string | Target ID |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds |
| ↳ `targets` | array | Targets for this level |
| ↳ `id` | string | Target ID |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `type` | string | Target type |
| ↳ `schedule_id` | string | Schedule ID if type is schedule |
| ↳ `user_id` | string | User ID if type is user |
| ↳ `urgency` | string | Urgency level |
| ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds | | ↳ `time_to_ack_seconds` | number | Time to acknowledge in seconds |
| ↳ `working_hours` | array | Working hours configuration | | ↳ `working_hours` | array | Working hours configuration |
| ↳ `weekday` | string | Day of week | | ↳ `weekday` | string | Day of week |
| ↳ `start_time` | string | Start time | | ↳ `start_time` | string | Start time |
| ↳ `end_time` | string | End time | | ↳ `end_time` | string | End time |
| ↳ `weekday` | string | Day of week |
| ↳ `start_time` | string | Start time |
| ↳ `end_time` | string | End time |
| ↳ `created_at` | string | When the path was created | | ↳ `created_at` | string | When the path was created |
| ↳ `updated_at` | string | When the path was last updated | | ↳ `updated_at` | string | When the path was last updated |

View File

@@ -62,7 +62,7 @@ Create a new contact in Intercom with email, external_id, or role. Returns API-a
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `contact` | object | Created contact object | | `contact` | object | Created contact object |
| ↳ `id` | string | Unique identifier for the contact | | ↳ `id` | string | Unique identifier for the contact |
| ↳ `type` | string | Object type \(contact\) | | ↳ `type` | string | List type |
| ↳ `role` | string | Role of the contact \(user or lead\) | | ↳ `role` | string | Role of the contact \(user or lead\) |
| ↳ `email` | string | Email address of the contact | | ↳ `email` | string | Email address of the contact |
| ↳ `phone` | string | Phone number of the contact | | ↳ `phone` | string | Phone number of the contact |
@@ -82,6 +82,10 @@ Create a new contact in Intercom with email, external_id, or role. Returns API-a
| ↳ `data` | array | Array of tag objects | | ↳ `data` | array | Array of tag objects |
| ↳ `has_more` | boolean | Whether there are more tags | | ↳ `has_more` | boolean | Whether there are more tags |
| ↳ `total_count` | number | Total number of tags | | ↳ `total_count` | number | Total number of tags |
| ↳ `url` | string | URL to fetch companies |
| ↳ `data` | array | Array of social profile objects |
| ↳ `has_more` | boolean | Whether there are more companies |
| ↳ `total_count` | number | Total number of companies |
| ↳ `notes` | object | Notes associated with the contact | | ↳ `notes` | object | Notes associated with the contact |
| ↳ `type` | string | List type | | ↳ `type` | string | List type |
| ↳ `url` | string | URL to fetch notes | | ↳ `url` | string | URL to fetch notes |
@@ -101,6 +105,11 @@ Create a new contact in Intercom with email, external_id, or role. Returns API-a
| ↳ `country` | string | Country | | ↳ `country` | string | Country |
| ↳ `country_code` | string | Country code | | ↳ `country_code` | string | Country code |
| ↳ `continent_code` | string | Continent code | | ↳ `continent_code` | string | Continent code |
| ↳ `city` | string | City |
| ↳ `region` | string | Region/State |
| ↳ `country` | string | Country |
| ↳ `country_code` | string | Country code |
| ↳ `continent_code` | string | Continent code |
| ↳ `social_profiles` | object | Social profiles of the contact | | ↳ `social_profiles` | object | Social profiles of the contact |
| ↳ `type` | string | List type | | ↳ `type` | string | List type |
| ↳ `data` | array | Array of social profile objects | | ↳ `data` | array | Array of social profile objects |
@@ -126,61 +135,21 @@ Get a single contact by ID from Intercom. Returns API-aligned fields only.
| ↳ `type` | string | Object type \(contact\) | | ↳ `type` | string | Object type \(contact\) |
| ↳ `role` | string | Role of the contact \(user or lead\) | | ↳ `role` | string | Role of the contact \(user or lead\) |
| ↳ `email` | string | Email address of the contact | | ↳ `email` | string | Email address of the contact |
| ↳ `email_domain` | string | Email domain of the contact |
| ↳ `phone` | string | Phone number of the contact | | ↳ `phone` | string | Phone number of the contact |
| ↳ `name` | string | Name of the contact | | ↳ `name` | string | Name of the contact |
| ↳ `avatar` | string | Avatar URL of the contact | | ↳ `avatar` | string | Avatar URL of the contact |
| ↳ `owner_id` | string | ID of the admin assigned account ownership | | ↳ `owner_id` | string | ID of the admin assigned to this contact |
| ↳ `external_id` | string | External identifier provided by the client | | ↳ `external_id` | string | External identifier for the contact |
| ↳ `workspace_id` | string | Workspace ID the contact belongs to |
| ↳ `created_at` | number | Unix timestamp when contact was created | | ↳ `created_at` | number | Unix timestamp when contact was created |
| ↳ `updated_at` | number | Unix timestamp when contact was last updated | | ↳ `updated_at` | number | Unix timestamp when contact was last updated |
| ↳ `signed_up_at` | number | Unix timestamp when user signed up | | ↳ `workspace_id` | string | Workspace ID the contact belongs to |
| ↳ `last_seen_at` | number | Unix timestamp when user was last seen |
| ↳ `last_contacted_at` | number | Unix timestamp when contact was last contacted |
| ↳ `last_replied_at` | number | Unix timestamp when contact last replied |
| ↳ `last_email_opened_at` | number | Unix timestamp when contact last opened an email |
| ↳ `last_email_clicked_at` | number | Unix timestamp when contact last clicked an email link |
| ↳ `has_hard_bounced` | boolean | Whether email to this contact has hard bounced |
| ↳ `marked_email_as_spam` | boolean | Whether contact marked email as spam |
| ↳ `unsubscribed_from_emails` | boolean | Whether contact is unsubscribed from emails |
| ↳ `browser` | string | Browser used by contact |
| ↳ `browser_version` | string | Browser version |
| ↳ `browser_language` | string | Browser language setting |
| ↳ `os` | string | Operating system |
| ↳ `language_override` | string | Language override setting |
| ↳ `custom_attributes` | object | Custom attributes set on the contact | | ↳ `custom_attributes` | object | Custom attributes set on the contact |
| ↳ `tags` | object | Tags associated with the contact \(up to 10 displayed\) | | ↳ `tags` | object | Tags associated with the contact |
| ↳ `type` | string | List type identifier | | ↳ `notes` | object | Notes associated with the contact |
| ↳ `url` | string | URL to fetch full list | | ↳ `companies` | object | Companies associated with the contact |
| ↳ `data` | array | Array of objects \(up to 10\) |
| ↳ `has_more` | boolean | Whether there are more items beyond this list |
| ↳ `total_count` | number | Total number of items |
| ↳ `notes` | object | Notes associated with the contact \(up to 10 displayed\) |
| ↳ `type` | string | List type identifier |
| ↳ `url` | string | URL to fetch full list |
| ↳ `data` | array | Array of objects \(up to 10\) |
| ↳ `has_more` | boolean | Whether there are more items beyond this list |
| ↳ `total_count` | number | Total number of items |
| ↳ `companies` | object | Companies associated with the contact \(up to 10 displayed\) |
| ↳ `type` | string | List type identifier |
| ↳ `url` | string | URL to fetch full list |
| ↳ `data` | array | Array of objects \(up to 10\) |
| ↳ `has_more` | boolean | Whether there are more items beyond this list |
| ↳ `total_count` | number | Total number of items |
| ↳ `location` | object | Location information for the contact | | ↳ `location` | object | Location information for the contact |
| ↳ `type` | string | Object type \(location\) |
| ↳ `city` | string | City name |
| ↳ `region` | string | Region or state name |
| ↳ `country` | string | Country name |
| ↳ `country_code` | string | ISO country code |
| ↳ `continent_code` | string | Continent code |
| ↳ `social_profiles` | object | Social profiles of the contact | | ↳ `social_profiles` | object | Social profiles of the contact |
| ↳ `type` | string | Social network type \(e.g., twitter, facebook\) | | ↳ `unsubscribed_from_emails` | boolean | Whether contact is unsubscribed from emails |
| ↳ `name` | string | Social network name |
| ↳ `url` | string | Profile URL |
| ↳ `username` | string | Username on the social network |
| ↳ `id` | string | User ID on the social network |
### `intercom_update_contact` ### `intercom_update_contact`
@@ -354,7 +323,7 @@ Create or update a company in Intercom
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `company` | object | Created or updated company object | | `company` | object | Created or updated company object |
| ↳ `id` | string | Unique identifier for the company | | ↳ `id` | string | Unique identifier for the company |
| ↳ `type` | string | Object type \(company\) | | ↳ `type` | string | Segment list type |
| ↳ `app_id` | string | Intercom app ID | | ↳ `app_id` | string | Intercom app ID |
| ↳ `company_id` | string | Your unique identifier for the company | | ↳ `company_id` | string | Your unique identifier for the company |
| ↳ `name` | string | Name of the company | | ↳ `name` | string | Name of the company |
@@ -369,11 +338,7 @@ Create or update a company in Intercom
| ↳ `updated_at` | number | Unix timestamp when company was last updated | | ↳ `updated_at` | number | Unix timestamp when company was last updated |
| ↳ `remote_created_at` | number | Unix timestamp when company was created by you | | ↳ `remote_created_at` | number | Unix timestamp when company was created by you |
| ↳ `custom_attributes` | object | Custom attributes set on the company | | ↳ `custom_attributes` | object | Custom attributes set on the company |
| ↳ `tags` | object | Tags associated with the company |
| ↳ `type` | string | Tag list type |
| ↳ `tags` | array | Array of tag objects | | ↳ `tags` | array | Array of tag objects |
| ↳ `segments` | object | Segments the company belongs to |
| ↳ `type` | string | Segment list type |
| ↳ `segments` | array | Array of segment objects | | ↳ `segments` | array | Array of segment objects |
| `companyId` | string | ID of the created/updated company | | `companyId` | string | ID of the created/updated company |

View File

@@ -91,11 +91,5 @@ Search the web and return top 5 results with LLM-friendly content. Each result i
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `results` | array | Array of search results, each containing title, description, url, and LLM-friendly content | | `results` | array | Array of search results, each containing title, description, url, and LLM-friendly content |
| ↳ `title` | string | Page title |
| ↳ `description` | string | Page description or meta description |
| ↳ `url` | string | Page URL |
| ↳ `content` | string | LLM-friendly extracted content |
| ↳ `usage` | object | Token usage information |
| ↳ `tokens` | number | Number of tokens consumed by this request |

View File

@@ -53,33 +53,6 @@ Retrieve a list of prediction markets from Kalshi with all filtering options (V2
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `markets` | array | Array of market objects with all API fields | | `markets` | array | Array of market objects with all API fields |
| ↳ `ticker` | string | Unique market ticker identifier |
| ↳ `event_ticker` | string | Parent event ticker |
| ↳ `market_type` | string | Market type \(binary, etc.\) |
| ↳ `title` | string | Market title/question |
| ↳ `subtitle` | string | Market subtitle |
| ↳ `yes_sub_title` | string | Yes outcome subtitle |
| ↳ `no_sub_title` | string | No outcome subtitle |
| ↳ `open_time` | string | Market open time \(ISO 8601\) |
| ↳ `close_time` | string | Market close time \(ISO 8601\) |
| ↳ `expiration_time` | string | Contract expiration time |
| ↳ `status` | string | Market status \(open, closed, settled, etc.\) |
| ↳ `yes_bid` | number | Current best yes bid price in cents |
| ↳ `yes_ask` | number | Current best yes ask price in cents |
| ↳ `no_bid` | number | Current best no bid price in cents |
| ↳ `no_ask` | number | Current best no ask price in cents |
| ↳ `last_price` | number | Last trade price in cents |
| ↳ `previous_yes_bid` | number | Previous yes bid |
| ↳ `previous_yes_ask` | number | Previous yes ask |
| ↳ `previous_price` | number | Previous last price |
| ↳ `volume` | number | Total volume \(contracts traded\) |
| ↳ `volume_24h` | number | 24-hour trading volume |
| ↳ `liquidity` | number | Market liquidity measure |
| ↳ `open_interest` | number | Open interest \(outstanding contracts\) |
| ↳ `result` | string | Settlement result \(yes, no, null\) |
| ↳ `cap_strike` | number | Cap strike for ranged markets |
| ↳ `floor_strike` | number | Floor strike for ranged markets |
| ↳ `category` | string | Market category |
| `cursor` | string | Pagination cursor for fetching more results | | `cursor` | string | Pagination cursor for fetching more results |
### `kalshi_get_market` ### `kalshi_get_market`
@@ -168,19 +141,7 @@ Retrieve a list of events from Kalshi with optional filtering (V2 - exact API re
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `events` | array | Array of event objects | | `events` | array | Array of event objects |
| ↳ `event_ticker` | string | Unique event ticker identifier |
| ↳ `series_ticker` | string | Parent series ticker |
| ↳ `title` | string | Event title |
| ↳ `sub_title` | string | Event subtitle |
| ↳ `mutually_exclusive` | boolean | Whether markets are mutually exclusive |
| ↳ `category` | string | Event category |
| ↳ `strike_date` | string | Strike/settlement date |
| ↳ `status` | string | Event status |
| `milestones` | array | Array of milestone objects \(if requested\) | | `milestones` | array | Array of milestone objects \(if requested\) |
| ↳ `event_ticker` | string | Event ticker |
| ↳ `milestone_type` | string | Milestone type |
| ↳ `milestone_date` | string | Milestone date |
| ↳ `milestone_title` | string | Milestone title |
| `cursor` | string | Pagination cursor for fetching more results | | `cursor` | string | Pagination cursor for fetching more results |
### `kalshi_get_event` ### `kalshi_get_event`
@@ -252,21 +213,7 @@ Retrieve your open positions from Kalshi (V2 - exact API response)
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `market_positions` | array | Array of market position objects | | `market_positions` | array | Array of market position objects |
| ↳ `ticker` | string | Market ticker |
| ↳ `event_ticker` | string | Event ticker |
| ↳ `event_title` | string | Event title |
| ↳ `market_title` | string | Market title |
| ↳ `position` | number | Net position \(positive=yes, negative=no\) |
| ↳ `market_exposure` | number | Maximum potential loss in cents |
| ↳ `realized_pnl` | number | Realized profit/loss in cents |
| ↳ `total_traded` | number | Total contracts traded |
| ↳ `resting_orders_count` | number | Number of resting orders |
| ↳ `fees_paid` | number | Total fees paid in cents |
| `event_positions` | array | Array of event position objects | | `event_positions` | array | Array of event position objects |
| ↳ `event_ticker` | string | Event ticker |
| ↳ `event_exposure` | number | Event-level exposure in cents |
| ↳ `realized_pnl` | number | Realized P&L in cents |
| ↳ `total_cost` | number | Total cost basis in cents |
| `cursor` | string | Pagination cursor for fetching more results | | `cursor` | string | Pagination cursor for fetching more results |
### `kalshi_get_orders` ### `kalshi_get_orders`
@@ -290,24 +237,6 @@ Retrieve your orders from Kalshi with optional filtering (V2 with full API respo
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `orders` | array | Array of order objects with full API response fields | | `orders` | array | Array of order objects with full API response fields |
| ↳ `order_id` | string | Unique order identifier |
| ↳ `user_id` | string | User ID |
| ↳ `client_order_id` | string | Client-provided order ID |
| ↳ `ticker` | string | Market ticker |
| ↳ `side` | string | Order side \(yes/no\) |
| ↳ `action` | string | Order action \(buy/sell\) |
| ↳ `type` | string | Order type \(limit/market\) |
| ↳ `status` | string | Order status \(resting, canceled, executed\) |
| ↳ `yes_price` | number | Yes price in cents |
| ↳ `no_price` | number | No price in cents |
| ↳ `fill_count` | number | Number of contracts filled |
| ↳ `remaining_count` | number | Remaining contracts to fill |
| ↳ `initial_count` | number | Initial order size |
| ↳ `taker_fees` | number | Taker fees paid in cents |
| ↳ `maker_fees` | number | Maker fees paid in cents |
| ↳ `created_time` | string | Order creation time \(ISO 8601\) |
| ↳ `expiration_time` | string | Order expiration time |
| ↳ `last_update_time` | string | Last order update time |
| `cursor` | string | Pagination cursor for fetching more results | | `cursor` | string | Pagination cursor for fetching more results |
### `kalshi_get_order` ### `kalshi_get_order`
@@ -400,12 +329,6 @@ Retrieve recent trades with additional filtering options (V2 - includes trade_id
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `trades` | array | Array of trade objects with trade_id and count_fp | | `trades` | array | Array of trade objects with trade_id and count_fp |
| ↳ `ticker` | string | Market ticker |
| ↳ `yes_price` | number | Trade price for yes in cents |
| ↳ `no_price` | number | Trade price for no in cents |
| ↳ `count` | number | Number of contracts traded |
| ↳ `taker_side` | string | Taker side \(yes/no\) |
| ↳ `created_time` | string | Trade time \(ISO 8601\) |
| `cursor` | string | Pagination cursor for fetching more results | | `cursor` | string | Pagination cursor for fetching more results |
### `kalshi_get_candlesticks` ### `kalshi_get_candlesticks`
@@ -451,16 +374,6 @@ Retrieve your portfolio
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `fills` | array | Array of fill/trade objects with all API fields | | `fills` | array | Array of fill/trade objects with all API fields |
| ↳ `trade_id` | string | Unique trade identifier |
| ↳ `order_id` | string | Associated order ID |
| ↳ `ticker` | string | Market ticker |
| ↳ `side` | string | Trade side \(yes/no\) |
| ↳ `action` | string | Trade action \(buy/sell\) |
| ↳ `count` | number | Number of contracts |
| ↳ `yes_price` | number | Yes price in cents |
| ↳ `no_price` | number | No price in cents |
| ↳ `is_taker` | boolean | Whether this was a taker trade |
| ↳ `created_time` | string | Trade execution time \(ISO 8601\) |
| `cursor` | string | Pagination cursor for fetching more results | | `cursor` | string | Pagination cursor for fetching more results |
### `kalshi_get_series_by_ticker` ### `kalshi_get_series_by_ticker`

View File

@@ -59,27 +59,18 @@ Fetch and filter issues from Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `hasNextPage` | boolean | Whether there are more results |
| `endCursor` | string | Cursor for the next page |
| `issues` | array | Array of filtered issues from Linear | | `issues` | array | Array of filtered issues from Linear |
| ↳ `id` | string | Issue ID | | ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `description` | string | Issue description | | ↳ `description` | string | Issue description |
| ↳ `priority` | number | Priority \(0=No priority, 1=Urgent, 2=High, 3=Normal, 4=Low\) | | ↳ `priority` | number | Issue priority |
| ↳ `estimate` | number | Estimate in points | | ↳ `estimate` | number | Issue estimate |
| ↳ `url` | string | Issue URL | | ↳ `url` | string | Issue URL |
| ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) | | ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) | | ↳ `updatedAt` | string | Last update timestamp |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) | | ↳ `state` | object | Issue state |
| ↳ `state` | object | Workflow state/status | | ↳ `assignee` | object | Assigned user |
| ↳ `id` | string | State ID |
| ↳ `name` | string | State name \(e.g., "Todo", "In Progress"\) |
| ↳ `type` | string | State type \(unstarted, started, completed, canceled\) |
| ↳ `assignee` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teamId` | string | Team ID | | ↳ `teamId` | string | Team ID |
| ↳ `teamName` | string | Team name | | ↳ `teamName` | string | Team name |
| ↳ `projectId` | string | Project ID | | ↳ `projectId` | string | Project ID |
@@ -88,9 +79,8 @@ Fetch and filter issues from Linear
| ↳ `cycleNumber` | number | Cycle number | | ↳ `cycleNumber` | number | Cycle number |
| ↳ `cycleName` | string | Cycle name | | ↳ `cycleName` | string | Cycle name |
| ↳ `labels` | array | Issue labels | | ↳ `labels` | array | Issue labels |
| ↳ `id` | string | Label ID | | `hasNextPage` | boolean | Whether there are more results available |
| ↳ `name` | string | Label name | | `endCursor` | string | Cursor for fetching the next page \(use as |
| ↳ `color` | string | Label color \(hex\) |
### `linear_get_issue` ### `linear_get_issue`
@@ -110,29 +100,14 @@ Get a single issue by ID from Linear with full details
| ↳ `id` | string | Issue ID | | ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `description` | string | Issue description | | ↳ `description` | string | Issue description |
| ↳ `priority` | number | Priority \(0=No priority, 1=Urgent, 2=High, 3=Normal, 4=Low\) | | ↳ `priority` | number | Issue priority \(0-4\) |
| ↳ `estimate` | number | Estimate in points | | ↳ `estimate` | number | Issue estimate in points |
| ↳ `url` | string | Issue URL | | ↳ `url` | string | Issue URL |
| ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) | | ↳ `state` | object | Issue state/status |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `assignee` | object | Assigned user |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
| ↳ `completedAt` | string | Completion timestamp \(ISO 8601\) |
| ↳ `canceledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
| ↳ `state` | object | Workflow state/status |
| ↳ `id` | string | State ID |
| ↳ `name` | string | State name \(e.g., "Todo", "In Progress"\) |
| ↳ `type` | string | State type \(unstarted, started, completed, canceled\) |
| ↳ `assignee` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teamId` | string | Team ID |
| ↳ `projectId` | string | Project ID |
| ↳ `labels` | array | Issue labels | | ↳ `labels` | array | Issue labels |
| ↳ `id` | string | Label ID | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `name` | string | Label name | | ↳ `updatedAt` | string | Last update timestamp |
| ↳ `color` | string | Label color \(hex\) |
### `linear_create_issue` ### `linear_create_issue`
@@ -165,29 +140,14 @@ Create a new issue in Linear
| ↳ `id` | string | Issue ID | | ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `description` | string | Issue description | | ↳ `description` | string | Issue description |
| ↳ `priority` | number | Priority \(0=No priority, 1=Urgent, 2=High, 3=Normal, 4=Low\) | | ↳ `priority` | number | Issue priority |
| ↳ `estimate` | number | Estimate in points | | ↳ `estimate` | number | Issue estimate |
| ↳ `url` | string | Issue URL | | ↳ `url` | string | Issue URL |
| ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) | | ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `state` | object | Issue state |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) | | ↳ `assignee` | object | Assigned user |
| ↳ `completedAt` | string | Completion timestamp \(ISO 8601\) |
| ↳ `canceledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
| ↳ `state` | object | Workflow state/status |
| ↳ `id` | string | State ID |
| ↳ `name` | string | State name \(e.g., "Todo", "In Progress"\) |
| ↳ `type` | string | State type \(unstarted, started, completed, canceled\) |
| ↳ `assignee` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teamId` | string | Team ID | | ↳ `teamId` | string | Team ID |
| ↳ `projectId` | string | Project ID | | ↳ `projectId` | string | Project ID |
| ↳ `labels` | array | Issue labels |
| ↳ `id` | string | Label ID |
| ↳ `name` | string | Label name |
| ↳ `color` | string | Label color \(hex\) |
| ↳ `cycleId` | string | Cycle ID | | ↳ `cycleId` | string | Cycle ID |
| ↳ `cycleNumber` | number | Cycle number | | ↳ `cycleNumber` | number | Cycle number |
| ↳ `cycleName` | string | Cycle name | | ↳ `cycleName` | string | Cycle name |
@@ -195,6 +155,7 @@ Create a new issue in Linear
| ↳ `parentTitle` | string | Parent issue title | | ↳ `parentTitle` | string | Parent issue title |
| ↳ `projectMilestoneId` | string | Project milestone ID | | ↳ `projectMilestoneId` | string | Project milestone ID |
| ↳ `projectMilestoneName` | string | Project milestone name | | ↳ `projectMilestoneName` | string | Project milestone name |
| ↳ `labels` | array | Issue labels |
### `linear_update_issue` ### `linear_update_issue`
@@ -227,36 +188,19 @@ Update an existing issue in Linear
| ↳ `id` | string | Issue ID | | ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `description` | string | Issue description | | ↳ `description` | string | Issue description |
| ↳ `priority` | number | Priority \(0=No priority, 1=Urgent, 2=High, 3=Normal, 4=Low\) | | ↳ `priority` | number | Issue priority |
| ↳ `estimate` | number | Estimate in points | | ↳ `estimate` | number | Issue estimate |
| ↳ `url` | string | Issue URL | | ↳ `state` | object | Issue state |
| ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) | | ↳ `assignee` | object | Assigned user |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
| ↳ `completedAt` | string | Completion timestamp \(ISO 8601\) |
| ↳ `canceledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
| ↳ `state` | object | Workflow state/status |
| ↳ `id` | string | State ID |
| ↳ `name` | string | State name \(e.g., "Todo", "In Progress"\) |
| ↳ `type` | string | State type \(unstarted, started, completed, canceled\) |
| ↳ `assignee` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teamId` | string | Team ID |
| ↳ `projectId` | string | Project ID |
| ↳ `labels` | array | Issue labels | | ↳ `labels` | array | Issue labels |
| ↳ `id` | string | Label ID | | ↳ `updatedAt` | string | Last update timestamp |
| ↳ `name` | string | Label name | | ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) |
| ↳ `color` | string | Label color \(hex\) | | ↳ `projectId` | string | Project ID |
| ↳ `cycleId` | string | Cycle ID | | ↳ `cycleId` | string | Cycle ID |
| ↳ `cycleNumber` | number | Cycle number | | ↳ `cycleNumber` | number | Cycle number |
| ↳ `cycleName` | string | Cycle name | | ↳ `cycleName` | string | Cycle name |
| ↳ `parentId` | string | Parent issue ID | | ↳ `parentId` | string | Parent issue ID |
| ↳ `parentTitle` | string | Parent issue title | | ↳ `parentTitle` | string | Parent issue title |
| ↳ `projectMilestoneId` | string | Project milestone ID |
| ↳ `projectMilestoneName` | string | Project milestone name |
### `linear_archive_issue` ### `linear_archive_issue`
@@ -325,36 +269,17 @@ Search for issues in Linear using full-text search
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `issues` | array | Array of matching issues | | `issues` | array | Array of matching issues |
| ↳ `id` | string | Issue ID | | ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `description` | string | Issue description | | ↳ `description` | string | Issue description |
| ↳ `priority` | number | Priority \(0=No priority, 1=Urgent, 2=High, 3=Normal, 4=Low\) | | ↳ `priority` | number | Issue priority |
| ↳ `estimate` | number | Estimate in points | | ↳ `state` | object | Issue state |
| ↳ `url` | string | Issue URL | | ↳ `assignee` | object | Assigned user |
| ↳ `dueDate` | string | Due date \(YYYY-MM-DD\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
| ↳ `completedAt` | string | Completion timestamp \(ISO 8601\) |
| ↳ `canceledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
| ↳ `state` | object | Workflow state/status |
| ↳ `id` | string | State ID |
| ↳ `name` | string | State name \(e.g., "Todo", "In Progress"\) |
| ↳ `type` | string | State type \(unstarted, started, completed, canceled\) |
| ↳ `assignee` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teamId` | string | Team ID |
| ↳ `projectId` | string | Project ID |
| ↳ `labels` | array | Issue labels | | ↳ `labels` | array | Issue labels |
| ↳ `id` | string | Label ID | | `pageInfo` | object | Pagination information |
| ↳ `name` | string | Label name | | ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `color` | string | Label color \(hex\) | | ↳ `endCursor` | string | Cursor for next page |
### `linear_add_label_to_issue` ### `linear_add_label_to_issue`
@@ -409,16 +334,10 @@ Add a comment to an issue in Linear
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `comment` | object | The created comment | | `comment` | object | The created comment |
| ↳ `id` | string | Comment ID | | ↳ `id` | string | Comment ID |
| ↳ `body` | string | Comment text \(Markdown\) | | ↳ `body` | string | Comment text |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) | | ↳ `user` | object | User who created the comment |
| ↳ `user` | object | User object | | ↳ `issue` | object | Associated issue |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `issue` | object | Issue object |
| ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title |
### `linear_update_comment` ### `linear_update_comment`
@@ -437,16 +356,9 @@ Edit a comment in Linear
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `comment` | object | The updated comment | | `comment` | object | The updated comment |
| ↳ `id` | string | Comment ID | | ↳ `id` | string | Comment ID |
| ↳ `body` | string | Comment text \(Markdown\) | | ↳ `body` | string | Comment text |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `updatedAt` | string | Last update timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) | | ↳ `user` | object | User who created the comment |
| ↳ `user` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `issue` | object | Issue object |
| ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title |
### `linear_delete_comment` ### `linear_delete_comment`
@@ -480,21 +392,15 @@ List all comments on an issue in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `comments` | array | Array of comments on the issue | | `comments` | array | Array of comments on the issue |
| ↳ `id` | string | Comment ID | | ↳ `id` | string | Comment ID |
| ↳ `body` | string | Comment text \(Markdown\) | | ↳ `body` | string | Comment text |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) | | ↳ `updatedAt` | string | Last update timestamp |
| ↳ `user` | object | User object | | ↳ `user` | object | User who created the comment |
| ↳ `id` | string | User ID | | `pageInfo` | object | Pagination information |
| ↳ `name` | string | User name | | ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `email` | string | User email | | ↳ `endCursor` | string | Cursor for next page |
| ↳ `issue` | object | Issue object |
| ↳ `id` | string | Issue ID |
| ↳ `title` | string | Issue title |
### `linear_list_projects` ### `linear_list_projects`
@@ -513,25 +419,15 @@ List projects in Linear with optional filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `projects` | array | Array of projects | | `projects` | array | Array of projects |
| ↳ `id` | string | Project ID | | ↳ `id` | string | Project ID |
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `description` | string | Project description | | ↳ `description` | string | Project description |
| ↳ `state` | string | Project state \(planned, started, paused, completed, canceled\) | | ↳ `state` | string | Project state |
| ↳ `priority` | number | Project priority \(0-4\) | | ↳ `priority` | number | Project priority |
| ↳ `startDate` | string | Start date \(YYYY-MM-DD\) | | ↳ `lead` | object | Project lead |
| ↳ `targetDate` | string | Target date \(YYYY-MM-DD\) | | ↳ `teams` | array | Teams associated with project |
| ↳ `url` | string | Project URL | | `pageInfo` | object | Pagination information |
| ↳ `lead` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teams` | array | Associated teams |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_get_project` ### `linear_get_project`
@@ -551,18 +447,12 @@ Get a single project by ID from Linear
| ↳ `id` | string | Project ID | | ↳ `id` | string | Project ID |
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `description` | string | Project description | | ↳ `description` | string | Project description |
| ↳ `state` | string | Project state \(planned, started, paused, completed, canceled\) | | ↳ `state` | string | Project state |
| ↳ `priority` | number | Project priority \(0-4\) | | ↳ `priority` | number | Project priority |
| ↳ `startDate` | string | Start date \(YYYY-MM-DD\) | | ↳ `startDate` | string | Start date |
| ↳ `targetDate` | string | Target date \(YYYY-MM-DD\) | | ↳ `targetDate` | string | Target completion date |
| ↳ `url` | string | Project URL | | ↳ `lead` | object | Project lead |
| ↳ `lead` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teams` | array | Associated teams | | ↳ `teams` | array | Associated teams |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_create_project` ### `linear_create_project`
@@ -588,18 +478,10 @@ Create a new project in Linear
| ↳ `id` | string | Project ID | | ↳ `id` | string | Project ID |
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `description` | string | Project description | | ↳ `description` | string | Project description |
| ↳ `state` | string | Project state \(planned, started, paused, completed, canceled\) | | ↳ `state` | string | Project state |
| ↳ `priority` | number | Project priority \(0-4\) | | ↳ `priority` | number | Project priority |
| ↳ `startDate` | string | Start date \(YYYY-MM-DD\) | | ↳ `lead` | object | Project lead |
| ↳ `targetDate` | string | Target date \(YYYY-MM-DD\) |
| ↳ `url` | string | Project URL |
| ↳ `lead` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teams` | array | Associated teams | | ↳ `teams` | array | Associated teams |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_update_project` ### `linear_update_project`
@@ -626,18 +508,12 @@ Update an existing project in Linear
| ↳ `id` | string | Project ID | | ↳ `id` | string | Project ID |
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `description` | string | Project description | | ↳ `description` | string | Project description |
| ↳ `state` | string | Project state \(planned, started, paused, completed, canceled\) | | ↳ `state` | string | Project state |
| ↳ `priority` | number | Project priority \(0-4\) | | ↳ `priority` | number | Project priority |
| ↳ `startDate` | string | Start date \(YYYY-MM-DD\) | | ↳ `startDate` | string | Project start date |
| ↳ `targetDate` | string | Target date \(YYYY-MM-DD\) | | ↳ `targetDate` | string | Project target date |
| ↳ `url` | string | Project URL | | ↳ `lead` | object | Project lead |
| ↳ `lead` | object | User object |
| ↳ `id` | string | User ID |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `teams` | array | Associated teams | | ↳ `teams` | array | Associated teams |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_archive_project` ### `linear_archive_project`
@@ -672,9 +548,6 @@ List all users in the Linear workspace
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `users` | array | Array of workspace users | | `users` | array | Array of workspace users |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
@@ -683,6 +556,7 @@ List all users in the Linear workspace
| ↳ `active` | boolean | Whether user is active | | ↳ `active` | boolean | Whether user is active |
| ↳ `admin` | boolean | Whether user is admin | | ↳ `admin` | boolean | Whether user is admin |
| ↳ `avatarUrl` | string | Avatar URL | | ↳ `avatarUrl` | string | Avatar URL |
| `pageInfo` | object | Pagination information |
### `linear_list_teams` ### `linear_list_teams`
@@ -699,14 +573,12 @@ List all teams in the Linear workspace
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `teams` | array | Array of teams | | `teams` | array | Array of teams |
| ↳ `id` | string | Team ID | | ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name | | ↳ `name` | string | Team name |
| ↳ `key` | string | Team key \(used in issue identifiers\) | | ↳ `key` | string | Team key \(used in issue identifiers\) |
| ↳ `description` | string | Team description | | ↳ `description` | string | Team description |
| `pageInfo` | object | Pagination information |
### `linear_get_viewer` ### `linear_get_viewer`
@@ -746,17 +618,13 @@ List all labels in Linear workspace or team
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `labels` | array | Array of labels | | `labels` | array | Array of labels |
| ↳ `id` | string | Label ID | | ↳ `id` | string | Label ID |
| ↳ `name` | string | Label name | | ↳ `name` | string | Label name |
| ↳ `color` | string | Label color \(hex\) | | ↳ `color` | string | Label color \(hex\) |
| ↳ `description` | string | Label description | | ↳ `description` | string | Label description |
| ↳ `team` | object | Team object | | ↳ `team` | object | Team this label belongs to |
| ↳ `id` | string | Team ID | | `pageInfo` | object | Pagination information |
| ↳ `name` | string | Team name |
### `linear_create_label` ### `linear_create_label`
@@ -778,11 +646,9 @@ Create a new label in Linear
| `label` | object | The created label | | `label` | object | The created label |
| ↳ `id` | string | Label ID | | ↳ `id` | string | Label ID |
| ↳ `name` | string | Label name | | ↳ `name` | string | Label name |
| ↳ `color` | string | Label color \(hex\) | | ↳ `color` | string | Label color |
| ↳ `description` | string | Label description | | ↳ `description` | string | Label description |
| ↳ `team` | object | Team object | | ↳ `team` | object | Team this label belongs to |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_update_label` ### `linear_update_label`
@@ -804,11 +670,8 @@ Update an existing label in Linear
| `label` | object | The updated label | | `label` | object | The updated label |
| ↳ `id` | string | Label ID | | ↳ `id` | string | Label ID |
| ↳ `name` | string | Label name | | ↳ `name` | string | Label name |
| ↳ `color` | string | Label color \(hex\) | | ↳ `color` | string | Label color |
| ↳ `description` | string | Label description | | ↳ `description` | string | Label description |
| ↳ `team` | object | Team object |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_archive_label` ### `linear_archive_label`
@@ -843,18 +706,14 @@ List all workflow states (statuses) in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `states` | array | Array of workflow states | | `states` | array | Array of workflow states |
| ↳ `id` | string | State ID | | ↳ `id` | string | State ID |
| ↳ `name` | string | State name \(e.g., "Todo", "In Progress"\) | | ↳ `name` | string | State name \(e.g., |
| ↳ `type` | string | State type \(unstarted, started, completed, canceled\) | | ↳ `type` | string | State type \(e.g., |
| ↳ `color` | string | State color \(hex\) | | ↳ `color` | string | State color |
| ↳ `position` | number | State position in workflow | | ↳ `position` | number | State position in workflow |
| ↳ `team` | object | Team object | | ↳ `team` | object | Team this state belongs to |
| ↳ `id` | string | Team ID | | `pageInfo` | object | Pagination information |
| ↳ `name` | string | Team name |
### `linear_create_workflow_state` ### `linear_create_workflow_state`
@@ -924,20 +783,16 @@ List cycles (sprints/iterations) in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `cycles` | array | Array of cycles | | `cycles` | array | Array of cycles |
| ↳ `id` | string | Cycle ID | | ↳ `id` | string | Cycle ID |
| ↳ `number` | number | Cycle number | | ↳ `number` | number | Cycle number |
| ↳ `name` | string | Cycle name | | ↳ `name` | string | Cycle name |
| ↳ `startsAt` | string | Start date \(ISO 8601\) | | ↳ `startsAt` | string | Start date |
| ↳ `endsAt` | string | End date \(ISO 8601\) | | ↳ `endsAt` | string | End date |
| ↳ `completedAt` | string | Completion date \(ISO 8601\) | | ↳ `completedAt` | string | Completion date |
| ↳ `progress` | number | Progress percentage \(0-1\) | | ↳ `progress` | number | Progress percentage \(0-1\) |
| ↳ `team` | object | Team object | | ↳ `team` | object | Team this cycle belongs to |
| ↳ `id` | string | Team ID | | `pageInfo` | object | Pagination information |
| ↳ `name` | string | Team name |
### `linear_get_cycle` ### `linear_get_cycle`
@@ -957,13 +812,10 @@ Get a single cycle by ID from Linear
| ↳ `id` | string | Cycle ID | | ↳ `id` | string | Cycle ID |
| ↳ `number` | number | Cycle number | | ↳ `number` | number | Cycle number |
| ↳ `name` | string | Cycle name | | ↳ `name` | string | Cycle name |
| ↳ `startsAt` | string | Start date \(ISO 8601\) | | ↳ `startsAt` | string | Start date |
| ↳ `endsAt` | string | End date \(ISO 8601\) | | ↳ `endsAt` | string | End date |
| ↳ `completedAt` | string | Completion date \(ISO 8601\) | | ↳ `progress` | number | Progress percentage |
| ↳ `progress` | number | Progress percentage \(0-1\) | | ↳ `team` | object | Team this cycle belongs to |
| ↳ `team` | object | Team object |
| ↳ `id` | string | Team ID |
| ↳ `name` | string | Team name |
### `linear_create_cycle` ### `linear_create_cycle`
@@ -1035,8 +887,7 @@ Add an attachment to an issue in Linear
| ↳ `title` | string | Attachment title | | ↳ `title` | string | Attachment title |
| ↳ `subtitle` | string | Attachment subtitle | | ↳ `subtitle` | string | Attachment subtitle |
| ↳ `url` | string | Attachment URL | | ↳ `url` | string | Attachment URL |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
### `linear_list_attachments` ### `linear_list_attachments`
@@ -1054,16 +905,13 @@ List all attachments on an issue in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `attachments` | array | Array of attachments | | `attachments` | array | Array of attachments |
| ↳ `id` | string | Attachment ID | | ↳ `id` | string | Attachment ID |
| ↳ `title` | string | Attachment title | | ↳ `title` | string | Attachment title |
| ↳ `subtitle` | string | Attachment subtitle | | ↳ `subtitle` | string | Attachment subtitle |
| ↳ `url` | string | Attachment URL | | ↳ `url` | string | Attachment URL |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) | | `pageInfo` | object | Pagination information |
### `linear_update_attachment` ### `linear_update_attachment`
@@ -1086,8 +934,7 @@ Update an attachment metadata in Linear
| ↳ `title` | string | Attachment title | | ↳ `title` | string | Attachment title |
| ↳ `subtitle` | string | Attachment subtitle | | ↳ `subtitle` | string | Attachment subtitle |
| ↳ `url` | string | Attachment URL | | ↳ `url` | string | Attachment URL |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `updatedAt` | string | Last update timestamp |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
### `linear_delete_attachment` ### `linear_delete_attachment`
@@ -1331,11 +1178,11 @@ Create a new customer in Linear
| ↳ `id` | string | Customer ID | | ↳ `id` | string | Customer ID |
| ↳ `name` | string | Customer name | | ↳ `name` | string | Customer name |
| ↳ `domains` | array | Associated domains | | ↳ `domains` | array | Associated domains |
| ↳ `externalIds` | array | External IDs from other systems | | ↳ `externalIds` | array | External IDs |
| ↳ `logoUrl` | string | Logo URL | | ↳ `logoUrl` | string | Logo URL |
| ↳ `approximateNeedCount` | number | Number of customer needs | | ↳ `approximateNeedCount` | number | Number of customer needs |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) | | ↳ `archivedAt` | string | Archive timestamp \(null if not archived\) |
### `linear_list_customers` ### `linear_list_customers`
@@ -1353,18 +1200,16 @@ List all customers in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results |
| ↳ `endCursor` | string | Cursor for the next page |
| `customers` | array | Array of customers | | `customers` | array | Array of customers |
| ↳ `id` | string | Customer ID | | ↳ `id` | string | Customer ID |
| ↳ `name` | string | Customer name | | ↳ `name` | string | Customer name |
| ↳ `domains` | array | Associated domains | | ↳ `domains` | array | Associated domains |
| ↳ `externalIds` | array | External IDs from other systems | | ↳ `externalIds` | array | External IDs |
| ↳ `logoUrl` | string | Logo URL | | ↳ `logoUrl` | string | Logo URL |
| ↳ `approximateNeedCount` | number | Number of customer needs | | ↳ `approximateNeedCount` | number | Number of customer needs |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) | | ↳ `archivedAt` | string | Archive timestamp \(null if not archived\) |
| `pageInfo` | object | Pagination information |
### `linear_create_customer_request` ### `linear_create_customer_request`
@@ -1477,11 +1322,11 @@ Get a single customer by ID in Linear
| ↳ `id` | string | Customer ID | | ↳ `id` | string | Customer ID |
| ↳ `name` | string | Customer name | | ↳ `name` | string | Customer name |
| ↳ `domains` | array | Associated domains | | ↳ `domains` | array | Associated domains |
| ↳ `externalIds` | array | External IDs from other systems | | ↳ `externalIds` | array | External IDs |
| ↳ `logoUrl` | string | Logo URL | | ↳ `logoUrl` | string | Logo URL |
| ↳ `approximateNeedCount` | number | Number of customer needs | | ↳ `approximateNeedCount` | number | Number of customer needs |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) | | ↳ `createdAt` | string | Creation timestamp |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) | | ↳ `archivedAt` | string | Archive timestamp \(null if not archived\) |
### `linear_update_customer` ### `linear_update_customer`
@@ -1507,14 +1352,6 @@ Update a customer in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customer` | object | The updated customer | | `customer` | object | The updated customer |
| ↳ `id` | string | Customer ID |
| ↳ `name` | string | Customer name |
| ↳ `domains` | array | Associated domains |
| ↳ `externalIds` | array | External IDs from other systems |
| ↳ `logoUrl` | string | Logo URL |
| ↳ `approximateNeedCount` | number | Number of customer needs |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
### `linear_delete_customer` ### `linear_delete_customer`
@@ -1568,14 +1405,6 @@ Create a new customer status in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customerStatus` | object | The created customer status | | `customerStatus` | object | The created customer status |
| ↳ `id` | string | Customer status ID |
| ↳ `name` | string | Status name |
| ↳ `displayName` | string | Display name |
| ↳ `description` | string | Status description |
| ↳ `color` | string | Status color \(hex\) |
| ↳ `position` | number | Position in list |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
### `linear_update_customer_status` ### `linear_update_customer_status`
@@ -1628,14 +1457,6 @@ List all customer statuses in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customerStatuses` | array | List of customer statuses | | `customerStatuses` | array | List of customer statuses |
| ↳ `id` | string | Customer status ID |
| ↳ `name` | string | Status name |
| ↳ `displayName` | string | Display name |
| ↳ `description` | string | Status description |
| ↳ `color` | string | Status color \(hex\) |
| ↳ `position` | number | Position in list |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
### `linear_create_customer_tier` ### `linear_create_customer_tier`
@@ -1656,14 +1477,6 @@ Create a new customer tier in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customerTier` | object | The created customer tier | | `customerTier` | object | The created customer tier |
| ↳ `id` | string | Customer tier ID |
| ↳ `name` | string | Tier name |
| ↳ `displayName` | string | Display name |
| ↳ `description` | string | Tier description |
| ↳ `color` | string | Tier color \(hex\) |
| ↳ `position` | number | Position in list |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
### `linear_update_customer_tier` ### `linear_update_customer_tier`
@@ -1716,14 +1529,6 @@ List all customer tiers in Linear
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customerTiers` | array | List of customer tiers | | `customerTiers` | array | List of customer tiers |
| ↳ `id` | string | Customer tier ID |
| ↳ `name` | string | Tier name |
| ↳ `displayName` | string | Display name |
| ↳ `description` | string | Tier description |
| ↳ `color` | string | Tier color \(hex\) |
| ↳ `position` | number | Position in list |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `archivedAt` | string | Archive timestamp \(ISO 8601\) |
### `linear_delete_project` ### `linear_delete_project`

View File

@@ -52,10 +52,6 @@ Add memories to Mem0 for persistent storage and retrieval
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ids` | array | Array of memory IDs that were created | | `ids` | array | Array of memory IDs that were created |
| `memories` | array | Array of memory objects that were created | | `memories` | array | Array of memory objects that were created |
| ↳ `id` | string | Unique identifier for the memory |
| ↳ `memory` | string | The content of the memory |
| ↳ `event` | string | Event type indicating operation performed \(ADD, UPDATE, DELETE, NOOP\) |
| ↳ `metadata` | json | Custom metadata associated with the memory |
### `mem0_search_memories` ### `mem0_search_memories`
@@ -74,19 +70,7 @@ Search for memories in Mem0 using semantic search
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `searchResults` | array | Array of search results with memory data and similarity scores | | `searchResults` | array | Array of search results with memory data, each containing id, data, and score |
| ↳ `id` | string | Unique identifier for the memory |
| ↳ `memory` | string | The content of the memory |
| ↳ `user_id` | string | User ID associated with this memory |
| ↳ `agent_id` | string | Agent ID associated with this memory |
| ↳ `app_id` | string | App ID associated with this memory |
| ↳ `run_id` | string | Run/session ID associated with this memory |
| ↳ `hash` | string | Hash of the memory content |
| ↳ `metadata` | json | Custom metadata associated with the memory |
| ↳ `categories` | json | Auto-assigned categories for the memory |
| ↳ `created_at` | string | ISO 8601 timestamp when the memory was created |
| ↳ `updated_at` | string | ISO 8601 timestamp when the memory was last updated |
| ↳ `score` | number | Similarity score from vector search |
| `ids` | array | Array of memory IDs found in the search results | | `ids` | array | Array of memory IDs found in the search results |
### `mem0_get_memories` ### `mem0_get_memories`
@@ -109,21 +93,6 @@ Retrieve memories from Mem0 by ID or filter criteria
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `memories` | array | Array of retrieved memory objects | | `memories` | array | Array of retrieved memory objects |
| ↳ `id` | string | Unique identifier for the memory |
| ↳ `memory` | string | The content of the memory |
| ↳ `user_id` | string | User ID associated with this memory |
| ↳ `agent_id` | string | Agent ID associated with this memory |
| ↳ `app_id` | string | App ID associated with this memory |
| ↳ `run_id` | string | Run/session ID associated with this memory |
| ↳ `hash` | string | Hash of the memory content |
| ↳ `metadata` | json | Custom metadata associated with the memory |
| ↳ `categories` | json | Auto-assigned categories for the memory |
| ↳ `created_at` | string | ISO 8601 timestamp when the memory was created |
| ↳ `updated_at` | string | ISO 8601 timestamp when the memory was last updated |
| ↳ `owner` | string | Owner of the memory |
| ↳ `organization` | string | Organization associated with the memory |
| ↳ `immutable` | boolean | Whether the memory can be modified |
| ↳ `expiration_date` | string | Expiration date after which memory is not retrieved |
| `ids` | array | Array of memory IDs that were retrieved | | `ids` | array | Array of memory IDs that were retrieved |

View File

@@ -9,11 +9,9 @@
"arxiv", "arxiv",
"asana", "asana",
"browser_use", "browser_use",
"calcom",
"calendly", "calendly",
"circleback", "circleback",
"clay", "clay",
"clerk",
"confluence", "confluence",
"cursor", "cursor",
"datadog", "datadog",
@@ -97,7 +95,6 @@
"sftp", "sftp",
"sharepoint", "sharepoint",
"shopify", "shopify",
"similarweb",
"slack", "slack",
"smtp", "smtp",
"sqs", "sqs",

View File

@@ -64,12 +64,21 @@ Parse PDF documents using Mistral OCR API
| ↳ `bottom_right_x` | number | Bottom-right X coordinate in pixels | | ↳ `bottom_right_x` | number | Bottom-right X coordinate in pixels |
| ↳ `bottom_right_y` | number | Bottom-right Y coordinate in pixels | | ↳ `bottom_right_y` | number | Bottom-right Y coordinate in pixels |
| ↳ `image_base64` | string | Base64-encoded image data \(when include_image_base64=true\) | | ↳ `image_base64` | string | Base64-encoded image data \(when include_image_base64=true\) |
| ↳ `id` | string | Image identifier \(e.g., img-0.jpeg\) |
| ↳ `top_left_x` | number | Top-left X coordinate in pixels |
| ↳ `top_left_y` | number | Top-left Y coordinate in pixels |
| ↳ `bottom_right_x` | number | Bottom-right X coordinate in pixels |
| ↳ `bottom_right_y` | number | Bottom-right Y coordinate in pixels |
| ↳ `image_base64` | string | Base64-encoded image data \(when include_image_base64=true\) |
| ↳ `dimensions` | object | Page dimensions | | ↳ `dimensions` | object | Page dimensions |
| ↳ `dpi` | number | Dots per inch | | ↳ `dpi` | number | Dots per inch |
| ↳ `height` | number | Page height in pixels | | ↳ `height` | number | Page height in pixels |
| ↳ `width` | number | Page width in pixels | | ↳ `width` | number | Page width in pixels |
| ↳ `dpi` | number | Dots per inch |
| ↳ `height` | number | Page height in pixels |
| ↳ `width` | number | Page width in pixels |
| ↳ `tables` | array | Extracted tables as HTML/markdown \(when table_format is set\). Referenced via placeholders like \[tbl-0.html\] | | ↳ `tables` | array | Extracted tables as HTML/markdown \(when table_format is set\). Referenced via placeholders like \[tbl-0.html\] |
| ↳ `hyperlinks` | array | Array of URL strings detected in the page \(e.g., \["https://...", "mailto:..."\]\) | | ↳ `hyperlinks` | array | Array of URL strings detected in the page \(e.g., \[ |
| ↳ `header` | string | Page header content \(when extract_header=true\) | | ↳ `header` | string | Page header content \(when extract_header=true\) |
| ↳ `footer` | string | Page footer content \(when extract_footer=true\) | | ↳ `footer` | string | Page footer content \(when extract_footer=true\) |
| `model` | string | Mistral OCR model identifier \(e.g., mistral-ocr-latest\) | | `model` | string | Mistral OCR model identifier \(e.g., mistral-ocr-latest\) |

View File

@@ -32,11 +32,11 @@ Read content from a Notion page
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `url` | string | Notion page URL |
| `created_time` | string | ISO 8601 creation timestamp |
| `last_edited_time` | string | ISO 8601 last edit timestamp |
| `content` | string | Page content in markdown format | | `content` | string | Page content in markdown format |
| `title` | string | Page title | | `title` | string | Page title |
| `url` | string | Page URL |
| `created_time` | string | Creation timestamp |
| `last_edited_time` | string | Last edit timestamp |
### `notion_read_database` ### `notion_read_database`
@@ -52,12 +52,12 @@ Read database information and structure from Notion
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `id` | string | Database UUID | | `id` | string | Database ID |
| `url` | string | Notion database URL |
| `created_time` | string | ISO 8601 creation timestamp |
| `last_edited_time` | string | ISO 8601 last edit timestamp |
| `properties` | object | Database properties schema |
| `title` | string | Database title | | `title` | string | Database title |
| `url` | string | Database URL |
| `created_time` | string | Creation timestamp |
| `last_edited_time` | string | Last edit timestamp |
| `properties` | object | Database properties schema |
### `notion_write` ### `notion_write`
@@ -92,11 +92,11 @@ Create a new page in Notion
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `id` | string | Page UUID | | `id` | string | Page ID |
| `url` | string | Notion page URL |
| `created_time` | string | ISO 8601 creation timestamp |
| `last_edited_time` | string | ISO 8601 last edit timestamp |
| `title` | string | Page title | | `title` | string | Page title |
| `url` | string | Page URL |
| `created_time` | string | Creation timestamp |
| `last_edited_time` | string | Last edit timestamp |
### `notion_query_database` ### `notion_query_database`
@@ -115,43 +115,13 @@ Query and filter Notion database entries with advanced filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `results` | array | Array of page objects from the database | | `results` | array | Array of Notion page objects from the database |
| ↳ `object` | string | Always "page" | | ↳ `id` | string | Page ID |
| ↳ `id` | string | Page UUID | | ↳ `created_time` | string | Creation timestamp |
| ↳ `created_time` | string | ISO 8601 creation timestamp | | ↳ `last_edited_time` | string | Last edit timestamp |
| ↳ `last_edited_time` | string | ISO 8601 last edit timestamp | | ↳ `url` | string | Page URL |
| ↳ `created_by` | object | Partial user object |
| ↳ `object` | string | Always "user" |
| ↳ `id` | string | User UUID |
| ↳ `last_edited_by` | object | Partial user object |
| ↳ `object` | string | Always "user" |
| ↳ `id` | string | User UUID |
| ↳ `archived` | boolean | Whether the page is archived |
| ↳ `in_trash` | boolean | Whether the page is in trash |
| ↳ `url` | string | Notion page URL |
| ↳ `public_url` | string | Public web URL if shared, null otherwise |
| ↳ `parent` | object | Parent object specifying hierarchical relationship |
| ↳ `type` | string | Parent type: "database_id", "data_source_id", "page_id", "workspace", or "block_id" |
| ↳ `database_id` | string | Parent database UUID \(if type is database_id\) |
| ↳ `data_source_id` | string | Parent data source UUID \(if type is data_source_id\) |
| ↳ `page_id` | string | Parent page UUID \(if type is page_id\) |
| ↳ `workspace` | boolean | True if parent is workspace \(if type is workspace\) |
| ↳ `block_id` | string | Parent block UUID \(if type is block_id\) |
| ↳ `icon` | object | Page/database icon \(emoji, custom_emoji, or file\) |
| ↳ `url` | string | Authenticated URL valid for one hour |
| ↳ `expiry_time` | string | ISO 8601 timestamp when URL expires |
| ↳ `cover` | object | Page/database cover image |
| ↳ `type` | string | File type: "file", "file_upload", or "external" |
| ↳ `file` | object | Notion-hosted file object \(when type is "file"\) |
| ↳ `url` | string | Authenticated URL valid for one hour |
| ↳ `expiry_time` | string | ISO 8601 timestamp when URL expires |
| ↳ `file_upload` | object | API-uploaded file object \(when type is "file_upload"\) |
| ↳ `id` | string | File upload UUID |
| ↳ `external` | object | External file object \(when type is "external"\) |
| ↳ `url` | string | External file URL \(never expires\) |
| ↳ `properties` | object | Page property values \(structure depends on parent type - database properties or title only\) |
| `has_more` | boolean | Whether more results are available | | `has_more` | boolean | Whether more results are available |
| `next_cursor` | string | Cursor for next page of results | | `next_cursor` | string | Cursor for pagination |
| `total_results` | number | Number of results returned | | `total_results` | number | Number of results returned |
### `notion_search` ### `notion_search`
@@ -170,31 +140,14 @@ Search across all pages and databases in Notion workspace
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `results` | array | Array of search results \(pages and/or databases\) | | `results` | array | Array of search results \(pages and databases\) |
| ↳ `object` | string | Object type: "page" or "database" | | ↳ `id` | string | Object ID |
| ↳ `id` | string | Object UUID | | ↳ `object` | string | Object type \(page or database\) |
| ↳ `created_time` | string | ISO 8601 creation timestamp |
| ↳ `last_edited_time` | string | ISO 8601 last edit timestamp |
| ↳ `created_by` | object | Partial user object |
| ↳ `object` | string | Always "user" |
| ↳ `id` | string | User UUID |
| ↳ `last_edited_by` | object | Partial user object |
| ↳ `object` | string | Always "user" |
| ↳ `id` | string | User UUID |
| ↳ `archived` | boolean | Whether the object is archived |
| ↳ `in_trash` | boolean | Whether the object is in trash |
| ↳ `url` | string | Object URL | | ↳ `url` | string | Object URL |
| ↳ `public_url` | string | Public web URL if shared | | ↳ `created_time` | string | Creation timestamp |
| ↳ `parent` | object | Parent object specifying hierarchical relationship | | ↳ `last_edited_time` | string | Last edit timestamp |
| ↳ `type` | string | Parent type: "database_id", "data_source_id", "page_id", "workspace", or "block_id" |
| ↳ `database_id` | string | Parent database UUID \(if type is database_id\) |
| ↳ `data_source_id` | string | Parent data source UUID \(if type is data_source_id\) |
| ↳ `page_id` | string | Parent page UUID \(if type is page_id\) |
| ↳ `workspace` | boolean | True if parent is workspace \(if type is workspace\) |
| ↳ `block_id` | string | Parent block UUID \(if type is block_id\) |
| ↳ `properties` | object | Object properties |
| `has_more` | boolean | Whether more results are available | | `has_more` | boolean | Whether more results are available |
| `next_cursor` | string | Cursor for next page of results | | `next_cursor` | string | Cursor for pagination |
| `total_results` | number | Number of results returned | | `total_results` | number | Number of results returned |
### `notion_create_database` ### `notion_create_database`
@@ -213,11 +166,11 @@ Create a new database in Notion with custom properties
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `id` | string | Database UUID | | `id` | string | Database ID |
| `url` | string | Notion database URL |
| `created_time` | string | ISO 8601 creation timestamp |
| `properties` | object | Database properties schema |
| `title` | string | Database title | | `title` | string | Database title |
| `url` | string | Database URL |
| `created_time` | string | Creation timestamp |
| `properties` | object | Database properties schema |
### `notion_add_database_row` ### `notion_add_database_row`
@@ -234,10 +187,10 @@ Add a new row to a Notion database with specified properties
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `id` | string | Page UUID | | `id` | string | Page/row ID |
| `url` | string | Notion page URL | | `url` | string | Page/row URL |
| `created_time` | string | ISO 8601 creation timestamp |
| `last_edited_time` | string | ISO 8601 last edit timestamp |
| `title` | string | Row title | | `title` | string | Row title |
| `created_time` | string | Creation timestamp |
| `last_edited_time` | string | Last edit timestamp |

View File

@@ -59,5 +59,7 @@ Generate embeddings from text using OpenAI
| ↳ `usage` | object | Token usage information | | ↳ `usage` | object | Token usage information |
| ↳ `prompt_tokens` | number | Number of tokens in the prompt | | ↳ `prompt_tokens` | number | Number of tokens in the prompt |
| ↳ `total_tokens` | number | Total number of tokens used | | ↳ `total_tokens` | number | Total number of tokens used |
| ↳ `prompt_tokens` | number | Number of tokens in the prompt |
| ↳ `total_tokens` | number | Total number of tokens used |

View File

@@ -115,29 +115,6 @@ Read emails from Outlook
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Success or status message | | `message` | string | Success or status message |
| `results` | array | Array of email message objects | | `results` | array | Array of email message objects |
| ↳ `id` | string | Unique message identifier |
| ↳ `subject` | string | Email subject |
| ↳ `bodyPreview` | string | Preview of the message body |
| ↳ `body` | object | Message body |
| ↳ `contentType` | string | Body content type \(text or html\) |
| ↳ `content` | string | Body content |
| ↳ `sender` | object | Sender information |
| ↳ `name` | string | Display name of the person or entity |
| ↳ `address` | string | Email address |
| ↳ `from` | object | From address information |
| ↳ `name` | string | Display name of the person or entity |
| ↳ `address` | string | Email address |
| ↳ `toRecipients` | array | To recipients |
| ↳ `name` | string | Display name of the person or entity |
| ↳ `address` | string | Email address |
| ↳ `ccRecipients` | array | CC recipients |
| ↳ `name` | string | Display name of the person or entity |
| ↳ `address` | string | Email address |
| ↳ `receivedDateTime` | string | When the message was received \(ISO 8601\) |
| ↳ `sentDateTime` | string | When the message was sent \(ISO 8601\) |
| ↳ `hasAttachments` | boolean | Whether the message has attachments |
| ↳ `isRead` | boolean | Whether the message has been read |
| ↳ `importance` | string | Message importance \(low, normal, high\) |
| `attachments` | file[] | All email attachments flattened from all emails | | `attachments` | file[] | All email attachments flattened from all emails |
### `outlook_forward` ### `outlook_forward`

View File

@@ -112,6 +112,9 @@ Conduct comprehensive deep research across the web using Parallel AI. Synthesize
| ↳ `url` | string | Source URL | | ↳ `url` | string | Source URL |
| ↳ `title` | string | Source title | | ↳ `title` | string | Source title |
| ↳ `excerpts` | array | Relevant excerpts from the source | | ↳ `excerpts` | array | Relevant excerpts from the source |
| ↳ `url` | string | Source URL |
| ↳ `title` | string | Source title |
| ↳ `excerpts` | array | Relevant excerpts from the source |
| ↳ `confidence` | string | Confidence level indicator | | ↳ `confidence` | string | Confidence level indicator |

View File

@@ -87,7 +87,7 @@ Get ranked search results from Perplexity
| ↳ `title` | string | Title of the search result | | ↳ `title` | string | Title of the search result |
| ↳ `url` | string | URL of the search result | | ↳ `url` | string | URL of the search result |
| ↳ `snippet` | string | Brief excerpt or summary of the content | | ↳ `snippet` | string | Brief excerpt or summary of the content |
| ↳ `date` | string | Date the page was crawled and added to Perplexity's index | | ↳ `date` | string | Date the page was crawled and added to Perplexity |
| ↳ `last_updated` | string | Date the page was last updated in Perplexity's index | | ↳ `last_updated` | string | Date the page was last updated in Perplexity |

View File

@@ -55,25 +55,7 @@ Retrieve all deals from Pipedrive with optional filters
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `deals` | array | Array of deal objects from Pipedrive | | `deals` | array | Array of deal objects from Pipedrive |
| ↳ `id` | number | Deal ID |
| ↳ `title` | string | Deal title |
| ↳ `value` | number | Deal value |
| ↳ `currency` | string | Currency code |
| ↳ `status` | string | Deal status \(open, won, lost, deleted\) |
| ↳ `stage_id` | number | Pipeline stage ID |
| ↳ `pipeline_id` | number | Pipeline ID |
| ↳ `person_id` | number | Associated person ID |
| ↳ `org_id` | number | Associated organization ID |
| ↳ `owner_id` | number | Deal owner user ID |
| ↳ `add_time` | string | When the deal was created \(ISO 8601\) |
| ↳ `update_time` | string | When the deal was last updated \(ISO 8601\) |
| ↳ `won_time` | string | When the deal was won |
| ↳ `lost_time` | string | When the deal was lost |
| ↳ `close_time` | string | When the deal was closed |
| ↳ `expected_close_date` | string | Expected close date |
| `metadata` | object | Pagination metadata for the response | | `metadata` | object | Pagination metadata for the response |
| ↳ `total_items` | number | Total number of items |
| ↳ `has_more` | boolean | Whether more items are available |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
### `pipedrive_get_deal` ### `pipedrive_get_deal`
@@ -158,16 +140,6 @@ Retrieve files from Pipedrive with optional filters
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `files` | array | Array of file objects from Pipedrive | | `files` | array | Array of file objects from Pipedrive |
| ↳ `id` | number | File ID |
| ↳ `name` | string | File name |
| ↳ `file_type` | string | File type/extension |
| ↳ `file_size` | number | File size in bytes |
| ↳ `add_time` | string | When the file was uploaded |
| ↳ `update_time` | string | When the file was last updated |
| ↳ `deal_id` | number | Associated deal ID |
| ↳ `person_id` | number | Associated person ID |
| ↳ `org_id` | number | Associated organization ID |
| ↳ `url` | string | File download URL |
| `total_items` | number | Total number of files returned | | `total_items` | number | Total number of files returned |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -226,14 +198,6 @@ Retrieve all pipelines from Pipedrive
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `pipelines` | array | Array of pipeline objects from Pipedrive | | `pipelines` | array | Array of pipeline objects from Pipedrive |
| ↳ `id` | number | Pipeline ID |
| ↳ `name` | string | Pipeline name |
| ↳ `url_title` | string | URL-friendly title |
| ↳ `order_nr` | number | Pipeline order number |
| ↳ `active` | boolean | Whether the pipeline is active |
| ↳ `deal_probability` | boolean | Whether deal probability is enabled |
| ↳ `add_time` | string | When the pipeline was created |
| ↳ `update_time` | string | When the pipeline was last updated |
| `total_items` | number | Total number of pipelines returned | | `total_items` | number | Total number of pipelines returned |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -319,19 +283,6 @@ Retrieve activities (tasks) from Pipedrive with optional filters
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `activities` | array | Array of activity objects from Pipedrive | | `activities` | array | Array of activity objects from Pipedrive |
| ↳ `id` | number | Activity ID |
| ↳ `subject` | string | Activity subject |
| ↳ `type` | string | Activity type \(call, meeting, task, etc.\) |
| ↳ `due_date` | string | Due date \(YYYY-MM-DD\) |
| ↳ `due_time` | string | Due time \(HH:MM\) |
| ↳ `duration` | string | Duration \(HH:MM\) |
| ↳ `deal_id` | number | Associated deal ID |
| ↳ `person_id` | number | Associated person ID |
| ↳ `org_id` | number | Associated organization ID |
| ↳ `done` | boolean | Whether the activity is done |
| ↳ `note` | string | Activity note |
| ↳ `add_time` | string | When the activity was created |
| ↳ `update_time` | string | When the activity was last updated |
| `total_items` | number | Total number of activities returned | | `total_items` | number | Total number of activities returned |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
@@ -403,33 +354,7 @@ Retrieve all leads or a specific lead from Pipedrive
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `leads` | array | Array of lead objects \(when listing all\) | | `leads` | array | Array of lead objects \(when listing all\) |
| ↳ `id` | string | Lead ID \(UUID\) |
| ↳ `title` | string | Lead title |
| ↳ `person_id` | number | ID of the associated person |
| ↳ `organization_id` | number | ID of the associated organization |
| ↳ `owner_id` | number | ID of the lead owner |
| ↳ `value` | object | Lead value |
| ↳ `amount` | number | Value amount |
| ↳ `currency` | string | Currency code \(e.g., USD, EUR\) |
| ↳ `expected_close_date` | string | Expected close date \(YYYY-MM-DD\) |
| ↳ `is_archived` | boolean | Whether the lead is archived |
| ↳ `was_seen` | boolean | Whether the lead was seen |
| ↳ `add_time` | string | When the lead was created \(ISO 8601\) |
| ↳ `update_time` | string | When the lead was last updated \(ISO 8601\) |
| `lead` | object | Single lead object \(when lead_id is provided\) | | `lead` | object | Single lead object \(when lead_id is provided\) |
| ↳ `id` | string | Lead ID \(UUID\) |
| ↳ `title` | string | Lead title |
| ↳ `person_id` | number | ID of the associated person |
| ↳ `organization_id` | number | ID of the associated organization |
| ↳ `owner_id` | number | ID of the lead owner |
| ↳ `value` | object | Lead value |
| ↳ `amount` | number | Value amount |
| ↳ `currency` | string | Currency code \(e.g., USD, EUR\) |
| ↳ `expected_close_date` | string | Expected close date \(YYYY-MM-DD\) |
| ↳ `is_archived` | boolean | Whether the lead is archived |
| ↳ `was_seen` | boolean | Whether the lead was seen |
| ↳ `add_time` | string | When the lead was created \(ISO 8601\) |
| ↳ `update_time` | string | When the lead was last updated \(ISO 8601\) |
| `total_items` | number | Total number of leads returned | | `total_items` | number | Total number of leads returned |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |

View File

@@ -323,6 +323,8 @@ Retrieve the order book summary for a specific token
| ↳ `bids` | array | Bid orders | | ↳ `bids` | array | Bid orders |
| ↳ `price` | string | Bid price | | ↳ `price` | string | Bid price |
| ↳ `size` | string | Bid size | | ↳ `size` | string | Bid size |
| ↳ `price` | string | Ask price |
| ↳ `size` | string | Ask size |
| ↳ `asks` | array | Ask orders | | ↳ `asks` | array | Ask orders |
| ↳ `price` | string | Ask price | | ↳ `price` | string | Ask price |
| ↳ `size` | string | Ask size | | ↳ `size` | string | Ask size |
@@ -635,5 +637,15 @@ Retrieve top holders of a specific market token
| ↳ `name` | string | Holder display name | | ↳ `name` | string | Holder display name |
| ↳ `profileImage` | string | Profile image URL | | ↳ `profileImage` | string | Profile image URL |
| ↳ `profileImageOptimized` | string | Optimized profile image URL | | ↳ `profileImageOptimized` | string | Optimized profile image URL |
| ↳ `proxyWallet` | string | Holder wallet address |
| ↳ `bio` | string | Holder bio |
| ↳ `asset` | string | Asset ID |
| ↳ `pseudonym` | string | Holder pseudonym |
| ↳ `amount` | number | Amount held |
| ↳ `displayUsernamePublic` | boolean | Whether username is publicly displayed |
| ↳ `outcomeIndex` | number | Outcome index |
| ↳ `name` | string | Holder display name |
| ↳ `profileImage` | string | Profile image URL |
| ↳ `profileImageOptimized` | string | Optimized profile image URL |

View File

@@ -179,27 +179,6 @@ Introspect PostgreSQL database schema to retrieve table structures, columns, and
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `tables` | array | Array of table schemas with columns, keys, and indexes | | `tables` | array | Array of table schemas with columns, keys, and indexes |
| ↳ `name` | string | Table name |
| ↳ `schema` | string | Schema name \(e.g., public\) |
| ↳ `columns` | array | Table columns |
| ↳ `name` | string | Column name |
| ↳ `type` | string | Data type \(e.g., integer, varchar, timestamp\) |
| ↳ `nullable` | boolean | Whether the column allows NULL values |
| ↳ `default` | string | Default value expression |
| ↳ `isPrimaryKey` | boolean | Whether the column is part of the primary key |
| ↳ `isForeignKey` | boolean | Whether the column is a foreign key |
| ↳ `references` | object | Foreign key reference information |
| ↳ `table` | string | Referenced table name |
| ↳ `column` | string | Referenced column name |
| ↳ `primaryKey` | array | Primary key column names |
| ↳ `foreignKeys` | array | Foreign key constraints |
| ↳ `column` | string | Local column name |
| ↳ `referencesTable` | string | Referenced table name |
| ↳ `referencesColumn` | string | Referenced column name |
| ↳ `indexes` | array | Table indexes |
| ↳ `name` | string | Index name |
| ↳ `columns` | array | Columns included in the index |
| ↳ `unique` | boolean | Whether the index enforces uniqueness |
| `schemas` | array | List of available schemas in the database | | `schemas` | array | List of available schemas in the database |

View File

@@ -56,10 +56,8 @@ Insert or update points in a Qdrant collection
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `status` | string | Operation status \(ok, error\) | | `status` | string | Status of the upsert operation |
| `data` | object | Result data from the upsert operation | | `data` | object | Result data from the upsert operation |
| ↳ `operation_id` | number | Operation ID for async tracking |
| ↳ `status` | string | Operation status \(acknowledged, completed\) |
### `qdrant_search_vector` ### `qdrant_search_vector`
@@ -83,15 +81,8 @@ Search for similar vectors in a Qdrant collection
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `status` | string | Operation status \(ok, error\) |
| `data` | array | Vector search results with ID, score, payload, and optional vector data | | `data` | array | Vector search results with ID, score, payload, and optional vector data |
| ↳ `id` | string | Point ID \(integer or UUID string\) | | `status` | string | Status of the search operation |
| ↳ `version` | number | Point version number |
| ↳ `score` | number | Similarity score |
| ↳ `payload` | json | Point payload data \(key-value pairs\) |
| ↳ `vector` | json | Point vector\(s\) - single array or named vectors object |
| ↳ `shard_key` | string | Shard key for routing |
| ↳ `order_value` | number | Order value for sorting |
### `qdrant_fetch_points` ### `qdrant_fetch_points`
@@ -113,12 +104,7 @@ Fetch points by ID from a Qdrant collection
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `status` | string | Operation status \(ok, error\) |
| `data` | array | Fetched points with ID, payload, and optional vector data | | `data` | array | Fetched points with ID, payload, and optional vector data |
| ↳ `id` | string | Point ID \(integer or UUID string\) | | `status` | string | Status of the fetch operation |
| ↳ `payload` | json | Point payload data \(key-value pairs\) |
| ↳ `vector` | json | Point vector\(s\) - single array or named vectors object |
| ↳ `shard_key` | string | Shard key for routing |
| ↳ `order_value` | number | Order value for sorting |

View File

@@ -208,10 +208,6 @@ Submit a new post to a subreddit (text or link)
| `success` | boolean | Whether the post was submitted successfully | | `success` | boolean | Whether the post was submitted successfully |
| `message` | string | Success or error message | | `message` | string | Success or error message |
| `data` | object | Post data including ID, name, URL, and permalink | | `data` | object | Post data including ID, name, URL, and permalink |
| ↳ `id` | string | New post ID |
| ↳ `name` | string | Thing fullname \(t3_xxxxx\) |
| ↳ `url` | string | Post URL from API response |
| ↳ `permalink` | string | Full Reddit permalink |
### `reddit_vote` ### `reddit_vote`
@@ -283,10 +279,6 @@ Add a comment reply to a Reddit post or comment
| `success` | boolean | Whether the reply was posted successfully | | `success` | boolean | Whether the reply was posted successfully |
| `message` | string | Success or error message | | `message` | string | Success or error message |
| `data` | object | Comment data including ID, name, permalink, and body | | `data` | object | Comment data including ID, name, permalink, and body |
| ↳ `id` | string | New comment ID |
| ↳ `name` | string | Thing fullname \(t1_xxxxx\) |
| ↳ `permalink` | string | Comment permalink |
| ↳ `body` | string | Comment body text |
### `reddit_edit` ### `reddit_edit`
@@ -306,9 +298,6 @@ Edit the text of your own Reddit post or comment
| `success` | boolean | Whether the edit was successful | | `success` | boolean | Whether the edit was successful |
| `message` | string | Success or error message | | `message` | string | Success or error message |
| `data` | object | Updated content data | | `data` | object | Updated content data |
| ↳ `id` | string | Edited thing ID |
| ↳ `body` | string | Updated comment body \(for comments\) |
| ↳ `selftext` | string | Updated post text \(for self posts\) |
### `reddit_delete` ### `reddit_delete`

View File

@@ -53,14 +53,19 @@ Retrieve accounts from Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Accounts data | | `output` | object | Accounts data |
| ↳ `paging` | object | Pagination information from Salesforce API |
| ↳ `nextRecordsUrl` | string | URL to fetch the next batch of records \(present when done is false\) |
| ↳ `totalSize` | number | Total number of records matching the query \(may exceed records returned\) |
| ↳ `done` | boolean | Whether all records have been returned \(false if more batches exist\) |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) |
| ↳ `accounts` | array | Array of account objects | | ↳ `accounts` | array | Array of account objects |
| ↳ `paging` | object | Pagination information |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of accounts returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of accounts returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_create_account` ### `salesforce_create_account`
@@ -93,9 +98,9 @@ Create a new account in Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Created account data | | `output` | object | Created account data |
| ↳ `id` | string | The Salesforce ID of the newly created record | | ↳ `id` | string | Created account ID |
| ↳ `success` | boolean | Whether the create operation was successful | | ↳ `success` | boolean | Salesforce operation success |
| ↳ `created` | boolean | Whether the record was created \(always true on success\) | | ↳ `created` | boolean | Whether account was created |
### `salesforce_update_account` ### `salesforce_update_account`
@@ -128,8 +133,8 @@ Update an existing account in Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Updated account data | | `output` | object | Updated account data |
| ↳ `id` | string | The Salesforce ID of the updated record | | ↳ `id` | string | Updated account ID |
| ↳ `updated` | boolean | Whether the record was updated \(always true on success\) | | ↳ `updated` | boolean | Whether account was updated |
### `salesforce_delete_account` ### `salesforce_delete_account`
@@ -149,8 +154,8 @@ Delete an account from Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Deleted account data | | `output` | object | Deleted account data |
| ↳ `id` | string | The Salesforce ID of the deleted record | | ↳ `id` | string | Deleted account ID |
| ↳ `deleted` | boolean | Whether the record was deleted \(always true on success\) | | ↳ `deleted` | boolean | Whether account was deleted |
### `salesforce_get_contacts` ### `salesforce_get_contacts`
@@ -173,15 +178,20 @@ Get contact(s) from Salesforce - single contact if ID provided, or list if not
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Contact\(s\) data | | `output` | object | Contact\(s\) data |
| ↳ `paging` | object | Pagination information from Salesforce API |
| ↳ `nextRecordsUrl` | string | URL to fetch the next batch of records \(present when done is false\) |
| ↳ `totalSize` | number | Total number of records matching the query \(may exceed records returned\) |
| ↳ `done` | boolean | Whether all records have been returned \(false if more batches exist\) |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) |
| ↳ `contacts` | array | Array of contacts \(list query\) | | ↳ `contacts` | array | Array of contacts \(list query\) |
| ↳ `contact` | object | Single contact \(by ID\) | | ↳ `contact` | object | Single contact \(by ID\) |
| ↳ `paging` | object | Pagination information |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of contacts returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of contacts returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `singleContact` | boolean | Whether single contact was returned | | ↳ `singleContact` | boolean | Whether single contact was returned |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
@@ -215,9 +225,9 @@ Create a new contact in Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Created contact data | | `output` | object | Created contact data |
| ↳ `id` | string | The Salesforce ID of the newly created record | | ↳ `id` | string | Created contact ID |
| ↳ `success` | boolean | Whether the create operation was successful | | ↳ `success` | boolean | Salesforce operation success |
| ↳ `created` | boolean | Whether the record was created \(always true on success\) | | ↳ `created` | boolean | Whether contact was created |
### `salesforce_update_contact` ### `salesforce_update_contact`
@@ -250,8 +260,8 @@ Update an existing contact in Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Updated contact data | | `output` | object | Updated contact data |
| ↳ `id` | string | The Salesforce ID of the updated record | | ↳ `id` | string | Updated contact ID |
| ↳ `updated` | boolean | Whether the record was updated \(always true on success\) | | ↳ `updated` | boolean | Whether contact was updated |
### `salesforce_delete_contact` ### `salesforce_delete_contact`
@@ -271,8 +281,8 @@ Delete a contact from Salesforce CRM
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Deleted contact data | | `output` | object | Deleted contact data |
| ↳ `id` | string | The Salesforce ID of the deleted record | | ↳ `id` | string | Deleted contact ID |
| ↳ `deleted` | boolean | Whether the record was deleted \(always true on success\) | | ↳ `deleted` | boolean | Whether contact was deleted |
### `salesforce_get_leads` ### `salesforce_get_leads`
@@ -295,15 +305,20 @@ Get lead(s) from Salesforce
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Lead data | | `output` | object | Lead data |
| ↳ `paging` | object | Pagination information from Salesforce API |
| ↳ `nextRecordsUrl` | string | URL to fetch the next batch of records \(present when done is false\) |
| ↳ `totalSize` | number | Total number of records matching the query \(may exceed records returned\) |
| ↳ `done` | boolean | Whether all records have been returned \(false if more batches exist\) |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) |
| ↳ `lead` | object | Single lead object \(when leadId provided\) | | ↳ `lead` | object | Single lead object \(when leadId provided\) |
| ↳ `leads` | array | Array of lead objects \(when listing\) | | ↳ `leads` | array | Array of lead objects \(when listing\) |
| ↳ `paging` | object | Pagination information |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of leads returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of leads returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `singleLead` | boolean | Whether single lead was returned | | ↳ `singleLead` | boolean | Whether single lead was returned |
| ↳ `success` | boolean | Operation success status | | ↳ `success` | boolean | Operation success status |
@@ -333,9 +348,9 @@ Create a new lead
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Created lead data | | `output` | object | Created lead data |
| ↳ `id` | string | The Salesforce ID of the newly created record | | ↳ `id` | string | Created lead ID |
| ↳ `success` | boolean | Whether the create operation was successful | | ↳ `success` | boolean | Salesforce operation success |
| ↳ `created` | boolean | Whether the record was created \(always true on success\) | | ↳ `created` | boolean | Whether lead was created |
### `salesforce_update_lead` ### `salesforce_update_lead`
@@ -364,8 +379,8 @@ Update an existing lead
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Updated lead data | | `output` | object | Updated lead data |
| ↳ `id` | string | The Salesforce ID of the updated record | | ↳ `id` | string | Updated lead ID |
| ↳ `updated` | boolean | Whether the record was updated \(always true on success\) | | ↳ `updated` | boolean | Whether lead was updated |
### `salesforce_delete_lead` ### `salesforce_delete_lead`
@@ -385,8 +400,8 @@ Delete a lead
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Deleted lead data | | `output` | object | Deleted lead data |
| ↳ `id` | string | The Salesforce ID of the deleted record | | ↳ `id` | string | Deleted lead ID |
| ↳ `deleted` | boolean | Whether the record was deleted \(always true on success\) | | ↳ `deleted` | boolean | Whether lead was deleted |
### `salesforce_get_opportunities` ### `salesforce_get_opportunities`
@@ -409,15 +424,20 @@ Get opportunity(ies) from Salesforce
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Opportunity data | | `output` | object | Opportunity data |
| ↳ `paging` | object | Pagination information from Salesforce API |
| ↳ `nextRecordsUrl` | string | URL to fetch the next batch of records \(present when done is false\) |
| ↳ `totalSize` | number | Total number of records matching the query \(may exceed records returned\) |
| ↳ `done` | boolean | Whether all records have been returned \(false if more batches exist\) |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) |
| ↳ `opportunity` | object | Single opportunity object \(when opportunityId provided\) | | ↳ `opportunity` | object | Single opportunity object \(when opportunityId provided\) |
| ↳ `opportunities` | array | Array of opportunity objects \(when listing\) | | ↳ `opportunities` | array | Array of opportunity objects \(when listing\) |
| ↳ `paging` | object | Pagination information |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of opportunities returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of opportunities returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `success` | boolean | Operation success status | | ↳ `success` | boolean | Operation success status |
### `salesforce_create_opportunity` ### `salesforce_create_opportunity`
@@ -444,9 +464,9 @@ Create a new opportunity
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Created opportunity data | | `output` | object | Created opportunity data |
| ↳ `id` | string | The Salesforce ID of the newly created record | | ↳ `id` | string | Created opportunity ID |
| ↳ `success` | boolean | Whether the create operation was successful | | ↳ `success` | boolean | Salesforce operation success |
| ↳ `created` | boolean | Whether the record was created \(always true on success\) | | ↳ `created` | boolean | Whether opportunity was created |
### `salesforce_update_opportunity` ### `salesforce_update_opportunity`
@@ -473,8 +493,8 @@ Update an existing opportunity
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Updated opportunity data | | `output` | object | Updated opportunity data |
| ↳ `id` | string | The Salesforce ID of the updated record | | ↳ `id` | string | Updated opportunity ID |
| ↳ `updated` | boolean | Whether the record was updated \(always true on success\) | | ↳ `updated` | boolean | Whether opportunity was updated |
### `salesforce_delete_opportunity` ### `salesforce_delete_opportunity`
@@ -494,8 +514,8 @@ Delete an opportunity
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Deleted opportunity data | | `output` | object | Deleted opportunity data |
| ↳ `id` | string | The Salesforce ID of the deleted record | | ↳ `id` | string | Deleted opportunity ID |
| ↳ `deleted` | boolean | Whether the record was deleted \(always true on success\) | | ↳ `deleted` | boolean | Whether opportunity was deleted |
### `salesforce_get_cases` ### `salesforce_get_cases`
@@ -518,15 +538,20 @@ Get case(s) from Salesforce
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Case data | | `output` | object | Case data |
| ↳ `paging` | object | Pagination information from Salesforce API |
| ↳ `nextRecordsUrl` | string | URL to fetch the next batch of records \(present when done is false\) |
| ↳ `totalSize` | number | Total number of records matching the query \(may exceed records returned\) |
| ↳ `done` | boolean | Whether all records have been returned \(false if more batches exist\) |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) |
| ↳ `case` | object | Single case object \(when caseId provided\) | | ↳ `case` | object | Single case object \(when caseId provided\) |
| ↳ `cases` | array | Array of case objects \(when listing\) | | ↳ `cases` | array | Array of case objects \(when listing\) |
| ↳ `paging` | object | Pagination information |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of cases returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of cases returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `success` | boolean | Operation success status | | ↳ `success` | boolean | Operation success status |
### `salesforce_create_case` ### `salesforce_create_case`
@@ -553,9 +578,9 @@ Create a new case
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Created case data | | `output` | object | Created case data |
| ↳ `id` | string | The Salesforce ID of the newly created record | | ↳ `id` | string | Created case ID |
| ↳ `success` | boolean | Whether the create operation was successful | | ↳ `success` | boolean | Salesforce operation success |
| ↳ `created` | boolean | Whether the record was created \(always true on success\) | | ↳ `created` | boolean | Whether case was created |
### `salesforce_update_case` ### `salesforce_update_case`
@@ -579,8 +604,8 @@ Update an existing case
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Updated case data | | `output` | object | Updated case data |
| ↳ `id` | string | The Salesforce ID of the updated record | | ↳ `id` | string | Updated case ID |
| ↳ `updated` | boolean | Whether the record was updated \(always true on success\) | | ↳ `updated` | boolean | Whether case was updated |
### `salesforce_delete_case` ### `salesforce_delete_case`
@@ -600,8 +625,8 @@ Delete a case
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Deleted case data | | `output` | object | Deleted case data |
| ↳ `id` | string | The Salesforce ID of the deleted record | | ↳ `id` | string | Deleted case ID |
| ↳ `deleted` | boolean | Whether the record was deleted \(always true on success\) | | ↳ `deleted` | boolean | Whether case was deleted |
### `salesforce_get_tasks` ### `salesforce_get_tasks`
@@ -624,15 +649,20 @@ Get task(s) from Salesforce
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Task data | | `output` | object | Task data |
| ↳ `paging` | object | Pagination information from Salesforce API |
| ↳ `nextRecordsUrl` | string | URL to fetch the next batch of records \(present when done is false\) |
| ↳ `totalSize` | number | Total number of records matching the query \(may exceed records returned\) |
| ↳ `done` | boolean | Whether all records have been returned \(false if more batches exist\) |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) |
| ↳ `task` | object | Single task object \(when taskId provided\) | | ↳ `task` | object | Single task object \(when taskId provided\) |
| ↳ `tasks` | array | Array of task objects \(when listing\) | | ↳ `tasks` | array | Array of task objects \(when listing\) |
| ↳ `paging` | object | Pagination information |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `nextRecordsUrl` | string | URL for next page of results |
| ↳ `totalSize` | number | Total number of records |
| ↳ `done` | boolean | Whether all records returned |
| ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of tasks returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of tasks returned |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `success` | boolean | Operation success status | | ↳ `success` | boolean | Operation success status |
### `salesforce_create_task` ### `salesforce_create_task`
@@ -659,9 +689,9 @@ Create a new task
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Created task data | | `output` | object | Created task data |
| ↳ `id` | string | The Salesforce ID of the newly created record | | ↳ `id` | string | Created task ID |
| ↳ `success` | boolean | Whether the create operation was successful | | ↳ `success` | boolean | Salesforce operation success |
| ↳ `created` | boolean | Whether the record was created \(always true on success\) | | ↳ `created` | boolean | Whether task was created |
### `salesforce_update_task` ### `salesforce_update_task`
@@ -686,8 +716,8 @@ Update an existing task
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Updated task data | | `output` | object | Updated task data |
| ↳ `id` | string | The Salesforce ID of the updated record | | ↳ `id` | string | Updated task ID |
| ↳ `updated` | boolean | Whether the record was updated \(always true on success\) | | ↳ `updated` | boolean | Whether task was updated |
### `salesforce_delete_task` ### `salesforce_delete_task`
@@ -707,8 +737,8 @@ Delete a task
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Deleted task data | | `output` | object | Deleted task data |
| ↳ `id` | string | The Salesforce ID of the deleted record | | ↳ `id` | string | Deleted task ID |
| ↳ `deleted` | boolean | Whether the record was deleted \(always true on success\) | | ↳ `deleted` | boolean | Whether task was deleted |
### `salesforce_list_reports` ### `salesforce_list_reports`
@@ -729,9 +759,9 @@ Get a list of reports accessible by the current user
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Reports data | | `output` | object | Reports data |
| ↳ `totalReturned` | number | Number of items returned |
| ↳ `success` | boolean | Salesforce operation success |
| ↳ `reports` | array | Array of report objects | | ↳ `reports` | array | Array of report objects |
| ↳ `totalReturned` | number | Number of reports returned |
| ↳ `success` | boolean | Salesforce operation success |
### `salesforce_get_report` ### `salesforce_get_report`
@@ -776,15 +806,15 @@ Execute a report and retrieve the results
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Report results | | `output` | object | Report results |
| ↳ `reportId` | string | Report ID | | ↳ `reportId` | string | Report ID |
| ↳ `reportMetadata` | object | Report metadata including name, format, and filter definitions | | ↳ `reportMetadata` | object | Report metadata |
| ↳ `reportExtendedMetadata` | object | Extended metadata for aggregate columns and groupings | | ↳ `reportExtendedMetadata` | object | Extended metadata |
| ↳ `factMap` | object | Report data organized by groupings with aggregates and row data | | ↳ `factMap` | object | Report data organized by groupings |
| ↳ `groupingsDown` | object | Row grouping hierarchy and values | | ↳ `groupingsDown` | object | Row groupings |
| ↳ `groupingsAcross` | object | Column grouping hierarchy and values | | ↳ `groupingsAcross` | object | Column groupings |
| ↳ `hasDetailRows` | boolean | Whether the report includes detail-level row data | | ↳ `hasDetailRows` | boolean | Whether report has detail rows |
| ↳ `allData` | boolean | Whether all data is returned \(false if truncated due to size limits\) | | ↳ `allData` | boolean | Whether all data is returned |
| ↳ `reportName` | string | Display name of the report | | ↳ `reportName` | string | Report name |
| ↳ `reportFormat` | string | Report format type \(TABULAR, SUMMARY, MATRIX, JOINED\) | | ↳ `reportFormat` | string | Report format type |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_list_report_types` ### `salesforce_list_report_types`
@@ -804,9 +834,9 @@ Get a list of available report types
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Report types data | | `output` | object | Report types data |
| ↳ `totalReturned` | number | Number of items returned |
| ↳ `success` | boolean | Salesforce operation success |
| ↳ `reportTypes` | array | Array of report type objects | | ↳ `reportTypes` | array | Array of report type objects |
| ↳ `totalReturned` | number | Number of report types returned |
| ↳ `success` | boolean | Salesforce operation success |
### `salesforce_list_dashboards` ### `salesforce_list_dashboards`
@@ -826,9 +856,9 @@ Get a list of dashboards accessible by the current user
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Dashboards data | | `output` | object | Dashboards data |
| ↳ `totalReturned` | number | Number of items returned |
| ↳ `success` | boolean | Salesforce operation success |
| ↳ `dashboards` | array | Array of dashboard objects | | ↳ `dashboards` | array | Array of dashboard objects |
| ↳ `totalReturned` | number | Number of dashboards returned |
| ↳ `success` | boolean | Salesforce operation success |
### `salesforce_get_dashboard` ### `salesforce_get_dashboard`
@@ -848,12 +878,12 @@ Get details and results for a specific dashboard
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Dashboard data | | `output` | object | Dashboard data |
| ↳ `dashboard` | object | Full dashboard details object | | ↳ `dashboard` | object | Dashboard details |
| ↳ `dashboardId` | string | Dashboard ID | | ↳ `dashboardId` | string | Dashboard ID |
| ↳ `components` | array | Array of dashboard component data with visualizations and filters | | ↳ `components` | array | Dashboard component data |
| ↳ `dashboardName` | string | Display name of the dashboard | | ↳ `dashboardName` | string | Dashboard name |
| ↳ `folderId` | string | ID of the folder containing the dashboard | | ↳ `folderId` | string | Folder ID containing the dashboard |
| ↳ `runningUser` | object | User context under which the dashboard data was retrieved | | ↳ `runningUser` | object | Running user information |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_refresh_dashboard` ### `salesforce_refresh_dashboard`
@@ -874,12 +904,12 @@ Refresh a dashboard to get the latest data
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Refreshed dashboard data | | `output` | object | Refreshed dashboard data |
| ↳ `dashboard` | object | Full dashboard details object | | ↳ `dashboard` | object | Dashboard details |
| ↳ `dashboardId` | string | Dashboard ID | | ↳ `dashboardId` | string | Dashboard ID |
| ↳ `components` | array | Array of dashboard component data with fresh visualizations | | ↳ `components` | array | Dashboard component data |
| ↳ `status` | object | Dashboard refresh status information | | ↳ `status` | object | Dashboard status |
| ↳ `dashboardName` | string | Display name of the dashboard | | ↳ `dashboardName` | string | Dashboard name |
| ↳ `refreshDate` | string | ISO 8601 timestamp when the dashboard was last refreshed | | ↳ `refreshDate` | string | Date when dashboard was refreshed |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_query` ### `salesforce_query`
@@ -900,11 +930,16 @@ Execute a custom SOQL query to retrieve data from Salesforce
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Query results | | `output` | object | Query results |
| ↳ `records` | array | Array of sObject records matching the query | | ↳ `records` | array | Array of record objects |
| ↳ `totalSize` | number | Total number of records matching query |
| ↳ `done` | boolean | Whether all records have been returned |
| ↳ `nextRecordsUrl` | string | URL to fetch next batch of records |
| ↳ `query` | string | The executed SOQL query | | ↳ `query` | string | The executed SOQL query |
| ↳ `metadata` | object | Response metadata | | ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response | | ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) | | ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_query_more` ### `salesforce_query_more`
@@ -925,10 +960,15 @@ Retrieve additional query results using the nextRecordsUrl from a previous query
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Query results | | `output` | object | Query results |
| ↳ `records` | array | Array of sObject records matching the query | | ↳ `records` | array | Array of record objects |
| ↳ `totalSize` | number | Total number of records matching query |
| ↳ `done` | boolean | Whether all records have been returned |
| ↳ `nextRecordsUrl` | string | URL to fetch next batch of records |
| ↳ `metadata` | object | Response metadata | | ↳ `metadata` | object | Response metadata |
| ↳ `totalReturned` | number | Number of records returned in this response | | ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist \(inverse of done\) | | ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `totalReturned` | number | Number of records returned in this response |
| ↳ `hasMore` | boolean | Whether more records exist |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_describe_object` ### `salesforce_describe_object`
@@ -949,41 +989,18 @@ Get metadata and field information for a Salesforce object
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Object metadata | | `output` | object | Object metadata |
| ↳ `objectName` | string | API name of the object \(e.g., Account, Contact\) | | ↳ `objectName` | string | API name of the object |
| ↳ `label` | string | Human-readable singular label for the object | | ↳ `label` | string | Display label |
| ↳ `labelPlural` | string | Human-readable plural label for the object | | ↳ `labelPlural` | string | Plural display label |
| ↳ `fields` | array | Array of field metadata objects | | ↳ `fields` | array | Array of field definitions |
| ↳ `name` | string | API name of the field | | ↳ `keyPrefix` | string | ID prefix for this object type |
| ↳ `label` | string | Display label of the field | | ↳ `queryable` | boolean | Whether object can be queried |
| ↳ `type` | string | Field data type \(string, boolean, int, double, date, etc.\) | | ↳ `createable` | boolean | Whether records can be created |
| ↳ `length` | number | Maximum length for text fields | | ↳ `updateable` | boolean | Whether records can be updated |
| ↳ `precision` | number | Precision for numeric fields | | ↳ `deletable` | boolean | Whether records can be deleted |
| ↳ `scale` | number | Scale for numeric fields | | ↳ `childRelationships` | array | Child relationship definitions |
| ↳ `nillable` | boolean | Whether the field can be null | | ↳ `recordTypeInfos` | array | Record type information |
| ↳ `unique` | boolean | Whether values must be unique | | ↳ `fieldCount` | number | Number of fields in the object |
| ↳ `createable` | boolean | Whether field can be set on create |
| ↳ `updateable` | boolean | Whether field can be updated |
| ↳ `defaultedOnCreate` | boolean | Whether field has default value on create |
| ↳ `calculated` | boolean | Whether field is a formula field |
| ↳ `autoNumber` | boolean | Whether field is auto-number |
| ↳ `externalId` | boolean | Whether field is an external ID |
| ↳ `idLookup` | boolean | Whether field can be used in ID lookup |
| ↳ `inlineHelpText` | string | Help text for the field |
| ↳ `picklistValues` | array | Available picklist values for picklist fields |
| ↳ `referenceTo` | array | Objects this field can reference \(for lookup fields\) |
| ↳ `relationshipName` | string | Relationship name for lookup fields |
| ↳ `custom` | boolean | Whether this is a custom field |
| ↳ `filterable` | boolean | Whether field can be used in SOQL filter |
| ↳ `groupable` | boolean | Whether field can be used in GROUP BY |
| ↳ `sortable` | boolean | Whether field can be used in ORDER BY |
| ↳ `keyPrefix` | string | Three-character prefix used in record IDs \(e.g., "001" for Account\) |
| ↳ `queryable` | boolean | Whether the object can be queried via SOQL |
| ↳ `createable` | boolean | Whether records can be created for this object |
| ↳ `updateable` | boolean | Whether records can be updated for this object |
| ↳ `deletable` | boolean | Whether records can be deleted for this object |
| ↳ `childRelationships` | array | Array of child relationship metadata for related objects |
| ↳ `recordTypeInfos` | array | Array of record type information for the object |
| ↳ `fieldCount` | number | Total number of fields on the object |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |
### `salesforce_list_objects` ### `salesforce_list_objects`
@@ -1003,25 +1020,9 @@ Get a list of all available Salesforce objects
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `success` | boolean | Operation success status | | `success` | boolean | Operation success status |
| `output` | object | Objects list | | `output` | object | Objects list |
| ↳ `objects` | array | Array of sObject metadata | | ↳ `objects` | array | Array of available Salesforce objects |
| ↳ `name` | string | API name of the object | | ↳ `encoding` | string | Encoding used |
| ↳ `label` | string | Display label of the object | | ↳ `maxBatchSize` | number | Maximum batch size |
| ↳ `labelPlural` | string | Plural display label |
| ↳ `keyPrefix` | string | Three-character ID prefix |
| ↳ `custom` | boolean | Whether this is a custom object |
| ↳ `queryable` | boolean | Whether object can be queried |
| ↳ `createable` | boolean | Whether records can be created |
| ↳ `updateable` | boolean | Whether records can be updated |
| ↳ `deletable` | boolean | Whether records can be deleted |
| ↳ `searchable` | boolean | Whether object is searchable |
| ↳ `triggerable` | boolean | Whether triggers are supported |
| ↳ `layoutable` | boolean | Whether page layouts are supported |
| ↳ `replicateable` | boolean | Whether object can be replicated |
| ↳ `retrieveable` | boolean | Whether records can be retrieved |
| ↳ `undeletable` | boolean | Whether records can be undeleted |
| ↳ `urls` | object | URLs for accessing object resources |
| ↳ `encoding` | string | Character encoding for the organization \(e.g., UTF-8\) |
| ↳ `maxBatchSize` | number | Maximum number of records that can be returned in a single query batch \(typically 200\) |
| ↳ `totalReturned` | number | Number of objects returned | | ↳ `totalReturned` | number | Number of objects returned |
| ↳ `success` | boolean | Salesforce operation success | | ↳ `success` | boolean | Salesforce operation success |

View File

@@ -68,7 +68,7 @@ List issues from Sentry for a specific organization and optionally a specific pr
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `issues` | array | List of Sentry issues | | `issues` | array | List of Sentry issues |
| ↳ `id` | string | Unique issue ID | | ↳ `id` | string | User ID |
| ↳ `shortId` | string | Short issue identifier | | ↳ `shortId` | string | Short issue identifier |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `culprit` | string | Function or location that caused the issue | | ↳ `culprit` | string | Function or location that caused the issue |
@@ -78,22 +78,27 @@ List issues from Sentry for a specific organization and optionally a specific pr
| ↳ `status` | string | Current issue status | | ↳ `status` | string | Current issue status |
| ↳ `statusDetails` | object | Additional details about the status | | ↳ `statusDetails` | object | Additional details about the status |
| ↳ `isPublic` | boolean | Whether the issue is publicly visible | | ↳ `isPublic` | boolean | Whether the issue is publicly visible |
| ↳ `platform` | string | Platform where the issue occurred | | ↳ `platform` | string | Project platform |
| ↳ `project` | object | Project information | | ↳ `project` | object | Project information |
| ↳ `id` | string | Project ID | | ↳ `id` | string | Project ID |
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `slug` | string | Project slug | | ↳ `slug` | string | Project slug |
| ↳ `platform` | string | Project platform | | ↳ `platform` | string | Project platform |
| ↳ `type` | string | Issue type | | ↳ `name` | string | User name |
| ↳ `slug` | string | Project slug |
| ↳ `type` | string | Type of error \(e.g., TypeError\) |
| ↳ `metadata` | object | Error metadata | | ↳ `metadata` | object | Error metadata |
| ↳ `type` | string | Type of error \(e.g., TypeError\) | | ↳ `type` | string | Type of error \(e.g., TypeError\) |
| ↳ `value` | string | Error message or value | | ↳ `value` | string | Error message or value |
| ↳ `function` | string | Function where the error occurred | | ↳ `function` | string | Function where the error occurred |
| ↳ `value` | string | Error message or value |
| ↳ `function` | string | Function where the error occurred |
| ↳ `numComments` | number | Number of comments on the issue | | ↳ `numComments` | number | Number of comments on the issue |
| ↳ `assignedTo` | object | User assigned to the issue | | ↳ `assignedTo` | object | User assigned to the issue |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `email` | string | User email |
| ↳ `isBookmarked` | boolean | Whether the issue is bookmarked | | ↳ `isBookmarked` | boolean | Whether the issue is bookmarked |
| ↳ `isSubscribed` | boolean | Whether subscribed to updates | | ↳ `isSubscribed` | boolean | Whether subscribed to updates |
| ↳ `hasSeen` | boolean | Whether the user has seen this issue | | ↳ `hasSeen` | boolean | Whether the user has seen this issue |
@@ -125,7 +130,7 @@ Retrieve detailed information about a specific Sentry issue by its ID. Returns c
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `issue` | object | Detailed information about the Sentry issue | | `issue` | object | Detailed information about the Sentry issue |
| ↳ `id` | string | Unique issue ID | | ↳ `id` | string | User ID |
| ↳ `shortId` | string | Short issue identifier | | ↳ `shortId` | string | Short issue identifier |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `culprit` | string | Function or location that caused the issue | | ↳ `culprit` | string | Function or location that caused the issue |
@@ -135,22 +140,27 @@ Retrieve detailed information about a specific Sentry issue by its ID. Returns c
| ↳ `status` | string | Current issue status | | ↳ `status` | string | Current issue status |
| ↳ `statusDetails` | object | Additional details about the status | | ↳ `statusDetails` | object | Additional details about the status |
| ↳ `isPublic` | boolean | Whether the issue is publicly visible | | ↳ `isPublic` | boolean | Whether the issue is publicly visible |
| ↳ `platform` | string | Platform where the issue occurred | | ↳ `platform` | string | Project platform |
| ↳ `project` | object | Project information | | ↳ `project` | object | Project information |
| ↳ `id` | string | Project ID | | ↳ `id` | string | Project ID |
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `slug` | string | Project slug | | ↳ `slug` | string | Project slug |
| ↳ `platform` | string | Project platform | | ↳ `platform` | string | Project platform |
| ↳ `type` | string | Issue type | | ↳ `name` | string | User name |
| ↳ `slug` | string | Project slug |
| ↳ `type` | string | Type of error \(e.g., TypeError, ValueError\) |
| ↳ `metadata` | object | Error metadata | | ↳ `metadata` | object | Error metadata |
| ↳ `type` | string | Type of error \(e.g., TypeError, ValueError\) | | ↳ `type` | string | Type of error \(e.g., TypeError, ValueError\) |
| ↳ `value` | string | Error message or value | | ↳ `value` | string | Error message or value |
| ↳ `function` | string | Function where the error occurred | | ↳ `function` | string | Function where the error occurred |
| ↳ `value` | string | Error message or value |
| ↳ `function` | string | Function where the error occurred |
| ↳ `numComments` | number | Number of comments on the issue | | ↳ `numComments` | number | Number of comments on the issue |
| ↳ `assignedTo` | object | User assigned to the issue \(if any\) | | ↳ `assignedTo` | object | User assigned to the issue \(if any\) |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `email` | string | User email |
| ↳ `isBookmarked` | boolean | Whether the issue is bookmarked | | ↳ `isBookmarked` | boolean | Whether the issue is bookmarked |
| ↳ `isSubscribed` | boolean | Whether the user is subscribed to updates | | ↳ `isSubscribed` | boolean | Whether the user is subscribed to updates |
| ↳ `hasSeen` | boolean | Whether the user has seen this issue | | ↳ `hasSeen` | boolean | Whether the user has seen this issue |
@@ -184,7 +194,7 @@ Update a Sentry issue by changing its status, assignment, bookmark state, or oth
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `issue` | object | The updated Sentry issue | | `issue` | object | The updated Sentry issue |
| ↳ `id` | string | Unique issue ID | | ↳ `id` | string | User ID |
| ↳ `shortId` | string | Short issue identifier | | ↳ `shortId` | string | Short issue identifier |
| ↳ `title` | string | Issue title | | ↳ `title` | string | Issue title |
| ↳ `status` | string | Updated issue status | | ↳ `status` | string | Updated issue status |
@@ -192,6 +202,8 @@ Update a Sentry issue by changing its status, assignment, bookmark state, or oth
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | User name |
| ↳ `email` | string | User email |
| ↳ `isBookmarked` | boolean | Whether the issue is bookmarked | | ↳ `isBookmarked` | boolean | Whether the issue is bookmarked |
| ↳ `isSubscribed` | boolean | Whether the user is subscribed to updates | | ↳ `isSubscribed` | boolean | Whether the user is subscribed to updates |
| ↳ `isPublic` | boolean | Whether the issue is publicly visible | | ↳ `isPublic` | boolean | Whether the issue is publicly visible |
@@ -215,9 +227,9 @@ List all projects in a Sentry organization. Returns project details including na
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `projects` | array | List of Sentry projects | | `projects` | array | List of Sentry projects |
| ↳ `id` | string | Unique project ID | | ↳ `id` | string | Team ID |
| ↳ `slug` | string | URL-friendly project identifier | | ↳ `slug` | string | Team slug |
| ↳ `name` | string | Project name | | ↳ `name` | string | Team name |
| ↳ `platform` | string | Platform/language \(e.g., javascript, python\) | | ↳ `platform` | string | Platform/language \(e.g., javascript, python\) |
| ↳ `dateCreated` | string | When the project was created \(ISO timestamp\) | | ↳ `dateCreated` | string | When the project was created \(ISO timestamp\) |
| ↳ `isBookmarked` | boolean | Whether the project is bookmarked | | ↳ `isBookmarked` | boolean | Whether the project is bookmarked |
@@ -254,9 +266,9 @@ Retrieve detailed information about a specific Sentry project by its slug. Retur
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `project` | object | Detailed information about the Sentry project | | `project` | object | Detailed information about the Sentry project |
| ↳ `id` | string | Unique project ID | | ↳ `id` | string | Team ID |
| ↳ `slug` | string | URL-friendly project identifier | | ↳ `slug` | string | Team slug |
| ↳ `name` | string | Project name | | ↳ `name` | string | Team name |
| ↳ `platform` | string | Platform/language \(e.g., javascript, python\) | | ↳ `platform` | string | Platform/language \(e.g., javascript, python\) |
| ↳ `dateCreated` | string | When the project was created \(ISO timestamp\) | | ↳ `dateCreated` | string | When the project was created \(ISO timestamp\) |
| ↳ `isBookmarked` | boolean | Whether the project is bookmarked | | ↳ `isBookmarked` | boolean | Whether the project is bookmarked |
@@ -309,9 +321,9 @@ Create a new Sentry project in an organization. Requires a team to associate the
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `project` | object | The newly created Sentry project | | `project` | object | The newly created Sentry project |
| ↳ `id` | string | Unique project ID | | ↳ `id` | string | Team ID |
| ↳ `slug` | string | URL-friendly project identifier | | ↳ `slug` | string | Team slug |
| ↳ `name` | string | Project name | | ↳ `name` | string | Team name |
| ↳ `platform` | string | Platform/language | | ↳ `platform` | string | Platform/language |
| ↳ `dateCreated` | string | When the project was created \(ISO timestamp\) | | ↳ `dateCreated` | string | When the project was created \(ISO timestamp\) |
| ↳ `isBookmarked` | boolean | Whether the project is bookmarked | | ↳ `isBookmarked` | boolean | Whether the project is bookmarked |
@@ -358,9 +370,9 @@ Update a Sentry project by changing its name, slug, platform, or other settings.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `project` | object | The updated Sentry project | | `project` | object | The updated Sentry project |
| ↳ `id` | string | Unique project ID | | ↳ `id` | string | Team ID |
| ↳ `slug` | string | URL-friendly project identifier | | ↳ `slug` | string | Team slug |
| ↳ `name` | string | Project name | | ↳ `name` | string | Team name |
| ↳ `platform` | string | Platform/language | | ↳ `platform` | string | Platform/language |
| ↳ `isBookmarked` | boolean | Whether the project is bookmarked | | ↳ `isBookmarked` | boolean | Whether the project is bookmarked |
| ↳ `organization` | object | Organization information | | ↳ `organization` | object | Organization information |
@@ -394,7 +406,7 @@ List events from a Sentry project. Can be filtered by issue ID, query, or time p
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `events` | array | List of Sentry events | | `events` | array | List of Sentry events |
| ↳ `id` | string | Unique event ID | | ↳ `id` | string | User ID |
| ↳ `eventID` | string | Event identifier | | ↳ `eventID` | string | Event identifier |
| ↳ `projectID` | string | Project ID | | ↳ `projectID` | string | Project ID |
| ↳ `groupID` | string | Issue group ID | | ↳ `groupID` | string | Issue group ID |
@@ -410,16 +422,23 @@ List events from a Sentry project. Can be filtered by issue ID, query, or time p
| ↳ `username` | string | Username | | ↳ `username` | string | Username |
| ↳ `ipAddress` | string | IP address | | ↳ `ipAddress` | string | IP address |
| ↳ `name` | string | User display name | | ↳ `name` | string | User display name |
| ↳ `email` | string | User email |
| ↳ `username` | string | Username |
| ↳ `ipAddress` | string | IP address |
| ↳ `name` | string | SDK name |
| ↳ `tags` | array | Tags associated with the event | | ↳ `tags` | array | Tags associated with the event |
| ↳ `key` | string | Tag key | | ↳ `key` | string | Tag key |
| ↳ `value` | string | Tag value | | ↳ `value` | string | Tag value |
| ↳ `key` | string | Tag key |
| ↳ `value` | string | Error message or value |
| ↳ `contexts` | object | Additional context data \(device, OS, etc.\) | | ↳ `contexts` | object | Additional context data \(device, OS, etc.\) |
| ↳ `platform` | string | Platform where the event occurred | | ↳ `platform` | string | Platform where the event occurred |
| ↳ `type` | string | Event type | | ↳ `type` | string | Type of error \(e.g., TypeError\) |
| ↳ `metadata` | object | Error metadata | | ↳ `metadata` | object | Error metadata |
| ↳ `type` | string | Type of error \(e.g., TypeError\) | | ↳ `type` | string | Type of error \(e.g., TypeError\) |
| ↳ `value` | string | Error message or value | | ↳ `value` | string | Error message or value |
| ↳ `function` | string | Function where the error occurred | | ↳ `function` | string | Function where the error occurred |
| ↳ `function` | string | Function where the error occurred |
| ↳ `entries` | array | Event entries \(exception, breadcrumbs, etc.\) | | ↳ `entries` | array | Event entries \(exception, breadcrumbs, etc.\) |
| ↳ `errors` | array | Processing errors | | ↳ `errors` | array | Processing errors |
| ↳ `dist` | string | Distribution identifier | | ↳ `dist` | string | Distribution identifier |
@@ -427,6 +446,7 @@ List events from a Sentry project. Can be filtered by issue ID, query, or time p
| ↳ `sdk` | object | SDK information | | ↳ `sdk` | object | SDK information |
| ↳ `name` | string | SDK name | | ↳ `name` | string | SDK name |
| ↳ `version` | string | SDK version | | ↳ `version` | string | SDK version |
| ↳ `version` | string | SDK version |
| `metadata` | object | Pagination metadata | | `metadata` | object | Pagination metadata |
| ↳ `nextCursor` | string | Cursor for the next page of results \(if available\) | | ↳ `nextCursor` | string | Cursor for the next page of results \(if available\) |
| ↳ `hasMore` | boolean | Whether there are more results available | | ↳ `hasMore` | boolean | Whether there are more results available |
@@ -449,7 +469,7 @@ Retrieve detailed information about a specific Sentry event by its ID. Returns c
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `event` | object | Detailed information about the Sentry event | | `event` | object | Detailed information about the Sentry event |
| ↳ `id` | string | Unique event ID | | ↳ `id` | string | User ID |
| ↳ `eventID` | string | Event identifier | | ↳ `eventID` | string | Event identifier |
| ↳ `projectID` | string | Project ID | | ↳ `projectID` | string | Project ID |
| ↳ `groupID` | string | Issue group ID this event belongs to | | ↳ `groupID` | string | Issue group ID this event belongs to |
@@ -465,16 +485,23 @@ Retrieve detailed information about a specific Sentry event by its ID. Returns c
| ↳ `username` | string | Username | | ↳ `username` | string | Username |
| ↳ `ipAddress` | string | IP address | | ↳ `ipAddress` | string | IP address |
| ↳ `name` | string | User display name | | ↳ `name` | string | User display name |
| ↳ `email` | string | User email |
| ↳ `username` | string | Username |
| ↳ `ipAddress` | string | IP address |
| ↳ `name` | string | SDK name |
| ↳ `tags` | array | Tags associated with the event | | ↳ `tags` | array | Tags associated with the event |
| ↳ `key` | string | Tag key | | ↳ `key` | string | Tag key |
| ↳ `value` | string | Tag value | | ↳ `value` | string | Tag value |
| ↳ `key` | string | Tag key |
| ↳ `value` | string | Error message or value |
| ↳ `contexts` | object | Additional context data \(device, OS, browser, etc.\) | | ↳ `contexts` | object | Additional context data \(device, OS, browser, etc.\) |
| ↳ `platform` | string | Platform where the event occurred | | ↳ `platform` | string | Platform where the event occurred |
| ↳ `type` | string | Event type \(error, transaction, etc.\) | | ↳ `type` | string | Type of error \(e.g., TypeError, ValueError\) |
| ↳ `metadata` | object | Error metadata | | ↳ `metadata` | object | Error metadata |
| ↳ `type` | string | Type of error \(e.g., TypeError, ValueError\) | | ↳ `type` | string | Type of error \(e.g., TypeError, ValueError\) |
| ↳ `value` | string | Error message or value | | ↳ `value` | string | Error message or value |
| ↳ `function` | string | Function where the error occurred | | ↳ `function` | string | Function where the error occurred |
| ↳ `function` | string | Function where the error occurred |
| ↳ `entries` | array | Event entries including exception, breadcrumbs, and request data | | ↳ `entries` | array | Event entries including exception, breadcrumbs, and request data |
| ↳ `errors` | array | Processing errors that occurred | | ↳ `errors` | array | Processing errors that occurred |
| ↳ `dist` | string | Distribution identifier | | ↳ `dist` | string | Distribution identifier |
@@ -482,6 +509,7 @@ Retrieve detailed information about a specific Sentry event by its ID. Returns c
| ↳ `sdk` | object | SDK information | | ↳ `sdk` | object | SDK information |
| ↳ `name` | string | SDK name | | ↳ `name` | string | SDK name |
| ↳ `version` | string | SDK version | | ↳ `version` | string | SDK version |
| ↳ `version` | string | SDK version |
### `sentry_releases_list` ### `sentry_releases_list`
@@ -503,30 +531,36 @@ List releases for a Sentry organization or project. Returns release details incl
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `releases` | array | List of Sentry releases | | `releases` | array | List of Sentry releases |
| ↳ `id` | string | Unique release ID | | ↳ `id` | string | Project ID |
| ↳ `version` | string | Release version identifier | | ↳ `version` | object | Version details |
| ↳ `raw` | string | Raw version string |
| ↳ `shortVersion` | string | Shortened version identifier | | ↳ `shortVersion` | string | Shortened version identifier |
| ↳ `ref` | string | Git reference \(commit SHA, tag, or branch\) | | ↳ `ref` | string | Git reference \(commit SHA, tag, or branch\) |
| ↳ `url` | string | URL to the release \(e.g., GitHub release page\) | | ↳ `url` | string | URL to the release \(e.g., GitHub release page\) |
| ↳ `dateReleased` | string | When the release was deployed \(ISO timestamp\) | | ↳ `dateReleased` | string | When the release was deployed \(ISO timestamp\) |
| ↳ `dateCreated` | string | When the release was created \(ISO timestamp\) | | ↳ `dateCreated` | string | Commit timestamp |
| ↳ `dateStarted` | string | When the release started \(ISO timestamp\) | | ↳ `dateStarted` | string | Deploy start timestamp |
| ↳ `newGroups` | number | Number of new issues introduced in this release | | ↳ `newGroups` | number | Number of new issues introduced in this release |
| ↳ `owner` | object | Owner of the release | | ↳ `owner` | object | Owner of the release |
| ↳ `id` | string | User ID | | ↳ `id` | string | User ID |
| ↳ `name` | string | User name | | ↳ `name` | string | User name |
| ↳ `email` | string | User email | | ↳ `email` | string | User email |
| ↳ `name` | string | Project name |
| ↳ `email` | string | Author email |
| ↳ `commitCount` | number | Number of commits in this release | | ↳ `commitCount` | number | Number of commits in this release |
| ↳ `deployCount` | number | Number of deploys for this release | | ↳ `deployCount` | number | Number of deploys for this release |
| ↳ `lastCommit` | object | Last commit in the release | | ↳ `lastCommit` | object | Last commit in the release |
| ↳ `id` | string | Commit SHA | | ↳ `id` | string | Commit SHA |
| ↳ `message` | string | Commit message | | ↳ `message` | string | Commit message |
| ↳ `dateCreated` | string | Commit timestamp | | ↳ `dateCreated` | string | Commit timestamp |
| ↳ `message` | string | Commit message |
| ↳ `lastDeploy` | object | Last deploy of the release | | ↳ `lastDeploy` | object | Last deploy of the release |
| ↳ `id` | string | Deploy ID | | ↳ `id` | string | Deploy ID |
| ↳ `environment` | string | Deploy environment | | ↳ `environment` | string | Deploy environment |
| ↳ `dateStarted` | string | Deploy start timestamp | | ↳ `dateStarted` | string | Deploy start timestamp |
| ↳ `dateFinished` | string | Deploy finish timestamp | | ↳ `dateFinished` | string | Deploy finish timestamp |
| ↳ `environment` | string | Deploy environment |
| ↳ `dateFinished` | string | Deploy finish timestamp |
| ↳ `authors` | array | Authors of commits in the release | | ↳ `authors` | array | Authors of commits in the release |
| ↳ `id` | string | Author ID | | ↳ `id` | string | Author ID |
| ↳ `name` | string | Author name | | ↳ `name` | string | Author name |
@@ -536,12 +570,18 @@ List releases for a Sentry organization or project. Returns release details incl
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `slug` | string | Project slug | | ↳ `slug` | string | Project slug |
| ↳ `platform` | string | Project platform | | ↳ `platform` | string | Project platform |
| ↳ `slug` | string | Project slug |
| ↳ `platform` | string | Project platform |
| ↳ `firstEvent` | string | First event timestamp | | ↳ `firstEvent` | string | First event timestamp |
| ↳ `lastEvent` | string | Last event timestamp | | ↳ `lastEvent` | string | Last event timestamp |
| ↳ `versionInfo` | object | Version metadata | | ↳ `versionInfo` | object | Version metadata |
| ↳ `buildHash` | string | Build hash | | ↳ `buildHash` | string | Build hash |
| ↳ `version` | object | Version details | | ↳ `version` | object | Version details |
| ↳ `raw` | string | Raw version string | | ↳ `raw` | string | Raw version string |
| ↳ `raw` | string | Raw version string |
| ↳ `package` | string | Package name |
| ↳ `buildHash` | string | Build hash |
| ↳ `raw` | string | Raw version string |
| ↳ `package` | string | Package name | | ↳ `package` | string | Package name |
| `metadata` | object | Pagination metadata | | `metadata` | object | Pagination metadata |
| ↳ `nextCursor` | string | Cursor for the next page of results \(if available\) | | ↳ `nextCursor` | string | Cursor for the next page of results \(if available\) |
@@ -569,14 +609,15 @@ Create a new release in Sentry. A release is a version of your code deployed to
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `release` | object | The newly created Sentry release | | `release` | object | The newly created Sentry release |
| ↳ `id` | string | Unique release ID | | ↳ `id` | string | Project ID |
| ↳ `version` | string | Release version identifier | | ↳ `version` | object | Version details |
| ↳ `raw` | string | Raw version string |
| ↳ `shortVersion` | string | Shortened version identifier | | ↳ `shortVersion` | string | Shortened version identifier |
| ↳ `ref` | string | Git reference \(commit SHA, tag, or branch\) | | ↳ `ref` | string | Git reference \(commit SHA, tag, or branch\) |
| ↳ `url` | string | URL to the release | | ↳ `url` | string | URL to the release |
| ↳ `dateReleased` | string | When the release was deployed \(ISO timestamp\) | | ↳ `dateReleased` | string | When the release was deployed \(ISO timestamp\) |
| ↳ `dateCreated` | string | When the release was created \(ISO timestamp\) | | ↳ `dateCreated` | string | Commit timestamp |
| ↳ `dateStarted` | string | When the release started \(ISO timestamp\) | | ↳ `dateStarted` | string | Deploy start timestamp |
| ↳ `newGroups` | number | Number of new issues introduced | | ↳ `newGroups` | number | Number of new issues introduced |
| ↳ `commitCount` | number | Number of commits in this release | | ↳ `commitCount` | number | Number of commits in this release |
| ↳ `deployCount` | number | Number of deploys for this release | | ↳ `deployCount` | number | Number of deploys for this release |
@@ -584,15 +625,20 @@ Create a new release in Sentry. A release is a version of your code deployed to
| ↳ `id` | string | Owner ID | | ↳ `id` | string | Owner ID |
| ↳ `name` | string | Owner name | | ↳ `name` | string | Owner name |
| ↳ `email` | string | Owner email | | ↳ `email` | string | Owner email |
| ↳ `name` | string | Project name |
| ↳ `email` | string | Author email |
| ↳ `lastCommit` | object | Last commit in the release | | ↳ `lastCommit` | object | Last commit in the release |
| ↳ `id` | string | Commit SHA | | ↳ `id` | string | Commit SHA |
| ↳ `message` | string | Commit message | | ↳ `message` | string | Commit message |
| ↳ `dateCreated` | string | Commit timestamp | | ↳ `dateCreated` | string | Commit timestamp |
| ↳ `message` | string | Commit message |
| ↳ `lastDeploy` | object | Last deploy of the release | | ↳ `lastDeploy` | object | Last deploy of the release |
| ↳ `id` | string | Deploy ID | | ↳ `id` | string | Deploy ID |
| ↳ `environment` | string | Deploy environment | | ↳ `environment` | string | Deploy environment |
| ↳ `dateStarted` | string | Deploy start timestamp | | ↳ `dateStarted` | string | Deploy start timestamp |
| ↳ `dateFinished` | string | Deploy finish timestamp | | ↳ `dateFinished` | string | Deploy finish timestamp |
| ↳ `environment` | string | Deploy environment |
| ↳ `dateFinished` | string | Deploy finish timestamp |
| ↳ `authors` | array | Authors of commits in the release | | ↳ `authors` | array | Authors of commits in the release |
| ↳ `id` | string | Author ID | | ↳ `id` | string | Author ID |
| ↳ `name` | string | Author name | | ↳ `name` | string | Author name |
@@ -602,12 +648,18 @@ Create a new release in Sentry. A release is a version of your code deployed to
| ↳ `name` | string | Project name | | ↳ `name` | string | Project name |
| ↳ `slug` | string | Project slug | | ↳ `slug` | string | Project slug |
| ↳ `platform` | string | Project platform | | ↳ `platform` | string | Project platform |
| ↳ `slug` | string | Project slug |
| ↳ `platform` | string | Project platform |
| ↳ `firstEvent` | string | First event timestamp | | ↳ `firstEvent` | string | First event timestamp |
| ↳ `lastEvent` | string | Last event timestamp | | ↳ `lastEvent` | string | Last event timestamp |
| ↳ `versionInfo` | object | Version metadata | | ↳ `versionInfo` | object | Version metadata |
| ↳ `buildHash` | string | Build hash | | ↳ `buildHash` | string | Build hash |
| ↳ `version` | object | Version details | | ↳ `version` | object | Version details |
| ↳ `raw` | string | Raw version string | | ↳ `raw` | string | Raw version string |
| ↳ `raw` | string | Raw version string |
| ↳ `package` | string | Package name |
| ↳ `buildHash` | string | Build hash |
| ↳ `raw` | string | Raw version string |
| ↳ `package` | string | Package name | | ↳ `package` | string | Package name |
### `sentry_releases_deploy` ### `sentry_releases_deploy`

View File

@@ -35,7 +35,7 @@ Integrate Serper into the workflow. Can search the web.
### `serper_search` ### `serper_search`
A powerful web search tool that provides access to Google search results through Serper.dev API. Supports different types of searches including regular web search, news, places, images, videos, and shopping. Returns comprehensive results including organic results, knowledge graph, answer box, people also ask, related searches, and top stories. A powerful web search tool that provides access to Google search results through Serper.dev API. Supports different types of searches including regular web search, news, places, and images, with each result containing relevant metadata like titles, URLs, snippets, and type-specific information.
#### Input #### Input
@@ -53,17 +53,5 @@ A powerful web search tool that provides access to Google search results through
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `searchResults` | array | Search results with titles, links, snippets, and type-specific metadata \(date for news, rating for places, imageUrl for images\) | | `searchResults` | array | Search results with titles, links, snippets, and type-specific metadata \(date for news, rating for places, imageUrl for images\) |
| ↳ `title` | string | Result title |
| ↳ `link` | string | Result URL |
| ↳ `snippet` | string | Result description/snippet |
| ↳ `position` | number | Position in search results |
| ↳ `date` | string | Publication date \(news/videos\) |
| ↳ `imageUrl` | string | Image URL \(images/news/shopping\) |
| ↳ `source` | string | Source name \(news/videos/shopping\) |
| ↳ `rating` | number | Rating \(places\) |
| ↳ `ratingCount` | number | Number of reviews \(places\) |
| ↳ `address` | string | Address \(places\) |
| ↳ `price` | string | Price \(shopping\) |
| ↳ `duration` | string | Duration \(videos\) |

View File

@@ -95,7 +95,13 @@ Read a specific page from a SharePoint site
| ↳ `pageLayout` | string | The layout type of the page | | ↳ `pageLayout` | string | The layout type of the page |
| ↳ `createdDateTime` | string | When the page was created | | ↳ `createdDateTime` | string | When the page was created |
| ↳ `lastModifiedDateTime` | string | When the page was last modified | | ↳ `lastModifiedDateTime` | string | When the page was last modified |
| ↳ `content` | object | Extracted text content from the page | | ↳ `id` | string | The unique ID of the page |
| ↳ `name` | string | The name of the page |
| ↳ `title` | string | The title of the page |
| ↳ `webUrl` | string | The URL to access the page |
| ↳ `pageLayout` | string | The layout type of the page |
| ↳ `createdDateTime` | string | When the page was created |
| ↳ `lastModifiedDateTime` | string | When the page was last modified |
| ↳ `content` | string | Extracted text content from the page | | ↳ `content` | string | Extracted text content from the page |
| ↳ `canvasLayout` | object | Raw SharePoint canvas layout structure | | ↳ `canvasLayout` | object | Raw SharePoint canvas layout structure |
| `content` | object | Content of the SharePoint page | | `content` | object | Content of the SharePoint page |
@@ -129,8 +135,10 @@ List details of all SharePoint sites
| ↳ `isPersonalSite` | boolean | Whether this is a personal site | | ↳ `isPersonalSite` | boolean | Whether this is a personal site |
| ↳ `root` | object | Server relative URL | | ↳ `root` | object | Server relative URL |
| ↳ `serverRelativeUrl` | string | Server relative URL | | ↳ `serverRelativeUrl` | string | Server relative URL |
| ↳ `serverRelativeUrl` | string | Server relative URL |
| ↳ `siteCollection` | object | Site collection hostname | | ↳ `siteCollection` | object | Site collection hostname |
| ↳ `hostname` | string | Site collection hostname | | ↳ `hostname` | string | Site collection hostname |
| ↳ `hostname` | string | Site collection hostname |
| `sites` | array | List of all accessible SharePoint sites | | `sites` | array | List of all accessible SharePoint sites |
| ↳ `id` | string | The unique ID of the site | | ↳ `id` | string | The unique ID of the site |
| ↳ `name` | string | The name of the site | | ↳ `name` | string | The name of the site |
@@ -185,7 +193,7 @@ Get metadata (and optionally columns/items) for a SharePoint list
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `list` | object | Information about the SharePoint list | | `list` | object | Information about the SharePoint list |
| ↳ `id` | string | The unique ID of the list | | ↳ `id` | string | Item ID |
| ↳ `displayName` | string | The display name of the list | | ↳ `displayName` | string | The display name of the list |
| ↳ `name` | string | The internal name of the list | | ↳ `name` | string | The internal name of the list |
| ↳ `webUrl` | string | The web URL of the list | | ↳ `webUrl` | string | The web URL of the list |
@@ -193,6 +201,7 @@ Get metadata (and optionally columns/items) for a SharePoint list
| ↳ `lastModifiedDateTime` | string | When the list was last modified | | ↳ `lastModifiedDateTime` | string | When the list was last modified |
| ↳ `list` | object | List properties \(e.g., template\) | | ↳ `list` | object | List properties \(e.g., template\) |
| ↳ `columns` | array | List column definitions | | ↳ `columns` | array | List column definitions |
| ↳ `fields` | object | Field values for the item |
| `lists` | array | All lists in the site when no listId/title provided | | `lists` | array | All lists in the site when no listId/title provided |
### `sharepoint_update_list` ### `sharepoint_update_list`

View File

@@ -53,18 +53,6 @@ Create a new product in your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `product` | object | The created product | | `product` | object | The created product |
| ↳ `id` | string | Unique product identifier \(GID\) |
| ↳ `title` | string | Product title |
| ↳ `handle` | string | URL-friendly product identifier |
| ↳ `descriptionHtml` | string | Product description in HTML format |
| ↳ `vendor` | string | Product vendor or manufacturer |
| ↳ `productType` | string | Product type classification |
| ↳ `tags` | array | Product tags for categorization |
| ↳ `status` | string | Product status \(ACTIVE, DRAFT, ARCHIVED\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `variants` | object | Product variants with edges/nodes structure |
| ↳ `images` | object | Product images with edges/nodes structure |
### `shopify_get_product` ### `shopify_get_product`
@@ -82,18 +70,6 @@ Get a single product by ID from your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `product` | object | The product details | | `product` | object | The product details |
| ↳ `id` | string | Unique product identifier \(GID\) |
| ↳ `title` | string | Product title |
| ↳ `handle` | string | URL-friendly product identifier |
| ↳ `descriptionHtml` | string | Product description in HTML format |
| ↳ `vendor` | string | Product vendor or manufacturer |
| ↳ `productType` | string | Product type classification |
| ↳ `tags` | array | Product tags for categorization |
| ↳ `status` | string | Product status \(ACTIVE, DRAFT, ARCHIVED\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `variants` | object | Product variants with edges/nodes structure |
| ↳ `images` | object | Product images with edges/nodes structure |
### `shopify_list_products` ### `shopify_list_products`
@@ -112,21 +88,7 @@ List products from your Shopify store with optional filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `products` | array | List of products | | `products` | array | List of products |
| ↳ `id` | string | Unique product identifier \(GID\) |
| ↳ `title` | string | Product title |
| ↳ `handle` | string | URL-friendly product identifier |
| ↳ `descriptionHtml` | string | Product description in HTML format |
| ↳ `vendor` | string | Product vendor or manufacturer |
| ↳ `productType` | string | Product type classification |
| ↳ `tags` | array | Product tags for categorization |
| ↳ `status` | string | Product status \(ACTIVE, DRAFT, ARCHIVED\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `variants` | object | Product variants with edges/nodes structure |
| ↳ `images` | object | Product images with edges/nodes structure |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results after this page |
| ↳ `hasPreviousPage` | boolean | Whether there are results before this page |
### `shopify_update_product` ### `shopify_update_product`
@@ -150,18 +112,6 @@ Update an existing product in your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `product` | object | The updated product | | `product` | object | The updated product |
| ↳ `id` | string | Unique product identifier \(GID\) |
| ↳ `title` | string | Product title |
| ↳ `handle` | string | URL-friendly product identifier |
| ↳ `descriptionHtml` | string | Product description in HTML format |
| ↳ `vendor` | string | Product vendor or manufacturer |
| ↳ `productType` | string | Product type classification |
| ↳ `tags` | array | Product tags for categorization |
| ↳ `status` | string | Product status \(ACTIVE, DRAFT, ARCHIVED\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `variants` | object | Product variants with edges/nodes structure |
| ↳ `images` | object | Product images with edges/nodes structure |
### `shopify_delete_product` ### `shopify_delete_product`
@@ -196,27 +146,6 @@ Get a single order by ID from your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `order` | object | The order details | | `order` | object | The order details |
| ↳ `id` | string | Unique order identifier \(GID\) |
| ↳ `name` | string | Order name \(e.g., #1001\) |
| ↳ `email` | string | Customer email for the order |
| ↳ `phone` | string | Customer phone for the order |
| ↳ `createdAt` | string | Order creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `cancelledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `closedAt` | string | Closure timestamp \(ISO 8601\) |
| ↳ `displayFinancialStatus` | string | Financial status \(PENDING, AUTHORIZED, PARTIALLY_PAID, PAID, PARTIALLY_REFUNDED, REFUNDED, VOIDED\) |
| ↳ `displayFulfillmentStatus` | string | Fulfillment status \(UNFULFILLED, PARTIALLY_FULFILLED, FULFILLED, RESTOCKED, PENDING_FULFILLMENT, OPEN, IN_PROGRESS, ON_HOLD, SCHEDULED\) |
| ↳ `totalPriceSet` | object | Total order price |
| ↳ `subtotalPriceSet` | object | Order subtotal \(before shipping and taxes\) |
| ↳ `totalTaxSet` | object | Total tax amount |
| ↳ `totalShippingPriceSet` | object | Total shipping price |
| ↳ `note` | string | Order note |
| ↳ `tags` | array | Order tags |
| ↳ `customer` | object | Customer who placed the order |
| ↳ `lineItems` | object | Order line items with edges/nodes structure |
| ↳ `shippingAddress` | object | Shipping address |
| ↳ `billingAddress` | object | Billing address |
| ↳ `fulfillments` | array | Order fulfillments |
### `shopify_list_orders` ### `shopify_list_orders`
@@ -236,30 +165,7 @@ List orders from your Shopify store with optional filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `orders` | array | List of orders | | `orders` | array | List of orders |
| ↳ `id` | string | Unique order identifier \(GID\) |
| ↳ `name` | string | Order name \(e.g., #1001\) |
| ↳ `email` | string | Customer email for the order |
| ↳ `phone` | string | Customer phone for the order |
| ↳ `createdAt` | string | Order creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `cancelledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `closedAt` | string | Closure timestamp \(ISO 8601\) |
| ↳ `displayFinancialStatus` | string | Financial status \(PENDING, AUTHORIZED, PARTIALLY_PAID, PAID, PARTIALLY_REFUNDED, REFUNDED, VOIDED\) |
| ↳ `displayFulfillmentStatus` | string | Fulfillment status \(UNFULFILLED, PARTIALLY_FULFILLED, FULFILLED, RESTOCKED, PENDING_FULFILLMENT, OPEN, IN_PROGRESS, ON_HOLD, SCHEDULED\) |
| ↳ `totalPriceSet` | object | Total order price |
| ↳ `subtotalPriceSet` | object | Order subtotal \(before shipping and taxes\) |
| ↳ `totalTaxSet` | object | Total tax amount |
| ↳ `totalShippingPriceSet` | object | Total shipping price |
| ↳ `note` | string | Order note |
| ↳ `tags` | array | Order tags |
| ↳ `customer` | object | Customer who placed the order |
| ↳ `lineItems` | object | Order line items with edges/nodes structure |
| ↳ `shippingAddress` | object | Shipping address |
| ↳ `billingAddress` | object | Billing address |
| ↳ `fulfillments` | array | Order fulfillments |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results after this page |
| ↳ `hasPreviousPage` | boolean | Whether there are results before this page |
### `shopify_update_order` ### `shopify_update_order`
@@ -280,27 +186,6 @@ Update an existing order in your Shopify store (note, tags, email)
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `order` | object | The updated order | | `order` | object | The updated order |
| ↳ `id` | string | Unique order identifier \(GID\) |
| ↳ `name` | string | Order name \(e.g., #1001\) |
| ↳ `email` | string | Customer email for the order |
| ↳ `phone` | string | Customer phone for the order |
| ↳ `createdAt` | string | Order creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `cancelledAt` | string | Cancellation timestamp \(ISO 8601\) |
| ↳ `closedAt` | string | Closure timestamp \(ISO 8601\) |
| ↳ `displayFinancialStatus` | string | Financial status \(PENDING, AUTHORIZED, PARTIALLY_PAID, PAID, PARTIALLY_REFUNDED, REFUNDED, VOIDED\) |
| ↳ `displayFulfillmentStatus` | string | Fulfillment status \(UNFULFILLED, PARTIALLY_FULFILLED, FULFILLED, RESTOCKED, PENDING_FULFILLMENT, OPEN, IN_PROGRESS, ON_HOLD, SCHEDULED\) |
| ↳ `totalPriceSet` | object | Total order price |
| ↳ `subtotalPriceSet` | object | Order subtotal \(before shipping and taxes\) |
| ↳ `totalTaxSet` | object | Total tax amount |
| ↳ `totalShippingPriceSet` | object | Total shipping price |
| ↳ `note` | string | Order note |
| ↳ `tags` | array | Order tags |
| ↳ `customer` | object | Customer who placed the order |
| ↳ `lineItems` | object | Order line items with edges/nodes structure |
| ↳ `shippingAddress` | object | Shipping address |
| ↳ `billingAddress` | object | Billing address |
| ↳ `fulfillments` | array | Order fulfillments |
### `shopify_cancel_order` ### `shopify_cancel_order`
@@ -323,9 +208,6 @@ Cancel an order in your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `order` | object | The cancellation result | | `order` | object | The cancellation result |
| ↳ `id` | string | Job identifier for the cancellation |
| ↳ `cancelled` | boolean | Whether the cancellation completed |
| ↳ `message` | string | Status message |
### `shopify_create_customer` ### `shopify_create_customer`
@@ -349,18 +231,6 @@ Create a new customer in your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customer` | object | The created customer | | `customer` | object | The created customer |
| ↳ `id` | string | Unique customer identifier \(GID\) |
| ↳ `email` | string | Customer email address |
| ↳ `firstName` | string | Customer first name |
| ↳ `lastName` | string | Customer last name |
| ↳ `phone` | string | Customer phone number |
| ↳ `createdAt` | string | Account creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `note` | string | Internal notes about the customer |
| ↳ `tags` | array | Customer tags for categorization |
| ↳ `amountSpent` | object | Total amount spent by customer |
| ↳ `addresses` | array | Customer addresses |
| ↳ `defaultAddress` | object | Customer default address |
### `shopify_get_customer` ### `shopify_get_customer`
@@ -378,18 +248,6 @@ Get a single customer by ID from your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customer` | object | The customer details | | `customer` | object | The customer details |
| ↳ `id` | string | Unique customer identifier \(GID\) |
| ↳ `email` | string | Customer email address |
| ↳ `firstName` | string | Customer first name |
| ↳ `lastName` | string | Customer last name |
| ↳ `phone` | string | Customer phone number |
| ↳ `createdAt` | string | Account creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `note` | string | Internal notes about the customer |
| ↳ `tags` | array | Customer tags for categorization |
| ↳ `amountSpent` | object | Total amount spent by customer |
| ↳ `addresses` | array | Customer addresses |
| ↳ `defaultAddress` | object | Customer default address |
### `shopify_list_customers` ### `shopify_list_customers`
@@ -408,21 +266,7 @@ List customers from your Shopify store with optional filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customers` | array | List of customers | | `customers` | array | List of customers |
| ↳ `id` | string | Unique customer identifier \(GID\) |
| ↳ `email` | string | Customer email address |
| ↳ `firstName` | string | Customer first name |
| ↳ `lastName` | string | Customer last name |
| ↳ `phone` | string | Customer phone number |
| ↳ `createdAt` | string | Account creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `note` | string | Internal notes about the customer |
| ↳ `tags` | array | Customer tags for categorization |
| ↳ `amountSpent` | object | Total amount spent by customer |
| ↳ `addresses` | array | Customer addresses |
| ↳ `defaultAddress` | object | Customer default address |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results after this page |
| ↳ `hasPreviousPage` | boolean | Whether there are results before this page |
### `shopify_update_customer` ### `shopify_update_customer`
@@ -446,18 +290,6 @@ Update an existing customer in your Shopify store
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `customer` | object | The updated customer | | `customer` | object | The updated customer |
| ↳ `id` | string | Unique customer identifier \(GID\) |
| ↳ `email` | string | Customer email address |
| ↳ `firstName` | string | Customer first name |
| ↳ `lastName` | string | Customer last name |
| ↳ `phone` | string | Customer phone number |
| ↳ `createdAt` | string | Account creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `note` | string | Internal notes about the customer |
| ↳ `tags` | array | Customer tags for categorization |
| ↳ `amountSpent` | object | Total amount spent by customer |
| ↳ `addresses` | array | Customer addresses |
| ↳ `defaultAddress` | object | Customer default address |
### `shopify_delete_customer` ### `shopify_delete_customer`
@@ -493,26 +325,7 @@ List inventory items from your Shopify store. Use this to find inventory item ID
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `inventoryItems` | array | List of inventory items with their IDs, SKUs, and stock levels | | `inventoryItems` | array | List of inventory items with their IDs, SKUs, and stock levels |
| ↳ `id` | string | Unique inventory item identifier \(GID\) |
| ↳ `sku` | string | Stock keeping unit |
| ↳ `tracked` | boolean | Whether inventory is tracked |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `variant` | object | Associated product variant |
| ↳ `id` | string | Variant identifier \(GID\) |
| ↳ `title` | string | Variant title |
| ↳ `product` | object | Associated product |
| ↳ `id` | string | Product identifier \(GID\) |
| ↳ `title` | string | Product title |
| ↳ `inventoryLevels` | array | Inventory levels at different locations |
| ↳ `id` | string | Inventory level identifier \(GID\) |
| ↳ `available` | number | Available quantity |
| ↳ `location` | object | Location for this inventory level |
| ↳ `id` | string | Location identifier \(GID\) |
| ↳ `name` | string | Location name |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results after this page |
| ↳ `hasPreviousPage` | boolean | Whether there are results before this page |
### `shopify_get_inventory_level` ### `shopify_get_inventory_level`
@@ -531,19 +344,6 @@ Get inventory level for a product variant at a specific location
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `inventoryLevel` | object | The inventory level details | | `inventoryLevel` | object | The inventory level details |
| ↳ `id` | string | Inventory item identifier \(GID\) |
| ↳ `sku` | string | Stock keeping unit |
| ↳ `tracked` | boolean | Whether inventory is tracked |
| ↳ `levels` | array | Inventory levels at different locations |
| ↳ `id` | string | Inventory level identifier \(GID\) |
| ↳ `available` | number | Available quantity |
| ↳ `onHand` | number | On-hand quantity |
| ↳ `committed` | number | Committed quantity |
| ↳ `incoming` | number | Incoming quantity |
| ↳ `reserved` | number | Reserved quantity |
| ↳ `location` | object | Location for this inventory level |
| ↳ `id` | string | Location identifier \(GID\) |
| ↳ `name` | string | Location name |
### `shopify_adjust_inventory` ### `shopify_adjust_inventory`
@@ -563,19 +363,6 @@ Adjust inventory quantity for a product variant at a specific location
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `inventoryLevel` | object | The inventory adjustment result | | `inventoryLevel` | object | The inventory adjustment result |
| ↳ `adjustmentGroup` | object | Inventory adjustment group details |
| ↳ `createdAt` | string | Adjustment timestamp \(ISO 8601\) |
| ↳ `reason` | string | Adjustment reason |
| ↳ `changes` | array | Inventory changes applied |
| ↳ `name` | string | Quantity name \(e.g., available\) |
| ↳ `delta` | number | Quantity change amount |
| ↳ `quantityAfterChange` | number | Quantity after adjustment |
| ↳ `item` | object | Inventory item |
| ↳ `id` | string | Inventory item identifier \(GID\) |
| ↳ `sku` | string | Stock keeping unit |
| ↳ `location` | object | Location of the adjustment |
| ↳ `id` | string | Location identifier \(GID\) |
| ↳ `name` | string | Location name |
### `shopify_list_locations` ### `shopify_list_locations`
@@ -594,14 +381,7 @@ List inventory locations from your Shopify store. Use this to find location IDs
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `locations` | array | List of locations with their IDs, names, and addresses | | `locations` | array | List of locations with their IDs, names, and addresses |
| ↳ `id` | string | Unique location identifier \(GID\) |
| ↳ `name` | string | Location name |
| ↳ `isActive` | boolean | Whether the location is active |
| ↳ `fulfillsOnlineOrders` | boolean | Whether the location fulfills online orders |
| ↳ `address` | object | Location address |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results after this page |
| ↳ `hasPreviousPage` | boolean | Whether there are results before this page |
### `shopify_create_fulfillment` ### `shopify_create_fulfillment`
@@ -623,16 +403,6 @@ Create a fulfillment to mark order items as shipped. Requires a fulfillment orde
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `fulfillment` | object | The created fulfillment with tracking info and fulfilled items | | `fulfillment` | object | The created fulfillment with tracking info and fulfilled items |
| ↳ `id` | string | Unique fulfillment identifier \(GID\) |
| ↳ `status` | string | Fulfillment status \(pending, open, success, cancelled, error, failure\) |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `trackingInfo` | array | Tracking information for shipments |
| ↳ `fulfillmentLineItems` | array | Fulfilled line items |
| ↳ `id` | string | Fulfillment line item identifier \(GID\) |
| ↳ `quantity` | number | Quantity fulfilled |
| ↳ `lineItem` | object | Associated order line item |
| ↳ `title` | string | Product title |
### `shopify_list_collections` ### `shopify_list_collections`
@@ -651,18 +421,7 @@ List product collections from your Shopify store. Filter by title, type (custom/
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `collections` | array | List of collections with their IDs, titles, and product counts | | `collections` | array | List of collections with their IDs, titles, and product counts |
| ↳ `id` | string | Unique collection identifier \(GID\) |
| ↳ `title` | string | Collection title |
| ↳ `handle` | string | URL-friendly collection identifier |
| ↳ `description` | string | Plain text description |
| ↳ `descriptionHtml` | string | HTML-formatted description |
| ↳ `productsCount` | number | Number of products in the collection |
| ↳ `sortOrder` | string | Product sort order in the collection |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `image` | object | Collection image |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `hasNextPage` | boolean | Whether there are more results after this page |
| ↳ `hasPreviousPage` | boolean | Whether there are results before this page |
### `shopify_get_collection` ### `shopify_get_collection`
@@ -681,15 +440,5 @@ Get a specific collection by ID, including its products. Use this to retrieve pr
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `collection` | object | The collection details including its products | | `collection` | object | The collection details including its products |
| ↳ `id` | string | Unique collection identifier \(GID\) |
| ↳ `title` | string | Collection title |
| ↳ `handle` | string | URL-friendly collection identifier |
| ↳ `description` | string | Plain text description |
| ↳ `descriptionHtml` | string | HTML-formatted description |
| ↳ `productsCount` | number | Number of products in the collection |
| ↳ `sortOrder` | string | Product sort order in the collection |
| ↳ `updatedAt` | string | Last modification timestamp \(ISO 8601\) |
| ↳ `image` | object | Collection image |
| ↳ `products` | array | Products in the collection |

View File

@@ -1,183 +0,0 @@
---
title: Similarweb
description: Website traffic and analytics data
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="similarweb"
color="#000922"
/>
{/* MANUAL-CONTENT-START:intro */}
[Similarweb](https://www.similarweb.com/) is a leading platform for web analytics that provides in-depth traffic and engagement data for millions of websites. Similarweb gives you insights into website visits, traffic sources, audience behavior, and competitive benchmarks.
With Similarweb in Sim, your agents can:
- **Analyze website traffic**: Retrieve key metrics such as monthly visits, average duration, bounce rates, and top countries.
- **Understand audience engagement**: Gain insights into how users interact with websites, including pages per visit and engagement duration.
- **Track rankings and performance**: Access global, country, and category ranks to benchmark sites against competitors.
- **Discover traffic sources**: Break down traffic by channels like direct, search, social, referrals, and more.
Use Sim's Similarweb integration to automate the monitoring of competitors, track your sites performance, or surface actionable market research—all integrated directly into your workflows and automations. Empower your agents to access and utilize reliable web analytics data easily and programmatically.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Access comprehensive website analytics including traffic estimates, engagement metrics, rankings, and traffic sources using the Similarweb API.
## Tools
### `similarweb_website_overview`
Get comprehensive website analytics including traffic, rankings, engagement, and traffic sources
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | SimilarWeb API key |
| `domain` | string | Yes | Website domain to analyze \(without www or protocol\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `siteName` | string | Website name |
| `description` | string | Website description |
| `globalRank` | number | Global traffic rank |
| `countryRank` | number | Country traffic rank |
| `categoryRank` | number | Category traffic rank |
| `category` | string | Website category |
| `monthlyVisits` | number | Estimated monthly visits |
| `engagementVisitDuration` | number | Average visit duration in seconds |
| `engagementPagesPerVisit` | number | Average pages per visit |
| `engagementBounceRate` | number | Bounce rate \(0-1\) |
| `topCountries` | array | Top countries by traffic share |
| ↳ `country` | string | Country code |
| ↳ `share` | number | Traffic share \(0-1\) |
| `trafficSources` | json | Traffic source breakdown |
| ↳ `direct` | number | Direct traffic share |
| ↳ `referrals` | number | Referral traffic share |
| ↳ `search` | number | Search traffic share |
| ↳ `social` | number | Social traffic share |
| ↳ `mail` | number | Email traffic share |
| ↳ `paidReferrals` | number | Paid referral traffic share |
### `similarweb_traffic_visits`
Get total website visits over time (desktop and mobile combined)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | SimilarWeb API key |
| `domain` | string | Yes | Website domain to analyze \(without www or protocol\) |
| `country` | string | Yes | 2-letter ISO country code or "world" for worldwide data |
| `granularity` | string | Yes | Data granularity: daily, weekly, or monthly |
| `startDate` | string | No | Start date in YYYY-MM format |
| `endDate` | string | No | End date in YYYY-MM format |
| `mainDomainOnly` | boolean | No | Exclude subdomains from results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `domain` | string | Analyzed domain |
| `country` | string | Country filter applied |
| `granularity` | string | Data granularity |
| `lastUpdated` | string | Data last updated timestamp |
| `visits` | array | Visit data over time |
| ↳ `date` | string | Date \(YYYY-MM-DD\) |
| ↳ `visits` | number | Number of visits |
### `similarweb_bounce_rate`
Get website bounce rate over time (desktop and mobile combined)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | SimilarWeb API key |
| `domain` | string | Yes | Website domain to analyze \(without www or protocol\) |
| `country` | string | Yes | 2-letter ISO country code or "world" for worldwide data |
| `granularity` | string | Yes | Data granularity: daily, weekly, or monthly |
| `startDate` | string | No | Start date in YYYY-MM format |
| `endDate` | string | No | End date in YYYY-MM format |
| `mainDomainOnly` | boolean | No | Exclude subdomains from results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `domain` | string | Analyzed domain |
| `country` | string | Country filter applied |
| `granularity` | string | Data granularity |
| `lastUpdated` | string | Data last updated timestamp |
| `bounceRate` | array | Bounce rate data over time |
| ↳ `date` | string | Date \(YYYY-MM-DD\) |
| ↳ `bounceRate` | number | Bounce rate \(0-1\) |
### `similarweb_pages_per_visit`
Get average pages per visit over time (desktop and mobile combined)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | SimilarWeb API key |
| `domain` | string | Yes | Website domain to analyze \(without www or protocol\) |
| `country` | string | Yes | 2-letter ISO country code or "world" for worldwide data |
| `granularity` | string | Yes | Data granularity: daily, weekly, or monthly |
| `startDate` | string | No | Start date in YYYY-MM format |
| `endDate` | string | No | End date in YYYY-MM format |
| `mainDomainOnly` | boolean | No | Exclude subdomains from results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `domain` | string | Analyzed domain |
| `country` | string | Country filter applied |
| `granularity` | string | Data granularity |
| `lastUpdated` | string | Data last updated timestamp |
| `pagesPerVisit` | array | Pages per visit data over time |
| ↳ `date` | string | Date \(YYYY-MM-DD\) |
| ↳ `pagesPerVisit` | number | Average pages per visit |
### `similarweb_visit_duration`
Get average desktop visit duration over time (in seconds)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | SimilarWeb API key |
| `domain` | string | Yes | Website domain to analyze \(without www or protocol\) |
| `country` | string | Yes | 2-letter ISO country code or "world" for worldwide data |
| `granularity` | string | Yes | Data granularity: daily, weekly, or monthly |
| `startDate` | string | No | Start date in YYYY-MM format |
| `endDate` | string | No | End date in YYYY-MM format |
| `mainDomainOnly` | boolean | No | Exclude subdomains from results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `domain` | string | Analyzed domain |
| `country` | string | Country filter applied |
| `granularity` | string | Data granularity |
| `lastUpdated` | string | Data last updated timestamp |
| `averageVisitDuration` | array | Desktop visit duration data over time |
| ↳ `date` | string | Date \(YYYY-MM-DD\) |
| ↳ `durationSeconds` | number | Average visit duration in seconds |

View File

@@ -97,60 +97,6 @@ Send messages to Slack channels or direct messages. Supports Slack mrkdwn format
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | object | Complete message object with all properties returned by Slack | | `message` | object | Complete message object with all properties returned by Slack |
| ↳ `type` | string | Message type \(usually "message"\) |
| ↳ `ts` | string | Message timestamp \(unique identifier\) |
| ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message |
| ↳ `bot_id` | string | Bot ID if sent by a bot |
| ↳ `username` | string | Display username |
| ↳ `channel` | string | Channel ID |
| ↳ `team` | string | Team/workspace ID |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) |
| ↳ `parent_user_id` | string | User ID of thread parent message author |
| ↳ `reply_count` | number | Total number of replies in thread |
| ↳ `reply_users_count` | number | Number of unique users who replied |
| ↳ `latest_reply` | string | Timestamp of most recent reply |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread |
| ↳ `last_read` | string | Timestamp of last read message |
| ↳ `unread_count` | number | Number of unread messages in thread |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) |
| ↳ `is_starred` | boolean | Whether message is starred by user |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `permalink` | string | Permanent URL to the message |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file |
| ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) |
| ↳ `permalink` | string | Permanent link to the file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) |
| ↳ `attachments` | array | Legacy attachments on the message |
| ↳ `id` | number | Attachment ID |
| ↳ `fallback` | string | Plain text summary |
| ↳ `text` | string | Main attachment text |
| ↳ `pretext` | string | Text shown before attachment |
| ↳ `color` | string | Color bar hex code or preset |
| ↳ `author_name` | string | Author display name |
| ↳ `author_link` | string | Author link URL |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message |
| ↳ `ts` | string | Timestamp of the edit |
| `ts` | string | Message timestamp | | `ts` | string | Message timestamp |
| `channel` | string | Channel ID where message was sent | | `channel` | string | Channel ID where message was sent |
| `fileCount` | number | Number of files uploaded \(when files are attached\) | | `fileCount` | number | Number of files uploaded \(when files are attached\) |
@@ -174,9 +120,9 @@ Create and share Slack canvases in channels. Canvases are collaborative document
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `canvas_id` | string | Unique canvas identifier | | `canvas_id` | string | ID of the created canvas |
| `channel` | string | Channel where canvas was created | | `channel` | string | Channel where canvas was created |
| `title` | string | Canvas title | | `title` | string | Title of the canvas |
### `slack_message_reader` ### `slack_message_reader`
@@ -200,60 +146,51 @@ Read the latest messages from Slack channels. Retrieve conversation history with
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `messages` | array | Array of message objects from the channel | | `messages` | array | Array of message objects from the channel |
| ↳ `type` | string | Message type \(usually "message"\) | | ↳ `type` | string | Message type |
| ↳ `ts` | string | Message timestamp \(unique identifier\) | | ↳ `ts` | string | Edit timestamp |
| ↳ `text` | string | Message text content | | ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message | | ↳ `user` | string | User ID who edited |
| ↳ `bot_id` | string | Bot ID if sent by a bot | | ↳ `bot_id` | string | Bot ID if sent by a bot |
| ↳ `username` | string | Display username | | ↳ `username` | string | Display username |
| ↳ `channel` | string | Channel ID | | ↳ `channel` | string | Channel ID |
| ↳ `team` | string | Team/workspace ID | | ↳ `team` | string | Team ID |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) | | ↳ `thread_ts` | string | Thread parent message timestamp |
| ↳ `parent_user_id` | string | User ID of thread parent message author | | ↳ `parent_user_id` | string | User ID of thread parent |
| ↳ `reply_count` | number | Total number of replies in thread | | ↳ `reply_count` | number | Number of thread replies |
| ↳ `reply_users_count` | number | Number of unique users who replied | | ↳ `reply_users_count` | number | Number of users who replied |
| ↳ `latest_reply` | string | Timestamp of most recent reply | | ↳ `latest_reply` | string | Timestamp of latest reply |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread | | ↳ `subscribed` | boolean | Whether user is subscribed to thread |
| ↳ `last_read` | string | Timestamp of last read message | | ↳ `last_read` | string | Last read timestamp |
| ↳ `unread_count` | number | Number of unread messages in thread | | ↳ `unread_count` | number | Number of unread messages |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) | | ↳ `subtype` | string | Message subtype |
| ↳ `is_starred` | boolean | Whether message is starred by user | | ↳ `reactions` | array | Array of reactions on this message |
| ↳ `pinned_to` | array | Channel IDs where message is pinned | | ↳ `name` | string | Emoji name |
| ↳ `permalink` | string | Permanent URL to the message | | ↳ `count` | number | Number of reactions |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted | | ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name | | ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file | | ↳ `count` | number | Number of reactions |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `is_starred` | boolean | Whether message is starred |
| ↳ `pinned_to` | array | Array of channel IDs where message is pinned |
| ↳ `files` | array | Array of files attached to message |
| ↳ `id` | string | File ID |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type |
| ↳ `size` | number | File size in bytes | | ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) | | ↳ `url_private` | string | Private download URL |
| ↳ `permalink` | string | Permanent link to the file | | ↳ `permalink` | string | Permanent link to file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) | | ↳ `mode` | string | File mode |
| ↳ `attachments` | array | Legacy attachments on the message | | ↳ `id` | string | File ID |
| ↳ `id` | number | Attachment ID | | ↳ `mimetype` | string | MIME type |
| ↳ `fallback` | string | Plain text summary | | ↳ `size` | number | File size in bytes |
| ↳ `text` | string | Main attachment text | | ↳ `url_private` | string | Private download URL |
| ↳ `pretext` | string | Text shown before attachment | | ↳ `permalink` | string | Permanent link to message |
| ↳ `color` | string | Color bar hex code or preset | | ↳ `mode` | string | File mode |
| ↳ `author_name` | string | Author display name | | ↳ `attachments` | array | Array of legacy attachments |
| ↳ `author_link` | string | Author link URL | | ↳ `blocks` | array | Array of Block Kit blocks |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited | | ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message | | ↳ `user` | string | User ID who edited |
| ↳ `ts` | string | Timestamp of the edit | | ↳ `ts` | string | Edit timestamp |
### `slack_get_message` ### `slack_get_message`
@@ -273,60 +210,46 @@ Retrieve a specific message by its timestamp. Useful for getting a thread parent
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | object | The retrieved message object | | `message` | object | The retrieved message object |
| ↳ `type` | string | Message type \(usually "message"\) | | ↳ `type` | string | Message type |
| ↳ `ts` | string | Message timestamp \(unique identifier\) | | ↳ `ts` | string | Edit timestamp |
| ↳ `text` | string | Message text content | | ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message | | ↳ `user` | string | User ID who edited |
| ↳ `bot_id` | string | Bot ID if sent by a bot | | ↳ `bot_id` | string | Bot ID if sent by a bot |
| ↳ `username` | string | Display username | | ↳ `username` | string | Display username |
| ↳ `channel` | string | Channel ID | | ↳ `channel` | string | Channel ID |
| ↳ `team` | string | Team/workspace ID | | ↳ `team` | string | Team ID |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) | | ↳ `thread_ts` | string | Thread parent timestamp |
| ↳ `parent_user_id` | string | User ID of thread parent message author | | ↳ `parent_user_id` | string | User ID of thread parent |
| ↳ `reply_count` | number | Total number of replies in thread | | ↳ `reply_count` | number | Number of thread replies |
| ↳ `reply_users_count` | number | Number of unique users who replied | | ↳ `reply_users_count` | number | Number of users who replied |
| ↳ `latest_reply` | string | Timestamp of most recent reply | | ↳ `latest_reply` | string | Timestamp of latest reply |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread | | ↳ `subtype` | string | Message subtype |
| ↳ `last_read` | string | Timestamp of last read message | | ↳ `reactions` | array | Array of reactions on this message |
| ↳ `unread_count` | number | Number of unread messages in thread | | ↳ `name` | string | Emoji name |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) | | ↳ `count` | number | Number of reactions |
| ↳ `is_starred` | boolean | Whether message is starred by user | | ↳ `users` | array | User IDs who reacted |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `permalink` | string | Permanent URL to the message |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name | | ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file | | ↳ `count` | number | Number of reactions |
| ↳ `users` | array | User IDs who reacted |
| ↳ `is_starred` | boolean | Whether message is starred |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `files` | array | Files attached to message |
| ↳ `id` | string | File ID |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type |
| ↳ `size` | number | File size in bytes | | ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) | | ↳ `url_private` | string | Private download URL |
| ↳ `permalink` | string | Permanent link to the file | | ↳ `permalink` | string | Permanent link to file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) | | ↳ `id` | string | File ID |
| ↳ `attachments` | array | Legacy attachments on the message | | ↳ `mimetype` | string | MIME type |
| ↳ `id` | number | Attachment ID | | ↳ `size` | number | File size in bytes |
| ↳ `fallback` | string | Plain text summary | | ↳ `url_private` | string | Private download URL |
| ↳ `text` | string | Main attachment text | | ↳ `permalink` | string | Permanent link to message |
| ↳ `pretext` | string | Text shown before attachment | | ↳ `attachments` | array | Legacy attachments |
| ↳ `color` | string | Color bar hex code or preset | | ↳ `blocks` | array | Block Kit blocks |
| ↳ `author_name` | string | Author display name |
| ↳ `author_link` | string | Author link URL |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited | | ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message | | ↳ `user` | string | User ID who edited |
| ↳ `ts` | string | Timestamp of the edit | | ↳ `ts` | string | Edit timestamp |
### `slack_get_thread` ### `slack_get_thread`
@@ -347,170 +270,37 @@ Retrieve an entire thread including the parent message and all replies. Useful f
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `parentMessage` | object | The thread parent message | | `parentMessage` | object | The thread parent message |
| ↳ `type` | string | Message type \(usually "message"\) | | ↳ `type` | string | Message type |
| ↳ `ts` | string | Message timestamp \(unique identifier\) | | ↳ `ts` | string | Message timestamp |
| ↳ `text` | string | Message text content | | ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message | | ↳ `user` | string | User ID who sent the message |
| ↳ `bot_id` | string | Bot ID if sent by a bot | | ↳ `bot_id` | string | Bot ID if sent by a bot |
| ↳ `username` | string | Display username | | ↳ `username` | string | Display username |
| ↳ `channel` | string | Channel ID | | ↳ `reply_count` | number | Total number of thread replies |
| ↳ `team` | string | Team/workspace ID | | ↳ `reply_users_count` | number | Number of users who replied |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) | | ↳ `latest_reply` | string | Timestamp of latest reply |
| ↳ `parent_user_id` | string | User ID of thread parent message author | | ↳ `reactions` | array | Array of reactions on the parent message |
| ↳ `reply_count` | number | Total number of replies in thread | | ↳ `name` | string | Emoji name |
| ↳ `reply_users_count` | number | Number of unique users who replied | | ↳ `count` | number | Number of reactions |
| ↳ `latest_reply` | string | Timestamp of most recent reply | | ↳ `users` | array | User IDs who reacted |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread |
| ↳ `last_read` | string | Timestamp of last read message |
| ↳ `unread_count` | number | Number of unread messages in thread |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) |
| ↳ `is_starred` | boolean | Whether message is starred by user |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `permalink` | string | Permanent URL to the message |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name | | ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file | | ↳ `count` | number | Number of reactions |
| ↳ `users` | array | User IDs who reacted |
| ↳ `files` | array | Files attached to the parent message |
| ↳ `id` | string | File ID |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type |
| ↳ `size` | number | File size in bytes |
| ↳ `id` | string | File ID |
| ↳ `mimetype` | string | MIME type |
| ↳ `size` | number | File size in bytes | | ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) |
| ↳ `permalink` | string | Permanent link to the file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) |
| ↳ `attachments` | array | Legacy attachments on the message |
| ↳ `id` | number | Attachment ID |
| ↳ `fallback` | string | Plain text summary |
| ↳ `text` | string | Main attachment text |
| ↳ `pretext` | string | Text shown before attachment |
| ↳ `color` | string | Color bar hex code or preset |
| ↳ `author_name` | string | Author display name |
| ↳ `author_link` | string | Author link URL |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message |
| ↳ `ts` | string | Timestamp of the edit |
| `replies` | array | Array of reply messages in the thread \(excluding the parent\) | | `replies` | array | Array of reply messages in the thread \(excluding the parent\) |
| ↳ `type` | string | Message type \(usually "message"\) | | ↳ `ts` | string | Message timestamp |
| ↳ `ts` | string | Message timestamp \(unique identifier\) |
| ↳ `text` | string | Message text content | | ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message | | ↳ `user` | string | User ID who sent the reply |
| ↳ `bot_id` | string | Bot ID if sent by a bot | | ↳ `reactions` | array | Reactions on the reply |
| ↳ `username` | string | Display username | | ↳ `files` | array | Files attached to the reply |
| ↳ `channel` | string | Channel ID |
| ↳ `team` | string | Team/workspace ID |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) |
| ↳ `parent_user_id` | string | User ID of thread parent message author |
| ↳ `reply_count` | number | Total number of replies in thread |
| ↳ `reply_users_count` | number | Number of unique users who replied |
| ↳ `latest_reply` | string | Timestamp of most recent reply |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread |
| ↳ `last_read` | string | Timestamp of last read message |
| ↳ `unread_count` | number | Number of unread messages in thread |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) |
| ↳ `is_starred` | boolean | Whether message is starred by user |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `permalink` | string | Permanent URL to the message |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file |
| ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) |
| ↳ `permalink` | string | Permanent link to the file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) |
| ↳ `attachments` | array | Legacy attachments on the message |
| ↳ `id` | number | Attachment ID |
| ↳ `fallback` | string | Plain text summary |
| ↳ `text` | string | Main attachment text |
| ↳ `pretext` | string | Text shown before attachment |
| ↳ `color` | string | Color bar hex code or preset |
| ↳ `author_name` | string | Author display name |
| ↳ `author_link` | string | Author link URL |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message |
| ↳ `ts` | string | Timestamp of the edit |
| `messages` | array | All messages in the thread \(parent + replies\) in chronological order | | `messages` | array | All messages in the thread \(parent + replies\) in chronological order |
| ↳ `type` | string | Message type \(usually "message"\) |
| ↳ `ts` | string | Message timestamp \(unique identifier\) |
| ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message |
| ↳ `bot_id` | string | Bot ID if sent by a bot |
| ↳ `username` | string | Display username |
| ↳ `channel` | string | Channel ID |
| ↳ `team` | string | Team/workspace ID |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) |
| ↳ `parent_user_id` | string | User ID of thread parent message author |
| ↳ `reply_count` | number | Total number of replies in thread |
| ↳ `reply_users_count` | number | Number of unique users who replied |
| ↳ `latest_reply` | string | Timestamp of most recent reply |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread |
| ↳ `last_read` | string | Timestamp of last read message |
| ↳ `unread_count` | number | Number of unread messages in thread |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) |
| ↳ `is_starred` | boolean | Whether message is starred by user |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `permalink` | string | Permanent URL to the message |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file |
| ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) |
| ↳ `permalink` | string | Permanent link to the file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) |
| ↳ `attachments` | array | Legacy attachments on the message |
| ↳ `id` | number | Attachment ID |
| ↳ `fallback` | string | Plain text summary |
| ↳ `text` | string | Main attachment text |
| ↳ `pretext` | string | Text shown before attachment |
| ↳ `color` | string | Color bar hex code or preset |
| ↳ `author_name` | string | Author display name |
| ↳ `author_link` | string | Author link URL |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message |
| ↳ `ts` | string | Timestamp of the edit |
| `replyCount` | number | Number of replies returned in this response | | `replyCount` | number | Number of replies returned in this response |
| `hasMore` | boolean | Whether there are more messages in the thread \(pagination needed\) | | `hasMore` | boolean | Whether there are more messages in the thread \(pagination needed\) |
@@ -535,20 +325,14 @@ List all channels in a Slack workspace. Returns public and private channels the
| `channels` | array | Array of channel objects from the workspace | | `channels` | array | Array of channel objects from the workspace |
| ↳ `id` | string | Channel ID \(e.g., C1234567890\) | | ↳ `id` | string | Channel ID \(e.g., C1234567890\) |
| ↳ `name` | string | Channel name without # prefix | | ↳ `name` | string | Channel name without # prefix |
| ↳ `is_channel` | boolean | Whether this is a channel | | ↳ `is_private` | boolean | Whether the channel is private |
| ↳ `is_private` | boolean | Whether channel is private | | ↳ `is_archived` | boolean | Whether the channel is archived |
| ↳ `is_archived` | boolean | Whether channel is archived | | ↳ `is_member` | boolean | Whether the bot is a member of the channel |
| ↳ `is_general` | boolean | Whether this is the general channel |
| ↳ `is_member` | boolean | Whether the bot/user is a member |
| ↳ `is_shared` | boolean | Whether channel is shared across workspaces |
| ↳ `is_ext_shared` | boolean | Whether channel is externally shared |
| ↳ `is_org_shared` | boolean | Whether channel is org-wide shared |
| ↳ `num_members` | number | Number of members in the channel | | ↳ `num_members` | number | Number of members in the channel |
| ↳ `topic` | string | Channel topic | | ↳ `topic` | string | Channel topic |
| ↳ `purpose` | string | Channel purpose/description | | ↳ `purpose` | string | Channel purpose/description |
| ↳ `created` | number | Unix timestamp when channel was created | | ↳ `created` | number | Unix timestamp when channel was created |
| ↳ `creator` | string | User ID of channel creator | | ↳ `creator` | string | User ID of channel creator |
| ↳ `updated` | number | Unix timestamp of last update |
| `ids` | array | Array of channel IDs for easy access | | `ids` | array | Array of channel IDs for easy access |
| `names` | array | Array of channel names for easy access | | `names` | array | Array of channel names for easy access |
| `count` | number | Total number of channels returned | | `count` | number | Total number of channels returned |
@@ -624,8 +408,7 @@ Get detailed information about a specific Slack user by their user ID.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `user` | object | Detailed user information | | `user` | object | Detailed user information |
| ↳ `id` | string | User ID \(e.g., U1234567890\) | | ↳ `id` | string | User ID |
| ↳ `team_id` | string | Workspace/team ID |
| ↳ `name` | string | Username \(handle\) | | ↳ `name` | string | Username \(handle\) |
| ↳ `real_name` | string | Full real name | | ↳ `real_name` | string | Full real name |
| ↳ `display_name` | string | Display name shown in Slack | | ↳ `display_name` | string | Display name shown in Slack |
@@ -640,14 +423,10 @@ Get detailed information about a specific Slack user by their user ID.
| ↳ `is_primary_owner` | boolean | Whether the user is the primary owner | | ↳ `is_primary_owner` | boolean | Whether the user is the primary owner |
| ↳ `is_restricted` | boolean | Whether the user is a guest \(restricted\) | | ↳ `is_restricted` | boolean | Whether the user is a guest \(restricted\) |
| ↳ `is_ultra_restricted` | boolean | Whether the user is a single-channel guest | | ↳ `is_ultra_restricted` | boolean | Whether the user is a single-channel guest |
| ↳ `is_app_user` | boolean | Whether user is an app user |
| ↳ `is_stranger` | boolean | Whether user is from different workspace |
| ↳ `deleted` | boolean | Whether the user is deactivated | | ↳ `deleted` | boolean | Whether the user is deactivated |
| ↳ `color` | string | User color for display |
| ↳ `timezone` | string | Timezone identifier \(e.g., America/Los_Angeles\) | | ↳ `timezone` | string | Timezone identifier \(e.g., America/Los_Angeles\) |
| ↳ `timezone_label` | string | Human-readable timezone label | | ↳ `timezone_label` | string | Human-readable timezone label |
| ↳ `timezone_offset` | number | Timezone offset in seconds from UTC | | ↳ `timezone_offset` | number | Timezone offset in seconds from UTC |
| ↳ `avatar` | string | URL to user avatar image |
| ↳ `avatar_24` | string | URL to 24px avatar | | ↳ `avatar_24` | string | URL to 24px avatar |
| ↳ `avatar_48` | string | URL to 48px avatar | | ↳ `avatar_48` | string | URL to 48px avatar |
| ↳ `avatar_72` | string | URL to 72px avatar | | ↳ `avatar_72` | string | URL to 72px avatar |
@@ -657,7 +436,6 @@ Get detailed information about a specific Slack user by their user ID.
| ↳ `status_emoji` | string | Custom status emoji | | ↳ `status_emoji` | string | Custom status emoji |
| ↳ `status_expiration` | number | Unix timestamp when status expires | | ↳ `status_expiration` | number | Unix timestamp when status expires |
| ↳ `updated` | number | Unix timestamp of last profile update | | ↳ `updated` | number | Unix timestamp of last profile update |
| ↳ `has_2fa` | boolean | Whether two-factor auth is enabled |
### `slack_download` ### `slack_download`
@@ -697,60 +475,6 @@ Update a message previously sent by the bot in Slack
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | object | Complete updated message object with all properties returned by Slack | | `message` | object | Complete updated message object with all properties returned by Slack |
| ↳ `type` | string | Message type \(usually "message"\) |
| ↳ `ts` | string | Message timestamp \(unique identifier\) |
| ↳ `text` | string | Message text content |
| ↳ `user` | string | User ID who sent the message |
| ↳ `bot_id` | string | Bot ID if sent by a bot |
| ↳ `username` | string | Display username |
| ↳ `channel` | string | Channel ID |
| ↳ `team` | string | Team/workspace ID |
| ↳ `thread_ts` | string | Parent message timestamp \(for threaded replies\) |
| ↳ `parent_user_id` | string | User ID of thread parent message author |
| ↳ `reply_count` | number | Total number of replies in thread |
| ↳ `reply_users_count` | number | Number of unique users who replied |
| ↳ `latest_reply` | string | Timestamp of most recent reply |
| ↳ `subscribed` | boolean | Whether user is subscribed to thread |
| ↳ `last_read` | string | Timestamp of last read message |
| ↳ `unread_count` | number | Number of unread messages in thread |
| ↳ `subtype` | string | Message subtype \(bot_message, file_share, etc.\) |
| ↳ `is_starred` | boolean | Whether message is starred by user |
| ↳ `pinned_to` | array | Channel IDs where message is pinned |
| ↳ `permalink` | string | Permanent URL to the message |
| ↳ `reactions` | array | Reactions on this message |
| ↳ `name` | string | Emoji name \(without colons\) |
| ↳ `count` | number | Number of times this reaction was added |
| ↳ `users` | array | Array of user IDs who reacted |
| ↳ `files` | array | Files attached to the message |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name |
| ↳ `mimetype` | string | MIME type of the file |
| ↳ `size` | number | File size in bytes |
| ↳ `url_private` | string | Private download URL \(requires auth\) |
| ↳ `permalink` | string | Permanent link to the file |
| ↳ `mode` | string | File mode \(hosted, external, etc.\) |
| ↳ `attachments` | array | Legacy attachments on the message |
| ↳ `id` | number | Attachment ID |
| ↳ `fallback` | string | Plain text summary |
| ↳ `text` | string | Main attachment text |
| ↳ `pretext` | string | Text shown before attachment |
| ↳ `color` | string | Color bar hex code or preset |
| ↳ `author_name` | string | Author display name |
| ↳ `author_link` | string | Author link URL |
| ↳ `author_icon` | string | Author icon URL |
| ↳ `title` | string | Attachment title |
| ↳ `title_link` | string | Title link URL |
| ↳ `image_url` | string | Image URL |
| ↳ `thumb_url` | string | Thumbnail URL |
| ↳ `footer` | string | Footer text |
| ↳ `footer_icon` | string | Footer icon URL |
| ↳ `ts` | string | Timestamp shown in footer |
| ↳ `blocks` | array | Block Kit blocks in the message |
| ↳ `type` | string | Block type \(section, divider, image, actions, etc.\) |
| ↳ `block_id` | string | Unique block identifier |
| ↳ `edited` | object | Edit information if message was edited |
| ↳ `user` | string | User ID who edited the message |
| ↳ `ts` | string | Timestamp of the edit |
| `content` | string | Success message | | `content` | string | Success message |
| `metadata` | object | Updated message metadata | | `metadata` | object | Updated message metadata |
| ↳ `channel` | string | Channel ID | | ↳ `channel` | string | Channel ID |

View File

@@ -79,19 +79,16 @@ Run an autonomous web agent to complete tasks and extract structured data
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `agentResult` | object | Result from the Stagehand agent execution | | `agentResult` | object | Result from the Stagehand agent execution |
| ↳ `success` | boolean | Whether the agent task completed successfully without errors | | ↳ `success` | boolean | Whether the agent task completed successfully |
| ↳ `completed` | boolean | Whether the agent finished executing \(may be false if max steps reached\) | | ↳ `completed` | boolean | Whether the task was fully completed |
| ↳ `message` | string | Final status message or result summary from the agent | | ↳ `message` | string | Status message or final result |
| ↳ `actions` | array | List of all actions performed by the agent during task execution | | ↳ `actions` | array | Type of action performed |
| ↳ `type` | string | Type of action performed \(e.g., "act", "observe", "ariaTree", "close", "wait", "navigate"\) | | ↳ `type` | string | Type of action performed |
| ↳ `reasoning` | string | AI reasoning for why this action was taken | | ↳ `params` | object | Parameters used for the action |
| ↳ `taskCompleted` | boolean | Whether the task was completed after this action | | ↳ `result` | object | Result of the action |
| ↳ `action` | string | Description of the action taken \(e.g., "click the submit button"\) | | ↳ `type` | string | Type of action performed |
| ↳ `instruction` | string | Instruction that triggered this action | | ↳ `params` | object | Parameters used for the action |
| ↳ `pageUrl` | string | URL of the page when this action was performed | | ↳ `result` | object | Result of the action |
| ↳ `pageText` | string | Page text content \(for ariaTree actions\) |
| ↳ `timestamp` | number | Unix timestamp when the action was performed |
| ↳ `timeMs` | number | Time in milliseconds \(for wait actions\) |
| `structuredOutput` | object | Extracted data matching the provided output schema | | `structuredOutput` | object | Extracted data matching the provided output schema |

File diff suppressed because it is too large Load Diff

View File

@@ -74,11 +74,6 @@ Transcribe audio to text using OpenAI Whisper
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `transcript` | string | Full transcribed text | | `transcript` | string | Full transcribed text |
| `segments` | array | Timestamped segments | | `segments` | array | Timestamped segments |
| ↳ `text` | string | Transcribed text for this segment |
| ↳ `start` | number | Start time in seconds |
| ↳ `end` | number | End time in seconds |
| ↳ `speaker` | string | Speaker identifier \(if diarization enabled\) |
| ↳ `confidence` | number | Confidence score \(0-1\) |
| `language` | string | Detected or specified language | | `language` | string | Detected or specified language |
| `duration` | number | Audio duration in seconds | | `duration` | number | Audio duration in seconds |
@@ -106,11 +101,6 @@ Transcribe audio to text using Deepgram
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `transcript` | string | Full transcribed text | | `transcript` | string | Full transcribed text |
| `segments` | array | Timestamped segments with speaker labels | | `segments` | array | Timestamped segments with speaker labels |
| ↳ `text` | string | Transcribed text for this segment |
| ↳ `start` | number | Start time in seconds |
| ↳ `end` | number | End time in seconds |
| ↳ `speaker` | string | Speaker identifier \(if diarization enabled\) |
| ↳ `confidence` | number | Confidence score \(0-1\) |
| `language` | string | Detected or specified language | | `language` | string | Detected or specified language |
| `duration` | number | Audio duration in seconds | | `duration` | number | Audio duration in seconds |
| `confidence` | number | Overall confidence score | | `confidence` | number | Overall confidence score |
@@ -170,25 +160,11 @@ Transcribe audio to text using AssemblyAI with advanced NLP features
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `transcript` | string | Full transcribed text | | `transcript` | string | Full transcribed text |
| `segments` | array | Timestamped segments with speaker labels | | `segments` | array | Timestamped segments with speaker labels |
| ↳ `text` | string | Transcribed text for this segment |
| ↳ `start` | number | Start time in seconds |
| ↳ `end` | number | End time in seconds |
| ↳ `speaker` | string | Speaker identifier \(if diarization enabled\) |
| ↳ `confidence` | number | Confidence score \(0-1\) |
| `language` | string | Detected or specified language | | `language` | string | Detected or specified language |
| `duration` | number | Audio duration in seconds | | `duration` | number | Audio duration in seconds |
| `confidence` | number | Overall confidence score | | `confidence` | number | Overall confidence score |
| `sentiment` | array | Sentiment analysis results | | `sentiment` | array | Sentiment analysis results |
| ↳ `text` | string | Text that was analyzed |
| ↳ `sentiment` | string | Sentiment \(POSITIVE, NEGATIVE, NEUTRAL\) |
| ↳ `confidence` | number | Confidence score |
| ↳ `start` | number | Start time in milliseconds |
| ↳ `end` | number | End time in milliseconds |
| `entities` | array | Detected entities | | `entities` | array | Detected entities |
| ↳ `entity_type` | string | Entity type \(e.g., person_name, location, organization\) |
| ↳ `text` | string | Entity text |
| ↳ `start` | number | Start time in milliseconds |
| ↳ `end` | number | End time in milliseconds |
| `summary` | string | Auto-generated summary | | `summary` | string | Auto-generated summary |
### `stt_gemini` ### `stt_gemini`

View File

@@ -282,24 +282,9 @@ Introspect Supabase database schema to get table structures, columns, and relati
| ↳ `name` | string | Table name | | ↳ `name` | string | Table name |
| ↳ `schema` | string | Database schema name | | ↳ `schema` | string | Database schema name |
| ↳ `columns` | array | Array of column definitions | | ↳ `columns` | array | Array of column definitions |
| ↳ `name` | string | Column name |
| ↳ `type` | string | Column data type |
| ↳ `nullable` | boolean | Whether the column allows null values |
| ↳ `default` | string | Default value for the column |
| ↳ `isPrimaryKey` | boolean | Whether the column is a primary key |
| ↳ `isForeignKey` | boolean | Whether the column is a foreign key |
| ↳ `references` | object | Foreign key reference details |
| ↳ `table` | string | Referenced table name |
| ↳ `column` | string | Referenced column name |
| ↳ `primaryKey` | array | Array of primary key column names | | ↳ `primaryKey` | array | Array of primary key column names |
| ↳ `foreignKeys` | array | Array of foreign key relationships | | ↳ `foreignKeys` | array | Array of foreign key relationships |
| ↳ `column` | string | Local column name |
| ↳ `referencesTable` | string | Referenced table name |
| ↳ `referencesColumn` | string | Referenced column name |
| ↳ `indexes` | array | Array of index definitions | | ↳ `indexes` | array | Array of index definitions |
| ↳ `name` | string | Index name |
| ↳ `columns` | array | Columns included in the index |
| ↳ `unique` | boolean | Whether the index enforces uniqueness |
| `schemas` | array | List of schemas found in the database | | `schemas` | array | List of schemas found in the database |
### `supabase_storage_upload` ### `supabase_storage_upload`
@@ -325,9 +310,6 @@ Upload a file to a Supabase storage bucket
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | object | Upload result including file path, bucket, and public URL | | `results` | object | Upload result including file path, bucket, and public URL |
| ↳ `id` | string | Unique identifier for the uploaded file |
| ↳ `path` | string | Path to the uploaded file within the bucket |
| ↳ `fullPath` | string | Full path including bucket name |
### `supabase_storage_download` ### `supabase_storage_download`
@@ -373,19 +355,6 @@ List files in a Supabase storage bucket
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | array | Array of file objects with metadata | | `results` | array | Array of file objects with metadata |
| ↳ `id` | string | Unique file identifier |
| ↳ `name` | string | File name |
| ↳ `bucket_id` | string | Bucket identifier the file belongs to |
| ↳ `owner` | string | Owner identifier |
| ↳ `created_at` | string | File creation timestamp |
| ↳ `updated_at` | string | Last update timestamp |
| ↳ `last_accessed_at` | string | Last access timestamp |
| ↳ `metadata` | object | File metadata including size and MIME type |
| ↳ `size` | number | File size in bytes |
| ↳ `mimetype` | string | MIME type of the file |
| ↳ `cacheControl` | string | Cache control header value |
| ↳ `lastModified` | string | Last modified timestamp |
| ↳ `eTag` | string | Entity tag for caching |
### `supabase_storage_delete` ### `supabase_storage_delete`
@@ -406,13 +375,6 @@ Delete files from a Supabase storage bucket
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | array | Array of deleted file objects | | `results` | array | Array of deleted file objects |
| ↳ `name` | string | Name of the deleted file |
| ↳ `bucket_id` | string | Bucket identifier |
| ↳ `owner` | string | Owner identifier |
| ↳ `id` | string | Unique file identifier |
| ↳ `updated_at` | string | Last update timestamp |
| ↳ `created_at` | string | File creation timestamp |
| ↳ `last_accessed_at` | string | Last access timestamp |
### `supabase_storage_move` ### `supabase_storage_move`
@@ -434,7 +396,6 @@ Move a file within a Supabase storage bucket
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | object | Move operation result | | `results` | object | Move operation result |
| ↳ `message` | string | Operation status message |
### `supabase_storage_copy` ### `supabase_storage_copy`
@@ -456,7 +417,6 @@ Copy a file within a Supabase storage bucket
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | object | Copy operation result | | `results` | object | Copy operation result |
| ↳ `message` | string | Operation status message |
### `supabase_storage_create_bucket` ### `supabase_storage_create_bucket`
@@ -479,7 +439,6 @@ Create a new storage bucket in Supabase
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | object | Created bucket information | | `results` | object | Created bucket information |
| ↳ `name` | string | Created bucket name |
### `supabase_storage_list_buckets` ### `supabase_storage_list_buckets`
@@ -498,14 +457,6 @@ List all storage buckets in Supabase
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | array | Array of bucket objects | | `results` | array | Array of bucket objects |
| ↳ `id` | string | Unique bucket identifier |
| ↳ `name` | string | Bucket name |
| ↳ `owner` | string | Owner identifier |
| ↳ `public` | boolean | Whether the bucket is publicly accessible |
| ↳ `created_at` | string | Bucket creation timestamp |
| ↳ `updated_at` | string | Last update timestamp |
| ↳ `file_size_limit` | number | Maximum file size allowed in bytes |
| ↳ `allowed_mime_types` | array | List of allowed MIME types for uploads |
### `supabase_storage_delete_bucket` ### `supabase_storage_delete_bucket`
@@ -525,7 +476,6 @@ Delete a storage bucket in Supabase
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `message` | string | Operation status message | | `message` | string | Operation status message |
| `results` | object | Delete operation result | | `results` | object | Delete operation result |
| ↳ `message` | string | Operation status message |
### `supabase_storage_get_public_url` ### `supabase_storage_get_public_url`

View File

@@ -65,17 +65,9 @@ Perform AI-powered web searches using Tavily
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `query` | string | The search query that was executed | | `query` | string | The search query that was executed |
| `results` | array | Ranked search results with titles, URLs, content snippets, and optional metadata | | `results` | array | Search results with titles, URLs, content snippets, and optional metadata |
| ↳ `title` | string | Result title |
| ↳ `url` | string | Result URL |
| ↳ `content` | string | Brief description or content snippet |
| ↳ `score` | number | Relevance score |
| ↳ `raw_content` | string | Full parsed HTML content \(if requested\) |
| ↳ `favicon` | string | Favicon URL for the domain |
| `answer` | string | LLM-generated answer to the query \(if requested\) | | `answer` | string | LLM-generated answer to the query \(if requested\) |
| `images` | array | Query-related images \(if requested\) | | `images` | array | Query-related images \(if requested\) |
| ↳ `url` | string | Image URL |
| ↳ `description` | string | Image description |
| `auto_parameters` | object | Automatically selected parameters based on query intent \(if enabled\) | | `auto_parameters` | object | Automatically selected parameters based on query intent \(if enabled\) |
| `response_time` | number | Time taken for the search request in seconds | | `response_time` | number | Time taken for the search request in seconds |
@@ -98,14 +90,13 @@ Extract raw content from multiple web pages simultaneously using Tavily
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `results` | array | Successfully extracted content from URLs | | `results` | array | The URL that was extracted |
| ↳ `url` | string | The source URL | | ↳ `url` | string | The URL that was extracted |
| ↳ `raw_content` | string | Full extracted content from the page | | ↳ `raw_content` | string | The raw text content from the webpage |
| ↳ `images` | array | Image URLs \(when include_images is true\) | | ↳ `favicon` | string | Favicon URL \(if requested\) |
| ↳ `favicon` | string | Favicon URL for the result | | `failed_results` | array | The URL that failed extraction |
| `failed_results` | array | URLs that failed to extract content |
| ↳ `url` | string | The URL that failed extraction | | ↳ `url` | string | The URL that failed extraction |
| ↳ `error` | string | Error message describing why extraction failed | | ↳ `error` | string | Error message for the failed extraction |
| `response_time` | number | Time taken for the extraction request in seconds | | `response_time` | number | Time taken for the extraction request in seconds |
### `tavily_crawl` ### `tavily_crawl`
@@ -137,10 +128,10 @@ Systematically crawl and extract content from websites using Tavily
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `base_url` | string | The base URL that was crawled | | `base_url` | string | The base URL that was crawled |
| `results` | array | Array of crawled pages with extracted content | | `results` | array | The crawled page URL |
| ↳ `url` | string | The crawled page URL | | ↳ `url` | string | The crawled page URL |
| ↳ `raw_content` | string | Full extracted page content | | ↳ `raw_content` | string | Extracted content from the page |
| ↳ `favicon` | string | Favicon URL for the result | | ↳ `favicon` | string | Favicon URL \(if requested\) |
| `response_time` | number | Time taken for the crawl request in seconds | | `response_time` | number | Time taken for the crawl request in seconds |
| `request_id` | string | Unique identifier for support reference | | `request_id` | string | Unique identifier for support reference |
@@ -169,7 +160,7 @@ Discover and visualize website structure using Tavily
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `base_url` | string | The base URL that was mapped | | `base_url` | string | The base URL that was mapped |
| `results` | array | Array of discovered URLs during mapping | | `results` | array | Discovered URL |
| ↳ `url` | string | Discovered URL | | ↳ `url` | string | Discovered URL |
| `response_time` | number | Time taken for the map request in seconds | | `response_time` | number | Time taken for the map request in seconds |
| `request_id` | string | Unique identifier for support reference | | `request_id` | string | Unique identifier for support reference |

View File

@@ -82,11 +82,16 @@ Send messages to Telegram channels or users through the Telegram Bot API. Enable
| ↳ `is_bot` | boolean | Whether the chat is a bot or not | | ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Chat username \(if available\) | | ↳ `first_name` | string | Chat username \(if available\) |
| ↳ `username` | string | Chat title \(for groups and channels\) | | ↳ `username` | string | Chat title \(for groups and channels\) |
| ↳ `id` | number | Bot user ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Bot first name |
| ↳ `username` | string | Bot username |
| ↳ `chat` | object | Information about the bot that sent the message | | ↳ `chat` | object | Information about the bot that sent the message |
| ↳ `id` | number | Bot user ID | | ↳ `id` | number | Bot user ID |
| ↳ `first_name` | string | Bot first name | | ↳ `first_name` | string | Bot first name |
| ↳ `username` | string | Bot username | | ↳ `username` | string | Bot username |
| ↳ `type` | string | chat type private or channel | | ↳ `type` | string | chat type private or channel |
| ↳ `type` | string | chat type private or channel |
| ↳ `date` | number | Unix timestamp when message was sent | | ↳ `date` | number | Unix timestamp when message was sent |
| ↳ `text` | string | Text content of the sent message | | ↳ `text` | string | Text content of the sent message |
@@ -136,11 +141,16 @@ Send photos to Telegram channels or users through the Telegram Bot API.
| ↳ `is_bot` | boolean | Whether the chat is a bot or not | | ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Chat username \(if available\) | | ↳ `first_name` | string | Chat username \(if available\) |
| ↳ `username` | string | Chat title \(for groups and channels\) | | ↳ `username` | string | Chat title \(for groups and channels\) |
| ↳ `id` | number | Bot user ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Bot first name |
| ↳ `username` | string | Bot username |
| ↳ `chat` | object | Information about the bot that sent the message | | ↳ `chat` | object | Information about the bot that sent the message |
| ↳ `id` | number | Bot user ID | | ↳ `id` | number | Bot user ID |
| ↳ `first_name` | string | Bot first name | | ↳ `first_name` | string | Bot first name |
| ↳ `username` | string | Bot username | | ↳ `username` | string | Bot username |
| ↳ `type` | string | Chat type \(private, group, supergroup, channel\) | | ↳ `type` | string | Chat type \(private, group, supergroup, channel\) |
| ↳ `type` | string | Chat type \(private, group, supergroup, channel\) |
| ↳ `date` | number | Unix timestamp when message was sent | | ↳ `date` | number | Unix timestamp when message was sent |
| ↳ `text` | string | Text content of the sent message \(if applicable\) | | ↳ `text` | string | Text content of the sent message \(if applicable\) |
| ↳ `photo` | array | List of photos included in the message | | ↳ `photo` | array | List of photos included in the message |
@@ -149,6 +159,11 @@ Send photos to Telegram channels or users through the Telegram Bot API.
| ↳ `file_size` | number | Size of the photo file in bytes | | ↳ `file_size` | number | Size of the photo file in bytes |
| ↳ `width` | number | Photo width in pixels | | ↳ `width` | number | Photo width in pixels |
| ↳ `height` | number | Photo height in pixels | | ↳ `height` | number | Photo height in pixels |
| ↳ `file_id` | string | Unique file ID of the photo |
| ↳ `file_unique_id` | string | Unique identifier for this file across different bots |
| ↳ `file_size` | number | Size of the photo file in bytes |
| ↳ `width` | number | Photo width in pixels |
| ↳ `height` | number | Photo height in pixels |
### `telegram_send_video` ### `telegram_send_video`
@@ -173,28 +188,27 @@ Send videos to Telegram channels or users through the Telegram Bot API.
| ↳ `from` | object | Information about the sender | | ↳ `from` | object | Information about the sender |
| ↳ `id` | number | Sender ID | | ↳ `id` | number | Sender ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not | | ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Sender's first name \(if available\) | | ↳ `first_name` | string | Sender |
| ↳ `username` | string | Sender's username \(if available\) | | ↳ `username` | string | Sender |
| ↳ `id` | number | Chat ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `chat` | object | Information about the chat where message was sent | | ↳ `chat` | object | Information about the chat where message was sent |
| ↳ `id` | number | Chat ID | | ↳ `id` | number | Chat ID |
| ↳ `first_name` | string | Chat first name \(if private chat\) | | ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) | | ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) | | ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `date` | number | Unix timestamp when the message was sent | | ↳ `date` | number | Unix timestamp when the message was sent |
| ↳ `text` | string | Text content of the sent message \(if applicable\) | | ↳ `text` | string | Text content of the sent message \(if applicable\) |
| ↳ `format` | object | Media format information \(for videos, GIFs, etc.\) | | ↳ `format` | object | Media format information \(for videos, GIFs, etc.\) |
| ↳ `file_name` | string | Media file name | | ↳ `file_name` | string | Media file name |
| ↳ `mime_type` | string | Media MIME type | | ↳ `mime_type` | string | Media MIME type |
| ↳ `duration` | number | Duration of media in seconds | | ↳ `duration` | number | Duration of media in seconds |
| ↳ `width` | number | Media width in pixels |
| ↳ `height` | number | Media height in pixels |
| ↳ `thumbnail` | object | Thumbnail image details |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels | | ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels | | ↳ `height` | number | Thumbnail height in pixels |
| ↳ `thumb` | object | Secondary thumbnail details \(duplicate of thumbnail\) | | ↳ `thumbnail` | object | Thumbnail image details |
| ↳ `file_id` | string | Thumbnail file ID | | ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier | | ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes | | ↳ `file_size` | number | Thumbnail file size in bytes |
@@ -203,6 +217,32 @@ Send videos to Telegram channels or users through the Telegram Bot API.
| ↳ `file_id` | string | Media file ID | | ↳ `file_id` | string | Media file ID |
| ↳ `file_unique_id` | string | Unique media file identifier | | ↳ `file_unique_id` | string | Unique media file identifier |
| ↳ `file_size` | number | Size of media file in bytes | | ↳ `file_size` | number | Size of media file in bytes |
| ↳ `thumb` | object | Secondary thumbnail details \(duplicate of thumbnail\) |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_name` | string | Document file name |
| ↳ `mime_type` | string | Document MIME type |
| ↳ `duration` | number | Duration of media in seconds |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `thumbnail` | object | Document thumbnail information |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |
| ↳ `thumb` | object | Duplicate thumbnail info \(used for compatibility\) |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `document` | object | Document file details if the message contains a document | | ↳ `document` | object | Document file details if the message contains a document |
| ↳ `file_name` | string | Document file name | | ↳ `file_name` | string | Document file name |
| ↳ `mime_type` | string | Document MIME type | | ↳ `mime_type` | string | Document MIME type |
@@ -212,15 +252,17 @@ Send videos to Telegram channels or users through the Telegram Bot API.
| ↳ `file_size` | number | Thumbnail file size in bytes | | ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels | | ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels | | ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `thumb` | object | Duplicate thumbnail info \(used for compatibility\) | | ↳ `thumb` | object | Duplicate thumbnail info \(used for compatibility\) |
| ↳ `file_id` | string | Thumbnail file ID | | ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier | | ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes | | ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels | | ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels | | ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |
### `telegram_send_audio` ### `telegram_send_audio`
@@ -245,13 +287,18 @@ Send audio files to Telegram channels or users through the Telegram Bot API.
| ↳ `from` | object | Information about the sender | | ↳ `from` | object | Information about the sender |
| ↳ `id` | number | Sender ID | | ↳ `id` | number | Sender ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not | | ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Sender's first name \(if available\) | | ↳ `first_name` | string | Sender |
| ↳ `username` | string | Sender's username \(if available\) | | ↳ `username` | string | Sender |
| ↳ `id` | number | Chat ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `chat` | object | Information about the chat where the message was sent | | ↳ `chat` | object | Information about the chat where the message was sent |
| ↳ `id` | number | Chat ID | | ↳ `id` | number | Chat ID |
| ↳ `first_name` | string | Chat first name \(if private chat\) | | ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) | | ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) | | ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `date` | number | Unix timestamp when the message was sent | | ↳ `date` | number | Unix timestamp when the message was sent |
| ↳ `text` | string | Text content of the sent message \(if applicable\) | | ↳ `text` | string | Text content of the sent message \(if applicable\) |
| ↳ `audio` | object | Audio file details | | ↳ `audio` | object | Audio file details |
@@ -263,6 +310,14 @@ Send audio files to Telegram channels or users through the Telegram Bot API.
| ↳ `file_id` | string | Unique file identifier for this audio | | ↳ `file_id` | string | Unique file identifier for this audio |
| ↳ `file_unique_id` | string | Unique identifier across different bots for this file | | ↳ `file_unique_id` | string | Unique identifier across different bots for this file |
| ↳ `file_size` | number | Size of the audio file in bytes | | ↳ `file_size` | number | Size of the audio file in bytes |
| ↳ `duration` | number | Duration of the audio in seconds |
| ↳ `performer` | string | Performer of the audio |
| ↳ `title` | string | Title of the audio |
| ↳ `file_name` | string | Original filename of the audio |
| ↳ `mime_type` | string | MIME type of the audio file |
| ↳ `file_id` | string | Unique file identifier for this audio |
| ↳ `file_unique_id` | string | Unique identifier across different bots for this file |
| ↳ `file_size` | number | Size of the audio file in bytes |
### `telegram_send_animation` ### `telegram_send_animation`
@@ -287,28 +342,27 @@ Send animations (GIFs) to Telegram channels or users through the Telegram Bot AP
| ↳ `from` | object | Information about the sender | | ↳ `from` | object | Information about the sender |
| ↳ `id` | number | Sender ID | | ↳ `id` | number | Sender ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not | | ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Sender's first name \(if available\) | | ↳ `first_name` | string | Sender |
| ↳ `username` | string | Sender's username \(if available\) | | ↳ `username` | string | Sender |
| ↳ `id` | number | Chat ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `chat` | object | Information about the chat where message was sent | | ↳ `chat` | object | Information about the chat where message was sent |
| ↳ `id` | number | Chat ID | | ↳ `id` | number | Chat ID |
| ↳ `first_name` | string | Chat first name \(if private chat\) | | ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) | | ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) | | ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `date` | number | Unix timestamp when the message was sent | | ↳ `date` | number | Unix timestamp when the message was sent |
| ↳ `text` | string | Text content of the sent message \(if applicable\) | | ↳ `text` | string | Text content of the sent message \(if applicable\) |
| ↳ `format` | object | Media format information \(for videos, GIFs, etc.\) | | ↳ `format` | object | Media format information \(for videos, GIFs, etc.\) |
| ↳ `file_name` | string | Media file name | | ↳ `file_name` | string | Media file name |
| ↳ `mime_type` | string | Media MIME type | | ↳ `mime_type` | string | Media MIME type |
| ↳ `duration` | number | Duration of media in seconds | | ↳ `duration` | number | Duration of media in seconds |
| ↳ `width` | number | Media width in pixels |
| ↳ `height` | number | Media height in pixels |
| ↳ `thumbnail` | object | Thumbnail image details |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels | | ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels | | ↳ `height` | number | Thumbnail height in pixels |
| ↳ `thumb` | object | Secondary thumbnail details \(duplicate of thumbnail\) | | ↳ `thumbnail` | object | Thumbnail image details |
| ↳ `file_id` | string | Thumbnail file ID | | ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier | | ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes | | ↳ `file_size` | number | Thumbnail file size in bytes |
@@ -317,6 +371,32 @@ Send animations (GIFs) to Telegram channels or users through the Telegram Bot AP
| ↳ `file_id` | string | Media file ID | | ↳ `file_id` | string | Media file ID |
| ↳ `file_unique_id` | string | Unique media file identifier | | ↳ `file_unique_id` | string | Unique media file identifier |
| ↳ `file_size` | number | Size of media file in bytes | | ↳ `file_size` | number | Size of media file in bytes |
| ↳ `thumb` | object | Secondary thumbnail details \(duplicate of thumbnail\) |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_name` | string | Document file name |
| ↳ `mime_type` | string | Document MIME type |
| ↳ `duration` | number | Duration of media in seconds |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `thumbnail` | object | Document thumbnail information |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |
| ↳ `thumb` | object | Duplicate thumbnail info \(used for compatibility\) |
| ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `document` | object | Document file details if the message contains a document | | ↳ `document` | object | Document file details if the message contains a document |
| ↳ `file_name` | string | Document file name | | ↳ `file_name` | string | Document file name |
| ↳ `mime_type` | string | Document MIME type | | ↳ `mime_type` | string | Document MIME type |
@@ -326,15 +406,17 @@ Send animations (GIFs) to Telegram channels or users through the Telegram Bot AP
| ↳ `file_size` | number | Thumbnail file size in bytes | | ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels | | ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels | | ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `thumb` | object | Duplicate thumbnail info \(used for compatibility\) | | ↳ `thumb` | object | Duplicate thumbnail info \(used for compatibility\) |
| ↳ `file_id` | string | Thumbnail file ID | | ↳ `file_id` | string | Thumbnail file ID |
| ↳ `file_unique_id` | string | Unique thumbnail file identifier | | ↳ `file_unique_id` | string | Unique thumbnail file identifier |
| ↳ `file_size` | number | Thumbnail file size in bytes | | ↳ `file_size` | number | Thumbnail file size in bytes |
| ↳ `width` | number | Thumbnail width in pixels | | ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels | | ↳ `height` | number | Thumbnail height in pixels |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |
### `telegram_send_document` ### `telegram_send_document`
@@ -359,13 +441,18 @@ Send documents (PDF, ZIP, DOC, etc.) to Telegram channels or users through the T
| ↳ `from` | object | Information about the sender | | ↳ `from` | object | Information about the sender |
| ↳ `id` | number | Sender ID | | ↳ `id` | number | Sender ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not | | ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Sender's first name \(if available\) | | ↳ `first_name` | string | Sender |
| ↳ `username` | string | Sender's username \(if available\) | | ↳ `username` | string | Sender |
| ↳ `id` | number | Chat ID |
| ↳ `is_bot` | boolean | Whether the chat is a bot or not |
| ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `chat` | object | Information about the chat where message was sent | | ↳ `chat` | object | Information about the chat where message was sent |
| ↳ `id` | number | Chat ID | | ↳ `id` | number | Chat ID |
| ↳ `first_name` | string | Chat first name \(if private chat\) | | ↳ `first_name` | string | Chat first name \(if private chat\) |
| ↳ `username` | string | Chat username \(for private or channels\) | | ↳ `username` | string | Chat username \(for private or channels\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) | | ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `type` | string | Type of chat \(private, group, supergroup, or channel\) |
| ↳ `date` | number | Unix timestamp when the message was sent | | ↳ `date` | number | Unix timestamp when the message was sent |
| ↳ `document` | object | Document file details | | ↳ `document` | object | Document file details |
| ↳ `file_name` | string | Document file name | | ↳ `file_name` | string | Document file name |
@@ -373,5 +460,10 @@ Send documents (PDF, ZIP, DOC, etc.) to Telegram channels or users through the T
| ↳ `file_id` | string | Document file ID | | ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier | | ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes | | ↳ `file_size` | number | Size of document file in bytes |
| ↳ `file_name` | string | Document file name |
| ↳ `mime_type` | string | Document MIME type |
| ↳ `file_id` | string | Document file ID |
| ↳ `file_unique_id` | string | Unique document file identifier |
| ↳ `file_size` | number | Size of document file in bytes |

View File

@@ -63,7 +63,7 @@ Parse documents using AWS Textract OCR and document analysis
| `blocks` | array | Array of Block objects containing detected text, tables, forms, and other elements | | `blocks` | array | Array of Block objects containing detected text, tables, forms, and other elements |
| ↳ `BlockType` | string | Type of block \(PAGE, LINE, WORD, TABLE, CELL, KEY_VALUE_SET, etc.\) | | ↳ `BlockType` | string | Type of block \(PAGE, LINE, WORD, TABLE, CELL, KEY_VALUE_SET, etc.\) |
| ↳ `Id` | string | Unique identifier for the block | | ↳ `Id` | string | Unique identifier for the block |
| ↳ `Text` | string | The text content \(for LINE and WORD blocks\) | | ↳ `Text` | string | Query text |
| ↳ `TextType` | string | Type of text \(PRINTED or HANDWRITING\) | | ↳ `TextType` | string | Type of text \(PRINTED or HANDWRITING\) |
| ↳ `Confidence` | number | Confidence score \(0-100\) | | ↳ `Confidence` | number | Confidence score \(0-100\) |
| ↳ `Page` | number | Page number | | ↳ `Page` | number | Page number |
@@ -73,12 +73,34 @@ Parse documents using AWS Textract OCR and document analysis
| ↳ `Left` | number | Left position as ratio of document width | | ↳ `Left` | number | Left position as ratio of document width |
| ↳ `Top` | number | Top position as ratio of document height | | ↳ `Top` | number | Top position as ratio of document height |
| ↳ `Width` | number | Width as ratio of document width | | ↳ `Width` | number | Width as ratio of document width |
| ↳ `Height` | number | Height as ratio of document height |
| ↳ `Left` | number | Left position as ratio of document width |
| ↳ `Top` | number | Top position as ratio of document height |
| ↳ `Width` | number | Width as ratio of document width |
| ↳ `Polygon` | array | Polygon coordinates | | ↳ `Polygon` | array | Polygon coordinates |
| ↳ `X` | number | X coordinate | | ↳ `X` | number | X coordinate |
| ↳ `Y` | number | Y coordinate | | ↳ `Y` | number | Y coordinate |
| ↳ `X` | number | X coordinate |
| ↳ `Y` | number | Y coordinate |
| ↳ `BoundingBox` | object | Height as ratio of document height |
| ↳ `Height` | number | Height as ratio of document height |
| ↳ `Left` | number | Left position as ratio of document width |
| ↳ `Top` | number | Top position as ratio of document height |
| ↳ `Width` | number | Width as ratio of document width |
| ↳ `Height` | number | Height as ratio of document height |
| ↳ `Left` | number | Left position as ratio of document width |
| ↳ `Top` | number | Top position as ratio of document height |
| ↳ `Width` | number | Width as ratio of document width |
| ↳ `Polygon` | array | Polygon coordinates |
| ↳ `X` | number | X coordinate |
| ↳ `Y` | number | Y coordinate |
| ↳ `X` | number | X coordinate |
| ↳ `Y` | number | Y coordinate |
| ↳ `Relationships` | array | Relationships to other blocks | | ↳ `Relationships` | array | Relationships to other blocks |
| ↳ `Type` | string | Relationship type \(CHILD, VALUE, ANSWER, etc.\) | | ↳ `Type` | string | Relationship type \(CHILD, VALUE, ANSWER, etc.\) |
| ↳ `Ids` | array | IDs of related blocks | | ↳ `Ids` | array | IDs of related blocks |
| ↳ `Type` | string | Relationship type \(CHILD, VALUE, ANSWER, etc.\) |
| ↳ `Ids` | array | IDs of related blocks |
| ↳ `EntityTypes` | array | Entity types for KEY_VALUE_SET \(KEY or VALUE\) | | ↳ `EntityTypes` | array | Entity types for KEY_VALUE_SET \(KEY or VALUE\) |
| ↳ `SelectionStatus` | string | For checkboxes: SELECTED or NOT_SELECTED | | ↳ `SelectionStatus` | string | For checkboxes: SELECTED or NOT_SELECTED |
| ↳ `RowIndex` | number | Row index for table cells | | ↳ `RowIndex` | number | Row index for table cells |
@@ -89,6 +111,8 @@ Parse documents using AWS Textract OCR and document analysis
| ↳ `Text` | string | Query text | | ↳ `Text` | string | Query text |
| ↳ `Alias` | string | Query alias | | ↳ `Alias` | string | Query alias |
| ↳ `Pages` | array | Pages to search | | ↳ `Pages` | array | Pages to search |
| ↳ `Alias` | string | Query alias |
| ↳ `Pages` | array | Pages to search |
| `documentMetadata` | object | Metadata about the analyzed document | | `documentMetadata` | object | Metadata about the analyzed document |
| ↳ `pages` | number | Number of pages in the document | | ↳ `pages` | number | Number of pages in the document |
| `modelVersion` | string | Version of the Textract model used for processing | | `modelVersion` | string | Version of the Textract model used for processing |

View File

@@ -109,6 +109,12 @@ Retrieve insights and analytics for Typeform forms
| ↳ `responses_count` | number | Number of responses from this platform | | ↳ `responses_count` | number | Number of responses from this platform |
| ↳ `total_visits` | number | Total visits from this platform | | ↳ `total_visits` | number | Total visits from this platform |
| ↳ `unique_visits` | number | Unique visits from this platform | | ↳ `unique_visits` | number | Unique visits from this platform |
| ↳ `average_time` | number | Overall average completion time |
| ↳ `completion_rate` | number | Overall completion rate |
| ↳ `platform` | string | Platform name \(e.g., desktop, mobile\) |
| ↳ `responses_count` | number | Total number of responses |
| ↳ `total_visits` | number | Total number of visits |
| ↳ `unique_visits` | number | Total number of unique visits |
| ↳ `summary` | object | Overall average completion time | | ↳ `summary` | object | Overall average completion time |
| ↳ `average_time` | number | Overall average completion time | | ↳ `average_time` | number | Overall average completion time |
| ↳ `completion_rate` | number | Overall completion rate | | ↳ `completion_rate` | number | Overall completion rate |

View File

@@ -56,6 +56,9 @@ Read content from a Wealthbox note
| ↳ `itemId` | string | ID of the note | | ↳ `itemId` | string | ID of the note |
| ↳ `noteId` | string | ID of the note | | ↳ `noteId` | string | ID of the note |
| ↳ `itemType` | string | Type of item \(note\) | | ↳ `itemType` | string | Type of item \(note\) |
| ↳ `itemId` | string | ID of the note |
| ↳ `noteId` | string | ID of the note |
| ↳ `itemType` | string | Type of item \(note\) |
### `wealthbox_write_note` ### `wealthbox_write_note`
@@ -80,6 +83,9 @@ Create or update a Wealthbox note
| ↳ `itemId` | string | ID of the created/updated note | | ↳ `itemId` | string | ID of the created/updated note |
| ↳ `noteId` | string | ID of the created/updated note | | ↳ `noteId` | string | ID of the created/updated note |
| ↳ `itemType` | string | Type of item \(note\) | | ↳ `itemType` | string | Type of item \(note\) |
| ↳ `itemId` | string | ID of the created/updated note |
| ↳ `noteId` | string | ID of the created/updated note |
| ↳ `itemType` | string | Type of item \(note\) |
### `wealthbox_read_contact` ### `wealthbox_read_contact`
@@ -103,6 +109,9 @@ Read content from a Wealthbox contact
| ↳ `itemId` | string | ID of the contact | | ↳ `itemId` | string | ID of the contact |
| ↳ `contactId` | string | ID of the contact | | ↳ `contactId` | string | ID of the contact |
| ↳ `itemType` | string | Type of item \(contact\) | | ↳ `itemType` | string | Type of item \(contact\) |
| ↳ `itemId` | string | ID of the contact |
| ↳ `contactId` | string | ID of the contact |
| ↳ `itemType` | string | Type of item \(contact\) |
### `wealthbox_write_contact` ### `wealthbox_write_contact`
@@ -129,6 +138,9 @@ Create a new Wealthbox contact
| ↳ `itemId` | string | ID of the created/updated contact | | ↳ `itemId` | string | ID of the created/updated contact |
| ↳ `contactId` | string | ID of the created/updated contact | | ↳ `contactId` | string | ID of the created/updated contact |
| ↳ `itemType` | string | Type of item \(contact\) | | ↳ `itemType` | string | Type of item \(contact\) |
| ↳ `itemId` | string | ID of the created/updated contact |
| ↳ `contactId` | string | ID of the created/updated contact |
| ↳ `itemType` | string | Type of item \(contact\) |
### `wealthbox_read_task` ### `wealthbox_read_task`
@@ -152,6 +164,9 @@ Read content from a Wealthbox task
| ↳ `itemId` | string | ID of the task | | ↳ `itemId` | string | ID of the task |
| ↳ `taskId` | string | ID of the task | | ↳ `taskId` | string | ID of the task |
| ↳ `itemType` | string | Type of item \(task\) | | ↳ `itemType` | string | Type of item \(task\) |
| ↳ `itemId` | string | ID of the task |
| ↳ `taskId` | string | ID of the task |
| ↳ `itemType` | string | Type of item \(task\) |
### `wealthbox_write_task` ### `wealthbox_write_task`
@@ -178,5 +193,8 @@ Create or update a Wealthbox task
| ↳ `itemId` | string | ID of the created/updated task | | ↳ `itemId` | string | ID of the created/updated task |
| ↳ `taskId` | string | ID of the created/updated task | | ↳ `taskId` | string | ID of the created/updated task |
| ↳ `itemType` | string | Type of item \(task\) | | ↳ `itemType` | string | Type of item \(task\) |
| ↳ `itemId` | string | ID of the created/updated task |
| ↳ `taskId` | string | ID of the created/updated task |
| ↳ `itemType` | string | Type of item \(task\) |

View File

@@ -51,19 +51,8 @@ List all items from a Webflow CMS collection
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `items` | array | Array of collection items | | `items` | json | Array of collection items |
| ↳ `id` | string | Unique item ID | | `metadata` | json | Metadata about the query |
| ↳ `cmsLocaleId` | string | CMS locale ID |
| ↳ `lastPublished` | string | Last published date \(ISO 8601\) |
| ↳ `lastUpdated` | string | Last updated date \(ISO 8601\) |
| ↳ `createdOn` | string | Creation date \(ISO 8601\) |
| ↳ `isArchived` | boolean | Whether the item is archived |
| ↳ `isDraft` | boolean | Whether the item is a draft |
| ↳ `fieldData` | object | Collection-specific field data \(varies by collection schema\) |
| `metadata` | object | Metadata about the query |
| ↳ `itemCount` | number | Number of items returned |
| ↳ `offset` | number | Pagination offset |
| ↳ `limit` | number | Maximum items per page |
### `webflow_get_item` ### `webflow_get_item`

View File

@@ -47,39 +47,12 @@ Get a summary and metadata for a specific Wikipedia page.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `summary` | object | Wikipedia page summary and metadata | | `summary` | object | Wikipedia page summary and metadata |
| ↳ `type` | string | Page type \(standard, disambiguation, etc.\) |
| ↳ `title` | string | Page title | | ↳ `title` | string | Page title |
| ↳ `displaytitle` | string | Display title with formatting |
| ↳ `description` | string | Short page description |
| ↳ `extract` | string | Page extract/summary text | | ↳ `extract` | string | Page extract/summary text |
| ↳ `extract_html` | string | Extract in HTML format | | ↳ `description` | string | Short page description |
| ↳ `thumbnail` | object | Thumbnail image data | | ↳ `thumbnail` | object | Thumbnail image data |
| ↳ `source` | string | Thumbnail image URL |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `originalimage` | object | Original image data |
| ↳ `source` | string | Thumbnail image URL |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `content_urls` | object | URLs to access the page | | ↳ `content_urls` | object | URLs to access the page |
| ↳ `desktop` | object | Desktop URLs |
| ↳ `page` | string | Page URL |
| ↳ `revisions` | string | Revisions URL |
| ↳ `edit` | string | Edit URL |
| ↳ `talk` | string | Talk page URL |
| ↳ `mobile` | object | Mobile URLs |
| ↳ `page` | string | Page URL |
| ↳ `revisions` | string | Revisions URL |
| ↳ `edit` | string | Edit URL |
| ↳ `talk` | string | Talk page URL |
| ↳ `lang` | string | Page language code |
| ↳ `dir` | string | Text direction \(ltr or rtl\) |
| ↳ `timestamp` | string | Last modification timestamp |
| ↳ `pageid` | number | Wikipedia page ID | | ↳ `pageid` | number | Wikipedia page ID |
| ↳ `wikibase_item` | string | Wikidata item ID |
| ↳ `coordinates` | object | Geographic coordinates |
| ↳ `lat` | number | Latitude |
| ↳ `lon` | number | Longitude |
### `wikipedia_search` ### `wikipedia_search`
@@ -97,20 +70,6 @@ Search for Wikipedia pages by title or content.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `searchResults` | array | Array of matching Wikipedia pages | | `searchResults` | array | Array of matching Wikipedia pages |
| ↳ `id` | number | Result index |
| ↳ `key` | string | URL-friendly page key |
| ↳ `title` | string | Page title |
| ↳ `excerpt` | string | Search result excerpt |
| ↳ `matched_title` | string | Matched title variant |
| ↳ `description` | string | Page description |
| ↳ `thumbnail` | object | Thumbnail data |
| ↳ `mimetype` | string | Image MIME type |
| ↳ `size` | number | File size in bytes |
| ↳ `width` | number | Width in pixels |
| ↳ `height` | number | Height in pixels |
| ↳ `duration` | number | Duration for video |
| ↳ `url` | string | Thumbnail URL |
| ↳ `url` | string | Page URL |
| `totalHits` | number | Total number of search results found | | `totalHits` | number | Total number of search results found |
| `query` | string | The search query that was executed | | `query` | string | The search query that was executed |
@@ -133,10 +92,7 @@ Get the full HTML content of a Wikipedia page.
| ↳ `pageid` | number | Wikipedia page ID | | ↳ `pageid` | number | Wikipedia page ID |
| ↳ `html` | string | Full HTML content of the page | | ↳ `html` | string | Full HTML content of the page |
| ↳ `revision` | number | Page revision number | | ↳ `revision` | number | Page revision number |
| ↳ `tid` | string | Transaction ID \(ETag\) |
| ↳ `timestamp` | string | Last modified timestamp | | ↳ `timestamp` | string | Last modified timestamp |
| ↳ `content_model` | string | Content model \(wikitext\) |
| ↳ `content_format` | string | Content format \(text/html\) |
### `wikipedia_random` ### `wikipedia_random`
@@ -152,22 +108,10 @@ Get a random Wikipedia page.
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `randomPage` | object | Random Wikipedia page data | | `randomPage` | object | Random Wikipedia page data |
| ↳ `type` | string | Page type |
| ↳ `title` | string | Page title | | ↳ `title` | string | Page title |
| ↳ `displaytitle` | string | Display title |
| ↳ `description` | string | Page description |
| ↳ `extract` | string | Page extract/summary | | ↳ `extract` | string | Page extract/summary |
| ↳ `description` | string | Page description |
| ↳ `thumbnail` | object | Thumbnail image data | | ↳ `thumbnail` | object | Thumbnail image data |
| ↳ `source` | string | Thumbnail image URL |
| ↳ `width` | number | Thumbnail width in pixels |
| ↳ `height` | number | Thumbnail height in pixels |
| ↳ `content_urls` | object | URLs to access the page | | ↳ `content_urls` | object | URLs to access the page |
| ↳ `desktop` | object | Desktop URL |
| ↳ `page` | string | Page URL |
| ↳ `mobile` | object | Mobile URL |
| ↳ `page` | string | Page URL |
| ↳ `lang` | string | Language code |
| ↳ `timestamp` | string | Timestamp |
| ↳ `pageid` | number | Page ID |

View File

@@ -61,6 +61,8 @@ Post new tweets, reply to tweets, or create polls on X (Twitter)
| ↳ `attachments` | object | Media or poll attachments | | ↳ `attachments` | object | Media or poll attachments |
| ↳ `mediaKeys` | array | Media attachment keys | | ↳ `mediaKeys` | array | Media attachment keys |
| ↳ `pollId` | string | Poll ID if poll attached | | ↳ `pollId` | string | Poll ID if poll attached |
| ↳ `mediaKeys` | array | Media attachment keys |
| ↳ `pollId` | string | Poll ID if poll attached |
### `x_read` ### `x_read`
@@ -137,5 +139,8 @@ Get user profile information
| ↳ `followersCount` | number | Number of followers | | ↳ `followersCount` | number | Number of followers |
| ↳ `followingCount` | number | Number of users following | | ↳ `followingCount` | number | Number of users following |
| ↳ `tweetCount` | number | Total number of tweets | | ↳ `tweetCount` | number | Total number of tweets |
| ↳ `followersCount` | number | Number of followers |
| ↳ `followingCount` | number | Number of users following |
| ↳ `tweetCount` | number | Total number of tweets |

View File

@@ -26,15 +26,78 @@ In Sim, the YouTube integration enables your agents to programmatically search a
## Usage Instructions ## Usage Instructions
Integrate YouTube into the workflow. Can search for videos, get trending videos, get video details, get video categories, get channel information, get all videos from a channel, get channel playlists, get playlist items, and get video comments. Integrate YouTube into the workflow. Can search for videos, get video details, get channel information, get all videos from a channel, get channel playlists, get playlist items, find related videos, and get video comments.
## Tools ## Tools
### `youtube_search`
Search for videos on YouTube using the YouTube Data API. Supports advanced filtering by channel, date range, duration, category, quality, captions, and more.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | Search query for YouTube videos |
| `maxResults` | number | No | Maximum number of videos to return \(1-50\) |
| `apiKey` | string | Yes | YouTube API Key |
| `channelId` | string | No | Filter results to a specific YouTube channel ID |
| `publishedAfter` | string | No | Only return videos published after this date \(RFC 3339 format: "2024-01-01T00:00:00Z"\) |
| `publishedBefore` | string | No | Only return videos published before this date \(RFC 3339 format: "2024-01-01T00:00:00Z"\) |
| `videoDuration` | string | No | Filter by video length: "short" \(&lt;4 min\), "medium" \(4-20 min\), "long" \(&gt;20 min\), "any" |
| `order` | string | No | Sort results by: "date", "rating", "relevance" \(default\), "title", "videoCount", "viewCount" |
| `videoCategoryId` | string | No | Filter by YouTube category ID \(e.g., "10" for Music, "20" for Gaming\) |
| `videoDefinition` | string | No | Filter by video quality: "high" \(HD\), "standard", "any" |
| `videoCaption` | string | No | Filter by caption availability: "closedCaption" \(has captions\), "none" \(no captions\), "any" |
| `regionCode` | string | No | Return results relevant to a specific region \(ISO 3166-1 alpha-2 country code, e.g., "US", "GB"\) |
| `relevanceLanguage` | string | No | Return results most relevant to a language \(ISO 639-1 code, e.g., "en", "es"\) |
| `safeSearch` | string | No | Content filtering level: "moderate" \(default\), "none", "strict" |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of YouTube videos matching the search query |
| ↳ `videoId` | string | YouTube video ID |
| ↳ `title` | string | Video title |
| ↳ `description` | string | Video description |
| ↳ `thumbnail` | string | Video thumbnail URL |
| `totalResults` | number | Total number of search results available |
| `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_video_details`
Get detailed information about a specific YouTube video.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `videoId` | string | Yes | YouTube video ID |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `videoId` | string | YouTube video ID |
| `title` | string | Video title |
| `description` | string | Video description |
| `channelId` | string | Channel ID |
| `channelTitle` | string | Channel name |
| `publishedAt` | string | Published date and time |
| `duration` | string | Video duration in ISO 8601 format |
| `viewCount` | number | Number of views |
| `likeCount` | number | Number of likes |
| `commentCount` | number | Number of comments |
| `thumbnail` | string | Video thumbnail URL |
| `tags` | array | Video tags |
### `youtube_channel_info` ### `youtube_channel_info`
Get detailed information about a YouTube channel including statistics, branding, and content details. Get detailed information about a YouTube channel.
#### Input #### Input
@@ -51,20 +114,43 @@ Get detailed information about a YouTube channel including statistics, branding,
| `channelId` | string | YouTube channel ID | | `channelId` | string | YouTube channel ID |
| `title` | string | Channel name | | `title` | string | Channel name |
| `description` | string | Channel description | | `description` | string | Channel description |
| `subscriberCount` | number | Number of subscribers \(0 if hidden\) | | `subscriberCount` | number | Number of subscribers |
| `videoCount` | number | Number of public videos | | `videoCount` | number | Number of videos |
| `viewCount` | number | Total channel views | | `viewCount` | number | Total channel views |
| `publishedAt` | string | Channel creation date | | `publishedAt` | string | Channel creation date |
| `thumbnail` | string | Channel thumbnail/avatar URL | | `thumbnail` | string | Channel thumbnail URL |
| `customUrl` | string | Channel custom URL \(handle\) | | `customUrl` | string | Channel custom URL |
| `country` | string | Country the channel is associated with |
| `uploadsPlaylistId` | string | Playlist ID containing all channel uploads \(use with playlist_items\) | ### `youtube_channel_videos`
| `bannerImageUrl` | string | Channel banner image URL |
| `hiddenSubscriberCount` | boolean | Whether the subscriber count is hidden | Get all videos from a specific YouTube channel, with sorting options.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `channelId` | string | Yes | YouTube channel ID to get videos from |
| `maxResults` | number | No | Maximum number of videos to return \(1-50\) |
| `order` | string | No | Sort order: "date" \(newest first\), "rating", "relevance", "title", "viewCount" |
| `pageToken` | string | No | Page token for pagination |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of videos from the channel |
| ↳ `videoId` | string | YouTube video ID |
| ↳ `title` | string | Video title |
| ↳ `description` | string | Video description |
| ↳ `thumbnail` | string | Video thumbnail URL |
| ↳ `publishedAt` | string | Video publish date |
| `totalResults` | number | Total number of videos in the channel |
| `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_channel_playlists` ### `youtube_channel_playlists`
Get all public playlists from a specific YouTube channel. Get all playlists from a specific YouTube channel.
#### Input #### Input
@@ -86,80 +172,19 @@ Get all public playlists from a specific YouTube channel.
| ↳ `thumbnail` | string | Playlist thumbnail URL | | ↳ `thumbnail` | string | Playlist thumbnail URL |
| ↳ `itemCount` | number | Number of videos in playlist | | ↳ `itemCount` | number | Number of videos in playlist |
| ↳ `publishedAt` | string | Playlist creation date | | ↳ `publishedAt` | string | Playlist creation date |
| ↳ `channelTitle` | string | Channel name |
| `totalResults` | number | Total number of playlists in the channel | | `totalResults` | number | Total number of playlists in the channel |
| `nextPageToken` | string | Token for accessing the next page of results | | `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_channel_videos`
Search for videos from a specific YouTube channel with sorting options. For complete channel video list, use channel_info to get uploadsPlaylistId, then use playlist_items.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `channelId` | string | Yes | YouTube channel ID to get videos from |
| `maxResults` | number | No | Maximum number of videos to return \(1-50\) |
| `order` | string | No | Sort order: "date" \(newest first, default\), "rating", "relevance", "title", "viewCount" |
| `pageToken` | string | No | Page token for pagination |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of videos from the channel |
| ↳ `videoId` | string | YouTube video ID |
| ↳ `title` | string | Video title |
| ↳ `description` | string | Video description |
| ↳ `thumbnail` | string | Video thumbnail URL |
| ↳ `publishedAt` | string | Video publish date |
| ↳ `channelTitle` | string | Channel name |
| `totalResults` | number | Total number of videos in the channel |
| `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_comments`
Get top-level comments from a YouTube video with author details and engagement.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `videoId` | string | Yes | YouTube video ID |
| `maxResults` | number | No | Maximum number of comments to return \(1-100\) |
| `order` | string | No | Order of comments: "time" \(newest first\) or "relevance" \(most relevant first\) |
| `pageToken` | string | No | Page token for pagination |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of top-level comments from the video |
| ↳ `commentId` | string | Comment ID |
| ↳ `authorDisplayName` | string | Comment author display name |
| ↳ `authorChannelUrl` | string | Comment author channel URL |
| ↳ `authorProfileImageUrl` | string | Comment author profile image URL |
| ↳ `textDisplay` | string | Comment text \(HTML formatted\) |
| ↳ `textOriginal` | string | Comment text \(plain text\) |
| ↳ `likeCount` | number | Number of likes on the comment |
| ↳ `publishedAt` | string | When the comment was posted |
| ↳ `updatedAt` | string | When the comment was last edited |
| ↳ `replyCount` | number | Number of replies to this comment |
| `totalResults` | number | Total number of comment threads available |
| `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_playlist_items` ### `youtube_playlist_items`
Get videos from a YouTube playlist. Can be used with a channel uploads playlist to get all channel videos. Get videos from a YouTube playlist.
#### Input #### Input
| Parameter | Type | Required | Description | | Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `playlistId` | string | Yes | YouTube playlist ID. Use uploadsPlaylistId from channel_info to get all channel videos. | | `playlistId` | string | Yes | YouTube playlist ID |
| `maxResults` | number | No | Maximum number of videos to return \(1-50\) | | `maxResults` | number | No | Maximum number of videos to return |
| `pageToken` | string | No | Page token for pagination | | `pageToken` | string | No | Page token for pagination |
| `apiKey` | string | Yes | YouTube API Key | | `apiKey` | string | Yes | YouTube API Key |
@@ -173,65 +198,22 @@ Get videos from a YouTube playlist. Can be used with a channel uploads playlist
| ↳ `description` | string | Video description | | ↳ `description` | string | Video description |
| ↳ `thumbnail` | string | Video thumbnail URL | | ↳ `thumbnail` | string | Video thumbnail URL |
| ↳ `publishedAt` | string | Date added to playlist | | ↳ `publishedAt` | string | Date added to playlist |
| ↳ `channelTitle` | string | Playlist owner channel name | | ↳ `channelTitle` | string | Channel name |
| ↳ `position` | number | Position in playlist \(0-indexed\) | | ↳ `position` | number | Position in playlist |
| ↳ `videoOwnerChannelId` | string | Channel ID of the video owner |
| ↳ `videoOwnerChannelTitle` | string | Channel name of the video owner |
| `totalResults` | number | Total number of items in playlist | | `totalResults` | number | Total number of items in playlist |
| `nextPageToken` | string | Token for accessing the next page of results | | `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_search` ### `youtube_comments`
Search for videos on YouTube using the YouTube Data API. Supports advanced filtering by channel, date range, duration, category, quality, captions, live streams, and more. Get comments from a YouTube video.
#### Input #### Input
| Parameter | Type | Required | Description | | Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- | | --------- | ---- | -------- | ----------- |
| `query` | string | Yes | Search query for YouTube videos | | `videoId` | string | Yes | YouTube video ID |
| `maxResults` | number | No | Maximum number of videos to return \(1-50\) | | `maxResults` | number | No | Maximum number of comments to return |
| `pageToken` | string | No | Page token for pagination \(use nextPageToken from previous response\) | | `order` | string | No | Order of comments: time or relevance |
| `apiKey` | string | Yes | YouTube API Key |
| `channelId` | string | No | Filter results to a specific YouTube channel ID |
| `publishedAfter` | string | No | Only return videos published after this date \(RFC 3339 format: "2024-01-01T00:00:00Z"\) |
| `publishedBefore` | string | No | Only return videos published before this date \(RFC 3339 format: "2024-01-01T00:00:00Z"\) |
| `videoDuration` | string | No | Filter by video length: "short" \(&lt;4 min\), "medium" \(4-20 min\), "long" \(&gt;20 min\), "any" |
| `order` | string | No | Sort results by: "date", "rating", "relevance" \(default\), "title", "videoCount", "viewCount" |
| `videoCategoryId` | string | No | Filter by YouTube category ID \(e.g., "10" for Music, "20" for Gaming\). Use video_categories to list IDs. |
| `videoDefinition` | string | No | Filter by video quality: "high" \(HD\), "standard", "any" |
| `videoCaption` | string | No | Filter by caption availability: "closedCaption" \(has captions\), "none" \(no captions\), "any" |
| `eventType` | string | No | Filter by live broadcast status: "live" \(currently live\), "upcoming" \(scheduled\), "completed" \(past streams\) |
| `regionCode` | string | No | Return results relevant to a specific region \(ISO 3166-1 alpha-2 country code, e.g., "US", "GB"\) |
| `relevanceLanguage` | string | No | Return results most relevant to a language \(ISO 639-1 code, e.g., "en", "es"\) |
| `safeSearch` | string | No | Content filtering level: "moderate" \(default\), "none", "strict" |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of YouTube videos matching the search query |
| ↳ `videoId` | string | YouTube video ID |
| ↳ `title` | string | Video title |
| ↳ `description` | string | Video description |
| ↳ `thumbnail` | string | Video thumbnail URL |
| ↳ `channelId` | string | Channel ID that uploaded the video |
| ↳ `channelTitle` | string | Channel name |
| ↳ `publishedAt` | string | Video publish date |
| ↳ `liveBroadcastContent` | string | Live broadcast status: |
| `totalResults` | number | Total number of search results available |
| `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_trending`
Get the most popular/trending videos on YouTube. Can filter by region and video category.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `regionCode` | string | No | ISO 3166-1 alpha-2 country code to get trending videos for \(e.g., "US", "GB", "JP"\). Defaults to US. |
| `videoCategoryId` | string | No | Filter by video category ID \(e.g., "10" for Music, "20" for Gaming, "17" for Sports\) |
| `maxResults` | number | No | Maximum number of trending videos to return \(1-50\) |
| `pageToken` | string | No | Page token for pagination | | `pageToken` | string | No | Page token for pagination |
| `apiKey` | string | Yes | YouTube API Key | | `apiKey` | string | Yes | YouTube API Key |
@@ -239,84 +221,17 @@ Get the most popular/trending videos on YouTube. Can filter by region and video
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `items` | array | Array of trending videos | | `items` | array | Array of comments from the video |
| ↳ `videoId` | string | YouTube video ID | | ↳ `commentId` | string | Comment ID |
| ↳ `title` | string | Video title | | ↳ `authorDisplayName` | string | Comment author name |
| ↳ `description` | string | Video description | | ↳ `authorChannelUrl` | string | Comment author channel URL |
| ↳ `thumbnail` | string | Video thumbnail URL | | ↳ `textDisplay` | string | Comment text \(HTML formatted\) |
| ↳ `channelId` | string | Channel ID | | ↳ `textOriginal` | string | Comment text \(plain text\) |
| ↳ `channelTitle` | string | Channel name |
| ↳ `publishedAt` | string | Video publish date |
| ↳ `viewCount` | number | Number of views |
| ↳ `likeCount` | number | Number of likes | | ↳ `likeCount` | number | Number of likes |
| ↳ `commentCount` | number | Number of comments | | ↳ `publishedAt` | string | Comment publish date |
| ↳ `duration` | string | Video duration in ISO 8601 format | | ↳ `updatedAt` | string | Comment last updated date |
| `totalResults` | number | Total number of trending videos available | | ↳ `replyCount` | number | Number of replies |
| `totalResults` | number | Total number of comments |
| `nextPageToken` | string | Token for accessing the next page of results | | `nextPageToken` | string | Token for accessing the next page of results |
### `youtube_video_categories`
Get a list of video categories available on YouTube. Use this to discover valid category IDs for filtering search and trending results.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `regionCode` | string | No | ISO 3166-1 alpha-2 country code to get categories for \(e.g., "US", "GB", "JP"\). Defaults to US. |
| `hl` | string | No | Language for category titles \(e.g., "en", "es", "fr"\). Defaults to English. |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of video categories available in the specified region |
| ↳ `categoryId` | string | Category ID to use in search/trending filters \(e.g., |
| ↳ `title` | string | Human-readable category name |
| ↳ `assignable` | boolean | Whether videos can be tagged with this category |
| `totalResults` | number | Total number of categories available |
### `youtube_video_details`
Get detailed information about a specific YouTube video including statistics, content details, live streaming info, and metadata.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `videoId` | string | Yes | YouTube video ID |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `videoId` | string | YouTube video ID |
| `title` | string | Video title |
| `description` | string | Video description |
| `channelId` | string | Channel ID |
| `channelTitle` | string | Channel name |
| `publishedAt` | string | Published date and time |
| `duration` | string | Video duration in ISO 8601 format \(e.g., |
| `viewCount` | number | Number of views |
| `likeCount` | number | Number of likes |
| `commentCount` | number | Number of comments |
| `favoriteCount` | number | Number of times added to favorites |
| `thumbnail` | string | Video thumbnail URL |
| `tags` | array | Video tags |
| `categoryId` | string | YouTube video category ID |
| `definition` | string | Video definition: |
| `caption` | string | Whether captions are available: |
| `licensedContent` | boolean | Whether the video is licensed content |
| `privacyStatus` | string | Video privacy status: |
| `liveBroadcastContent` | string | Live broadcast status: |
| `defaultLanguage` | string | Default language of the video metadata |
| `defaultAudioLanguage` | string | Default audio language of the video |
| `isLiveContent` | boolean | Whether this video is or was a live stream |
| `scheduledStartTime` | string | Scheduled start time for upcoming live streams \(ISO 8601\) |
| `actualStartTime` | string | When the live stream actually started \(ISO 8601\) |
| `actualEndTime` | string | When the live stream ended \(ISO 8601\) |
| `concurrentViewers` | number | Current number of viewers \(only for active live streams\) |
| `activeLiveChatId` | string | Live chat ID for the stream \(only for active live streams\) |

View File

@@ -77,65 +77,13 @@ Retrieve a list of tickets from Zendesk with optional filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `tickets` | array | Array of ticket objects | | `tickets` | array | Array of ticket objects |
| ↳ `id` | number | Automatically assigned ticket ID |
| ↳ `url` | string | API URL of the ticket |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `via` | object | How the ticket was created |
| ↳ `channel` | string | Channel through which the ticket was created \(e.g., email, web, api\) |
| ↳ `source` | object | Source details for the channel |
| ↳ `from` | object | Information about the source sender |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the sender |
| ↳ `to` | object | Information about the recipient |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the recipient |
| ↳ `rel` | string | Relationship type |
| ↳ `created_at` | string | When the ticket was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the ticket was last updated \(ISO 8601 format\) |
| ↳ `type` | string | Ticket type \(problem, incident, question, task\) |
| ↳ `subject` | string | Subject of the ticket |
| ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
| ↳ `description` | string | Read-only first comment on the ticket |
| ↳ `priority` | string | Priority level \(low, normal, high, urgent\) |
| ↳ `status` | string | Ticket status \(new, open, pending, hold, solved, closed\) |
| ↳ `recipient` | string | Original recipient email address |
| ↳ `requester_id` | number | User ID of the ticket requester |
| ↳ `submitter_id` | number | User ID of the ticket submitter |
| ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
| ↳ `organization_id` | number | Organization ID of the requester |
| ↳ `group_id` | number | Group ID assigned to the ticket |
| ↳ `collaborator_ids` | array | User IDs of collaborators \(CC\) |
| ↳ `follower_ids` | array | User IDs of followers |
| ↳ `email_cc_ids` | array | User IDs of email CCs |
| ↳ `forum_topic_id` | number | Topic ID in the community forum |
| ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
| ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
| ↳ `is_public` | boolean | Whether the first comment is public |
| ↳ `due_at` | string | Due date for task tickets \(ISO 8601 format\) |
| ↳ `tags` | array | Tags associated with the ticket |
| ↳ `custom_fields` | array | Custom ticket fields |
| ↳ `id` | number | Custom field ID |
| ↳ `value` | string | Custom field value |
| ↳ `custom_status_id` | number | Custom status ID |
| ↳ `satisfaction_rating` | object | Customer satisfaction rating |
| ↳ `id` | number | Satisfaction rating ID |
| ↳ `score` | string | Rating score \(e.g., good, bad, offered, unoffered\) |
| ↳ `comment` | string | Comment left with the rating |
| ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
| ↳ `followup_ids` | array | IDs of follow-up tickets |
| ↳ `brand_id` | number | Brand ID the ticket belongs to |
| ↳ `allow_attachments` | boolean | Whether attachments are allowed |
| ↳ `allow_channelback` | boolean | Whether channelback is enabled |
| ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
| ↳ `ticket_form_id` | number | Ticket form ID |
| ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
| `paging` | object | Pagination information | | `paging` | object | Pagination information |
| ↳ `next_page` | string | URL for next page of results | | ↳ `next_page` | string | URL for next page of results |
| ↳ `previous_page` | string | URL for previous page of results | | ↳ `previous_page` | string | URL for previous page of results |
| ↳ `count` | number | Total count of items | | ↳ `count` | number | Total count of tickets |
| `metadata` | object | Response metadata | | `metadata` | object | Response metadata |
| ↳ `total_returned` | number | Number of items returned in this response | | ↳ `total_returned` | number | Number of tickets returned in this response |
| ↳ `has_more` | boolean | Whether more items are available | | ↳ `has_more` | boolean | Whether more tickets are available |
### `zendesk_get_ticket` ### `zendesk_get_ticket`
@@ -155,58 +103,6 @@ Get a single ticket by ID from Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ticket` | object | Ticket object | | `ticket` | object | Ticket object |
| ↳ `id` | number | Automatically assigned ticket ID |
| ↳ `url` | string | API URL of the ticket |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `via` | object | How the ticket was created |
| ↳ `channel` | string | Channel through which the ticket was created \(e.g., email, web, api\) |
| ↳ `source` | object | Source details for the channel |
| ↳ `from` | object | Information about the source sender |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the sender |
| ↳ `to` | object | Information about the recipient |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the recipient |
| ↳ `rel` | string | Relationship type |
| ↳ `created_at` | string | When the ticket was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the ticket was last updated \(ISO 8601 format\) |
| ↳ `type` | string | Ticket type \(problem, incident, question, task\) |
| ↳ `subject` | string | Subject of the ticket |
| ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
| ↳ `description` | string | Read-only first comment on the ticket |
| ↳ `priority` | string | Priority level \(low, normal, high, urgent\) |
| ↳ `status` | string | Ticket status \(new, open, pending, hold, solved, closed\) |
| ↳ `recipient` | string | Original recipient email address |
| ↳ `requester_id` | number | User ID of the ticket requester |
| ↳ `submitter_id` | number | User ID of the ticket submitter |
| ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
| ↳ `organization_id` | number | Organization ID of the requester |
| ↳ `group_id` | number | Group ID assigned to the ticket |
| ↳ `collaborator_ids` | array | User IDs of collaborators \(CC\) |
| ↳ `follower_ids` | array | User IDs of followers |
| ↳ `email_cc_ids` | array | User IDs of email CCs |
| ↳ `forum_topic_id` | number | Topic ID in the community forum |
| ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
| ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
| ↳ `is_public` | boolean | Whether the first comment is public |
| ↳ `due_at` | string | Due date for task tickets \(ISO 8601 format\) |
| ↳ `tags` | array | Tags associated with the ticket |
| ↳ `custom_fields` | array | Custom ticket fields |
| ↳ `id` | number | Custom field ID |
| ↳ `value` | string | Custom field value |
| ↳ `custom_status_id` | number | Custom status ID |
| ↳ `satisfaction_rating` | object | Customer satisfaction rating |
| ↳ `id` | number | Satisfaction rating ID |
| ↳ `score` | string | Rating score \(e.g., good, bad, offered, unoffered\) |
| ↳ `comment` | string | Comment left with the rating |
| ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
| ↳ `followup_ids` | array | IDs of follow-up tickets |
| ↳ `brand_id` | number | Brand ID the ticket belongs to |
| ↳ `allow_attachments` | boolean | Whether attachments are allowed |
| ↳ `allow_channelback` | boolean | Whether channelback is enabled |
| ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
| ↳ `ticket_form_id` | number | Ticket form ID |
| ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
| `ticket_id` | number | The ticket ID | | `ticket_id` | number | The ticket ID |
### `zendesk_create_ticket` ### `zendesk_create_ticket`
@@ -236,58 +132,6 @@ Create a new ticket in Zendesk with support for custom fields
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ticket` | object | Created ticket object | | `ticket` | object | Created ticket object |
| ↳ `id` | number | Automatically assigned ticket ID |
| ↳ `url` | string | API URL of the ticket |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `via` | object | How the ticket was created |
| ↳ `channel` | string | Channel through which the ticket was created \(e.g., email, web, api\) |
| ↳ `source` | object | Source details for the channel |
| ↳ `from` | object | Information about the source sender |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the sender |
| ↳ `to` | object | Information about the recipient |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the recipient |
| ↳ `rel` | string | Relationship type |
| ↳ `created_at` | string | When the ticket was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the ticket was last updated \(ISO 8601 format\) |
| ↳ `type` | string | Ticket type \(problem, incident, question, task\) |
| ↳ `subject` | string | Subject of the ticket |
| ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
| ↳ `description` | string | Read-only first comment on the ticket |
| ↳ `priority` | string | Priority level \(low, normal, high, urgent\) |
| ↳ `status` | string | Ticket status \(new, open, pending, hold, solved, closed\) |
| ↳ `recipient` | string | Original recipient email address |
| ↳ `requester_id` | number | User ID of the ticket requester |
| ↳ `submitter_id` | number | User ID of the ticket submitter |
| ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
| ↳ `organization_id` | number | Organization ID of the requester |
| ↳ `group_id` | number | Group ID assigned to the ticket |
| ↳ `collaborator_ids` | array | User IDs of collaborators \(CC\) |
| ↳ `follower_ids` | array | User IDs of followers |
| ↳ `email_cc_ids` | array | User IDs of email CCs |
| ↳ `forum_topic_id` | number | Topic ID in the community forum |
| ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
| ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
| ↳ `is_public` | boolean | Whether the first comment is public |
| ↳ `due_at` | string | Due date for task tickets \(ISO 8601 format\) |
| ↳ `tags` | array | Tags associated with the ticket |
| ↳ `custom_fields` | array | Custom ticket fields |
| ↳ `id` | number | Custom field ID |
| ↳ `value` | string | Custom field value |
| ↳ `custom_status_id` | number | Custom status ID |
| ↳ `satisfaction_rating` | object | Customer satisfaction rating |
| ↳ `id` | number | Satisfaction rating ID |
| ↳ `score` | string | Rating score \(e.g., good, bad, offered, unoffered\) |
| ↳ `comment` | string | Comment left with the rating |
| ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
| ↳ `followup_ids` | array | IDs of follow-up tickets |
| ↳ `brand_id` | number | Brand ID the ticket belongs to |
| ↳ `allow_attachments` | boolean | Whether attachments are allowed |
| ↳ `allow_channelback` | boolean | Whether channelback is enabled |
| ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
| ↳ `ticket_form_id` | number | Ticket form ID |
| ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
| `ticket_id` | number | The created ticket ID | | `ticket_id` | number | The created ticket ID |
### `zendesk_create_tickets_bulk` ### `zendesk_create_tickets_bulk`
@@ -307,21 +151,7 @@ Create multiple tickets in Zendesk at once (max 100)
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `job_status` | object | Job status object for bulk operations | | `job_status` | object | Job status object |
| ↳ `id` | string | Automatically assigned job ID |
| ↳ `url` | string | URL to poll for status updates |
| ↳ `status` | string | Current job status \(queued, working, failed, completed\) |
| ↳ `job_type` | string | Category of background task |
| ↳ `total` | number | Total number of tasks in this job |
| ↳ `progress` | number | Number of tasks already completed |
| ↳ `message` | string | Message from the job worker |
| ↳ `results` | array | Array of result objects from the job |
| ↳ `id` | number | ID of the created or updated resource |
| ↳ `index` | number | Position of the result in the batch |
| ↳ `action` | string | Action performed \(e.g., create, update\) |
| ↳ `success` | boolean | Whether the operation succeeded |
| ↳ `status` | string | Status message \(e.g., Updated, Created\) |
| ↳ `error` | string | Error message if operation failed |
| `job_id` | string | The bulk operation job ID | | `job_id` | string | The bulk operation job ID |
### `zendesk_update_ticket` ### `zendesk_update_ticket`
@@ -351,58 +181,6 @@ Update an existing ticket in Zendesk with support for custom fields
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `ticket` | object | Updated ticket object | | `ticket` | object | Updated ticket object |
| ↳ `id` | number | Automatically assigned ticket ID |
| ↳ `url` | string | API URL of the ticket |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `via` | object | How the ticket was created |
| ↳ `channel` | string | Channel through which the ticket was created \(e.g., email, web, api\) |
| ↳ `source` | object | Source details for the channel |
| ↳ `from` | object | Information about the source sender |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the sender |
| ↳ `to` | object | Information about the recipient |
| ↳ `address` | string | Email address or other identifier |
| ↳ `name` | string | Name of the recipient |
| ↳ `rel` | string | Relationship type |
| ↳ `created_at` | string | When the ticket was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the ticket was last updated \(ISO 8601 format\) |
| ↳ `type` | string | Ticket type \(problem, incident, question, task\) |
| ↳ `subject` | string | Subject of the ticket |
| ↳ `raw_subject` | string | Subject of the ticket as entered by the requester |
| ↳ `description` | string | Read-only first comment on the ticket |
| ↳ `priority` | string | Priority level \(low, normal, high, urgent\) |
| ↳ `status` | string | Ticket status \(new, open, pending, hold, solved, closed\) |
| ↳ `recipient` | string | Original recipient email address |
| ↳ `requester_id` | number | User ID of the ticket requester |
| ↳ `submitter_id` | number | User ID of the ticket submitter |
| ↳ `assignee_id` | number | User ID of the agent assigned to the ticket |
| ↳ `organization_id` | number | Organization ID of the requester |
| ↳ `group_id` | number | Group ID assigned to the ticket |
| ↳ `collaborator_ids` | array | User IDs of collaborators \(CC\) |
| ↳ `follower_ids` | array | User IDs of followers |
| ↳ `email_cc_ids` | array | User IDs of email CCs |
| ↳ `forum_topic_id` | number | Topic ID in the community forum |
| ↳ `problem_id` | number | For incident tickets, the ID of the associated problem ticket |
| ↳ `has_incidents` | boolean | Whether the ticket has incident tickets linked |
| ↳ `is_public` | boolean | Whether the first comment is public |
| ↳ `due_at` | string | Due date for task tickets \(ISO 8601 format\) |
| ↳ `tags` | array | Tags associated with the ticket |
| ↳ `custom_fields` | array | Custom ticket fields |
| ↳ `id` | number | Custom field ID |
| ↳ `value` | string | Custom field value |
| ↳ `custom_status_id` | number | Custom status ID |
| ↳ `satisfaction_rating` | object | Customer satisfaction rating |
| ↳ `id` | number | Satisfaction rating ID |
| ↳ `score` | string | Rating score \(e.g., good, bad, offered, unoffered\) |
| ↳ `comment` | string | Comment left with the rating |
| ↳ `sharing_agreement_ids` | array | Sharing agreement IDs |
| ↳ `followup_ids` | array | IDs of follow-up tickets |
| ↳ `brand_id` | number | Brand ID the ticket belongs to |
| ↳ `allow_attachments` | boolean | Whether attachments are allowed |
| ↳ `allow_channelback` | boolean | Whether channelback is enabled |
| ↳ `from_messaging_channel` | boolean | Whether the ticket originated from a messaging channel |
| ↳ `ticket_form_id` | number | Ticket form ID |
| ↳ `generated_timestamp` | number | Unix timestamp of the ticket generation |
| `ticket_id` | number | The updated ticket ID | | `ticket_id` | number | The updated ticket ID |
### `zendesk_update_tickets_bulk` ### `zendesk_update_tickets_bulk`
@@ -427,21 +205,7 @@ Update multiple tickets in Zendesk at once (max 100)
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `job_status` | object | Job status object for bulk operations | | `job_status` | object | Job status object |
| ↳ `id` | string | Automatically assigned job ID |
| ↳ `url` | string | URL to poll for status updates |
| ↳ `status` | string | Current job status \(queued, working, failed, completed\) |
| ↳ `job_type` | string | Category of background task |
| ↳ `total` | number | Total number of tasks in this job |
| ↳ `progress` | number | Number of tasks already completed |
| ↳ `message` | string | Message from the job worker |
| ↳ `results` | array | Array of result objects from the job |
| ↳ `id` | number | ID of the created or updated resource |
| ↳ `index` | number | Position of the result in the batch |
| ↳ `action` | string | Action performed \(e.g., create, update\) |
| ↳ `success` | boolean | Whether the operation succeeded |
| ↳ `status` | string | Status message \(e.g., Updated, Created\) |
| ↳ `error` | string | Error message if operation failed |
| `job_id` | string | The bulk operation job ID | | `job_id` | string | The bulk operation job ID |
### `zendesk_delete_ticket` ### `zendesk_delete_ticket`
@@ -483,21 +247,7 @@ Merge multiple tickets into a target ticket
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `job_status` | object | Job status object for bulk operations | | `job_status` | object | Job status object |
| ↳ `id` | string | Automatically assigned job ID |
| ↳ `url` | string | URL to poll for status updates |
| ↳ `status` | string | Current job status \(queued, working, failed, completed\) |
| ↳ `job_type` | string | Category of background task |
| ↳ `total` | number | Total number of tasks in this job |
| ↳ `progress` | number | Number of tasks already completed |
| ↳ `message` | string | Message from the job worker |
| ↳ `results` | array | Array of result objects from the job |
| ↳ `id` | number | ID of the created or updated resource |
| ↳ `index` | number | Position of the result in the batch |
| ↳ `action` | string | Action performed \(e.g., create, update\) |
| ↳ `success` | boolean | Whether the operation succeeded |
| ↳ `status` | string | Status message \(e.g., Updated, Created\) |
| ↳ `error` | string | Error message if operation failed |
| `job_id` | string | The merge job ID | | `job_id` | string | The merge job ID |
| `target_ticket_id` | string | The target ticket ID that tickets were merged into | | `target_ticket_id` | string | The target ticket ID that tickets were merged into |
@@ -522,54 +272,13 @@ Retrieve a list of users from Zendesk with optional filtering
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `users` | array | Array of user objects | | `users` | array | Array of user objects |
| ↳ `id` | number | Automatically assigned user ID |
| ↳ `url` | string | API URL of the user |
| ↳ `name` | string | User name |
| ↳ `email` | string | Primary email address |
| ↳ `created_at` | string | When the user was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the user was last updated \(ISO 8601 format\) |
| ↳ `time_zone` | string | Time zone \(e.g., Eastern Time \(US & Canada\)\) |
| ↳ `iana_time_zone` | string | IANA time zone \(e.g., America/New_York\) |
| ↳ `phone` | string | Phone number |
| ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
| ↳ `photo` | object | User photo details |
| ↳ `content_url` | string | URL to the photo |
| ↳ `file_name` | string | Photo file name |
| ↳ `size` | number | File size in bytes |
| ↳ `locale` | string | Locale \(e.g., en-US\) |
| ↳ `locale_id` | number | Locale ID |
| ↳ `organization_id` | number | Primary organization ID |
| ↳ `role` | string | User role \(end-user, agent, admin\) |
| ↳ `role_type` | number | Role type identifier |
| ↳ `custom_role_id` | number | Custom role ID |
| ↳ `active` | boolean | Whether the user is active \(false if deleted\) |
| ↳ `verified` | boolean | Whether any user identity has been verified |
| ↳ `alias` | string | Alias displayed to end users |
| ↳ `details` | string | Details about the user |
| ↳ `notes` | string | Notes about the user |
| ↳ `signature` | string | User signature for email replies |
| ↳ `default_group_id` | number | Default group ID for the user |
| ↳ `tags` | array | Tags associated with the user |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
| ↳ `suspended` | boolean | Whether the user is suspended |
| ↳ `moderator` | boolean | Whether the user has moderator permissions |
| ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
| ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
| ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
| ↳ `last_login_at` | string | Last login time \(ISO 8601 format\) |
| ↳ `ticket_restriction` | string | Ticket access restriction \(organization, groups, assigned, requested\) |
| ↳ `user_fields` | json | Custom user fields \(dynamic key-value pairs\) |
| ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
| ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
| ↳ `remote_photo_url` | string | URL to a remote photo |
| `paging` | object | Pagination information | | `paging` | object | Pagination information |
| ↳ `next_page` | string | URL for next page of results | | ↳ `next_page` | string | URL for next page of results |
| ↳ `previous_page` | string | URL for previous page of results | | ↳ `previous_page` | string | URL for previous page of results |
| ↳ `count` | number | Total count of items | | ↳ `count` | number | Total count of users |
| `metadata` | object | Response metadata | | `metadata` | object | Response metadata |
| ↳ `total_returned` | number | Number of items returned in this response | | ↳ `total_returned` | number | Number of users returned in this response |
| ↳ `has_more` | boolean | Whether more items are available | | ↳ `has_more` | boolean | Whether more users are available |
### `zendesk_get_user` ### `zendesk_get_user`
@@ -589,47 +298,6 @@ Get a single user by ID from Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `user` | object | User object | | `user` | object | User object |
| ↳ `id` | number | Automatically assigned user ID |
| ↳ `url` | string | API URL of the user |
| ↳ `name` | string | User name |
| ↳ `email` | string | Primary email address |
| ↳ `created_at` | string | When the user was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the user was last updated \(ISO 8601 format\) |
| ↳ `time_zone` | string | Time zone \(e.g., Eastern Time \(US & Canada\)\) |
| ↳ `iana_time_zone` | string | IANA time zone \(e.g., America/New_York\) |
| ↳ `phone` | string | Phone number |
| ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
| ↳ `photo` | object | User photo details |
| ↳ `content_url` | string | URL to the photo |
| ↳ `file_name` | string | Photo file name |
| ↳ `size` | number | File size in bytes |
| ↳ `locale` | string | Locale \(e.g., en-US\) |
| ↳ `locale_id` | number | Locale ID |
| ↳ `organization_id` | number | Primary organization ID |
| ↳ `role` | string | User role \(end-user, agent, admin\) |
| ↳ `role_type` | number | Role type identifier |
| ↳ `custom_role_id` | number | Custom role ID |
| ↳ `active` | boolean | Whether the user is active \(false if deleted\) |
| ↳ `verified` | boolean | Whether any user identity has been verified |
| ↳ `alias` | string | Alias displayed to end users |
| ↳ `details` | string | Details about the user |
| ↳ `notes` | string | Notes about the user |
| ↳ `signature` | string | User signature for email replies |
| ↳ `default_group_id` | number | Default group ID for the user |
| ↳ `tags` | array | Tags associated with the user |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
| ↳ `suspended` | boolean | Whether the user is suspended |
| ↳ `moderator` | boolean | Whether the user has moderator permissions |
| ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
| ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
| ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
| ↳ `last_login_at` | string | Last login time \(ISO 8601 format\) |
| ↳ `ticket_restriction` | string | Ticket access restriction \(organization, groups, assigned, requested\) |
| ↳ `user_fields` | json | Custom user fields \(dynamic key-value pairs\) |
| ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
| ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
| ↳ `remote_photo_url` | string | URL to a remote photo |
| `user_id` | number | The user ID | | `user_id` | number | The user ID |
### `zendesk_get_current_user` ### `zendesk_get_current_user`
@@ -649,47 +317,6 @@ Get the currently authenticated user from Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `user` | object | Current user object | | `user` | object | Current user object |
| ↳ `id` | number | Automatically assigned user ID |
| ↳ `url` | string | API URL of the user |
| ↳ `name` | string | User name |
| ↳ `email` | string | Primary email address |
| ↳ `created_at` | string | When the user was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the user was last updated \(ISO 8601 format\) |
| ↳ `time_zone` | string | Time zone \(e.g., Eastern Time \(US & Canada\)\) |
| ↳ `iana_time_zone` | string | IANA time zone \(e.g., America/New_York\) |
| ↳ `phone` | string | Phone number |
| ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
| ↳ `photo` | object | User photo details |
| ↳ `content_url` | string | URL to the photo |
| ↳ `file_name` | string | Photo file name |
| ↳ `size` | number | File size in bytes |
| ↳ `locale` | string | Locale \(e.g., en-US\) |
| ↳ `locale_id` | number | Locale ID |
| ↳ `organization_id` | number | Primary organization ID |
| ↳ `role` | string | User role \(end-user, agent, admin\) |
| ↳ `role_type` | number | Role type identifier |
| ↳ `custom_role_id` | number | Custom role ID |
| ↳ `active` | boolean | Whether the user is active \(false if deleted\) |
| ↳ `verified` | boolean | Whether any user identity has been verified |
| ↳ `alias` | string | Alias displayed to end users |
| ↳ `details` | string | Details about the user |
| ↳ `notes` | string | Notes about the user |
| ↳ `signature` | string | User signature for email replies |
| ↳ `default_group_id` | number | Default group ID for the user |
| ↳ `tags` | array | Tags associated with the user |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
| ↳ `suspended` | boolean | Whether the user is suspended |
| ↳ `moderator` | boolean | Whether the user has moderator permissions |
| ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
| ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
| ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
| ↳ `last_login_at` | string | Last login time \(ISO 8601 format\) |
| ↳ `ticket_restriction` | string | Ticket access restriction \(organization, groups, assigned, requested\) |
| ↳ `user_fields` | json | Custom user fields \(dynamic key-value pairs\) |
| ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
| ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
| ↳ `remote_photo_url` | string | URL to a remote photo |
| `user_id` | number | The current user ID | | `user_id` | number | The current user ID |
### `zendesk_search_users` ### `zendesk_search_users`
@@ -713,54 +340,13 @@ Search for users in Zendesk using a query string
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `users` | array | Array of user objects | | `users` | array | Array of user objects |
| ↳ `id` | number | Automatically assigned user ID |
| ↳ `url` | string | API URL of the user |
| ↳ `name` | string | User name |
| ↳ `email` | string | Primary email address |
| ↳ `created_at` | string | When the user was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the user was last updated \(ISO 8601 format\) |
| ↳ `time_zone` | string | Time zone \(e.g., Eastern Time \(US & Canada\)\) |
| ↳ `iana_time_zone` | string | IANA time zone \(e.g., America/New_York\) |
| ↳ `phone` | string | Phone number |
| ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
| ↳ `photo` | object | User photo details |
| ↳ `content_url` | string | URL to the photo |
| ↳ `file_name` | string | Photo file name |
| ↳ `size` | number | File size in bytes |
| ↳ `locale` | string | Locale \(e.g., en-US\) |
| ↳ `locale_id` | number | Locale ID |
| ↳ `organization_id` | number | Primary organization ID |
| ↳ `role` | string | User role \(end-user, agent, admin\) |
| ↳ `role_type` | number | Role type identifier |
| ↳ `custom_role_id` | number | Custom role ID |
| ↳ `active` | boolean | Whether the user is active \(false if deleted\) |
| ↳ `verified` | boolean | Whether any user identity has been verified |
| ↳ `alias` | string | Alias displayed to end users |
| ↳ `details` | string | Details about the user |
| ↳ `notes` | string | Notes about the user |
| ↳ `signature` | string | User signature for email replies |
| ↳ `default_group_id` | number | Default group ID for the user |
| ↳ `tags` | array | Tags associated with the user |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
| ↳ `suspended` | boolean | Whether the user is suspended |
| ↳ `moderator` | boolean | Whether the user has moderator permissions |
| ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
| ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
| ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
| ↳ `last_login_at` | string | Last login time \(ISO 8601 format\) |
| ↳ `ticket_restriction` | string | Ticket access restriction \(organization, groups, assigned, requested\) |
| ↳ `user_fields` | json | Custom user fields \(dynamic key-value pairs\) |
| ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
| ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
| ↳ `remote_photo_url` | string | URL to a remote photo |
| `paging` | object | Pagination information | | `paging` | object | Pagination information |
| ↳ `next_page` | string | URL for next page of results | | ↳ `next_page` | string | URL for next page of results |
| ↳ `previous_page` | string | URL for previous page of results | | ↳ `previous_page` | string | URL for previous page of results |
| ↳ `count` | number | Total count of items | | ↳ `count` | number | Total count of users |
| `metadata` | object | Response metadata | | `metadata` | object | Response metadata |
| ↳ `total_returned` | number | Number of items returned in this response | | ↳ `total_returned` | number | Number of users returned in this response |
| ↳ `has_more` | boolean | Whether more items are available | | ↳ `has_more` | boolean | Whether more users are available |
### `zendesk_create_user` ### `zendesk_create_user`
@@ -787,47 +373,6 @@ Create a new user in Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `user` | object | Created user object | | `user` | object | Created user object |
| ↳ `id` | number | Automatically assigned user ID |
| ↳ `url` | string | API URL of the user |
| ↳ `name` | string | User name |
| ↳ `email` | string | Primary email address |
| ↳ `created_at` | string | When the user was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the user was last updated \(ISO 8601 format\) |
| ↳ `time_zone` | string | Time zone \(e.g., Eastern Time \(US & Canada\)\) |
| ↳ `iana_time_zone` | string | IANA time zone \(e.g., America/New_York\) |
| ↳ `phone` | string | Phone number |
| ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
| ↳ `photo` | object | User photo details |
| ↳ `content_url` | string | URL to the photo |
| ↳ `file_name` | string | Photo file name |
| ↳ `size` | number | File size in bytes |
| ↳ `locale` | string | Locale \(e.g., en-US\) |
| ↳ `locale_id` | number | Locale ID |
| ↳ `organization_id` | number | Primary organization ID |
| ↳ `role` | string | User role \(end-user, agent, admin\) |
| ↳ `role_type` | number | Role type identifier |
| ↳ `custom_role_id` | number | Custom role ID |
| ↳ `active` | boolean | Whether the user is active \(false if deleted\) |
| ↳ `verified` | boolean | Whether any user identity has been verified |
| ↳ `alias` | string | Alias displayed to end users |
| ↳ `details` | string | Details about the user |
| ↳ `notes` | string | Notes about the user |
| ↳ `signature` | string | User signature for email replies |
| ↳ `default_group_id` | number | Default group ID for the user |
| ↳ `tags` | array | Tags associated with the user |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
| ↳ `suspended` | boolean | Whether the user is suspended |
| ↳ `moderator` | boolean | Whether the user has moderator permissions |
| ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
| ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
| ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
| ↳ `last_login_at` | string | Last login time \(ISO 8601 format\) |
| ↳ `ticket_restriction` | string | Ticket access restriction \(organization, groups, assigned, requested\) |
| ↳ `user_fields` | json | Custom user fields \(dynamic key-value pairs\) |
| ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
| ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
| ↳ `remote_photo_url` | string | URL to a remote photo |
| `user_id` | number | The created user ID | | `user_id` | number | The created user ID |
### `zendesk_create_users_bulk` ### `zendesk_create_users_bulk`
@@ -847,21 +392,7 @@ Create multiple users in Zendesk using bulk import
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `job_status` | object | Job status object for bulk operations | | `job_status` | object | Job status object |
| ↳ `id` | string | Automatically assigned job ID |
| ↳ `url` | string | URL to poll for status updates |
| ↳ `status` | string | Current job status \(queued, working, failed, completed\) |
| ↳ `job_type` | string | Category of background task |
| ↳ `total` | number | Total number of tasks in this job |
| ↳ `progress` | number | Number of tasks already completed |
| ↳ `message` | string | Message from the job worker |
| ↳ `results` | array | Array of result objects from the job |
| ↳ `id` | number | ID of the created or updated resource |
| ↳ `index` | number | Position of the result in the batch |
| ↳ `action` | string | Action performed \(e.g., create, update\) |
| ↳ `success` | boolean | Whether the operation succeeded |
| ↳ `status` | string | Status message \(e.g., Updated, Created\) |
| ↳ `error` | string | Error message if operation failed |
| `job_id` | string | The bulk operation job ID | | `job_id` | string | The bulk operation job ID |
### `zendesk_update_user` ### `zendesk_update_user`
@@ -889,48 +420,7 @@ Update an existing user in Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `user` | object | Updated user object | | `user` | json | Updated user object |
| ↳ `id` | number | Automatically assigned user ID |
| ↳ `url` | string | API URL of the user |
| ↳ `name` | string | User name |
| ↳ `email` | string | Primary email address |
| ↳ `created_at` | string | When the user was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the user was last updated \(ISO 8601 format\) |
| ↳ `time_zone` | string | Time zone \(e.g., Eastern Time \(US & Canada\)\) |
| ↳ `iana_time_zone` | string | IANA time zone \(e.g., America/New_York\) |
| ↳ `phone` | string | Phone number |
| ↳ `shared_phone_number` | boolean | Whether the phone number is shared |
| ↳ `photo` | object | User photo details |
| ↳ `content_url` | string | URL to the photo |
| ↳ `file_name` | string | Photo file name |
| ↳ `size` | number | File size in bytes |
| ↳ `locale` | string | Locale \(e.g., en-US\) |
| ↳ `locale_id` | number | Locale ID |
| ↳ `organization_id` | number | Primary organization ID |
| ↳ `role` | string | User role \(end-user, agent, admin\) |
| ↳ `role_type` | number | Role type identifier |
| ↳ `custom_role_id` | number | Custom role ID |
| ↳ `active` | boolean | Whether the user is active \(false if deleted\) |
| ↳ `verified` | boolean | Whether any user identity has been verified |
| ↳ `alias` | string | Alias displayed to end users |
| ↳ `details` | string | Details about the user |
| ↳ `notes` | string | Notes about the user |
| ↳ `signature` | string | User signature for email replies |
| ↳ `default_group_id` | number | Default group ID for the user |
| ↳ `tags` | array | Tags associated with the user |
| ↳ `external_id` | string | External ID for linking to external records |
| ↳ `restricted_agent` | boolean | Whether the agent has restrictions |
| ↳ `suspended` | boolean | Whether the user is suspended |
| ↳ `moderator` | boolean | Whether the user has moderator permissions |
| ↳ `chat_only` | boolean | Whether the user is a chat-only agent |
| ↳ `only_private_comments` | boolean | Whether the user can only create private comments |
| ↳ `two_factor_auth_enabled` | boolean | Whether two-factor auth is enabled |
| ↳ `last_login_at` | string | Last login time \(ISO 8601 format\) |
| ↳ `ticket_restriction` | string | Ticket access restriction \(organization, groups, assigned, requested\) |
| ↳ `user_fields` | json | Custom user fields \(dynamic key-value pairs\) |
| ↳ `shared` | boolean | Whether the user is shared from a different Zendesk |
| ↳ `shared_agent` | boolean | Whether the agent is shared from a different Zendesk |
| ↳ `remote_photo_url` | string | URL to a remote photo |
| `user_id` | number | The updated user ID | | `user_id` | number | The updated user ID |
### `zendesk_update_users_bulk` ### `zendesk_update_users_bulk`
@@ -950,21 +440,7 @@ Update multiple users in Zendesk using bulk update
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `job_status` | object | Job status object for bulk operations | | `job_status` | object | Job status object |
| ↳ `id` | string | Automatically assigned job ID |
| ↳ `url` | string | URL to poll for status updates |
| ↳ `status` | string | Current job status \(queued, working, failed, completed\) |
| ↳ `job_type` | string | Category of background task |
| ↳ `total` | number | Total number of tasks in this job |
| ↳ `progress` | number | Number of tasks already completed |
| ↳ `message` | string | Message from the job worker |
| ↳ `results` | array | Array of result objects from the job |
| ↳ `id` | number | ID of the created or updated resource |
| ↳ `index` | number | Position of the result in the batch |
| ↳ `action` | string | Action performed \(e.g., create, update\) |
| ↳ `success` | boolean | Whether the operation succeeded |
| ↳ `status` | string | Status message \(e.g., Updated, Created\) |
| ↳ `error` | string | Error message if operation failed |
| `job_id` | string | The bulk operation job ID | | `job_id` | string | The bulk operation job ID |
### `zendesk_delete_user` ### `zendesk_delete_user`
@@ -1006,27 +482,13 @@ Retrieve a list of organizations from Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `organizations` | array | Array of organization objects | | `organizations` | array | Array of organization objects |
| ↳ `id` | number | Automatically assigned organization ID |
| ↳ `url` | string | API URL of the organization |
| ↳ `name` | string | Unique organization name |
| ↳ `domain_names` | array | Domain names for automatic user assignment |
| ↳ `details` | string | Details about the organization |
| ↳ `notes` | string | Notes about the organization |
| ↳ `group_id` | number | Group ID for auto-routing new tickets |
| ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
| ↳ `shared_comments` | boolean | Whether end users can see each others comments |
| ↳ `tags` | array | Tags associated with the organization |
| ↳ `organization_fields` | json | Custom organization fields \(dynamic key-value pairs\) |
| ↳ `created_at` | string | When the organization was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the organization was last updated \(ISO 8601 format\) |
| ↳ `external_id` | string | External ID for linking to external records |
| `paging` | object | Pagination information | | `paging` | object | Pagination information |
| ↳ `next_page` | string | URL for next page of results | | ↳ `next_page` | string | URL for next page of results |
| ↳ `previous_page` | string | URL for previous page of results | | ↳ `previous_page` | string | URL for previous page of results |
| ↳ `count` | number | Total count of items | | ↳ `count` | number | Total count of organizations |
| `metadata` | object | Response metadata | | `metadata` | object | Response metadata |
| ↳ `total_returned` | number | Number of items returned in this response | | ↳ `total_returned` | number | Number of organizations returned in this response |
| ↳ `has_more` | boolean | Whether more items are available | | ↳ `has_more` | boolean | Whether more organizations are available |
### `zendesk_get_organization` ### `zendesk_get_organization`
@@ -1045,21 +507,7 @@ Get a single organization by ID from Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `organization` | object | Organization object | | `organization` | json | Organization object |
| ↳ `id` | number | Automatically assigned organization ID |
| ↳ `url` | string | API URL of the organization |
| ↳ `name` | string | Unique organization name |
| ↳ `domain_names` | array | Domain names for automatic user assignment |
| ↳ `details` | string | Details about the organization |
| ↳ `notes` | string | Notes about the organization |
| ↳ `group_id` | number | Group ID for auto-routing new tickets |
| ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
| ↳ `shared_comments` | boolean | Whether end users can see each others comments |
| ↳ `tags` | array | Tags associated with the organization |
| ↳ `organization_fields` | json | Custom organization fields \(dynamic key-value pairs\) |
| ↳ `created_at` | string | When the organization was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the organization was last updated \(ISO 8601 format\) |
| ↳ `external_id` | string | External ID for linking to external records |
| `organization_id` | number | The organization ID | | `organization_id` | number | The organization ID |
### `zendesk_autocomplete_organizations` ### `zendesk_autocomplete_organizations`
@@ -1082,27 +530,13 @@ Autocomplete organizations in Zendesk by name prefix (for name matching/autocomp
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `organizations` | array | Array of organization objects | | `organizations` | array | Array of organization objects |
| ↳ `id` | number | Automatically assigned organization ID |
| ↳ `url` | string | API URL of the organization |
| ↳ `name` | string | Unique organization name |
| ↳ `domain_names` | array | Domain names for automatic user assignment |
| ↳ `details` | string | Details about the organization |
| ↳ `notes` | string | Notes about the organization |
| ↳ `group_id` | number | Group ID for auto-routing new tickets |
| ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
| ↳ `shared_comments` | boolean | Whether end users can see each others comments |
| ↳ `tags` | array | Tags associated with the organization |
| ↳ `organization_fields` | json | Custom organization fields \(dynamic key-value pairs\) |
| ↳ `created_at` | string | When the organization was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the organization was last updated \(ISO 8601 format\) |
| ↳ `external_id` | string | External ID for linking to external records |
| `paging` | object | Pagination information | | `paging` | object | Pagination information |
| ↳ `next_page` | string | URL for next page of results | | ↳ `next_page` | string | URL for next page of results |
| ↳ `previous_page` | string | URL for previous page of results | | ↳ `previous_page` | string | URL for previous page of results |
| ↳ `count` | number | Total count of items | | ↳ `count` | number | Total count of organizations |
| `metadata` | object | Response metadata | | `metadata` | object | Response metadata |
| ↳ `total_returned` | number | Number of items returned in this response | | ↳ `total_returned` | number | Number of organizations returned in this response |
| ↳ `has_more` | boolean | Whether more items are available | | ↳ `has_more` | boolean | Whether more organizations are available |
### `zendesk_create_organization` ### `zendesk_create_organization`
@@ -1126,21 +560,7 @@ Create a new organization in Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `organization` | object | Created organization object | | `organization` | json | Created organization object |
| ↳ `id` | number | Automatically assigned organization ID |
| ↳ `url` | string | API URL of the organization |
| ↳ `name` | string | Unique organization name |
| ↳ `domain_names` | array | Domain names for automatic user assignment |
| ↳ `details` | string | Details about the organization |
| ↳ `notes` | string | Notes about the organization |
| ↳ `group_id` | number | Group ID for auto-routing new tickets |
| ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
| ↳ `shared_comments` | boolean | Whether end users can see each others comments |
| ↳ `tags` | array | Tags associated with the organization |
| ↳ `organization_fields` | json | Custom organization fields \(dynamic key-value pairs\) |
| ↳ `created_at` | string | When the organization was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the organization was last updated \(ISO 8601 format\) |
| ↳ `external_id` | string | External ID for linking to external records |
| `organization_id` | number | The created organization ID | | `organization_id` | number | The created organization ID |
### `zendesk_create_organizations_bulk` ### `zendesk_create_organizations_bulk`
@@ -1160,21 +580,7 @@ Create multiple organizations in Zendesk using bulk import
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `job_status` | object | Job status object for bulk operations | | `job_status` | object | Job status object |
| ↳ `id` | string | Automatically assigned job ID |
| ↳ `url` | string | URL to poll for status updates |
| ↳ `status` | string | Current job status \(queued, working, failed, completed\) |
| ↳ `job_type` | string | Category of background task |
| ↳ `total` | number | Total number of tasks in this job |
| ↳ `progress` | number | Number of tasks already completed |
| ↳ `message` | string | Message from the job worker |
| ↳ `results` | array | Array of result objects from the job |
| ↳ `id` | number | ID of the created or updated resource |
| ↳ `index` | number | Position of the result in the batch |
| ↳ `action` | string | Action performed \(e.g., create, update\) |
| ↳ `success` | boolean | Whether the operation succeeded |
| ↳ `status` | string | Status message \(e.g., Updated, Created\) |
| ↳ `error` | string | Error message if operation failed |
| `job_id` | string | The bulk operation job ID | | `job_id` | string | The bulk operation job ID |
### `zendesk_update_organization` ### `zendesk_update_organization`
@@ -1200,21 +606,7 @@ Update an existing organization in Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `organization` | object | Updated organization object | | `organization` | json | Updated organization object |
| ↳ `id` | number | Automatically assigned organization ID |
| ↳ `url` | string | API URL of the organization |
| ↳ `name` | string | Unique organization name |
| ↳ `domain_names` | array | Domain names for automatic user assignment |
| ↳ `details` | string | Details about the organization |
| ↳ `notes` | string | Notes about the organization |
| ↳ `group_id` | number | Group ID for auto-routing new tickets |
| ↳ `shared_tickets` | boolean | Whether end users can see each others tickets |
| ↳ `shared_comments` | boolean | Whether end users can see each others comments |
| ↳ `tags` | array | Tags associated with the organization |
| ↳ `organization_fields` | json | Custom organization fields \(dynamic key-value pairs\) |
| ↳ `created_at` | string | When the organization was created \(ISO 8601 format\) |
| ↳ `updated_at` | string | When the organization was last updated \(ISO 8601 format\) |
| ↳ `external_id` | string | External ID for linking to external records |
| `organization_id` | number | The updated organization ID | | `organization_id` | number | The updated organization ID |
### `zendesk_delete_organization` ### `zendesk_delete_organization`
@@ -1258,14 +650,14 @@ Unified search across tickets, users, and organizations in Zendesk
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `results` | array | Array of result objects |
| `paging` | object | Pagination information | | `paging` | object | Pagination information |
| ↳ `next_page` | string | URL for next page of results | | ↳ `next_page` | string | URL for next page of results |
| ↳ `previous_page` | string | URL for previous page of results | | ↳ `previous_page` | string | URL for previous page of results |
| ↳ `count` | number | Total count of items | | ↳ `count` | number | Total count of results |
| `metadata` | object | Response metadata | | `metadata` | object | Response metadata |
| ↳ `total_returned` | number | Number of items returned in this response | | ↳ `total_returned` | number | Number of results returned in this response |
| ↳ `has_more` | boolean | Whether more items are available | | ↳ `has_more` | boolean | Whether more results are available |
| `results` | array | Array of result objects \(tickets, users, or organizations depending on search query\) |
### `zendesk_search_count` ### `zendesk_search_count`

View File

@@ -52,10 +52,10 @@ Start a new conversation thread in Zep
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `threadId` | string | Thread identifier | | `threadId` | string | The thread ID |
| `userId` | string | Associated user ID | | `userId` | string | The user ID |
| `uuid` | string | Internal UUID | | `uuid` | string | Internal UUID |
| `createdAt` | string | Creation timestamp \(ISO 8601\) | | `createdAt` | string | Creation timestamp |
| `projectUuid` | string | Project UUID | | `projectUuid` | string | Project UUID |
### `zep_get_threads` ### `zep_get_threads`
@@ -77,15 +77,8 @@ List all conversation threads
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `threads` | array | Array of thread objects | | `threads` | array | Array of thread objects |
| ↳ `threadId` | string | Thread identifier | | `responseCount` | number | Number of threads in this response |
| ↳ `userId` | string | Associated user ID | | `totalCount` | number | Total number of threads available |
| ↳ `uuid` | string | Internal UUID |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
| ↳ `projectUuid` | string | Project UUID |
| ↳ `metadata` | object | Custom metadata \(dynamic key-value pairs\) |
| `responseCount` | number | Number of items in this response |
| `totalCount` | number | Total number of items available |
### `zep_delete_thread` ### `zep_delete_thread`
@@ -142,16 +135,8 @@ Retrieve messages from a thread
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `messages` | array | Array of message objects | | `messages` | array | Array of message objects |
| ↳ `uuid` | string | Message UUID | | `rowCount` | number | Number of messages in this response |
| ↳ `role` | string | Message role \(user, assistant, system, tool\) | | `totalCount` | number | Total number of messages in the thread |
| ↳ `roleType` | string | Role type \(AI, human, tool\) |
| ↳ `content` | string | Message content |
| ↳ `name` | string | Sender name |
| ↳ `createdAt` | string | Timestamp \(RFC3339 format\) |
| ↳ `metadata` | object | Message metadata \(dynamic key-value pairs\) |
| ↳ `processed` | boolean | Whether message has been processed |
| `rowCount` | number | Number of rows returned |
| `totalCount` | number | Total number of items available |
### `zep_add_messages` ### `zep_add_messages`
@@ -169,7 +154,7 @@ Add messages to an existing thread
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `threadId` | string | Thread identifier | | `threadId` | string | The thread ID |
| `added` | boolean | Whether messages were added successfully | | `added` | boolean | Whether messages were added successfully |
| `messageIds` | array | Array of added message UUIDs | | `messageIds` | array | Array of added message UUIDs |
@@ -192,13 +177,13 @@ Create a new user in Zep
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `userId` | string | User identifier | | `userId` | string | The user ID |
| `email` | string | User email address | | `email` | string | User email |
| `firstName` | string | User first name | | `firstName` | string | User first name |
| `lastName` | string | User last name | | `lastName` | string | User last name |
| `uuid` | string | Internal UUID | | `uuid` | string | Internal UUID |
| `createdAt` | string | Creation timestamp \(ISO 8601\) | | `createdAt` | string | Creation timestamp |
| `metadata` | object | User metadata \(dynamic key-value pairs\) | | `metadata` | object | User metadata |
### `zep_get_user` ### `zep_get_user`
@@ -215,14 +200,14 @@ Retrieve user information from Zep
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `userId` | string | User identifier | | `userId` | string | The user ID |
| `email` | string | User email address | | `email` | string | User email |
| `firstName` | string | User first name | | `firstName` | string | User first name |
| `lastName` | string | User last name | | `lastName` | string | User last name |
| `uuid` | string | Internal UUID | | `uuid` | string | Internal UUID |
| `createdAt` | string | Creation timestamp \(ISO 8601\) | | `createdAt` | string | Creation timestamp |
| `updatedAt` | string | Last update timestamp \(ISO 8601\) | | `updatedAt` | string | Last update timestamp |
| `metadata` | object | User metadata \(dynamic key-value pairs\) | | `metadata` | object | User metadata |
### `zep_get_user_threads` ### `zep_get_user_threads`
@@ -240,14 +225,7 @@ List all conversation threads for a specific user
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `threads` | array | Array of thread objects | | `threads` | array | Array of thread objects for this user |
| ↳ `threadId` | string | Thread identifier | | `totalCount` | number | Total number of threads returned |
| ↳ `userId` | string | Associated user ID |
| ↳ `uuid` | string | Internal UUID |
| ↳ `createdAt` | string | Creation timestamp \(ISO 8601\) |
| ↳ `updatedAt` | string | Last update timestamp \(ISO 8601\) |
| ↳ `projectUuid` | string | Project UUID |
| ↳ `metadata` | object | Custom metadata \(dynamic key-value pairs\) |
| `totalCount` | number | Total number of items available |

View File

@@ -72,46 +72,19 @@ Create a new Zoom meeting
| ↳ `id` | number | Meeting ID | | ↳ `id` | number | Meeting ID |
| ↳ `uuid` | string | Meeting UUID | | ↳ `uuid` | string | Meeting UUID |
| ↳ `host_id` | string | Host user ID | | ↳ `host_id` | string | Host user ID |
| ↳ `host_email` | string | Host email address | | ↳ `host_email` | string | Host email |
| ↳ `topic` | string | Meeting topic | | ↳ `topic` | string | Meeting topic |
| ↳ `type` | number | Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time | | ↳ `type` | number | Meeting type |
| ↳ `status` | string | Meeting status \(e.g., waiting, started\) | | ↳ `status` | string | Meeting status |
| ↳ `start_time` | string | Start time in ISO 8601 format | | ↳ `start_time` | string | Start time |
| ↳ `duration` | number | Duration in minutes | | ↳ `duration` | number | Duration in minutes |
| ↳ `timezone` | string | Timezone \(e.g., America/Los_Angeles\) | | ↳ `timezone` | string | Timezone |
| ↳ `agenda` | string | Meeting agenda | | ↳ `agenda` | string | Meeting agenda |
| ↳ `created_at` | string | Creation timestamp in ISO 8601 format | | ↳ `created_at` | string | Creation timestamp |
| ↳ `start_url` | string | URL for host to start the meeting | | ↳ `start_url` | string | Host start URL |
| ↳ `join_url` | string | URL for participants to join the meeting | | ↳ `join_url` | string | Participant join URL |
| ↳ `password` | string | Meeting password | | ↳ `password` | string | Meeting password |
| ↳ `h323_password` | string | H.323/SIP room system password |
| ↳ `pstn_password` | string | PSTN password for phone dial-in |
| ↳ `encrypted_password` | string | Encrypted password for joining |
| ↳ `settings` | object | Meeting settings | | ↳ `settings` | object | Meeting settings |
| ↳ `host_video` | boolean | Start with host video on |
| ↳ `participant_video` | boolean | Start with participant video on |
| ↳ `join_before_host` | boolean | Allow participants to join before host |
| ↳ `mute_upon_entry` | boolean | Mute participants upon entry |
| ↳ `watermark` | boolean | Add watermark when viewing shared screen |
| ↳ `audio` | string | Audio options: both, telephony, or voip |
| ↳ `auto_recording` | string | Auto recording: local, cloud, or none |
| ↳ `waiting_room` | boolean | Enable waiting room |
| ↳ `meeting_authentication` | boolean | Require meeting authentication |
| ↳ `approval_type` | number | Approval type: 0=auto, 1=manual, 2=none |
| ↳ `recurrence` | object | Recurrence settings for recurring meetings |
| ↳ `type` | number | Recurrence type: 1=daily, 2=weekly, 3=monthly |
| ↳ `repeat_interval` | number | Interval between recurring meetings |
| ↳ `weekly_days` | string | Days of week for weekly recurrence \(1-7, comma-separated\) |
| ↳ `monthly_day` | number | Day of month for monthly recurrence |
| ↳ `monthly_week` | number | Week of month for monthly recurrence |
| ↳ `monthly_week_day` | number | Day of week for monthly recurrence |
| ↳ `end_times` | number | Number of occurrences |
| ↳ `end_date_time` | string | End date time in ISO 8601 format |
| ↳ `occurrences` | array | Meeting occurrences for recurring meetings |
| ↳ `occurrence_id` | string | Occurrence ID |
| ↳ `start_time` | string | Start time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `status` | string | Occurrence status |
### `zoom_list_meetings` ### `zoom_list_meetings`
@@ -131,23 +104,12 @@ List all meetings for a Zoom user
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `meetings` | array | List of meetings | | `meetings` | array | List of meetings |
| ↳ `id` | number | Meeting ID |
| ↳ `uuid` | string | Meeting UUID |
| ↳ `host_id` | string | Host user ID |
| ↳ `topic` | string | Meeting topic |
| ↳ `type` | number | Meeting type |
| ↳ `start_time` | string | Start time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `timezone` | string | Timezone |
| ↳ `agenda` | string | Meeting agenda |
| ↳ `created_at` | string | Creation timestamp |
| ↳ `join_url` | string | URL for participants to join |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `pageCount` | number | Total number of pages | | ↳ `pageCount` | number | Total number of pages |
| ↳ `pageNumber` | number | Current page number | | ↳ `pageNumber` | number | Current page number |
| ↳ `pageSize` | number | Number of records per page | | ↳ `pageSize` | number | Number of records per page |
| ↳ `totalRecords` | number | Total number of records | | ↳ `totalRecords` | number | Total number of records |
| ↳ `nextPageToken` | string | Token for next page of results | | ↳ `nextPageToken` | string | Token for next page |
### `zoom_get_meeting` ### `zoom_get_meeting`
@@ -169,46 +131,21 @@ Get details of a specific Zoom meeting
| ↳ `id` | number | Meeting ID | | ↳ `id` | number | Meeting ID |
| ↳ `uuid` | string | Meeting UUID | | ↳ `uuid` | string | Meeting UUID |
| ↳ `host_id` | string | Host user ID | | ↳ `host_id` | string | Host user ID |
| ↳ `host_email` | string | Host email address | | ↳ `host_email` | string | Host email |
| ↳ `topic` | string | Meeting topic | | ↳ `topic` | string | Meeting topic |
| ↳ `type` | number | Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time | | ↳ `type` | number | Meeting type |
| ↳ `status` | string | Meeting status \(e.g., waiting, started\) | | ↳ `status` | string | Meeting status |
| ↳ `start_time` | string | Start time in ISO 8601 format | | ↳ `start_time` | string | Start time |
| ↳ `duration` | number | Duration in minutes | | ↳ `duration` | number | Duration in minutes |
| ↳ `timezone` | string | Timezone \(e.g., America/Los_Angeles\) | | ↳ `timezone` | string | Timezone |
| ↳ `agenda` | string | Meeting agenda | | ↳ `agenda` | string | Meeting agenda |
| ↳ `created_at` | string | Creation timestamp in ISO 8601 format | | ↳ `created_at` | string | Creation timestamp |
| ↳ `start_url` | string | URL for host to start the meeting | | ↳ `start_url` | string | Host start URL |
| ↳ `join_url` | string | URL for participants to join the meeting | | ↳ `join_url` | string | Participant join URL |
| ↳ `password` | string | Meeting password | | ↳ `password` | string | Meeting password |
| ↳ `h323_password` | string | H.323/SIP room system password |
| ↳ `pstn_password` | string | PSTN password for phone dial-in |
| ↳ `encrypted_password` | string | Encrypted password for joining |
| ↳ `settings` | object | Meeting settings | | ↳ `settings` | object | Meeting settings |
| ↳ `host_video` | boolean | Start with host video on | | ↳ `recurrence` | object | Recurrence settings |
| ↳ `participant_video` | boolean | Start with participant video on | | ↳ `occurrences` | array | Meeting occurrences |
| ↳ `join_before_host` | boolean | Allow participants to join before host |
| ↳ `mute_upon_entry` | boolean | Mute participants upon entry |
| ↳ `watermark` | boolean | Add watermark when viewing shared screen |
| ↳ `audio` | string | Audio options: both, telephony, or voip |
| ↳ `auto_recording` | string | Auto recording: local, cloud, or none |
| ↳ `waiting_room` | boolean | Enable waiting room |
| ↳ `meeting_authentication` | boolean | Require meeting authentication |
| ↳ `approval_type` | number | Approval type: 0=auto, 1=manual, 2=none |
| ↳ `recurrence` | object | Recurrence settings for recurring meetings |
| ↳ `type` | number | Recurrence type: 1=daily, 2=weekly, 3=monthly |
| ↳ `repeat_interval` | number | Interval between recurring meetings |
| ↳ `weekly_days` | string | Days of week for weekly recurrence \(1-7, comma-separated\) |
| ↳ `monthly_day` | number | Day of month for monthly recurrence |
| ↳ `monthly_week` | number | Week of month for monthly recurrence |
| ↳ `monthly_week_day` | number | Day of week for monthly recurrence |
| ↳ `end_times` | number | Number of occurrences |
| ↳ `end_date_time` | string | End date time in ISO 8601 format |
| ↳ `occurrences` | array | Meeting occurrences for recurring meetings |
| ↳ `occurrence_id` | string | Occurrence ID |
| ↳ `start_time` | string | Start time in ISO 8601 format |
| ↳ `duration` | number | Duration in minutes |
| ↳ `status` | string | Occurrence status |
### `zoom_update_meeting` ### `zoom_update_meeting`
@@ -294,35 +231,12 @@ List all cloud recordings for a Zoom user
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `recordings` | array | List of recordings | | `recordings` | array | List of recordings |
| ↳ `uuid` | string | Meeting UUID |
| ↳ `id` | number | Meeting ID |
| ↳ `account_id` | string | Account ID |
| ↳ `host_id` | string | Host user ID |
| ↳ `topic` | string | Meeting topic |
| ↳ `type` | number | Meeting type |
| ↳ `start_time` | string | Meeting start time |
| ↳ `duration` | number | Meeting duration in minutes |
| ↳ `total_size` | number | Total size of all recordings in bytes |
| ↳ `recording_count` | number | Number of recording files |
| ↳ `share_url` | string | URL to share recordings |
| ↳ `recording_files` | array | List of recording files |
| ↳ `id` | string | Recording file ID |
| ↳ `meeting_id` | string | Meeting ID associated with the recording |
| ↳ `recording_start` | string | Start time of the recording |
| ↳ `recording_end` | string | End time of the recording |
| ↳ `file_type` | string | Type of recording file \(MP4, M4A, etc.\) |
| ↳ `file_extension` | string | File extension |
| ↳ `file_size` | number | File size in bytes |
| ↳ `play_url` | string | URL to play the recording |
| ↳ `download_url` | string | URL to download the recording |
| ↳ `status` | string | Recording status |
| ↳ `recording_type` | string | Type of recording \(shared_screen, audio_only, etc.\) |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `from` | string | Start date of query range | | ↳ `from` | string | Start date of query range |
| ↳ `to` | string | End date of query range | | ↳ `to` | string | End date of query range |
| ↳ `pageSize` | number | Number of records per page | | ↳ `pageSize` | number | Number of records per page |
| ↳ `totalRecords` | number | Total number of records | | ↳ `totalRecords` | number | Total number of records |
| ↳ `nextPageToken` | string | Token for next page of results | | ↳ `nextPageToken` | string | Token for next page |
### `zoom_get_meeting_recordings` ### `zoom_get_meeting_recordings`
@@ -343,27 +257,12 @@ Get all recordings for a specific Zoom meeting
| `recording` | object | The meeting recording with all files | | `recording` | object | The meeting recording with all files |
| ↳ `uuid` | string | Meeting UUID | | ↳ `uuid` | string | Meeting UUID |
| ↳ `id` | number | Meeting ID | | ↳ `id` | number | Meeting ID |
| ↳ `account_id` | string | Account ID |
| ↳ `host_id` | string | Host user ID |
| ↳ `topic` | string | Meeting topic | | ↳ `topic` | string | Meeting topic |
| ↳ `type` | number | Meeting type |
| ↳ `start_time` | string | Meeting start time | | ↳ `start_time` | string | Meeting start time |
| ↳ `duration` | number | Meeting duration in minutes | | ↳ `duration` | number | Meeting duration in minutes |
| ↳ `total_size` | number | Total size of all recordings in bytes | | ↳ `total_size` | number | Total size of recordings in bytes |
| ↳ `recording_count` | number | Number of recording files |
| ↳ `share_url` | string | URL to share recordings | | ↳ `share_url` | string | URL to share recordings |
| ↳ `recording_files` | array | List of recording files | | ↳ `recording_files` | array | List of recording files |
| ↳ `id` | string | Recording file ID |
| ↳ `meeting_id` | string | Meeting ID associated with the recording |
| ↳ `recording_start` | string | Start time of the recording |
| ↳ `recording_end` | string | End time of the recording |
| ↳ `file_type` | string | Type of recording file \(MP4, M4A, etc.\) |
| ↳ `file_extension` | string | File extension |
| ↳ `file_size` | number | File size in bytes |
| ↳ `play_url` | string | URL to play the recording |
| ↳ `download_url` | string | URL to download the recording |
| ↳ `status` | string | Recording status |
| ↳ `recording_type` | string | Type of recording \(shared_screen, audio_only, etc.\) |
### `zoom_delete_recording` ### `zoom_delete_recording`
@@ -400,19 +299,9 @@ List participants from a past Zoom meeting
| Parameter | Type | Description | | Parameter | Type | Description |
| --------- | ---- | ----------- | | --------- | ---- | ----------- |
| `participants` | array | List of meeting participants | | `participants` | array | List of meeting participants |
| ↳ `id` | string | Participant unique identifier |
| ↳ `user_id` | string | User ID if registered Zoom user |
| ↳ `name` | string | Participant display name |
| ↳ `user_email` | string | Participant email address |
| ↳ `join_time` | string | Time when participant joined \(ISO 8601\) |
| ↳ `leave_time` | string | Time when participant left \(ISO 8601\) |
| ↳ `duration` | number | Duration in seconds participant was in meeting |
| ↳ `attentiveness_score` | string | Attentiveness score \(deprecated\) |
| ↳ `failover` | boolean | Whether participant failed over to another data center |
| ↳ `status` | string | Participant status |
| `pageInfo` | object | Pagination information | | `pageInfo` | object | Pagination information |
| ↳ `pageSize` | number | Number of records per page | | ↳ `pageSize` | number | Number of records per page |
| ↳ `totalRecords` | number | Total number of records | | ↳ `totalRecords` | number | Total number of records |
| ↳ `nextPageToken` | string | Token for next page of results | | ↳ `nextPageToken` | string | Token for next page |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 78 KiB

View File

@@ -14,7 +14,7 @@
--panel-width: 320px; /* PANEL_WIDTH.DEFAULT */ --panel-width: 320px; /* PANEL_WIDTH.DEFAULT */
--toolbar-triggers-height: 300px; /* TOOLBAR_TRIGGERS_HEIGHT.DEFAULT */ --toolbar-triggers-height: 300px; /* TOOLBAR_TRIGGERS_HEIGHT.DEFAULT */
--editor-connections-height: 172px; /* EDITOR_CONNECTIONS_HEIGHT.DEFAULT */ --editor-connections-height: 172px; /* EDITOR_CONNECTIONS_HEIGHT.DEFAULT */
--terminal-height: 206px; /* TERMINAL_HEIGHT.DEFAULT */ --terminal-height: 155px; /* TERMINAL_HEIGHT.DEFAULT */
} }
.sidebar-container { .sidebar-container {

View File

@@ -4,22 +4,22 @@ import { auth } from '@/lib/auth'
import { isAuthDisabled } from '@/lib/core/config/feature-flags' import { isAuthDisabled } from '@/lib/core/config/feature-flags'
export async function POST() { export async function POST() {
try {
if (isAuthDisabled) { if (isAuthDisabled) {
return NextResponse.json({ token: 'anonymous-socket-token' }) return NextResponse.json({ token: 'anonymous-socket-token' })
} }
try {
const hdrs = await headers() const hdrs = await headers()
const response = await auth.api.generateOneTimeToken({ const response = await auth.api.generateOneTimeToken({
headers: hdrs, headers: hdrs,
}) })
if (!response?.token) { if (!response) {
return NextResponse.json({ error: 'Authentication required' }, { status: 401 }) return NextResponse.json({ error: 'Failed to generate token' }, { status: 500 })
} }
return NextResponse.json({ token: response.token }) return NextResponse.json({ token: response.token })
} catch { } catch (error) {
return NextResponse.json({ error: 'Failed to generate token' }, { status: 500 }) return NextResponse.json({ error: 'Failed to generate token' }, { status: 500 })
} }
} }

View File

@@ -56,7 +56,7 @@ export async function GET(_request: NextRequest, { params }: { params: Promise<{
deploymentVersionName: workflowDeploymentVersion.name, deploymentVersionName: workflowDeploymentVersion.name,
}) })
.from(workflowExecutionLogs) .from(workflowExecutionLogs)
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.leftJoin( .leftJoin(
workflowDeploymentVersion, workflowDeploymentVersion,
eq(workflowDeploymentVersion.id, workflowExecutionLogs.deploymentVersionId) eq(workflowDeploymentVersion.id, workflowExecutionLogs.deploymentVersionId)
@@ -65,7 +65,7 @@ export async function GET(_request: NextRequest, { params }: { params: Promise<{
permissions, permissions,
and( and(
eq(permissions.entityType, 'workspace'), eq(permissions.entityType, 'workspace'),
eq(permissions.entityId, workflowExecutionLogs.workspaceId), eq(permissions.entityId, workflow.workspaceId),
eq(permissions.userId, userId) eq(permissions.userId, userId)
) )
) )
@@ -77,8 +77,7 @@ export async function GET(_request: NextRequest, { params }: { params: Promise<{
return NextResponse.json({ error: 'Not found' }, { status: 404 }) return NextResponse.json({ error: 'Not found' }, { status: 404 })
} }
const workflowSummary = log.workflowId const workflowSummary = {
? {
id: log.workflowId, id: log.workflowId,
name: log.workflowName, name: log.workflowName,
description: log.workflowDescription, description: log.workflowDescription,
@@ -89,7 +88,6 @@ export async function GET(_request: NextRequest, { params }: { params: Promise<{
createdAt: log.workflowCreatedAt, createdAt: log.workflowCreatedAt,
updatedAt: log.workflowUpdatedAt, updatedAt: log.workflowUpdatedAt,
} }
: null
const response = { const response = {
id: log.id, id: log.id,

View File

@@ -1,5 +1,5 @@
import { db } from '@sim/db' import { db } from '@sim/db'
import { subscription, user, workflowExecutionLogs, workspace } from '@sim/db/schema' import { subscription, user, workflow, workflowExecutionLogs } from '@sim/db/schema'
import { createLogger } from '@sim/logger' import { createLogger } from '@sim/logger'
import { and, eq, inArray, lt, sql } from 'drizzle-orm' import { and, eq, inArray, lt, sql } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server' import { type NextRequest, NextResponse } from 'next/server'
@@ -40,17 +40,17 @@ export async function GET(request: NextRequest) {
const freeUserIds = freeUsers.map((u) => u.userId) const freeUserIds = freeUsers.map((u) => u.userId)
const workspacesQuery = await db const workflowsQuery = await db
.select({ id: workspace.id }) .select({ id: workflow.id })
.from(workspace) .from(workflow)
.where(inArray(workspace.billedAccountUserId, freeUserIds)) .where(inArray(workflow.userId, freeUserIds))
if (workspacesQuery.length === 0) { if (workflowsQuery.length === 0) {
logger.info('No workspaces found for free users') logger.info('No workflows found for free users')
return NextResponse.json({ message: 'No workspaces found for cleanup' }) return NextResponse.json({ message: 'No workflows found for cleanup' })
} }
const workspaceIds = workspacesQuery.map((w) => w.id) const workflowIds = workflowsQuery.map((w) => w.id)
const results = { const results = {
enhancedLogs: { enhancedLogs: {
@@ -77,7 +77,7 @@ export async function GET(request: NextRequest) {
let batchesProcessed = 0 let batchesProcessed = 0
let hasMoreLogs = true let hasMoreLogs = true
logger.info(`Starting enhanced logs cleanup for ${workspaceIds.length} workspaces`) logger.info(`Starting enhanced logs cleanup for ${workflowIds.length} workflows`)
while (hasMoreLogs && batchesProcessed < MAX_BATCHES) { while (hasMoreLogs && batchesProcessed < MAX_BATCHES) {
const oldEnhancedLogs = await db const oldEnhancedLogs = await db
@@ -99,7 +99,7 @@ export async function GET(request: NextRequest) {
.from(workflowExecutionLogs) .from(workflowExecutionLogs)
.where( .where(
and( and(
inArray(workflowExecutionLogs.workspaceId, workspaceIds), inArray(workflowExecutionLogs.workflowId, workflowIds),
lt(workflowExecutionLogs.createdAt, retentionDate) lt(workflowExecutionLogs.createdAt, retentionDate)
) )
) )
@@ -127,7 +127,7 @@ export async function GET(request: NextRequest) {
customKey: enhancedLogKey, customKey: enhancedLogKey,
metadata: { metadata: {
logId: String(log.id), logId: String(log.id),
workflowId: String(log.workflowId ?? ''), workflowId: String(log.workflowId),
executionId: String(log.executionId), executionId: String(log.executionId),
logType: 'enhanced', logType: 'enhanced',
archivedAt: new Date().toISOString(), archivedAt: new Date().toISOString(),

View File

@@ -6,11 +6,10 @@ import {
workflowExecutionSnapshots, workflowExecutionSnapshots,
} from '@sim/db/schema' } from '@sim/db/schema'
import { createLogger } from '@sim/logger' import { createLogger } from '@sim/logger'
import { and, eq, inArray } from 'drizzle-orm' import { and, eq } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server' import { type NextRequest, NextResponse } from 'next/server'
import { checkHybridAuth } from '@/lib/auth/hybrid' import { checkHybridAuth } from '@/lib/auth/hybrid'
import { generateRequestId } from '@/lib/core/utils/request' import { generateRequestId } from '@/lib/core/utils/request'
import type { TraceSpan, WorkflowExecutionLog } from '@/lib/logs/types'
const logger = createLogger('LogsByExecutionIdAPI') const logger = createLogger('LogsByExecutionIdAPI')
@@ -49,15 +48,14 @@ export async function GET(
endedAt: workflowExecutionLogs.endedAt, endedAt: workflowExecutionLogs.endedAt,
totalDurationMs: workflowExecutionLogs.totalDurationMs, totalDurationMs: workflowExecutionLogs.totalDurationMs,
cost: workflowExecutionLogs.cost, cost: workflowExecutionLogs.cost,
executionData: workflowExecutionLogs.executionData,
}) })
.from(workflowExecutionLogs) .from(workflowExecutionLogs)
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.innerJoin( .innerJoin(
permissions, permissions,
and( and(
eq(permissions.entityType, 'workspace'), eq(permissions.entityType, 'workspace'),
eq(permissions.entityId, workflowExecutionLogs.workspaceId), eq(permissions.entityId, workflow.workspaceId),
eq(permissions.userId, authenticatedUserId) eq(permissions.userId, authenticatedUserId)
) )
) )
@@ -80,42 +78,10 @@ export async function GET(
return NextResponse.json({ error: 'Workflow state snapshot not found' }, { status: 404 }) return NextResponse.json({ error: 'Workflow state snapshot not found' }, { status: 404 })
} }
const executionData = workflowLog.executionData as WorkflowExecutionLog['executionData']
const traceSpans = (executionData?.traceSpans as TraceSpan[]) || []
const childSnapshotIds = new Set<string>()
const collectSnapshotIds = (spans: TraceSpan[]) => {
spans.forEach((span) => {
const snapshotId = span.childWorkflowSnapshotId
if (typeof snapshotId === 'string') {
childSnapshotIds.add(snapshotId)
}
if (span.children?.length) {
collectSnapshotIds(span.children)
}
})
}
if (traceSpans.length > 0) {
collectSnapshotIds(traceSpans)
}
const childWorkflowSnapshots =
childSnapshotIds.size > 0
? await db
.select()
.from(workflowExecutionSnapshots)
.where(inArray(workflowExecutionSnapshots.id, Array.from(childSnapshotIds)))
: []
const childSnapshotMap = childWorkflowSnapshots.reduce<Record<string, unknown>>((acc, snap) => {
acc[snap.id] = snap.stateData
return acc
}, {})
const response = { const response = {
executionId, executionId,
workflowId: workflowLog.workflowId, workflowId: workflowLog.workflowId,
workflowState: snapshot.stateData, workflowState: snapshot.stateData,
childWorkflowSnapshots: childSnapshotMap,
executionMetadata: { executionMetadata: {
trigger: workflowLog.trigger, trigger: workflowLog.trigger,
startedAt: workflowLog.startedAt.toISOString(), startedAt: workflowLog.startedAt.toISOString(),

View File

@@ -1,7 +1,7 @@
import { db } from '@sim/db' import { db } from '@sim/db'
import { permissions, workflow, workflowExecutionLogs } from '@sim/db/schema' import { permissions, workflow, workflowExecutionLogs } from '@sim/db/schema'
import { createLogger } from '@sim/logger' import { createLogger } from '@sim/logger'
import { and, desc, eq, sql } from 'drizzle-orm' import { and, desc, eq } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server' import { type NextRequest, NextResponse } from 'next/server'
import { getSession } from '@/lib/auth' import { getSession } from '@/lib/auth'
import { buildFilterConditions, LogFilterParamsSchema } from '@/lib/logs/filters' import { buildFilterConditions, LogFilterParamsSchema } from '@/lib/logs/filters'
@@ -41,7 +41,7 @@ export async function GET(request: NextRequest) {
totalDurationMs: workflowExecutionLogs.totalDurationMs, totalDurationMs: workflowExecutionLogs.totalDurationMs,
cost: workflowExecutionLogs.cost, cost: workflowExecutionLogs.cost,
executionData: workflowExecutionLogs.executionData, executionData: workflowExecutionLogs.executionData,
workflowName: sql<string>`COALESCE(${workflow.name}, 'Deleted Workflow')`, workflowName: workflow.name,
} }
const workspaceCondition = eq(workflowExecutionLogs.workspaceId, params.workspaceId) const workspaceCondition = eq(workflowExecutionLogs.workspaceId, params.workspaceId)
@@ -74,7 +74,7 @@ export async function GET(request: NextRequest) {
const rows = await db const rows = await db
.select(selectColumns) .select(selectColumns)
.from(workflowExecutionLogs) .from(workflowExecutionLogs)
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.innerJoin( .innerJoin(
permissions, permissions,
and( and(

View File

@@ -116,7 +116,7 @@ export async function GET(request: NextRequest) {
workflowDeploymentVersion, workflowDeploymentVersion,
eq(workflowDeploymentVersion.id, workflowExecutionLogs.deploymentVersionId) eq(workflowDeploymentVersion.id, workflowExecutionLogs.deploymentVersionId)
) )
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.innerJoin( .innerJoin(
permissions, permissions,
and( and(
@@ -190,7 +190,7 @@ export async function GET(request: NextRequest) {
pausedExecutions, pausedExecutions,
eq(pausedExecutions.executionId, workflowExecutionLogs.executionId) eq(pausedExecutions.executionId, workflowExecutionLogs.executionId)
) )
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.innerJoin( .innerJoin(
permissions, permissions,
and( and(
@@ -314,8 +314,7 @@ export async function GET(request: NextRequest) {
} catch {} } catch {}
} }
const workflowSummary = log.workflowId const workflowSummary = {
? {
id: log.workflowId, id: log.workflowId,
name: log.workflowName, name: log.workflowName,
description: log.workflowDescription, description: log.workflowDescription,
@@ -326,7 +325,6 @@ export async function GET(request: NextRequest) {
createdAt: log.workflowCreatedAt, createdAt: log.workflowCreatedAt,
updatedAt: log.workflowUpdatedAt, updatedAt: log.workflowUpdatedAt,
} }
: null
return { return {
id: log.id, id: log.id,

View File

@@ -72,7 +72,7 @@ export async function GET(request: NextRequest) {
maxTime: sql<string>`MAX(${workflowExecutionLogs.startedAt})`, maxTime: sql<string>`MAX(${workflowExecutionLogs.startedAt})`,
}) })
.from(workflowExecutionLogs) .from(workflowExecutionLogs)
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.innerJoin( .innerJoin(
permissions, permissions,
and( and(
@@ -103,8 +103,8 @@ export async function GET(request: NextRequest) {
const statsQuery = await db const statsQuery = await db
.select({ .select({
workflowId: sql<string>`COALESCE(${workflowExecutionLogs.workflowId}, 'deleted')`, workflowId: workflowExecutionLogs.workflowId,
workflowName: sql<string>`COALESCE(${workflow.name}, 'Deleted Workflow')`, workflowName: workflow.name,
segmentIndex: segmentIndex:
sql<number>`FLOOR(EXTRACT(EPOCH FROM (${workflowExecutionLogs.startedAt} - ${startTimeIso}::timestamp)) * 1000 / ${segmentMs})`.as( sql<number>`FLOOR(EXTRACT(EPOCH FROM (${workflowExecutionLogs.startedAt} - ${startTimeIso}::timestamp)) * 1000 / ${segmentMs})`.as(
'segment_index' 'segment_index'
@@ -120,7 +120,7 @@ export async function GET(request: NextRequest) {
), ),
}) })
.from(workflowExecutionLogs) .from(workflowExecutionLogs)
.leftJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id)) .innerJoin(workflow, eq(workflowExecutionLogs.workflowId, workflow.id))
.innerJoin( .innerJoin(
permissions, permissions,
and( and(
@@ -130,11 +130,7 @@ export async function GET(request: NextRequest) {
) )
) )
.where(whereCondition) .where(whereCondition)
.groupBy( .groupBy(workflowExecutionLogs.workflowId, workflow.name, sql`segment_index`)
sql`COALESCE(${workflowExecutionLogs.workflowId}, 'deleted')`,
sql`COALESCE(${workflow.name}, 'Deleted Workflow')`,
sql`segment_index`
)
const workflowMap = new Map< const workflowMap = new Map<
string, string,

View File

@@ -344,7 +344,7 @@ describe('Schedule PUT API (Reactivate)', () => {
expect(nextRunAt).toBeGreaterThan(beforeCall) expect(nextRunAt).toBeGreaterThan(beforeCall)
expect(nextRunAt).toBeLessThanOrEqual(afterCall + 5 * 60 * 1000 + 1000) expect(nextRunAt).toBeLessThanOrEqual(afterCall + 5 * 60 * 1000 + 1000)
// Should align with 5-minute intervals (minute divisible by 5) // Should align with 5-minute intervals (minute divisible by 5)
expect(new Date(nextRunAt).getUTCMinutes() % 5).toBe(0) expect(new Date(nextRunAt).getMinutes() % 5).toBe(0)
}) })
it('calculates nextRunAt from daily cron expression', async () => { it('calculates nextRunAt from daily cron expression', async () => {
@@ -572,7 +572,7 @@ describe('Schedule PUT API (Reactivate)', () => {
expect(nextRunAt.getTime()).toBeGreaterThan(beforeCall) expect(nextRunAt.getTime()).toBeGreaterThan(beforeCall)
expect(nextRunAt.getTime()).toBeLessThanOrEqual(beforeCall + 10 * 60 * 1000 + 1000) expect(nextRunAt.getTime()).toBeLessThanOrEqual(beforeCall + 10 * 60 * 1000 + 1000)
// Should align with 10-minute intervals // Should align with 10-minute intervals
expect(nextRunAt.getUTCMinutes() % 10).toBe(0) expect(nextRunAt.getMinutes() % 10).toBe(0)
}) })
it('handles hourly schedules with timezone correctly', async () => { it('handles hourly schedules with timezone correctly', async () => {
@@ -598,8 +598,8 @@ describe('Schedule PUT API (Reactivate)', () => {
// Should be a future date at minute 15 // Should be a future date at minute 15
expect(nextRunAt.getTime()).toBeGreaterThan(beforeCall) expect(nextRunAt.getTime()).toBeGreaterThan(beforeCall)
expect(nextRunAt.getUTCMinutes()).toBe(15) expect(nextRunAt.getMinutes()).toBe(15)
expect(nextRunAt.getUTCSeconds()).toBe(0) expect(nextRunAt.getSeconds()).toBe(0)
}) })
it('handles custom cron expressions with complex patterns and timezone', async () => { it('handles custom cron expressions with complex patterns and timezone', async () => {

View File

@@ -35,7 +35,8 @@ const AutoLayoutRequestSchema = z.object({
}) })
.optional() .optional()
.default({}), .default({}),
gridSize: z.number().min(0).max(50).optional(), // Optional: if provided, use these blocks instead of loading from DB
// This allows using blocks with live measurements from the UI
blocks: z.record(z.any()).optional(), blocks: z.record(z.any()).optional(),
edges: z.array(z.any()).optional(), edges: z.array(z.any()).optional(),
loops: z.record(z.any()).optional(), loops: z.record(z.any()).optional(),
@@ -52,6 +53,7 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
const { id: workflowId } = await params const { id: workflowId } = await params
try { try {
// Get the session
const session = await getSession() const session = await getSession()
if (!session?.user?.id) { if (!session?.user?.id) {
logger.warn(`[${requestId}] Unauthorized autolayout attempt for workflow ${workflowId}`) logger.warn(`[${requestId}] Unauthorized autolayout attempt for workflow ${workflowId}`)
@@ -60,6 +62,7 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
const userId = session.user.id const userId = session.user.id
// Parse request body
const body = await request.json() const body = await request.json()
const layoutOptions = AutoLayoutRequestSchema.parse(body) const layoutOptions = AutoLayoutRequestSchema.parse(body)
@@ -67,6 +70,7 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
userId, userId,
}) })
// Fetch the workflow to check ownership/access
const accessContext = await getWorkflowAccessContext(workflowId, userId) const accessContext = await getWorkflowAccessContext(workflowId, userId)
const workflowData = accessContext?.workflow const workflowData = accessContext?.workflow
@@ -75,6 +79,7 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
return NextResponse.json({ error: 'Workflow not found' }, { status: 404 }) return NextResponse.json({ error: 'Workflow not found' }, { status: 404 })
} }
// Check if user has permission to update this workflow
const canUpdate = const canUpdate =
accessContext?.isOwner || accessContext?.isOwner ||
(workflowData.workspaceId (workflowData.workspaceId
@@ -89,6 +94,8 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
return NextResponse.json({ error: 'Access denied' }, { status: 403 }) return NextResponse.json({ error: 'Access denied' }, { status: 403 })
} }
// Use provided blocks/edges if available (with live measurements from UI),
// otherwise load from database
let currentWorkflowData: NormalizedWorkflowData | null let currentWorkflowData: NormalizedWorkflowData | null
if (layoutOptions.blocks && layoutOptions.edges) { if (layoutOptions.blocks && layoutOptions.edges) {
@@ -118,7 +125,6 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
y: layoutOptions.padding?.y ?? DEFAULT_LAYOUT_PADDING.y, y: layoutOptions.padding?.y ?? DEFAULT_LAYOUT_PADDING.y,
}, },
alignment: layoutOptions.alignment, alignment: layoutOptions.alignment,
gridSize: layoutOptions.gridSize,
} }
const layoutResult = applyAutoLayout( const layoutResult = applyAutoLayout(

View File

@@ -97,10 +97,7 @@ export async function POST(
const socketServerUrl = env.SOCKET_SERVER_URL || 'http://localhost:3002' const socketServerUrl = env.SOCKET_SERVER_URL || 'http://localhost:3002'
await fetch(`${socketServerUrl}/api/workflow-reverted`, { await fetch(`${socketServerUrl}/api/workflow-reverted`, {
method: 'POST', method: 'POST',
headers: { headers: { 'Content-Type': 'application/json' },
'Content-Type': 'application/json',
'x-api-key': env.INTERNAL_API_SECRET,
},
body: JSON.stringify({ workflowId: id, timestamp: Date.now() }), body: JSON.stringify({ workflowId: id, timestamp: Date.now() }),
}) })
} catch (e) { } catch (e) {

View File

@@ -9,23 +9,12 @@ import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/
const logger = createLogger('WorkflowDeploymentVersionAPI') const logger = createLogger('WorkflowDeploymentVersionAPI')
const patchBodySchema = z const patchBodySchema = z.object({
.object({
name: z name: z
.string() .string()
.trim() .trim()
.min(1, 'Name cannot be empty') .min(1, 'Name cannot be empty')
.max(100, 'Name must be 100 characters or less') .max(100, 'Name must be 100 characters or less'),
.optional(),
description: z
.string()
.trim()
.max(500, 'Description must be 500 characters or less')
.nullable()
.optional(),
})
.refine((data) => data.name !== undefined || data.description !== undefined, {
message: 'At least one of name or description must be provided',
}) })
export const dynamic = 'force-dynamic' export const dynamic = 'force-dynamic'
@@ -99,46 +88,33 @@ export async function PATCH(
return createErrorResponse(validation.error.errors[0]?.message || 'Invalid request body', 400) return createErrorResponse(validation.error.errors[0]?.message || 'Invalid request body', 400)
} }
const { name, description } = validation.data const { name } = validation.data
const updateData: { name?: string; description?: string | null } = {}
if (name !== undefined) {
updateData.name = name
}
if (description !== undefined) {
updateData.description = description
}
const [updated] = await db const [updated] = await db
.update(workflowDeploymentVersion) .update(workflowDeploymentVersion)
.set(updateData) .set({ name })
.where( .where(
and( and(
eq(workflowDeploymentVersion.workflowId, id), eq(workflowDeploymentVersion.workflowId, id),
eq(workflowDeploymentVersion.version, versionNum) eq(workflowDeploymentVersion.version, versionNum)
) )
) )
.returning({ .returning({ id: workflowDeploymentVersion.id, name: workflowDeploymentVersion.name })
id: workflowDeploymentVersion.id,
name: workflowDeploymentVersion.name,
description: workflowDeploymentVersion.description,
})
if (!updated) { if (!updated) {
return createErrorResponse('Deployment version not found', 404) return createErrorResponse('Deployment version not found', 404)
} }
logger.info(`[${requestId}] Updated deployment version ${version} for workflow ${id}`, { logger.info(
name: updateData.name, `[${requestId}] Renamed deployment version ${version} for workflow ${id} to "${name}"`
description: updateData.description, )
})
return createSuccessResponse({ name: updated.name, description: updated.description }) return createSuccessResponse({ name: updated.name })
} catch (error: any) { } catch (error: any) {
logger.error( logger.error(
`[${requestId}] Error updating deployment version ${version} for workflow ${id}`, `[${requestId}] Error renaming deployment version ${version} for workflow ${id}`,
error error
) )
return createErrorResponse(error.message || 'Failed to update deployment version', 500) return createErrorResponse(error.message || 'Failed to rename deployment version', 500)
} }
} }

View File

@@ -26,7 +26,6 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{
id: workflowDeploymentVersion.id, id: workflowDeploymentVersion.id,
version: workflowDeploymentVersion.version, version: workflowDeploymentVersion.version,
name: workflowDeploymentVersion.name, name: workflowDeploymentVersion.name,
description: workflowDeploymentVersion.description,
isActive: workflowDeploymentVersion.isActive, isActive: workflowDeploymentVersion.isActive,
createdAt: workflowDeploymentVersion.createdAt, createdAt: workflowDeploymentVersion.createdAt,
createdBy: workflowDeploymentVersion.createdBy, createdBy: workflowDeploymentVersion.createdBy,

View File

@@ -1,216 +0,0 @@
import { db, workflow as workflowTable } from '@sim/db'
import { createLogger } from '@sim/logger'
import { eq } from 'drizzle-orm'
import { type NextRequest, NextResponse } from 'next/server'
import { v4 as uuidv4 } from 'uuid'
import { z } from 'zod'
import { checkHybridAuth } from '@/lib/auth/hybrid'
import { generateRequestId } from '@/lib/core/utils/request'
import { SSE_HEADERS } from '@/lib/core/utils/sse'
import { markExecutionCancelled } from '@/lib/execution/cancellation'
import { LoggingSession } from '@/lib/logs/execution/logging-session'
import { executeWorkflowCore } from '@/lib/workflows/executor/execution-core'
import { createSSECallbacks } from '@/lib/workflows/executor/execution-events'
import { ExecutionSnapshot } from '@/executor/execution/snapshot'
import type { ExecutionMetadata, SerializableExecutionState } from '@/executor/execution/types'
import { hasExecutionResult } from '@/executor/utils/errors'
const logger = createLogger('ExecuteFromBlockAPI')
const ExecuteFromBlockSchema = z.object({
startBlockId: z.string().min(1, 'Start block ID is required'),
sourceSnapshot: z.object({
blockStates: z.record(z.any()),
executedBlocks: z.array(z.string()),
blockLogs: z.array(z.any()),
decisions: z.object({
router: z.record(z.string()),
condition: z.record(z.string()),
}),
completedLoops: z.array(z.string()),
loopExecutions: z.record(z.any()).optional(),
parallelExecutions: z.record(z.any()).optional(),
parallelBlockMapping: z.record(z.any()).optional(),
activeExecutionPath: z.array(z.string()),
}),
input: z.any().optional(),
})
export const runtime = 'nodejs'
export const dynamic = 'force-dynamic'
export async function POST(req: NextRequest, { params }: { params: Promise<{ id: string }> }) {
const requestId = generateRequestId()
const { id: workflowId } = await params
try {
const auth = await checkHybridAuth(req, { requireWorkflowId: false })
if (!auth.success || !auth.userId) {
return NextResponse.json({ error: auth.error || 'Unauthorized' }, { status: 401 })
}
const userId = auth.userId
let body: unknown
try {
body = await req.json()
} catch {
return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })
}
const validation = ExecuteFromBlockSchema.safeParse(body)
if (!validation.success) {
logger.warn(`[${requestId}] Invalid request body:`, validation.error.errors)
return NextResponse.json(
{
error: 'Invalid request body',
details: validation.error.errors.map((e) => ({
path: e.path.join('.'),
message: e.message,
})),
},
{ status: 400 }
)
}
const { startBlockId, sourceSnapshot, input } = validation.data
const executionId = uuidv4()
const [workflowRecord] = await db
.select({ workspaceId: workflowTable.workspaceId, userId: workflowTable.userId })
.from(workflowTable)
.where(eq(workflowTable.id, workflowId))
.limit(1)
if (!workflowRecord?.workspaceId) {
return NextResponse.json({ error: 'Workflow not found or has no workspace' }, { status: 404 })
}
const workspaceId = workflowRecord.workspaceId
const workflowUserId = workflowRecord.userId
logger.info(`[${requestId}] Starting run-from-block execution`, {
workflowId,
startBlockId,
executedBlocksCount: sourceSnapshot.executedBlocks.length,
})
const loggingSession = new LoggingSession(workflowId, executionId, 'manual', requestId)
const abortController = new AbortController()
let isStreamClosed = false
const stream = new ReadableStream<Uint8Array>({
async start(controller) {
const { sendEvent, onBlockStart, onBlockComplete, onStream } = createSSECallbacks({
executionId,
workflowId,
controller,
isStreamClosed: () => isStreamClosed,
setStreamClosed: () => {
isStreamClosed = true
},
})
const metadata: ExecutionMetadata = {
requestId,
workflowId,
userId,
executionId,
triggerType: 'manual',
workspaceId,
workflowUserId,
useDraftState: true,
isClientSession: true,
startTime: new Date().toISOString(),
}
const snapshot = new ExecutionSnapshot(metadata, {}, input || {}, {})
try {
const startTime = new Date()
sendEvent({
type: 'execution:started',
timestamp: startTime.toISOString(),
executionId,
workflowId,
data: { startTime: startTime.toISOString() },
})
const result = await executeWorkflowCore({
snapshot,
loggingSession,
abortSignal: abortController.signal,
runFromBlock: {
startBlockId,
sourceSnapshot: sourceSnapshot as SerializableExecutionState,
},
callbacks: { onBlockStart, onBlockComplete, onStream },
})
if (result.status === 'cancelled') {
sendEvent({
type: 'execution:cancelled',
timestamp: new Date().toISOString(),
executionId,
workflowId,
data: { duration: result.metadata?.duration || 0 },
})
} else {
sendEvent({
type: 'execution:completed',
timestamp: new Date().toISOString(),
executionId,
workflowId,
data: {
success: result.success,
output: result.output,
duration: result.metadata?.duration || 0,
startTime: result.metadata?.startTime || startTime.toISOString(),
endTime: result.metadata?.endTime || new Date().toISOString(),
},
})
}
} catch (error: unknown) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error'
logger.error(`[${requestId}] Run-from-block execution failed: ${errorMessage}`)
const executionResult = hasExecutionResult(error) ? error.executionResult : undefined
sendEvent({
type: 'execution:error',
timestamp: new Date().toISOString(),
executionId,
workflowId,
data: {
error: executionResult?.error || errorMessage,
duration: executionResult?.metadata?.duration || 0,
},
})
} finally {
if (!isStreamClosed) {
try {
controller.enqueue(new TextEncoder().encode('data: [DONE]\n\n'))
controller.close()
} catch {}
}
}
},
cancel() {
isStreamClosed = true
abortController.abort()
markExecutionCancelled(executionId).catch(() => {})
},
})
return new NextResponse(stream, {
headers: { ...SSE_HEADERS, 'X-Execution-Id': executionId },
})
} catch (error: unknown) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error'
logger.error(`[${requestId}] Failed to start run-from-block execution:`, error)
return NextResponse.json(
{ error: errorMessage || 'Failed to start execution' },
{ status: 500 }
)
}
}

View File

@@ -53,7 +53,6 @@ const ExecuteWorkflowSchema = z.object({
parallels: z.record(z.any()).optional(), parallels: z.record(z.any()).optional(),
}) })
.optional(), .optional(),
stopAfterBlockId: z.string().optional(),
}) })
export const runtime = 'nodejs' export const runtime = 'nodejs'
@@ -223,7 +222,6 @@ export async function POST(req: NextRequest, { params }: { params: Promise<{ id:
includeFileBase64, includeFileBase64,
base64MaxBytes, base64MaxBytes,
workflowStateOverride, workflowStateOverride,
stopAfterBlockId,
} = validation.data } = validation.data
// For API key and internal JWT auth, the entire body is the input (except for our control fields) // For API key and internal JWT auth, the entire body is the input (except for our control fields)
@@ -239,7 +237,6 @@ export async function POST(req: NextRequest, { params }: { params: Promise<{ id:
includeFileBase64, includeFileBase64,
base64MaxBytes, base64MaxBytes,
workflowStateOverride, workflowStateOverride,
stopAfterBlockId: _stopAfterBlockId,
workflowId: _workflowId, // Also exclude workflowId used for internal JWT auth workflowId: _workflowId, // Also exclude workflowId used for internal JWT auth
...rest ...rest
} = body } = body
@@ -437,7 +434,6 @@ export async function POST(req: NextRequest, { params }: { params: Promise<{ id:
loggingSession, loggingSession,
includeFileBase64, includeFileBase64,
base64MaxBytes, base64MaxBytes,
stopAfterBlockId,
}) })
const outputWithBase64 = includeFileBase64 const outputWithBase64 = includeFileBase64
@@ -616,8 +612,6 @@ export async function POST(req: NextRequest, { params }: { params: Promise<{ id:
input: callbackData.input, input: callbackData.input,
error: callbackData.output.error, error: callbackData.output.error,
durationMs: callbackData.executionTime || 0, durationMs: callbackData.executionTime || 0,
startedAt: callbackData.startedAt,
endedAt: callbackData.endedAt,
...(iterationContext && { ...(iterationContext && {
iterationCurrent: iterationContext.iterationCurrent, iterationCurrent: iterationContext.iterationCurrent,
iterationTotal: iterationContext.iterationTotal, iterationTotal: iterationContext.iterationTotal,
@@ -643,8 +637,6 @@ export async function POST(req: NextRequest, { params }: { params: Promise<{ id:
input: callbackData.input, input: callbackData.input,
output: callbackData.output, output: callbackData.output,
durationMs: callbackData.executionTime || 0, durationMs: callbackData.executionTime || 0,
startedAt: callbackData.startedAt,
endedAt: callbackData.endedAt,
...(iterationContext && { ...(iterationContext && {
iterationCurrent: iterationContext.iterationCurrent, iterationCurrent: iterationContext.iterationCurrent,
iterationTotal: iterationContext.iterationTotal, iterationTotal: iterationContext.iterationTotal,
@@ -730,7 +722,6 @@ export async function POST(req: NextRequest, { params }: { params: Promise<{ id:
abortSignal: abortController.signal, abortSignal: abortController.signal,
includeFileBase64, includeFileBase64,
base64MaxBytes, base64MaxBytes,
stopAfterBlockId,
}) })
if (result.status === 'paused') { if (result.status === 'paused') {

View File

@@ -133,7 +133,9 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{
const finalWorkflowData = { const finalWorkflowData = {
...workflowData, ...workflowData,
state: { state: {
// Default values for expected properties
deploymentStatuses: {}, deploymentStatuses: {},
// Data from normalized tables
blocks: normalizedData.blocks, blocks: normalizedData.blocks,
edges: normalizedData.edges, edges: normalizedData.edges,
loops: normalizedData.loops, loops: normalizedData.loops,
@@ -141,11 +143,8 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{
lastSaved: Date.now(), lastSaved: Date.now(),
isDeployed: workflowData.isDeployed || false, isDeployed: workflowData.isDeployed || false,
deployedAt: workflowData.deployedAt, deployedAt: workflowData.deployedAt,
metadata: {
name: workflowData.name,
description: workflowData.description,
},
}, },
// Include workflow variables
variables: workflowData.variables || {}, variables: workflowData.variables || {},
} }
@@ -167,10 +166,6 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{
lastSaved: Date.now(), lastSaved: Date.now(),
isDeployed: workflowData.isDeployed || false, isDeployed: workflowData.isDeployed || false,
deployedAt: workflowData.deployedAt, deployedAt: workflowData.deployedAt,
metadata: {
name: workflowData.name,
description: workflowData.description,
},
}, },
variables: workflowData.variables || {}, variables: workflowData.variables || {},
} }
@@ -361,10 +356,7 @@ export async function DELETE(
const socketUrl = env.SOCKET_SERVER_URL || 'http://localhost:3002' const socketUrl = env.SOCKET_SERVER_URL || 'http://localhost:3002'
const socketResponse = await fetch(`${socketUrl}/api/workflow-deleted`, { const socketResponse = await fetch(`${socketUrl}/api/workflow-deleted`, {
method: 'POST', method: 'POST',
headers: { headers: { 'Content-Type': 'application/json' },
'Content-Type': 'application/json',
'x-api-key': env.INTERNAL_API_SECRET,
},
body: JSON.stringify({ workflowId }), body: JSON.stringify({ workflowId }),
}) })

View File

@@ -254,10 +254,7 @@ export async function PUT(request: NextRequest, { params }: { params: Promise<{
const socketUrl = env.SOCKET_SERVER_URL || 'http://localhost:3002' const socketUrl = env.SOCKET_SERVER_URL || 'http://localhost:3002'
const notifyResponse = await fetch(`${socketUrl}/api/workflow-updated`, { const notifyResponse = await fetch(`${socketUrl}/api/workflow-updated`, {
method: 'POST', method: 'POST',
headers: { headers: { 'Content-Type': 'application/json' },
'Content-Type': 'application/json',
'x-api-key': env.INTERNAL_API_SECRET,
},
body: JSON.stringify({ workflowId }), body: JSON.stringify({ workflowId }),
}) })

View File

@@ -215,7 +215,6 @@ export async function GET(request: NextRequest, { params }: { params: Promise<{
} }
for (const log of logs) { for (const log of logs) {
if (!log.workflowId) continue // Skip logs for deleted workflows
const idx = Math.min( const idx = Math.min(
segments - 1, segments - 1,
Math.max(0, Math.floor((log.startedAt.getTime() - start.getTime()) / segmentMs)) Math.max(0, Math.floor((log.startedAt.getTime() - start.getTime()) / segmentMs))

View File

@@ -0,0 +1,108 @@
import { createLogger } from '@sim/logger'
import { type NextRequest, NextResponse } from 'next/server'
import { z } from 'zod'
import { generateRequestId } from '@/lib/core/utils/request'
import { applyAutoLayout } from '@/lib/workflows/autolayout'
import {
DEFAULT_HORIZONTAL_SPACING,
DEFAULT_LAYOUT_PADDING,
DEFAULT_VERTICAL_SPACING,
} from '@/lib/workflows/autolayout/constants'
const logger = createLogger('YamlAutoLayoutAPI')
const AutoLayoutRequestSchema = z.object({
workflowState: z.object({
blocks: z.record(z.any()),
edges: z.array(z.any()),
loops: z.record(z.any()).optional().default({}),
parallels: z.record(z.any()).optional().default({}),
}),
options: z
.object({
spacing: z
.object({
horizontal: z.number().optional(),
vertical: z.number().optional(),
})
.optional(),
alignment: z.enum(['start', 'center', 'end']).optional(),
padding: z
.object({
x: z.number().optional(),
y: z.number().optional(),
})
.optional(),
})
.optional(),
})
export async function POST(request: NextRequest) {
const requestId = generateRequestId()
try {
const body = await request.json()
const { workflowState, options } = AutoLayoutRequestSchema.parse(body)
logger.info(`[${requestId}] Applying auto layout`, {
blockCount: Object.keys(workflowState.blocks).length,
edgeCount: workflowState.edges.length,
})
const autoLayoutOptions = {
horizontalSpacing: options?.spacing?.horizontal ?? DEFAULT_HORIZONTAL_SPACING,
verticalSpacing: options?.spacing?.vertical ?? DEFAULT_VERTICAL_SPACING,
padding: {
x: options?.padding?.x ?? DEFAULT_LAYOUT_PADDING.x,
y: options?.padding?.y ?? DEFAULT_LAYOUT_PADDING.y,
},
alignment: options?.alignment ?? 'center',
}
const layoutResult = applyAutoLayout(
workflowState.blocks,
workflowState.edges,
autoLayoutOptions
)
if (!layoutResult.success || !layoutResult.blocks) {
logger.error(`[${requestId}] Auto layout failed:`, {
error: layoutResult.error,
})
return NextResponse.json(
{
success: false,
errors: [layoutResult.error || 'Unknown auto layout error'],
},
{ status: 500 }
)
}
logger.info(`[${requestId}] Auto layout completed successfully:`, {
success: true,
blockCount: Object.keys(layoutResult.blocks).length,
})
const transformedResponse = {
success: true,
workflowState: {
blocks: layoutResult.blocks,
edges: workflowState.edges,
loops: workflowState.loops || {},
parallels: workflowState.parallels || {},
},
}
return NextResponse.json(transformedResponse)
} catch (error) {
logger.error(`[${requestId}] Auto layout failed:`, error)
return NextResponse.json(
{
success: false,
errors: [error instanceof Error ? error.message : 'Unknown auto layout error'],
},
{ status: 500 }
)
}
}

View File

@@ -24,7 +24,6 @@ import {
Cursor, Cursor,
DatePicker, DatePicker,
DocumentAttachment, DocumentAttachment,
Download,
Duplicate, Duplicate,
Expand, Expand,
Eye, Eye,
@@ -52,7 +51,6 @@ import {
NoWrap, NoWrap,
PanelLeft, PanelLeft,
Play, Play,
PlayOutline,
Popover, Popover,
PopoverBackButton, PopoverBackButton,
PopoverContent, PopoverContent,
@@ -216,9 +214,6 @@ export default function PlaygroundPage() {
<VariantRow label='primary'> <VariantRow label='primary'>
<Button variant='primary'>Primary</Button> <Button variant='primary'>Primary</Button>
</VariantRow> </VariantRow>
<VariantRow label='destructive'>
<Button variant='destructive'>Destructive</Button>
</VariantRow>
<VariantRow label='secondary'> <VariantRow label='secondary'>
<Button variant='secondary'>Secondary</Button> <Button variant='secondary'>Secondary</Button>
</VariantRow> </VariantRow>
@@ -295,9 +290,6 @@ export default function PlaygroundPage() {
<VariantRow label='outline'> <VariantRow label='outline'>
<Badge variant='outline'>Outline</Badge> <Badge variant='outline'>Outline</Badge>
</VariantRow> </VariantRow>
<VariantRow label='type'>
<Badge variant='type'>Type</Badge>
</VariantRow>
<VariantRow label='green'> <VariantRow label='green'>
<Badge variant='green'>Green</Badge> <Badge variant='green'>Green</Badge>
<Badge variant='green' dot> <Badge variant='green' dot>
@@ -331,9 +323,6 @@ export default function PlaygroundPage() {
<VariantRow label='teal'> <VariantRow label='teal'>
<Badge variant='teal'>Teal</Badge> <Badge variant='teal'>Teal</Badge>
</VariantRow> </VariantRow>
<VariantRow label='cyan'>
<Badge variant='cyan'>Cyan</Badge>
</VariantRow>
<VariantRow label='gray'> <VariantRow label='gray'>
<Badge variant='gray'>Gray</Badge> <Badge variant='gray'>Gray</Badge>
</VariantRow> </VariantRow>
@@ -1007,7 +996,6 @@ export default function PlaygroundPage() {
{ Icon: Copy, name: 'Copy' }, { Icon: Copy, name: 'Copy' },
{ Icon: Cursor, name: 'Cursor' }, { Icon: Cursor, name: 'Cursor' },
{ Icon: DocumentAttachment, name: 'DocumentAttachment' }, { Icon: DocumentAttachment, name: 'DocumentAttachment' },
{ Icon: Download, name: 'Download' },
{ Icon: Duplicate, name: 'Duplicate' }, { Icon: Duplicate, name: 'Duplicate' },
{ Icon: Expand, name: 'Expand' }, { Icon: Expand, name: 'Expand' },
{ Icon: Eye, name: 'Eye' }, { Icon: Eye, name: 'Eye' },
@@ -1023,7 +1011,6 @@ export default function PlaygroundPage() {
{ Icon: NoWrap, name: 'NoWrap' }, { Icon: NoWrap, name: 'NoWrap' },
{ Icon: PanelLeft, name: 'PanelLeft' }, { Icon: PanelLeft, name: 'PanelLeft' },
{ Icon: Play, name: 'Play' }, { Icon: Play, name: 'Play' },
{ Icon: PlayOutline, name: 'PlayOutline' },
{ Icon: Redo, name: 'Redo' }, { Icon: Redo, name: 'Redo' },
{ Icon: Rocket, name: 'Rocket' }, { Icon: Rocket, name: 'Rocket' },
{ Icon: Trash, name: 'Trash' }, { Icon: Trash, name: 'Trash' },

View File

@@ -6,6 +6,7 @@ import { useRouter } from 'next/navigation'
import { import {
Badge, Badge,
Button, Button,
Code,
Input, Input,
Label, Label,
Table, Table,
@@ -776,6 +777,15 @@ export default function ResumeExecutionPage({
refreshSelectedDetail, refreshSelectedDetail,
]) ])
const pauseResponsePreview = useMemo(() => {
if (!selectedDetail?.pausePoint.response?.data) return '{}'
try {
return JSON.stringify(selectedDetail.pausePoint.response.data, null, 2)
} catch {
return String(selectedDetail.pausePoint.response.data)
}
}, [selectedDetail])
const isFormComplete = useMemo(() => { const isFormComplete = useMemo(() => {
if (!isHumanMode || !hasInputFormat) return true if (!isHumanMode || !hasInputFormat) return true
return inputFormatFields.every((field) => { return inputFormatFields.every((field) => {
@@ -1145,12 +1155,10 @@ export default function ResumeExecutionPage({
borderBottom: '1px solid var(--border)', borderBottom: '1px solid var(--border)',
}} }}
> >
<Label>Display Data</Label> <Label>Pause Data</Label>
</div> </div>
<div style={{ padding: '16px' }}> <div style={{ padding: '16px' }}>
<p style={{ fontSize: '13px', color: 'var(--text-muted)' }}> <Code.Viewer code={pauseResponsePreview} language='json' />
No display data configured
</p>
</div> </div>
</div> </div>
)} )}

View File

@@ -1,9 +1,5 @@
import { memo } from 'react' import { memo } from 'react'
import { cn } from '@/lib/core/utils/cn' import { cn } from '@/lib/core/utils/cn'
import {
DELETED_WORKFLOW_COLOR,
DELETED_WORKFLOW_LABEL,
} from '@/app/workspace/[workspaceId]/logs/utils'
import { useWorkflowRegistry } from '@/stores/workflows/registry/store' import { useWorkflowRegistry } from '@/stores/workflows/registry/store'
import { StatusBar, type StatusBarSegment } from '..' import { StatusBar, type StatusBarSegment } from '..'
@@ -65,32 +61,22 @@ export function WorkflowsList({
<div> <div>
{filteredExecutions.map((workflow, idx) => { {filteredExecutions.map((workflow, idx) => {
const isSelected = expandedWorkflowId === workflow.workflowId const isSelected = expandedWorkflowId === workflow.workflowId
const isDeletedWorkflow = workflow.workflowName === DELETED_WORKFLOW_LABEL
const workflowColor = isDeletedWorkflow
? DELETED_WORKFLOW_COLOR
: workflows[workflow.workflowId]?.color || '#64748b'
const canToggle = !isDeletedWorkflow
return ( return (
<div <div
key={workflow.workflowId} key={workflow.workflowId}
className={cn( className={cn(
'flex h-[44px] items-center gap-[16px] px-[24px] hover:bg-[var(--surface-3)] dark:hover:bg-[var(--surface-4)]', 'flex h-[44px] cursor-pointer items-center gap-[16px] px-[24px] hover:bg-[var(--surface-3)] dark:hover:bg-[var(--surface-4)]',
canToggle ? 'cursor-pointer' : 'cursor-default',
isSelected && 'bg-[var(--surface-3)] dark:bg-[var(--surface-4)]' isSelected && 'bg-[var(--surface-3)] dark:bg-[var(--surface-4)]'
)} )}
onClick={() => { onClick={() => onToggleWorkflow(workflow.workflowId)}
if (canToggle) {
onToggleWorkflow(workflow.workflowId)
}
}}
> >
{/* Workflow name with color */} {/* Workflow name with color */}
<div className='flex w-[160px] flex-shrink-0 items-center gap-[8px] pr-[8px]'> <div className='flex w-[160px] flex-shrink-0 items-center gap-[8px] pr-[8px]'>
<div <div
className='h-[10px] w-[10px] flex-shrink-0 rounded-[3px]' className='h-[10px] w-[10px] flex-shrink-0 rounded-[3px]'
style={{ style={{
backgroundColor: workflowColor, backgroundColor: workflows[workflow.workflowId]?.color || '#64748b',
}} }}
/> />
<span className='min-w-0 truncate font-medium text-[12px] text-[var(--text-primary)]'> <span className='min-w-0 truncate font-medium text-[12px] text-[var(--text-primary)]'>

Some files were not shown because too many files have changed in this diff Show More