mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-31 09:48:06 -05:00
Compare commits
1 Commits
v0.5.77
...
fix/refres
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2325cad1f |
@@ -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
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/components/emcn/**"
|
|
||||||
---
|
|
||||||
|
|
||||||
# EMCN Components
|
|
||||||
|
|
||||||
Import from `@/components/emcn`, never from subpaths (except CSS files).
|
|
||||||
|
|
||||||
## CVA vs Direct Styles
|
|
||||||
|
|
||||||
**Use CVA when:** 2+ variants (primary/secondary, sm/md/lg)
|
|
||||||
|
|
||||||
```tsx
|
|
||||||
const buttonVariants = cva('base-classes', {
|
|
||||||
variants: { variant: { default: '...', primary: '...' } }
|
|
||||||
})
|
|
||||||
export { Button, buttonVariants }
|
|
||||||
```
|
|
||||||
|
|
||||||
**Use direct className when:** Single consistent style, no variations
|
|
||||||
|
|
||||||
```tsx
|
|
||||||
function Label({ className, ...props }) {
|
|
||||||
return <Primitive className={cn('style-classes', className)} {...props} />
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
|
|
||||||
- Use Radix UI primitives for accessibility
|
|
||||||
- Export component and variants (if using CVA)
|
|
||||||
- TSDoc with usage examples
|
|
||||||
- Consistent tokens: `font-medium`, `text-[12px]`, `rounded-[4px]`
|
|
||||||
- `transition-colors` for hover states
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# Global Standards
|
|
||||||
|
|
||||||
## Logging
|
|
||||||
Import `createLogger` from `sim/logger`. Use `logger.info`, `logger.warn`, `logger.error` instead of `console.log`.
|
|
||||||
|
|
||||||
## Comments
|
|
||||||
Use TSDoc for documentation. No `====` separators. No non-TSDoc comments.
|
|
||||||
|
|
||||||
## Styling
|
|
||||||
Never update global styles. Keep all styling local to components.
|
|
||||||
|
|
||||||
## Package Manager
|
|
||||||
Use `bun` and `bunx`, not `npm` and `npx`.
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Sim App Architecture
|
|
||||||
|
|
||||||
## Core Principles
|
|
||||||
1. **Single Responsibility**: Each component, hook, store has one clear purpose
|
|
||||||
2. **Composition Over Complexity**: Break down complex logic into smaller pieces
|
|
||||||
3. **Type Safety First**: TypeScript interfaces for all props, state, return types
|
|
||||||
4. **Predictable State**: Zustand for global state, useState for UI-only concerns
|
|
||||||
|
|
||||||
## Root-Level Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
apps/sim/
|
|
||||||
├── app/ # Next.js app router (pages, API routes)
|
|
||||||
├── blocks/ # Block definitions and registry
|
|
||||||
├── components/ # Shared UI (emcn/, ui/)
|
|
||||||
├── executor/ # Workflow execution engine
|
|
||||||
├── hooks/ # Shared hooks (queries/, selectors/)
|
|
||||||
├── lib/ # App-wide utilities
|
|
||||||
├── providers/ # LLM provider integrations
|
|
||||||
├── stores/ # Zustand stores
|
|
||||||
├── tools/ # Tool definitions
|
|
||||||
└── triggers/ # Trigger definitions
|
|
||||||
```
|
|
||||||
|
|
||||||
## Feature Organization
|
|
||||||
|
|
||||||
Features live under `app/workspace/[workspaceId]/`:
|
|
||||||
|
|
||||||
```
|
|
||||||
feature/
|
|
||||||
├── components/ # Feature components
|
|
||||||
├── hooks/ # Feature-scoped hooks
|
|
||||||
├── utils/ # Feature-scoped utilities (2+ consumers)
|
|
||||||
├── feature.tsx # Main component
|
|
||||||
└── page.tsx # Next.js page entry
|
|
||||||
```
|
|
||||||
|
|
||||||
## Naming Conventions
|
|
||||||
- **Components**: PascalCase (`WorkflowList`)
|
|
||||||
- **Hooks**: `use` prefix (`useWorkflowOperations`)
|
|
||||||
- **Files**: kebab-case (`workflow-list.tsx`)
|
|
||||||
- **Stores**: `stores/feature/store.ts`
|
|
||||||
- **Constants**: SCREAMING_SNAKE_CASE
|
|
||||||
- **Interfaces**: PascalCase with suffix (`WorkflowListProps`)
|
|
||||||
|
|
||||||
## Utils Rules
|
|
||||||
|
|
||||||
- **Never create `utils.ts` for single consumer** - inline it
|
|
||||||
- **Create `utils.ts` when** 2+ files need the same helper
|
|
||||||
- **Check existing sources** before duplicating (`lib/` has many utilities)
|
|
||||||
- **Location**: `lib/` (app-wide) → `feature/utils/` (feature-scoped) → inline (single-use)
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/*.tsx"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Component Patterns
|
|
||||||
|
|
||||||
## Structure Order
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
'use client' // Only if using hooks
|
|
||||||
|
|
||||||
// Imports (external → internal)
|
|
||||||
// Constants at module level
|
|
||||||
const CONFIG = { SPACING: 8 } as const
|
|
||||||
|
|
||||||
// Props interface
|
|
||||||
interface ComponentProps {
|
|
||||||
requiredProp: string
|
|
||||||
optionalProp?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
export function Component({ requiredProp, optionalProp = false }: ComponentProps) {
|
|
||||||
// a. Refs
|
|
||||||
// b. External hooks (useParams, useRouter)
|
|
||||||
// c. Store hooks
|
|
||||||
// d. Custom hooks
|
|
||||||
// e. Local state
|
|
||||||
// f. useMemo
|
|
||||||
// g. useCallback
|
|
||||||
// h. useEffect
|
|
||||||
// i. Return JSX
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
|
|
||||||
1. `'use client'` only when using React hooks
|
|
||||||
2. Always define props interface
|
|
||||||
3. Extract constants with `as const`
|
|
||||||
4. Semantic HTML (`aside`, `nav`, `article`)
|
|
||||||
5. Optional chain callbacks: `onAction?.(id)`
|
|
||||||
|
|
||||||
## Component Extraction
|
|
||||||
|
|
||||||
**Extract when:** 50+ lines, used in 2+ files, or has own state/logic
|
|
||||||
|
|
||||||
**Keep inline when:** < 10 lines, single use, purely presentational
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/use-*.ts"
|
|
||||||
- "apps/sim/**/hooks/**/*.ts"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Hook Patterns
|
|
||||||
|
|
||||||
## Structure
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
interface UseFeatureProps {
|
|
||||||
id: string
|
|
||||||
onSuccess?: (result: Result) => void
|
|
||||||
}
|
|
||||||
|
|
||||||
export function useFeature({ id, onSuccess }: UseFeatureProps) {
|
|
||||||
// 1. Refs for stable dependencies
|
|
||||||
const idRef = useRef(id)
|
|
||||||
const onSuccessRef = useRef(onSuccess)
|
|
||||||
|
|
||||||
// 2. State
|
|
||||||
const [data, setData] = useState<Data | null>(null)
|
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
|
||||||
|
|
||||||
// 3. Sync refs
|
|
||||||
useEffect(() => {
|
|
||||||
idRef.current = id
|
|
||||||
onSuccessRef.current = onSuccess
|
|
||||||
}, [id, onSuccess])
|
|
||||||
|
|
||||||
// 4. Operations (useCallback with empty deps when using refs)
|
|
||||||
const fetchData = useCallback(async () => {
|
|
||||||
setIsLoading(true)
|
|
||||||
try {
|
|
||||||
const result = await fetch(`/api/${idRef.current}`).then(r => r.json())
|
|
||||||
setData(result)
|
|
||||||
onSuccessRef.current?.(result)
|
|
||||||
} finally {
|
|
||||||
setIsLoading(false)
|
|
||||||
}
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
return { data, isLoading, fetchData }
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
|
|
||||||
1. Single responsibility per hook
|
|
||||||
2. Props interface required
|
|
||||||
3. Refs for stable callback dependencies
|
|
||||||
4. Wrap returned functions in useCallback
|
|
||||||
5. Always try/catch async operations
|
|
||||||
6. Track loading/error states
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/*.ts"
|
|
||||||
- "apps/sim/**/*.tsx"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Import Patterns
|
|
||||||
|
|
||||||
## Absolute Imports
|
|
||||||
|
|
||||||
**Always use absolute imports.** Never use relative imports.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// ✓ Good
|
|
||||||
import { useWorkflowStore } from '@/stores/workflows/store'
|
|
||||||
import { Button } from '@/components/ui/button'
|
|
||||||
|
|
||||||
// ✗ Bad
|
|
||||||
import { useWorkflowStore } from '../../../stores/workflows/store'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Barrel Exports
|
|
||||||
|
|
||||||
Use barrel exports (`index.ts`) when a folder has 3+ exports. Import from barrel, not individual files.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// ✓ Good
|
|
||||||
import { Dashboard, Sidebar } from '@/app/workspace/[workspaceId]/logs/components'
|
|
||||||
|
|
||||||
// ✗ Bad
|
|
||||||
import { Dashboard } from '@/app/workspace/[workspaceId]/logs/components/dashboard/dashboard'
|
|
||||||
```
|
|
||||||
|
|
||||||
## No Re-exports
|
|
||||||
|
|
||||||
Do not re-export from non-barrel files. Import directly from the source.
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// ✓ Good - import from where it's declared
|
|
||||||
import { CORE_TRIGGER_TYPES } from '@/stores/logs/filters/types'
|
|
||||||
|
|
||||||
// ✗ Bad - re-exporting in utils.ts then importing from there
|
|
||||||
import { CORE_TRIGGER_TYPES } from '@/app/workspace/.../utils'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Import Order
|
|
||||||
|
|
||||||
1. React/core libraries
|
|
||||||
2. External libraries
|
|
||||||
3. UI components (`@/components/emcn`, `@/components/ui`)
|
|
||||||
4. Utilities (`@/lib/...`)
|
|
||||||
5. Stores (`@/stores/...`)
|
|
||||||
6. Feature imports
|
|
||||||
7. CSS imports
|
|
||||||
|
|
||||||
## Type Imports
|
|
||||||
|
|
||||||
Use `type` keyword for type-only imports:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import type { WorkflowLog } from '@/stores/logs/types'
|
|
||||||
```
|
|
||||||
@@ -1,209 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/tools/**"
|
|
||||||
- "apps/sim/blocks/**"
|
|
||||||
- "apps/sim/triggers/**"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Adding Integrations
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
Adding a new integration typically requires:
|
|
||||||
1. **Tools** - API operations (`tools/{service}/`)
|
|
||||||
2. **Block** - UI component (`blocks/blocks/{service}.ts`)
|
|
||||||
3. **Icon** - SVG icon (`components/icons.tsx`)
|
|
||||||
4. **Trigger** (optional) - Webhooks/polling (`triggers/{service}/`)
|
|
||||||
|
|
||||||
Always look up the service's API docs first.
|
|
||||||
|
|
||||||
## 1. Tools (`tools/{service}/`)
|
|
||||||
|
|
||||||
```
|
|
||||||
tools/{service}/
|
|
||||||
├── index.ts # Export all tools
|
|
||||||
├── types.ts # Params/response types
|
|
||||||
├── {action}.ts # Individual tool (e.g., send_message.ts)
|
|
||||||
└── ...
|
|
||||||
```
|
|
||||||
|
|
||||||
**Tool file structure:**
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// tools/{service}/{action}.ts
|
|
||||||
import type { {Service}Params, {Service}Response } from '@/tools/{service}/types'
|
|
||||||
import type { ToolConfig } from '@/tools/types'
|
|
||||||
|
|
||||||
export const {service}{Action}Tool: ToolConfig<{Service}Params, {Service}Response> = {
|
|
||||||
id: '{service}_{action}',
|
|
||||||
name: '{Service} {Action}',
|
|
||||||
description: 'What this tool does',
|
|
||||||
version: '1.0.0',
|
|
||||||
oauth: { required: true, provider: '{service}' }, // if OAuth
|
|
||||||
params: { /* param definitions */ },
|
|
||||||
request: {
|
|
||||||
url: '/api/tools/{service}/{action}',
|
|
||||||
method: 'POST',
|
|
||||||
headers: () => ({ 'Content-Type': 'application/json' }),
|
|
||||||
body: (params) => ({ ...params }),
|
|
||||||
},
|
|
||||||
transformResponse: async (response) => {
|
|
||||||
const data = await response.json()
|
|
||||||
if (!data.success) throw new Error(data.error)
|
|
||||||
return { success: true, output: data.output }
|
|
||||||
},
|
|
||||||
outputs: { /* output definitions */ },
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**Register in `tools/registry.ts`:**
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { {service}{Action}Tool } from '@/tools/{service}'
|
|
||||||
// Add to registry object
|
|
||||||
{service}_{action}: {service}{Action}Tool,
|
|
||||||
```
|
|
||||||
|
|
||||||
## 2. Block (`blocks/blocks/{service}.ts`)
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { {Service}Icon } from '@/components/icons'
|
|
||||||
import type { BlockConfig } from '@/blocks/types'
|
|
||||||
import type { {Service}Response } from '@/tools/{service}/types'
|
|
||||||
|
|
||||||
export const {Service}Block: BlockConfig<{Service}Response> = {
|
|
||||||
type: '{service}',
|
|
||||||
name: '{Service}',
|
|
||||||
description: 'Short description',
|
|
||||||
longDescription: 'Detailed description',
|
|
||||||
category: 'tools',
|
|
||||||
bgColor: '#hexcolor',
|
|
||||||
icon: {Service}Icon,
|
|
||||||
subBlocks: [ /* see SubBlock Properties below */ ],
|
|
||||||
tools: {
|
|
||||||
access: ['{service}_{action}', ...],
|
|
||||||
config: {
|
|
||||||
tool: (params) => `{service}_${params.operation}`,
|
|
||||||
params: (params) => ({ ...params }),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
inputs: { /* input definitions */ },
|
|
||||||
outputs: { /* output definitions */ },
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### SubBlock Properties
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
{
|
|
||||||
id: 'fieldName', // Unique identifier
|
|
||||||
title: 'Field Label', // UI label
|
|
||||||
type: 'short-input', // See SubBlock Types below
|
|
||||||
placeholder: 'Hint text',
|
|
||||||
required: true, // See Required below
|
|
||||||
condition: { ... }, // See Condition below
|
|
||||||
dependsOn: ['otherField'], // See DependsOn below
|
|
||||||
mode: 'basic', // 'basic' | 'advanced' | 'both' | 'trigger'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**SubBlock Types:** `short-input`, `long-input`, `dropdown`, `code`, `switch`, `slider`, `oauth-input`, `channel-selector`, `user-selector`, `file-upload`, etc.
|
|
||||||
|
|
||||||
### `condition` - Show/hide based on another field
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// Show when operation === 'send'
|
|
||||||
condition: { field: 'operation', value: 'send' }
|
|
||||||
|
|
||||||
// Show when operation is 'send' OR 'read'
|
|
||||||
condition: { field: 'operation', value: ['send', 'read'] }
|
|
||||||
|
|
||||||
// Show when operation !== 'send'
|
|
||||||
condition: { field: 'operation', value: 'send', not: true }
|
|
||||||
|
|
||||||
// Complex: NOT in list AND another condition
|
|
||||||
condition: {
|
|
||||||
field: 'operation',
|
|
||||||
value: ['list_channels', 'list_users'],
|
|
||||||
not: true,
|
|
||||||
and: { field: 'destinationType', value: 'dm', not: true }
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### `required` - Field validation
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// Always required
|
|
||||||
required: true
|
|
||||||
|
|
||||||
// Conditionally required (same syntax as condition)
|
|
||||||
required: { field: 'operation', value: 'send' }
|
|
||||||
```
|
|
||||||
|
|
||||||
### `dependsOn` - Clear field when dependencies change
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// Clear when credential changes
|
|
||||||
dependsOn: ['credential']
|
|
||||||
|
|
||||||
// Clear when authMethod changes AND (credential OR botToken) changes
|
|
||||||
dependsOn: { all: ['authMethod'], any: ['credential', 'botToken'] }
|
|
||||||
```
|
|
||||||
|
|
||||||
### `mode` - When to show field
|
|
||||||
|
|
||||||
- `'basic'` - Only in basic mode (default UI)
|
|
||||||
- `'advanced'` - Only in advanced mode (manual input)
|
|
||||||
- `'both'` - Show in both modes (default)
|
|
||||||
- `'trigger'` - Only when block is used as trigger
|
|
||||||
|
|
||||||
**Register in `blocks/registry.ts`:**
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { {Service}Block } from '@/blocks/blocks/{service}'
|
|
||||||
// Add to registry object (alphabetically)
|
|
||||||
{service}: {Service}Block,
|
|
||||||
```
|
|
||||||
|
|
||||||
## 3. Icon (`components/icons.tsx`)
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
export function {Service}Icon(props: SVGProps<SVGSVGElement>) {
|
|
||||||
return (
|
|
||||||
<svg {...props} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
{/* SVG path from service's brand assets */}
|
|
||||||
</svg>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4. Trigger (`triggers/{service}/`) - Optional
|
|
||||||
|
|
||||||
```
|
|
||||||
triggers/{service}/
|
|
||||||
├── index.ts # Export all triggers
|
|
||||||
├── webhook.ts # Webhook handler
|
|
||||||
├── utils.ts # Shared utilities
|
|
||||||
└── {event}.ts # Specific event handlers
|
|
||||||
```
|
|
||||||
|
|
||||||
**Register in `triggers/registry.ts`:**
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { {service}WebhookTrigger } from '@/triggers/{service}'
|
|
||||||
// Add to TRIGGER_REGISTRY
|
|
||||||
{service}_webhook: {service}WebhookTrigger,
|
|
||||||
```
|
|
||||||
|
|
||||||
## Checklist
|
|
||||||
|
|
||||||
- [ ] Look up API docs for the service
|
|
||||||
- [ ] Create `tools/{service}/types.ts` with proper types
|
|
||||||
- [ ] Create tool files for each operation
|
|
||||||
- [ ] Create `tools/{service}/index.ts` barrel export
|
|
||||||
- [ ] Register tools in `tools/registry.ts`
|
|
||||||
- [ ] Add icon to `components/icons.tsx`
|
|
||||||
- [ ] Create block in `blocks/blocks/{service}.ts`
|
|
||||||
- [ ] Register block in `blocks/registry.ts`
|
|
||||||
- [ ] (Optional) Create triggers in `triggers/{service}/`
|
|
||||||
- [ ] (Optional) Register triggers in `triggers/registry.ts`
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/hooks/queries/**/*.ts"
|
|
||||||
---
|
|
||||||
|
|
||||||
# React Query Patterns
|
|
||||||
|
|
||||||
All React Query hooks live in `hooks/queries/`.
|
|
||||||
|
|
||||||
## Query Key Factory
|
|
||||||
|
|
||||||
Every query file defines a keys factory:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
export const entityKeys = {
|
|
||||||
all: ['entity'] as const,
|
|
||||||
list: (workspaceId?: string) => [...entityKeys.all, 'list', workspaceId ?? ''] as const,
|
|
||||||
detail: (id?: string) => [...entityKeys.all, 'detail', id ?? ''] as const,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## File Structure
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// 1. Query keys factory
|
|
||||||
// 2. Types (if needed)
|
|
||||||
// 3. Private fetch functions
|
|
||||||
// 4. Exported hooks
|
|
||||||
```
|
|
||||||
|
|
||||||
## Query Hook
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
export function useEntityList(workspaceId?: string, options?: { enabled?: boolean }) {
|
|
||||||
return useQuery({
|
|
||||||
queryKey: entityKeys.list(workspaceId),
|
|
||||||
queryFn: () => fetchEntities(workspaceId as string),
|
|
||||||
enabled: Boolean(workspaceId) && (options?.enabled ?? true),
|
|
||||||
staleTime: 60 * 1000,
|
|
||||||
placeholderData: keepPreviousData,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Mutation Hook
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
export function useCreateEntity() {
|
|
||||||
const queryClient = useQueryClient()
|
|
||||||
return useMutation({
|
|
||||||
mutationFn: async (variables) => { /* fetch POST */ },
|
|
||||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: entityKeys.all }),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Optimistic Updates
|
|
||||||
|
|
||||||
For optimistic mutations syncing with Zustand, use `createOptimisticMutationHandlers` from `@/hooks/queries/utils/optimistic-mutation`.
|
|
||||||
|
|
||||||
## Naming
|
|
||||||
|
|
||||||
- **Keys**: `entityKeys`
|
|
||||||
- **Query hooks**: `useEntity`, `useEntityList`
|
|
||||||
- **Mutation hooks**: `useCreateEntity`, `useUpdateEntity`
|
|
||||||
- **Fetch functions**: `fetchEntity` (private)
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/store.ts"
|
|
||||||
- "apps/sim/**/stores/**/*.ts"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Zustand Store Patterns
|
|
||||||
|
|
||||||
Stores live in `stores/`. Complex stores split into `store.ts` + `types.ts`.
|
|
||||||
|
|
||||||
## Basic Store
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { create } from 'zustand'
|
|
||||||
import { devtools } from 'zustand/middleware'
|
|
||||||
import type { FeatureState } from '@/stores/feature/types'
|
|
||||||
|
|
||||||
const initialState = { items: [] as Item[], activeId: null as string | null }
|
|
||||||
|
|
||||||
export const useFeatureStore = create<FeatureState>()(
|
|
||||||
devtools(
|
|
||||||
(set, get) => ({
|
|
||||||
...initialState,
|
|
||||||
setItems: (items) => set({ items }),
|
|
||||||
addItem: (item) => set((state) => ({ items: [...state.items, item] })),
|
|
||||||
reset: () => set(initialState),
|
|
||||||
}),
|
|
||||||
{ name: 'feature-store' }
|
|
||||||
)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Persisted Store
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { create } from 'zustand'
|
|
||||||
import { persist } from 'zustand/middleware'
|
|
||||||
|
|
||||||
export const useFeatureStore = create<FeatureState>()(
|
|
||||||
persist(
|
|
||||||
(set) => ({
|
|
||||||
width: 300,
|
|
||||||
setWidth: (width) => set({ width }),
|
|
||||||
_hasHydrated: false,
|
|
||||||
setHasHydrated: (v) => set({ _hasHydrated: v }),
|
|
||||||
}),
|
|
||||||
{
|
|
||||||
name: 'feature-state',
|
|
||||||
partialize: (state) => ({ width: state.width }),
|
|
||||||
onRehydrateStorage: () => (state) => state?.setHasHydrated(true),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
|
|
||||||
1. Use `devtools` middleware (named stores)
|
|
||||||
2. Use `persist` only when data should survive reload
|
|
||||||
3. `partialize` to persist only necessary state
|
|
||||||
4. `_hasHydrated` pattern for persisted stores needing hydration tracking
|
|
||||||
5. Immutable updates only
|
|
||||||
6. `set((state) => ...)` when depending on previous state
|
|
||||||
7. Provide `reset()` action
|
|
||||||
|
|
||||||
## Outside React
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
const items = useFeatureStore.getState().items
|
|
||||||
useFeatureStore.setState({ items: newItems })
|
|
||||||
```
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/*.tsx"
|
|
||||||
- "apps/sim/**/*.css"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Styling Rules
|
|
||||||
|
|
||||||
## Tailwind
|
|
||||||
|
|
||||||
1. **No inline styles** - Use Tailwind classes
|
|
||||||
2. **No duplicate dark classes** - Skip `dark:` when value matches light mode
|
|
||||||
3. **Exact values** - `text-[14px]`, `h-[26px]`
|
|
||||||
4. **Transitions** - `transition-colors` for interactive states
|
|
||||||
|
|
||||||
## Conditional Classes
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { cn } from '@/lib/utils'
|
|
||||||
|
|
||||||
<div className={cn(
|
|
||||||
'base-classes',
|
|
||||||
isActive && 'active-classes',
|
|
||||||
disabled ? 'opacity-60' : 'hover:bg-accent'
|
|
||||||
)} />
|
|
||||||
```
|
|
||||||
|
|
||||||
## CSS Variables
|
|
||||||
|
|
||||||
For dynamic values (widths, heights) synced with stores:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// In store
|
|
||||||
setWidth: (width) => {
|
|
||||||
set({ width })
|
|
||||||
document.documentElement.style.setProperty('--sidebar-width', `${width}px`)
|
|
||||||
}
|
|
||||||
|
|
||||||
// In component
|
|
||||||
<aside style={{ width: 'var(--sidebar-width)' }} />
|
|
||||||
```
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/*.test.ts"
|
|
||||||
- "apps/sim/**/*.test.tsx"
|
|
||||||
---
|
|
||||||
|
|
||||||
# Testing Patterns
|
|
||||||
|
|
||||||
Use Vitest. Test files: `feature.ts` → `feature.test.ts`
|
|
||||||
|
|
||||||
## Structure
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
/**
|
|
||||||
* @vitest-environment node
|
|
||||||
*/
|
|
||||||
import { databaseMock, loggerMock } from '@sim/testing'
|
|
||||||
import { describe, expect, it, vi } from 'vitest'
|
|
||||||
|
|
||||||
vi.mock('@sim/db', () => databaseMock)
|
|
||||||
vi.mock('@sim/logger', () => loggerMock)
|
|
||||||
|
|
||||||
import { myFunction } from '@/lib/feature'
|
|
||||||
|
|
||||||
describe('myFunction', () => {
|
|
||||||
beforeEach(() => vi.clearAllMocks())
|
|
||||||
it.concurrent('isolated tests run in parallel', () => { ... })
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
## @sim/testing Package
|
|
||||||
|
|
||||||
Always prefer over local mocks.
|
|
||||||
|
|
||||||
| Category | Utilities |
|
|
||||||
|----------|-----------|
|
|
||||||
| **Mocks** | `loggerMock`, `databaseMock`, `setupGlobalFetchMock()` |
|
|
||||||
| **Factories** | `createSession()`, `createWorkflowRecord()`, `createBlock()`, `createExecutorContext()` |
|
|
||||||
| **Builders** | `WorkflowBuilder`, `ExecutionContextBuilder` |
|
|
||||||
| **Assertions** | `expectWorkflowAccessGranted()`, `expectBlockExecuted()` |
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
|
|
||||||
1. `@vitest-environment node` directive at file top
|
|
||||||
2. `vi.mock()` calls before importing mocked modules
|
|
||||||
3. `@sim/testing` utilities over local mocks
|
|
||||||
4. `it.concurrent` for isolated tests (no shared mutable state)
|
|
||||||
5. `beforeEach(() => vi.clearAllMocks())` to reset state
|
|
||||||
|
|
||||||
## Hoisted Mocks
|
|
||||||
|
|
||||||
For mutable mock references:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
const mockFn = vi.hoisted(() => vi.fn())
|
|
||||||
vi.mock('@/lib/module', () => ({ myFunction: mockFn }))
|
|
||||||
mockFn.mockResolvedValue({ data: 'test' })
|
|
||||||
```
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
paths:
|
|
||||||
- "apps/sim/**/*.ts"
|
|
||||||
- "apps/sim/**/*.tsx"
|
|
||||||
---
|
|
||||||
|
|
||||||
# TypeScript Rules
|
|
||||||
|
|
||||||
1. **No `any`** - Use proper types or `unknown` with type guards
|
|
||||||
2. **Props interface** - Always define for components
|
|
||||||
3. **Const assertions** - `as const` for constant objects/arrays
|
|
||||||
4. **Ref types** - Explicit: `useRef<HTMLDivElement>(null)`
|
|
||||||
5. **Type imports** - `import type { X }` for type-only imports
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// ✗ Bad
|
|
||||||
const handleClick = (e: any) => {}
|
|
||||||
|
|
||||||
// ✓ Good
|
|
||||||
const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {}
|
|
||||||
```
|
|
||||||
@@ -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.
|
|
||||||
@@ -8,7 +8,7 @@ alwaysApply: true
|
|||||||
You are a professional software engineer. All code must follow best practices: accurate, readable, clean, and efficient.
|
You are a professional software engineer. All code must follow best practices: accurate, readable, clean, and efficient.
|
||||||
|
|
||||||
## Logging
|
## Logging
|
||||||
Import `createLogger` from `@sim/logger`. Use `logger.info`, `logger.warn`, `logger.error` instead of `console.log`.
|
Import `createLogger` from `sim/logger`. Use `logger.info`, `logger.warn`, `logger.error` instead of `console.log`.
|
||||||
|
|
||||||
## Comments
|
## Comments
|
||||||
Use TSDoc for documentation. No `====` separators. No non-TSDoc comments.
|
Use TSDoc for documentation. No `====` separators. No non-TSDoc comments.
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
memory: 1G
|
memory: 4G
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
- DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio
|
- DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio
|
||||||
|
|||||||
35
.github/workflows/ci.yml
vendored
35
.github/workflows/ci.yml
vendored
@@ -10,9 +10,6 @@ concurrency:
|
|||||||
group: ci-${{ github.ref }}
|
group: ci-${{ github.ref }}
|
||||||
cancel-in-progress: false
|
cancel-in-progress: false
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-build:
|
test-build:
|
||||||
name: Test and Build
|
name: Test and Build
|
||||||
@@ -30,11 +27,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Extract version from commit message
|
- name: Extract version from commit message
|
||||||
id: extract
|
id: extract
|
||||||
env:
|
|
||||||
COMMIT_MSG: ${{ github.event.head_commit.message }}
|
|
||||||
run: |
|
run: |
|
||||||
|
COMMIT_MSG="${{ github.event.head_commit.message }}"
|
||||||
# Only tag versions on main branch
|
# Only tag versions on main branch
|
||||||
if [ "$GITHUB_REF" = "refs/heads/main" ] && [[ "$COMMIT_MSG" =~ ^(v[0-9]+\.[0-9]+\.[0-9]+): ]]; then
|
if [ "${{ github.ref }}" = "refs/heads/main" ] && [[ "$COMMIT_MSG" =~ ^(v[0-9]+\.[0-9]+\.[0-9]+): ]]; then
|
||||||
VERSION="${BASH_REMATCH[1]}"
|
VERSION="${BASH_REMATCH[1]}"
|
||||||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||||
echo "is_release=true" >> $GITHUB_OUTPUT
|
echo "is_release=true" >> $GITHUB_OUTPUT
|
||||||
@@ -281,30 +277,3 @@ jobs:
|
|||||||
if: needs.check-docs-changes.outputs.docs_changed == 'true'
|
if: needs.check-docs-changes.outputs.docs_changed == 'true'
|
||||||
uses: ./.github/workflows/docs-embeddings.yml
|
uses: ./.github/workflows/docs-embeddings.yml
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# Create GitHub Release (only for version commits on main, after all builds complete)
|
|
||||||
create-release:
|
|
||||||
name: Create GitHub Release
|
|
||||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
|
||||||
needs: [create-ghcr-manifests, detect-version]
|
|
||||||
if: needs.detect-version.outputs.is_release == 'true'
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup Bun
|
|
||||||
uses: oven-sh/setup-bun@v2
|
|
||||||
with:
|
|
||||||
bun-version: latest
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: bun install --frozen-lockfile
|
|
||||||
|
|
||||||
- name: Create release
|
|
||||||
env:
|
|
||||||
GH_PAT: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: bun run scripts/create-single-release.ts ${{ needs.detect-version.outputs.version }}
|
|
||||||
|
|||||||
3
.github/workflows/docs-embeddings.yml
vendored
3
.github/workflows/docs-embeddings.yml
vendored
@@ -4,9 +4,6 @@ on:
|
|||||||
workflow_call:
|
workflow_call:
|
||||||
workflow_dispatch: # Allow manual triggering
|
workflow_dispatch: # Allow manual triggering
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
process-docs-embeddings:
|
process-docs-embeddings:
|
||||||
name: Process Documentation Embeddings
|
name: Process Documentation Embeddings
|
||||||
|
|||||||
3
.github/workflows/migrations.yml
vendored
3
.github/workflows/migrations.yml
vendored
@@ -4,9 +4,6 @@ on:
|
|||||||
workflow_call:
|
workflow_call:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
migrate:
|
migrate:
|
||||||
name: Apply Database Migrations
|
name: Apply Database Migrations
|
||||||
|
|||||||
3
.github/workflows/publish-cli.yml
vendored
3
.github/workflows/publish-cli.yml
vendored
@@ -6,9 +6,6 @@ on:
|
|||||||
paths:
|
paths:
|
||||||
- 'packages/cli/**'
|
- 'packages/cli/**'
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish-npm:
|
publish-npm:
|
||||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||||
|
|||||||
3
.github/workflows/publish-python-sdk.yml
vendored
3
.github/workflows/publish-python-sdk.yml
vendored
@@ -6,9 +6,6 @@ on:
|
|||||||
paths:
|
paths:
|
||||||
- 'packages/python-sdk/**'
|
- 'packages/python-sdk/**'
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish-pypi:
|
publish-pypi:
|
||||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||||
|
|||||||
3
.github/workflows/publish-ts-sdk.yml
vendored
3
.github/workflows/publish-ts-sdk.yml
vendored
@@ -6,9 +6,6 @@ on:
|
|||||||
paths:
|
paths:
|
||||||
- 'packages/ts-sdk/**'
|
- 'packages/ts-sdk/**'
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish-npm:
|
publish-npm:
|
||||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||||
|
|||||||
3
.github/workflows/test-build.yml
vendored
3
.github/workflows/test-build.yml
vendored
@@ -4,9 +4,6 @@ on:
|
|||||||
workflow_call:
|
workflow_call:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-build:
|
test-build:
|
||||||
name: Test and Build
|
name: Test and Build
|
||||||
|
|||||||
29
README.md
29
README.md
@@ -9,12 +9,12 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/sim.ai-6F3DFA" alt="Sim.ai"></a>
|
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/sim.ai-6F3DFA" alt="Sim.ai"></a>
|
||||||
<a href="https://discord.gg/Hr4UWYEcTT" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
|
<a href="https://discord.gg/Hr4UWYEcTT" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
|
||||||
<a href="https://x.com/simdotai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/twitter/follow/simdotai?style=social" alt="Twitter"></a>
|
<a href="https://x.com/simdotai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/twitter/follow/simstudioai?style=social" alt="Twitter"></a>
|
||||||
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a>
|
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://deepwiki.com/simstudioai/sim" target="_blank" rel="noopener noreferrer"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a> <a href="https://cursor.com/link/prompt?text=Help%20me%20set%20up%20Sim%20locally.%20Follow%20these%20steps%3A%0A%0A1.%20First%2C%20verify%20Docker%20is%20installed%20and%20running%3A%0A%20%20%20docker%20--version%0A%20%20%20docker%20info%0A%0A2.%20Clone%20the%20repository%3A%0A%20%20%20git%20clone%20https%3A%2F%2Fgithub.com%2Fsimstudioai%2Fsim.git%0A%20%20%20cd%20sim%0A%0A3.%20Start%20the%20services%20with%20Docker%20Compose%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20up%20-d%0A%0A4.%20Wait%20for%20all%20containers%20to%20be%20healthy%20(this%20may%20take%201-2%20minutes)%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20ps%0A%0A5.%20Verify%20the%20app%20is%20accessible%20at%20http%3A%2F%2Flocalhost%3A3000%0A%0AIf%20there%20are%20any%20errors%2C%20help%20me%20troubleshoot%20them.%20Common%20issues%3A%0A-%20Port%203000%2C%203002%2C%20or%205432%20already%20in%20use%0A-%20Docker%20not%20running%0A-%20Insufficient%20memory%20(needs%2012GB%2B%20RAM)%0A%0AFor%20local%20AI%20models%20with%20Ollama%2C%20use%20this%20instead%20of%20step%203%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.ollama.yml%20--profile%20setup%20up%20-d"><img src="https://img.shields.io/badge/Set%20Up%20with-Cursor-000000?logo=cursor&logoColor=white" alt="Set Up with Cursor"></a>
|
<a href="https://cursor.com/link/prompt?text=Help%20me%20set%20up%20Sim%20Studio%20locally.%20Follow%20these%20steps%3A%0A%0A1.%20First%2C%20verify%20Docker%20is%20installed%20and%20running%3A%0A%20%20%20docker%20--version%0A%20%20%20docker%20info%0A%0A2.%20Clone%20the%20repository%3A%0A%20%20%20git%20clone%20https%3A%2F%2Fgithub.com%2Fsimstudioai%2Fsim.git%0A%20%20%20cd%20sim%0A%0A3.%20Start%20the%20services%20with%20Docker%20Compose%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20up%20-d%0A%0A4.%20Wait%20for%20all%20containers%20to%20be%20healthy%20(this%20may%20take%201-2%20minutes)%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.prod.yml%20ps%0A%0A5.%20Verify%20the%20app%20is%20accessible%20at%20http%3A%2F%2Flocalhost%3A3000%0A%0AIf%20there%20are%20any%20errors%2C%20help%20me%20troubleshoot%20them.%20Common%20issues%3A%0A-%20Port%203000%2C%203002%2C%20or%205432%20already%20in%20use%0A-%20Docker%20not%20running%0A-%20Insufficient%20memory%20(needs%2012GB%2B%20RAM)%0A%0AFor%20local%20AI%20models%20with%20Ollama%2C%20use%20this%20instead%20of%20step%203%3A%0A%20%20%20docker%20compose%20-f%20docker-compose.ollama.yml%20--profile%20setup%20up%20-d"><img src="https://img.shields.io/badge/Set%20Up%20with-Cursor-000000?logo=cursor&logoColor=white" alt="Set Up with Cursor"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### Build Workflows with Ease
|
### Build Workflows with Ease
|
||||||
@@ -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)
|
||||||
|
|||||||
@@ -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 =
|
||||||
@@ -187,6 +185,11 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
|
|||||||
tableOfContent={{
|
tableOfContent={{
|
||||||
style: 'clerk',
|
style: 'clerk',
|
||||||
enabled: true,
|
enabled: true,
|
||||||
|
header: (
|
||||||
|
<div key='toc-header' className='mb-2 font-medium text-sm'>
|
||||||
|
On this page
|
||||||
|
</div>
|
||||||
|
),
|
||||||
footer: <TOCFooter />,
|
footer: <TOCFooter />,
|
||||||
single: false,
|
single: false,
|
||||||
}}
|
}}
|
||||||
@@ -202,7 +205,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 +216,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} />
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -3,14 +3,13 @@ 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 Image from 'next/image'
|
||||||
import {
|
import {
|
||||||
SidebarFolder,
|
SidebarFolder,
|
||||||
SidebarItem,
|
SidebarItem,
|
||||||
SidebarSeparator,
|
SidebarSeparator,
|
||||||
} from '@/components/docs-layout/sidebar-components'
|
} from '@/components/docs-layout/sidebar-components'
|
||||||
import { Navbar } from '@/components/navbar/navbar'
|
import { Navbar } from '@/components/navbar/navbar'
|
||||||
import { SimLogoFull } from '@/components/ui/sim-logo'
|
|
||||||
import { i18n } from '@/lib/i18n'
|
import { i18n } from '@/lib/i18n'
|
||||||
import { source } from '@/lib/source'
|
import { source } from '@/lib/source'
|
||||||
import '../global.css'
|
import '../global.css'
|
||||||
@@ -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,15 +93,25 @@ 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
|
||||||
tree={source.pageTree[lang]}
|
tree={source.pageTree[lang]}
|
||||||
nav={{
|
nav={{
|
||||||
title: <SimLogoFull className='h-7 w-auto' />,
|
title: (
|
||||||
|
<Image
|
||||||
|
src='/static/logo.png'
|
||||||
|
alt='Sim'
|
||||||
|
width={72}
|
||||||
|
height={28}
|
||||||
|
className='h-7 w-auto'
|
||||||
|
priority
|
||||||
|
/>
|
||||||
|
),
|
||||||
}}
|
}}
|
||||||
sidebar={{
|
sidebar={{
|
||||||
defaultOpenLevel: 0,
|
defaultOpenLevel: 0,
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -33,41 +33,15 @@ async function loadGoogleFont(font: string, weights: string, text: string): Prom
|
|||||||
throw new Error('Failed to load font data')
|
throw new Error('Failed to load font data')
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sim logo with icon and "Sim" text for OG image.
|
|
||||||
*/
|
|
||||||
function SimLogoFull() {
|
|
||||||
return (
|
|
||||||
<svg height='28' viewBox='720 440 1020 320' fill='none'>
|
|
||||||
{/* Green icon - top left shape with cutout */}
|
|
||||||
<path
|
|
||||||
fillRule='evenodd'
|
|
||||||
clipRule='evenodd'
|
|
||||||
d='M875.791 577.171C875.791 581.922 873.911 586.483 870.576 589.842L870.098 590.323C866.764 593.692 862.234 595.575 857.517 595.575H750.806C740.978 595.575 733 603.6 733 613.498V728.902C733 738.799 740.978 746.826 750.806 746.826H865.382C875.209 746.826 883.177 738.799 883.177 728.902V620.853C883.177 616.448 884.912 612.222 888.008 609.104C891.093 605.997 895.29 604.249 899.664 604.249H1008.16C1017.99 604.249 1025.96 596.224 1025.96 586.327V470.923C1025.96 461.025 1017.99 453 1008.16 453H893.586C883.759 453 875.791 461.025 875.791 470.923V577.171ZM910.562 477.566H991.178C996.922 477.566 1001.57 482.254 1001.57 488.029V569.22C1001.57 574.995 996.922 579.683 991.178 579.683H910.562C904.828 579.683 900.173 574.995 900.173 569.22V488.029C900.173 482.254 904.828 477.566 910.562 477.566Z'
|
|
||||||
fill='#33C482'
|
|
||||||
/>
|
|
||||||
{/* Green icon - bottom right square */}
|
|
||||||
<path
|
|
||||||
d='M1008.3 624.59H923.113C912.786 624.59 904.414 633.022 904.414 643.423V728.171C904.414 738.572 912.786 747.004 923.113 747.004H1008.3C1018.63 747.004 1027 738.572 1027 728.171V643.423C1027 633.022 1018.63 624.59 1008.3 624.59Z'
|
|
||||||
fill='#33C482'
|
|
||||||
/>
|
|
||||||
{/* "Sim" text - white for dark background */}
|
|
||||||
<path
|
|
||||||
d='M1210.54 515.657C1226.65 515.657 1240.59 518.51 1252.31 524.257H1252.31C1264.3 529.995 1273.63 538.014 1280.26 548.319H1280.26C1287.19 558.635 1290.78 570.899 1291.08 585.068L1291.1 586.089H1249.11L1249.09 585.115C1248.8 574.003 1245.18 565.493 1238.32 559.451C1231.45 553.399 1221.79 550.308 1209.21 550.308C1196.3 550.308 1186.48 553.113 1179.61 558.588C1172.76 564.046 1169.33 571.499 1169.33 581.063C1169.33 588.092 1171.88 593.978 1177.01 598.783C1182.17 603.618 1189.99 607.399 1200.56 610.061H1200.56L1238.77 619.451C1257.24 623.65 1271.21 630.571 1280.57 640.293L1281.01 640.739C1290.13 650.171 1294.64 662.97 1294.64 679.016C1294.64 692.923 1290.88 705.205 1283.34 715.822L1283.33 715.834C1275.81 726.134 1265.44 734.14 1252.26 739.866L1252.25 739.871C1239.36 745.302 1224.12 748 1206.54 748C1180.9 748 1160.36 741.696 1145.02 728.984C1129.67 716.258 1122 699.269 1122 678.121V677.121H1163.99V678.121C1163.99 688.869 1167.87 697.367 1175.61 703.722L1176.34 704.284C1184.04 709.997 1194.37 712.902 1207.43 712.902C1222.13 712.902 1233.3 710.087 1241.07 704.588C1248.8 698.812 1252.64 691.21 1252.64 681.699C1252.64 674.769 1250.5 669.057 1246.25 664.49L1246.23 664.478L1246.22 664.464C1242.28 659.929 1234.83 656.119 1223.64 653.152L1185.43 644.208L1185.42 644.204C1166.05 639.407 1151.49 632.035 1141.83 622.012L1141.83 622.006L1141.82 622C1132.43 611.94 1127.78 598.707 1127.78 582.405C1127.78 568.81 1131.23 556.976 1138.17 546.949L1138.18 546.941L1138.19 546.933C1145.41 536.936 1155.18 529.225 1167.48 523.793L1167.48 523.79C1180.07 518.36 1194.43 515.657 1210.54 515.657ZM1323.39 521.979C1331.68 525.008 1337.55 526.482 1343.51 526.482C1349.48 526.482 1355.64 525.005 1364.49 521.973L1365.82 521.52V742.633H1322.05V521.489L1323.39 521.979ZM1642.01 515.657C1667.11 515.657 1686.94 523.031 1701.39 537.876C1715.83 552.716 1723 572.968 1723 598.507V742.633H1680.12V608.794C1680.12 591.666 1675.72 578.681 1667.07 569.681L1667.06 569.669L1667.04 569.656C1658.67 560.359 1647.26 555.675 1632.68 555.675C1622.47 555.675 1613.47 558.022 1605.64 562.69L1605.63 562.696C1598.11 567.064 1592.17 573.475 1587.8 581.968C1583.44 590.448 1581.25 600.424 1581.25 611.925V742.633H1537.92V608.347C1537.92 591.208 1533.67 578.376 1525.31 569.68L1525.31 569.674L1525.3 569.668C1516.93 560.664 1505.52 556.122 1490.93 556.122C1480.72 556.122 1471.72 558.469 1463.89 563.138L1463.88 563.144C1456.36 567.511 1450.41 573.922 1446.05 582.415L1446.05 582.422L1446.04 582.428C1441.69 590.602 1439.5 600.423 1439.5 611.925V742.633H1395.72V521.919H1435.05V554.803C1439.92 544.379 1447.91 535.465 1458.37 528.356C1470.71 519.875 1485.58 515.657 1502.93 515.657C1522.37 515.657 1538.61 520.931 1551.55 531.538C1560.38 538.771 1567.1 547.628 1571.72 558.091C1576.05 547.619 1582.83 538.757 1592.07 531.524C1605.61 520.93 1622.28 515.657 1642.01 515.657ZM1343.49 452C1351.45 452 1358.23 454.786 1363.75 460.346C1369.27 465.905 1372.04 472.721 1372.04 480.73C1372.04 488.452 1369.27 495.254 1363.77 501.096L1363.76 501.105L1363.75 501.115C1358.23 506.675 1351.45 509.461 1343.49 509.461C1335.81 509.461 1329.05 506.669 1323.25 501.134L1323.23 501.115L1323.21 501.096C1317.71 495.254 1314.94 488.452 1314.94 480.73C1314.94 472.721 1317.7 465.905 1323.23 460.346L1323.24 460.337L1323.25 460.327C1329.05 454.792 1335.81 452 1343.49 452Z'
|
|
||||||
fill='#fafafa'
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates dynamic Open Graph images for documentation pages.
|
* Generates dynamic Open Graph images for documentation pages.
|
||||||
* Style matches Cursor docs: dark background, title at top, logo bottom-left, domain bottom-right.
|
|
||||||
*/
|
*/
|
||||||
export async function GET(request: NextRequest) {
|
export async function GET(request: NextRequest) {
|
||||||
const { searchParams } = new URL(request.url)
|
const { searchParams } = new URL(request.url)
|
||||||
const title = searchParams.get('title') || 'Documentation'
|
const title = searchParams.get('title') || 'Documentation'
|
||||||
|
|
||||||
|
const baseUrl = new URL(request.url).origin
|
||||||
|
|
||||||
const allText = `${title}docs.sim.ai`
|
const allText = `${title}docs.sim.ai`
|
||||||
const fontData = await loadGoogleFont('Geist', '400;500;600', allText)
|
const fontData = await loadGoogleFont('Geist', '400;500;600', allText)
|
||||||
|
|
||||||
@@ -78,39 +52,84 @@ export async function GET(request: NextRequest) {
|
|||||||
width: '100%',
|
width: '100%',
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
justifyContent: 'space-between',
|
background: '#0c0c0c',
|
||||||
padding: '56px 64px',
|
position: 'relative',
|
||||||
background: '#121212', // Dark mode background matching docs (hsla 0, 0%, 7%)
|
|
||||||
fontFamily: 'Geist',
|
fontFamily: 'Geist',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{/* Title at top */}
|
{/* Base gradient layer - subtle purple tint across the entire image */}
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
position: 'absolute',
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: '100%',
|
||||||
|
height: '100%',
|
||||||
|
background:
|
||||||
|
'radial-gradient(ellipse 150% 100% at 50% 100%, rgba(88, 28, 135, 0.15) 0%, rgba(88, 28, 135, 0.08) 25%, rgba(88, 28, 135, 0.03) 50%, transparent 80%)',
|
||||||
|
display: 'flex',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/* Secondary glow - adds depth without harsh edges */}
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
position: 'absolute',
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: '100%',
|
||||||
|
height: '100%',
|
||||||
|
background:
|
||||||
|
'radial-gradient(ellipse 100% 80% at 80% 90%, rgba(112, 31, 252, 0.12) 0%, rgba(112, 31, 252, 0.04) 40%, transparent 70%)',
|
||||||
|
display: 'flex',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/* Top darkening - creates natural vignette */}
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
position: 'absolute',
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: '100%',
|
||||||
|
height: '100%',
|
||||||
|
background:
|
||||||
|
'linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent 40%, transparent 100%)',
|
||||||
|
display: 'flex',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/* Content */}
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
padding: '56px 72px',
|
||||||
|
height: '100%',
|
||||||
|
justifyContent: 'space-between',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{/* Logo */}
|
||||||
|
<img src={`${baseUrl}/static/logo.png`} alt='sim' height={32} />
|
||||||
|
|
||||||
|
{/* Title */}
|
||||||
<span
|
<span
|
||||||
style={{
|
style={{
|
||||||
fontSize: getTitleFontSize(title),
|
fontSize: getTitleFontSize(title),
|
||||||
fontWeight: 500,
|
fontWeight: 600,
|
||||||
color: '#fafafa', // Light text matching docs
|
color: '#ffffff',
|
||||||
lineHeight: 1.2,
|
lineHeight: 1.1,
|
||||||
letterSpacing: '-0.02em',
|
letterSpacing: '-0.02em',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{title}
|
{title}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{/* Footer: icon left, domain right */}
|
{/* Footer */}
|
||||||
<div
|
|
||||||
style={{
|
|
||||||
display: 'flex',
|
|
||||||
justifyContent: 'space-between',
|
|
||||||
alignItems: 'center',
|
|
||||||
width: '100%',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<SimLogoFull />
|
|
||||||
<span
|
<span
|
||||||
style={{
|
style={{
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
fontWeight: 400,
|
fontWeight: 500,
|
||||||
color: '#71717a',
|
color: '#71717a',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -86,112 +86,27 @@ export async function GET(request: NextRequest) {
|
|||||||
)
|
)
|
||||||
.limit(candidateLimit)
|
.limit(candidateLimit)
|
||||||
|
|
||||||
const knownLocales = ['en', 'es', 'fr', 'de', 'ja', 'zh']
|
const seenIds = new Set<string>()
|
||||||
|
const mergedResults = []
|
||||||
|
|
||||||
const vectorRankMap = new Map<string, number>()
|
for (let i = 0; i < Math.max(vectorResults.length, keywordResults.length); i++) {
|
||||||
vectorResults.forEach((r, idx) => vectorRankMap.set(r.chunkId, idx + 1))
|
if (i < vectorResults.length && !seenIds.has(vectorResults[i].chunkId)) {
|
||||||
|
mergedResults.push(vectorResults[i])
|
||||||
const keywordRankMap = new Map<string, number>()
|
seenIds.add(vectorResults[i].chunkId)
|
||||||
keywordResults.forEach((r, idx) => keywordRankMap.set(r.chunkId, idx + 1))
|
}
|
||||||
|
if (i < keywordResults.length && !seenIds.has(keywordResults[i].chunkId)) {
|
||||||
const allChunkIds = new Set([
|
mergedResults.push(keywordResults[i])
|
||||||
...vectorResults.map((r) => r.chunkId),
|
seenIds.add(keywordResults[i].chunkId)
|
||||||
...keywordResults.map((r) => r.chunkId),
|
|
||||||
])
|
|
||||||
|
|
||||||
const k = 60
|
|
||||||
type ResultWithRRF = (typeof vectorResults)[0] & { rrfScore: number }
|
|
||||||
const scoredResults: ResultWithRRF[] = []
|
|
||||||
|
|
||||||
for (const chunkId of allChunkIds) {
|
|
||||||
const vectorRank = vectorRankMap.get(chunkId) ?? Number.POSITIVE_INFINITY
|
|
||||||
const keywordRank = keywordRankMap.get(chunkId) ?? Number.POSITIVE_INFINITY
|
|
||||||
|
|
||||||
const rrfScore = 1 / (k + vectorRank) + 1 / (k + keywordRank)
|
|
||||||
|
|
||||||
const result =
|
|
||||||
vectorResults.find((r) => r.chunkId === chunkId) ||
|
|
||||||
keywordResults.find((r) => r.chunkId === chunkId)
|
|
||||||
|
|
||||||
if (result) {
|
|
||||||
scoredResults.push({ ...result, rrfScore })
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
scoredResults.sort((a, b) => b.rrfScore - a.rrfScore)
|
const filteredResults = mergedResults.slice(0, limit)
|
||||||
|
const searchResults = filteredResults.map((result) => {
|
||||||
const localeFilteredResults = scoredResults.filter((result) => {
|
|
||||||
const firstPart = result.sourceDocument.split('/')[0]
|
|
||||||
if (knownLocales.includes(firstPart)) {
|
|
||||||
return firstPart === locale
|
|
||||||
}
|
|
||||||
return locale === 'en'
|
|
||||||
})
|
|
||||||
|
|
||||||
const queryLower = query.toLowerCase()
|
|
||||||
const getTitleBoost = (result: ResultWithRRF): number => {
|
|
||||||
const fileName = result.sourceDocument
|
|
||||||
.replace('.mdx', '')
|
|
||||||
.split('/')
|
|
||||||
.pop()
|
|
||||||
?.toLowerCase()
|
|
||||||
?.replace(/_/g, ' ')
|
|
||||||
|
|
||||||
if (fileName === queryLower) return 0.01
|
|
||||||
if (fileName?.includes(queryLower)) return 0.005
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
localeFilteredResults.sort((a, b) => {
|
|
||||||
return b.rrfScore + getTitleBoost(b) - (a.rrfScore + getTitleBoost(a))
|
|
||||||
})
|
|
||||||
|
|
||||||
const pageMap = new Map<string, ResultWithRRF>()
|
|
||||||
|
|
||||||
for (const result of localeFilteredResults) {
|
|
||||||
const pageKey = result.sourceDocument
|
|
||||||
const existing = pageMap.get(pageKey)
|
|
||||||
|
|
||||||
if (!existing || result.rrfScore > existing.rrfScore) {
|
|
||||||
pageMap.set(pageKey, result)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const deduplicatedResults = Array.from(pageMap.values())
|
|
||||||
.sort((a, b) => b.rrfScore + getTitleBoost(b) - (a.rrfScore + getTitleBoost(a)))
|
|
||||||
.slice(0, limit)
|
|
||||||
|
|
||||||
const searchResults = deduplicatedResults.map((result) => {
|
|
||||||
const title = result.headerText || result.sourceDocument.replace('.mdx', '')
|
const title = result.headerText || result.sourceDocument.replace('.mdx', '')
|
||||||
|
|
||||||
const pathParts = result.sourceDocument
|
const pathParts = result.sourceDocument
|
||||||
.replace('.mdx', '')
|
.replace('.mdx', '')
|
||||||
.split('/')
|
.split('/')
|
||||||
.filter((part) => part !== 'index' && !knownLocales.includes(part))
|
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
||||||
.map((part) => {
|
|
||||||
return part
|
|
||||||
.replace(/_/g, ' ')
|
|
||||||
.split(' ')
|
|
||||||
.map((word) => {
|
|
||||||
const acronyms = [
|
|
||||||
'api',
|
|
||||||
'mcp',
|
|
||||||
'sdk',
|
|
||||||
'url',
|
|
||||||
'http',
|
|
||||||
'json',
|
|
||||||
'xml',
|
|
||||||
'html',
|
|
||||||
'css',
|
|
||||||
'ai',
|
|
||||||
]
|
|
||||||
if (acronyms.includes(word.toLowerCase())) {
|
|
||||||
return word.toUpperCase()
|
|
||||||
}
|
|
||||||
return word.charAt(0).toUpperCase() + word.slice(1)
|
|
||||||
})
|
|
||||||
.join(' ')
|
|
||||||
})
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: result.chunkId,
|
id: result.chunkId,
|
||||||
|
|||||||
@@ -9,20 +9,11 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@theme {
|
@theme {
|
||||||
--color-fd-primary: #33c482; /* Green from Sim logo */
|
--color-fd-primary: #802fff; /* Purple from control-bar component */
|
||||||
--font-geist-sans: var(--font-geist-sans);
|
--font-geist-sans: var(--font-geist-sans);
|
||||||
--font-geist-mono: var(--font-geist-mono);
|
--font-geist-mono: var(--font-geist-mono);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure primary color is set in both light and dark modes */
|
|
||||||
:root {
|
|
||||||
--color-fd-primary: #33c482;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark {
|
|
||||||
--color-fd-primary: #33c482;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Font family utilities */
|
/* Font family utilities */
|
||||||
.font-sans {
|
.font-sans {
|
||||||
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
||||||
@@ -43,7 +34,7 @@ body {
|
|||||||
:root {
|
:root {
|
||||||
--fd-border: transparent !important;
|
--fd-border: transparent !important;
|
||||||
--fd-border-sidebar: transparent !important;
|
--fd-border-sidebar: transparent !important;
|
||||||
--fd-nav-height: 65px; /* Custom navbar height (h-16 = 64px + 1px border) */
|
--fd-nav-height: 64px; /* Custom navbar height (h-16 = 4rem = 64px) */
|
||||||
/* Content container width used to center main content */
|
/* Content container width used to center main content */
|
||||||
--spacing-fd-container: 1400px;
|
--spacing-fd-container: 1400px;
|
||||||
/* Edge gutter = leftover space on each side of centered container */
|
/* Edge gutter = leftover space on each side of centered container */
|
||||||
@@ -128,28 +119,15 @@ aside#nd-sidebar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide TOC popover on tablet/medium screens (768px - 1279px) */
|
|
||||||
/* Keeps it visible on mobile (<768px) for easy navigation */
|
|
||||||
/* Desktop (>=1280px) already hides it via fumadocs xl:hidden */
|
|
||||||
@media (min-width: 768px) and (max-width: 1279px) {
|
|
||||||
#nd-docs-layout {
|
|
||||||
--fd-toc-popover-height: 0px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
[data-toc-popover] {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Desktop only: Apply custom navbar offset, sidebar width and margin offsets */
|
/* Desktop only: Apply custom navbar offset, sidebar width and margin offsets */
|
||||||
/* On mobile, let fumadocs handle the layout natively */
|
/* On mobile, let fumadocs handle the layout natively */
|
||||||
@media (min-width: 1024px) {
|
@media (min-width: 1024px) {
|
||||||
:root {
|
:root {
|
||||||
--fd-banner-height: 65px !important; /* 64px navbar + 1px border */
|
--fd-banner-height: 64px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#nd-docs-layout {
|
#nd-docs-layout {
|
||||||
--fd-docs-height: calc(100dvh - 65px) !important; /* 64px navbar + 1px border */
|
--fd-docs-height: calc(100dvh - 64px) !important;
|
||||||
--fd-sidebar-width: 300px !important;
|
--fd-sidebar-width: 300px !important;
|
||||||
margin-left: var(--sidebar-offset) !important;
|
margin-left: var(--sidebar-offset) !important;
|
||||||
margin-right: var(--toc-offset) !important;
|
margin-right: var(--toc-offset) !important;
|
||||||
@@ -236,19 +214,19 @@ html:not(.dark) #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*
|
|||||||
letter-spacing: 0.05em !important;
|
letter-spacing: 0.05em !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Override active state */
|
/* Override active state (NO PURPLE) */
|
||||||
#nd-sidebar a[data-active="true"],
|
#nd-sidebar a[data-active="true"],
|
||||||
#nd-sidebar button[data-active="true"],
|
#nd-sidebar button[data-active="true"],
|
||||||
#nd-sidebar a.bg-fd-primary\/10,
|
#nd-sidebar a.bg-fd-primary\/10,
|
||||||
#nd-sidebar a.text-fd-primary,
|
#nd-sidebar a.text-fd-primary,
|
||||||
#nd-sidebar a[class*="bg-fd-primary"],
|
#nd-sidebar a[class*="bg-fd-primary"],
|
||||||
#nd-sidebar a[class*="text-fd-primary"],
|
#nd-sidebar a[class*="text-fd-primary"],
|
||||||
/* Override custom sidebar green classes */
|
/* Override custom sidebar purple classes */
|
||||||
#nd-sidebar
|
#nd-sidebar
|
||||||
a.bg-emerald-50\/80,
|
a.bg-purple-50\/80,
|
||||||
#nd-sidebar a.text-emerald-600,
|
#nd-sidebar a.text-purple-600,
|
||||||
#nd-sidebar a[class*="bg-emerald"],
|
#nd-sidebar a[class*="bg-purple"],
|
||||||
#nd-sidebar a[class*="text-emerald"] {
|
#nd-sidebar a[class*="text-purple"] {
|
||||||
background-image: none !important;
|
background-image: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,10 +237,10 @@ html.dark #nd-sidebar a.bg-fd-primary\/10,
|
|||||||
html.dark #nd-sidebar a.text-fd-primary,
|
html.dark #nd-sidebar a.text-fd-primary,
|
||||||
html.dark #nd-sidebar a[class*="bg-fd-primary"],
|
html.dark #nd-sidebar a[class*="bg-fd-primary"],
|
||||||
html.dark #nd-sidebar a[class*="text-fd-primary"],
|
html.dark #nd-sidebar a[class*="text-fd-primary"],
|
||||||
html.dark #nd-sidebar a.bg-emerald-50\/80,
|
html.dark #nd-sidebar a.bg-purple-50\/80,
|
||||||
html.dark #nd-sidebar a.text-emerald-600,
|
html.dark #nd-sidebar a.text-purple-600,
|
||||||
html.dark #nd-sidebar a[class*="bg-emerald"],
|
html.dark #nd-sidebar a[class*="bg-purple"],
|
||||||
html.dark #nd-sidebar a[class*="text-emerald"] {
|
html.dark #nd-sidebar a[class*="text-purple"] {
|
||||||
background-color: rgba(255, 255, 255, 0.15) !important;
|
background-color: rgba(255, 255, 255, 0.15) !important;
|
||||||
color: rgba(255, 255, 255, 1) !important;
|
color: rgba(255, 255, 255, 1) !important;
|
||||||
}
|
}
|
||||||
@@ -274,10 +252,10 @@ html:not(.dark) #nd-sidebar a.bg-fd-primary\/10,
|
|||||||
html:not(.dark) #nd-sidebar a.text-fd-primary,
|
html:not(.dark) #nd-sidebar a.text-fd-primary,
|
||||||
html:not(.dark) #nd-sidebar a[class*="bg-fd-primary"],
|
html:not(.dark) #nd-sidebar a[class*="bg-fd-primary"],
|
||||||
html:not(.dark) #nd-sidebar a[class*="text-fd-primary"],
|
html:not(.dark) #nd-sidebar a[class*="text-fd-primary"],
|
||||||
html:not(.dark) #nd-sidebar a.bg-emerald-50\/80,
|
html:not(.dark) #nd-sidebar a.bg-purple-50\/80,
|
||||||
html:not(.dark) #nd-sidebar a.text-emerald-600,
|
html:not(.dark) #nd-sidebar a.text-purple-600,
|
||||||
html:not(.dark) #nd-sidebar a[class*="bg-emerald"],
|
html:not(.dark) #nd-sidebar a[class*="bg-purple"],
|
||||||
html:not(.dark) #nd-sidebar a[class*="text-emerald"] {
|
html:not(.dark) #nd-sidebar a[class*="text-purple"] {
|
||||||
background-color: rgba(0, 0, 0, 0.07) !important;
|
background-color: rgba(0, 0, 0, 0.07) !important;
|
||||||
color: rgba(0, 0, 0, 0.9) !important;
|
color: rgba(0, 0, 0, 0.9) !important;
|
||||||
}
|
}
|
||||||
@@ -295,8 +273,8 @@ html:not(.dark) #nd-sidebar button:hover:not([data-active="true"]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Dark mode - ensure active/selected items don't change on hover */
|
/* Dark mode - ensure active/selected items don't change on hover */
|
||||||
html.dark #nd-sidebar a.bg-emerald-50\/80:hover,
|
html.dark #nd-sidebar a.bg-purple-50\/80:hover,
|
||||||
html.dark #nd-sidebar a[class*="bg-emerald"]:hover,
|
html.dark #nd-sidebar a[class*="bg-purple"]:hover,
|
||||||
html.dark #nd-sidebar a[data-active="true"]:hover,
|
html.dark #nd-sidebar a[data-active="true"]:hover,
|
||||||
html.dark #nd-sidebar button[data-active="true"]:hover {
|
html.dark #nd-sidebar button[data-active="true"]:hover {
|
||||||
background-color: rgba(255, 255, 255, 0.15) !important;
|
background-color: rgba(255, 255, 255, 0.15) !important;
|
||||||
@@ -304,8 +282,8 @@ html.dark #nd-sidebar button[data-active="true"]:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Light mode - ensure active/selected items don't change on hover */
|
/* Light mode - ensure active/selected items don't change on hover */
|
||||||
html:not(.dark) #nd-sidebar a.bg-emerald-50\/80:hover,
|
html:not(.dark) #nd-sidebar a.bg-purple-50\/80:hover,
|
||||||
html:not(.dark) #nd-sidebar a[class*="bg-emerald"]:hover,
|
html:not(.dark) #nd-sidebar a[class*="bg-purple"]:hover,
|
||||||
html:not(.dark) #nd-sidebar a[data-active="true"]:hover,
|
html:not(.dark) #nd-sidebar a[data-active="true"]:hover,
|
||||||
html:not(.dark) #nd-sidebar button[data-active="true"]:hover {
|
html:not(.dark) #nd-sidebar button[data-active="true"]:hover {
|
||||||
background-color: rgba(0, 0, 0, 0.07) !important;
|
background-color: rgba(0, 0, 0, 0.07) !important;
|
||||||
@@ -377,24 +355,16 @@ aside[data-sidebar] > *:not([data-sidebar-viewport]) {
|
|||||||
button[aria-label="Toggle Sidebar"],
|
button[aria-label="Toggle Sidebar"],
|
||||||
button[aria-label="Collapse Sidebar"],
|
button[aria-label="Collapse Sidebar"],
|
||||||
/* Hide nav title/logo in sidebar on desktop - target all possible locations */
|
/* Hide nav title/logo in sidebar on desktop - target all possible locations */
|
||||||
/* Lower specificity selectors first (attribute selectors) */
|
|
||||||
[data-sidebar-header],
|
|
||||||
[data-sidebar] [data-title],
|
|
||||||
aside[data-sidebar] a[href="/"],
|
aside[data-sidebar] a[href="/"],
|
||||||
aside[data-sidebar] a[href="/"] img,
|
aside[data-sidebar] a[href="/"] img,
|
||||||
aside[data-sidebar] > a:first-child,
|
aside[data-sidebar] > a:first-child,
|
||||||
aside[data-sidebar] > div > a:first-child,
|
aside[data-sidebar] > div > a:first-child,
|
||||||
aside[data-sidebar] img[alt="Sim"],
|
aside[data-sidebar] img[alt="Sim"],
|
||||||
aside[data-sidebar] svg[aria-label="Sim"],
|
[data-sidebar-header],
|
||||||
/* Higher specificity selectors (ID selectors) */
|
[data-sidebar] [data-title],
|
||||||
#nd-sidebar
|
|
||||||
a[href="/"],
|
|
||||||
#nd-sidebar a[href="/"] img,
|
|
||||||
#nd-sidebar a[href="/"] svg,
|
|
||||||
#nd-sidebar > a:first-child,
|
#nd-sidebar > a:first-child,
|
||||||
#nd-sidebar > div:first-child > a:first-child,
|
#nd-sidebar > div:first-child > a:first-child,
|
||||||
#nd-sidebar img[alt="Sim"],
|
#nd-sidebar img[alt="Sim"],
|
||||||
#nd-sidebar svg[aria-label="Sim"],
|
|
||||||
/* Hide theme toggle at bottom of sidebar on desktop */
|
/* Hide theme toggle at bottom of sidebar on desktop */
|
||||||
#nd-sidebar
|
#nd-sidebar
|
||||||
> footer,
|
> footer,
|
||||||
@@ -532,15 +502,6 @@ pre code .line {
|
|||||||
color: var(--color-fd-primary);
|
color: var(--color-fd-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================
|
|
||||||
TOC (Table of Contents) Styling
|
|
||||||
============================================ */
|
|
||||||
|
|
||||||
/* Remove the thin border-left on nested TOC items (keeps main indicator only) */
|
|
||||||
#nd-toc a[style*="padding-inline-start"] {
|
|
||||||
border-left: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add bottom spacing to prevent abrupt page endings */
|
/* Add bottom spacing to prevent abrupt page endings */
|
||||||
[data-content] {
|
[data-content] {
|
||||||
padding-top: 1.5rem !important;
|
padding-top: 1.5rem !important;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export function SidebarItem({ item }: { item: Item }) {
|
|||||||
'lg:text-gray-600 lg:dark:text-gray-400',
|
'lg:text-gray-600 lg:dark:text-gray-400',
|
||||||
!active && 'lg:hover:bg-gray-100/60 lg:dark:hover:bg-gray-800/40',
|
!active && 'lg:hover:bg-gray-100/60 lg:dark:hover:bg-gray-800/40',
|
||||||
active &&
|
active &&
|
||||||
'lg:bg-emerald-50/80 lg:font-normal lg:text-emerald-600 lg:dark:bg-emerald-900/15 lg:dark:text-emerald-400'
|
'lg:bg-purple-50/80 lg:font-normal lg:text-purple-600 lg:dark:bg-purple-900/15 lg:dark:text-purple-400'
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{item.name}
|
{item.name}
|
||||||
@@ -79,7 +79,7 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac
|
|||||||
'lg:text-gray-600 lg:dark:text-gray-400',
|
'lg:text-gray-600 lg:dark:text-gray-400',
|
||||||
!active && 'lg:hover:bg-gray-100/60 lg:dark:hover:bg-gray-800/40',
|
!active && 'lg:hover:bg-gray-100/60 lg:dark:hover:bg-gray-800/40',
|
||||||
active &&
|
active &&
|
||||||
'lg:bg-emerald-50/80 lg:font-normal lg:text-emerald-600 lg:dark:bg-emerald-900/15 lg:dark:text-emerald-400'
|
'lg:bg-purple-50/80 lg:font-normal lg:text-purple-600 lg:dark:bg-purple-900/15 lg:dark:text-purple-400'
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{item.name}
|
{item.name}
|
||||||
@@ -104,7 +104,7 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac
|
|||||||
'lg:text-gray-800 lg:dark:text-gray-200',
|
'lg:text-gray-800 lg:dark:text-gray-200',
|
||||||
!active && 'lg:hover:bg-gray-100/60 lg:dark:hover:bg-gray-800/40',
|
!active && 'lg:hover:bg-gray-100/60 lg:dark:hover:bg-gray-800/40',
|
||||||
active &&
|
active &&
|
||||||
'lg:bg-emerald-50/80 lg:text-emerald-600 lg:dark:bg-emerald-900/15 lg:dark:text-emerald-400'
|
'lg:bg-purple-50/80 lg:text-purple-600 lg:dark:bg-purple-900/15 lg:dark:text-purple-400'
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{item.name}
|
{item.name}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export function TOCFooter() {
|
|||||||
rel='noopener noreferrer'
|
rel='noopener noreferrer'
|
||||||
onMouseEnter={() => setIsHovered(true)}
|
onMouseEnter={() => setIsHovered(true)}
|
||||||
onMouseLeave={() => setIsHovered(false)}
|
onMouseLeave={() => setIsHovered(false)}
|
||||||
className='group mt-2 inline-flex h-8 w-fit items-center justify-center gap-1 whitespace-nowrap rounded-[10px] border border-[#2AAD6C] bg-gradient-to-b from-[#3ED990] to-[#2AAD6C] px-3 pr-[10px] pl-[12px] font-medium text-sm text-white shadow-[inset_0_2px_4px_0_#5EE8A8] outline-none transition-all hover:shadow-lg focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50'
|
className='group mt-2 inline-flex h-8 w-fit items-center justify-center gap-1 whitespace-nowrap rounded-[10px] border border-[#6F3DFA] bg-gradient-to-b from-[#8357FF] to-[#6F3DFA] px-3 pr-[10px] pl-[12px] font-medium text-sm text-white shadow-[inset_0_2px_4px_0_#9B77FF] outline-none transition-all hover:shadow-lg focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50'
|
||||||
aria-label='Get started with Sim - Sign up for free'
|
aria-label='Get started with Sim - Sign up for free'
|
||||||
>
|
>
|
||||||
<span>Get started</span>
|
<span>Get started</span>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,20 @@
|
|||||||
'use client'
|
'use client'
|
||||||
|
|
||||||
|
import Image from 'next/image'
|
||||||
import Link from 'next/link'
|
import Link from 'next/link'
|
||||||
import { LanguageDropdown } from '@/components/ui/language-dropdown'
|
import { LanguageDropdown } from '@/components/ui/language-dropdown'
|
||||||
import { SearchTrigger } from '@/components/ui/search-trigger'
|
import { SearchTrigger } from '@/components/ui/search-trigger'
|
||||||
import { SimLogoFull } from '@/components/ui/sim-logo'
|
|
||||||
import { ThemeToggle } from '@/components/ui/theme-toggle'
|
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
|
||||||
@@ -21,7 +27,13 @@ export function Navbar() {
|
|||||||
{/* Left cluster: logo */}
|
{/* Left cluster: logo */}
|
||||||
<div className='flex items-center'>
|
<div className='flex items-center'>
|
||||||
<Link href='/' className='flex min-w-[100px] items-center'>
|
<Link href='/' className='flex min-w-[100px] items-center'>
|
||||||
<SimLogoFull className='h-7 w-auto' />
|
<Image
|
||||||
|
src='/static/logo.png'
|
||||||
|
alt='Sim'
|
||||||
|
width={72}
|
||||||
|
height={28}
|
||||||
|
className='h-7 w-auto'
|
||||||
|
/>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -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'}
|
||||||
|
|||||||
@@ -1,87 +0,0 @@
|
|||||||
'use client'
|
|
||||||
|
|
||||||
import { useState } from 'react'
|
|
||||||
import { cn, getAssetUrl } from '@/lib/utils'
|
|
||||||
import { Lightbox } from './lightbox'
|
|
||||||
|
|
||||||
interface ActionImageProps {
|
|
||||||
src: string
|
|
||||||
alt: string
|
|
||||||
enableLightbox?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ActionVideoProps {
|
|
||||||
src: string
|
|
||||||
alt: string
|
|
||||||
enableLightbox?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
export function ActionImage({ src, alt, enableLightbox = true }: ActionImageProps) {
|
|
||||||
const [isLightboxOpen, setIsLightboxOpen] = useState(false)
|
|
||||||
|
|
||||||
const handleClick = () => {
|
|
||||||
if (enableLightbox) {
|
|
||||||
setIsLightboxOpen(true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<img
|
|
||||||
src={src}
|
|
||||||
alt={alt}
|
|
||||||
onClick={handleClick}
|
|
||||||
className={cn(
|
|
||||||
'inline-block w-full max-w-[200px] rounded border border-neutral-200 dark:border-neutral-700',
|
|
||||||
enableLightbox && 'cursor-pointer transition-opacity hover:opacity-90'
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
{enableLightbox && (
|
|
||||||
<Lightbox
|
|
||||||
isOpen={isLightboxOpen}
|
|
||||||
onClose={() => setIsLightboxOpen(false)}
|
|
||||||
src={src}
|
|
||||||
alt={alt}
|
|
||||||
type='image'
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export function ActionVideo({ src, alt, enableLightbox = true }: ActionVideoProps) {
|
|
||||||
const [isLightboxOpen, setIsLightboxOpen] = useState(false)
|
|
||||||
const resolvedSrc = getAssetUrl(src)
|
|
||||||
|
|
||||||
const handleClick = () => {
|
|
||||||
if (enableLightbox) {
|
|
||||||
setIsLightboxOpen(true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<video
|
|
||||||
src={resolvedSrc}
|
|
||||||
autoPlay
|
|
||||||
loop
|
|
||||||
muted
|
|
||||||
playsInline
|
|
||||||
onClick={handleClick}
|
|
||||||
className={cn(
|
|
||||||
'inline-block w-full max-w-[200px] rounded border border-neutral-200 dark:border-neutral-700',
|
|
||||||
enableLightbox && 'cursor-pointer transition-opacity hover:opacity-90'
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
{enableLightbox && (
|
|
||||||
<Lightbox
|
|
||||||
isOpen={isLightboxOpen}
|
|
||||||
onClose={() => setIsLightboxOpen(false)}
|
|
||||||
src={src}
|
|
||||||
alt={alt}
|
|
||||||
type='video'
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -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 ? (
|
||||||
|
|||||||
@@ -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,
|
||||||
@@ -86,11 +84,9 @@ import {
|
|||||||
PolymarketIcon,
|
PolymarketIcon,
|
||||||
PostgresIcon,
|
PostgresIcon,
|
||||||
PosthogIcon,
|
PosthogIcon,
|
||||||
PulseIcon,
|
|
||||||
QdrantIcon,
|
QdrantIcon,
|
||||||
RDSIcon,
|
RDSIcon,
|
||||||
RedditIcon,
|
RedditIcon,
|
||||||
ReductoIcon,
|
|
||||||
ResendIcon,
|
ResendIcon,
|
||||||
S3Icon,
|
S3Icon,
|
||||||
SalesforceIcon,
|
SalesforceIcon,
|
||||||
@@ -101,9 +97,9 @@ import {
|
|||||||
ServiceNowIcon,
|
ServiceNowIcon,
|
||||||
SftpIcon,
|
SftpIcon,
|
||||||
ShopifyIcon,
|
ShopifyIcon,
|
||||||
SimilarwebIcon,
|
|
||||||
SlackIcon,
|
SlackIcon,
|
||||||
SmtpIcon,
|
SmtpIcon,
|
||||||
|
SpotifyIcon,
|
||||||
SQSIcon,
|
SQSIcon,
|
||||||
SshIcon,
|
SshIcon,
|
||||||
STTIcon,
|
STTIcon,
|
||||||
@@ -112,7 +108,6 @@ import {
|
|||||||
SupabaseIcon,
|
SupabaseIcon,
|
||||||
TavilyIcon,
|
TavilyIcon,
|
||||||
TelegramIcon,
|
TelegramIcon,
|
||||||
TextractIcon,
|
|
||||||
TinybirdIcon,
|
TinybirdIcon,
|
||||||
TranslateIcon,
|
TranslateIcon,
|
||||||
TrelloIcon,
|
TrelloIcon,
|
||||||
@@ -143,12 +138,10 @@ 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: ConfluenceIcon,
|
||||||
confluence_v2: ConfluenceIcon,
|
|
||||||
cursor_v2: CursorIcon,
|
cursor_v2: CursorIcon,
|
||||||
datadog: DatadogIcon,
|
datadog: DatadogIcon,
|
||||||
discord: DiscordIcon,
|
discord: DiscordIcon,
|
||||||
@@ -158,7 +151,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|||||||
elasticsearch: ElasticsearchIcon,
|
elasticsearch: ElasticsearchIcon,
|
||||||
elevenlabs: ElevenLabsIcon,
|
elevenlabs: ElevenLabsIcon,
|
||||||
exa: ExaAIIcon,
|
exa: ExaAIIcon,
|
||||||
file_v2: DocumentIcon,
|
file: DocumentIcon,
|
||||||
firecrawl: FirecrawlIcon,
|
firecrawl: FirecrawlIcon,
|
||||||
fireflies: FirefliesIcon,
|
fireflies: FirefliesIcon,
|
||||||
github_v2: GithubIcon,
|
github_v2: GithubIcon,
|
||||||
@@ -186,7 +179,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|||||||
jina: JinaAIIcon,
|
jina: JinaAIIcon,
|
||||||
jira: JiraIcon,
|
jira: JiraIcon,
|
||||||
jira_service_management: JiraServiceManagementIcon,
|
jira_service_management: JiraServiceManagementIcon,
|
||||||
kalshi_v2: KalshiIcon,
|
kalshi: KalshiIcon,
|
||||||
knowledge: PackageSearchIcon,
|
knowledge: PackageSearchIcon,
|
||||||
langsmith: LangsmithIcon,
|
langsmith: LangsmithIcon,
|
||||||
lemlist: LemlistIcon,
|
lemlist: LemlistIcon,
|
||||||
@@ -200,7 +193,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|||||||
microsoft_excel_v2: MicrosoftExcelIcon,
|
microsoft_excel_v2: MicrosoftExcelIcon,
|
||||||
microsoft_planner: MicrosoftPlannerIcon,
|
microsoft_planner: MicrosoftPlannerIcon,
|
||||||
microsoft_teams: MicrosoftTeamsIcon,
|
microsoft_teams: MicrosoftTeamsIcon,
|
||||||
mistral_parse_v2: MistralIcon,
|
mistral_parse: MistralIcon,
|
||||||
mongodb: MongoDBIcon,
|
mongodb: MongoDBIcon,
|
||||||
mysql: MySQLIcon,
|
mysql: MySQLIcon,
|
||||||
neo4j: Neo4jIcon,
|
neo4j: Neo4jIcon,
|
||||||
@@ -215,11 +208,9 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|||||||
polymarket: PolymarketIcon,
|
polymarket: PolymarketIcon,
|
||||||
postgresql: PostgresIcon,
|
postgresql: PostgresIcon,
|
||||||
posthog: PosthogIcon,
|
posthog: PosthogIcon,
|
||||||
pulse: PulseIcon,
|
|
||||||
qdrant: QdrantIcon,
|
qdrant: QdrantIcon,
|
||||||
rds: RDSIcon,
|
rds: RDSIcon,
|
||||||
reddit: RedditIcon,
|
reddit: RedditIcon,
|
||||||
reducto: ReductoIcon,
|
|
||||||
resend: ResendIcon,
|
resend: ResendIcon,
|
||||||
s3: S3Icon,
|
s3: S3Icon,
|
||||||
salesforce: SalesforceIcon,
|
salesforce: SalesforceIcon,
|
||||||
@@ -231,9 +222,9 @@ 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,
|
||||||
|
spotify: SpotifyIcon,
|
||||||
sqs: SQSIcon,
|
sqs: SQSIcon,
|
||||||
ssh: SshIcon,
|
ssh: SshIcon,
|
||||||
stagehand: StagehandIcon,
|
stagehand: StagehandIcon,
|
||||||
@@ -242,7 +233,6 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|||||||
supabase: SupabaseIcon,
|
supabase: SupabaseIcon,
|
||||||
tavily: TavilyIcon,
|
tavily: TavilyIcon,
|
||||||
telegram: TelegramIcon,
|
telegram: TelegramIcon,
|
||||||
textract: TextractIcon,
|
|
||||||
tinybird: TinybirdIcon,
|
tinybird: TinybirdIcon,
|
||||||
translate: TranslateIcon,
|
translate: TranslateIcon,
|
||||||
trello: TrelloIcon,
|
trello: TrelloIcon,
|
||||||
@@ -250,7 +240,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
|||||||
twilio_sms: TwilioIcon,
|
twilio_sms: TwilioIcon,
|
||||||
twilio_voice: TwilioIcon,
|
twilio_voice: TwilioIcon,
|
||||||
typeform: TypeformIcon,
|
typeform: TypeformIcon,
|
||||||
video_generator_v2: VideoIcon,
|
video_generator: VideoIcon,
|
||||||
vision: EyeIcon,
|
vision: EyeIcon,
|
||||||
wealthbox: WealthboxIcon,
|
wealthbox: WealthboxIcon,
|
||||||
webflow: WebflowIcon,
|
webflow: WebflowIcon,
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
'use client'
|
'use client'
|
||||||
|
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { Check, ChevronDown } from 'lucide-react'
|
import { Check, ChevronRight } from 'lucide-react'
|
||||||
import { useParams, usePathname, useRouter } from 'next/navigation'
|
import { useParams, usePathname, useRouter } from 'next/navigation'
|
||||||
import { cn } from '@/lib/utils'
|
|
||||||
|
|
||||||
const languages = {
|
const languages = {
|
||||||
en: { name: 'English', flag: '🇺🇸' },
|
en: { name: 'English', flag: '🇺🇸' },
|
||||||
@@ -16,7 +15,6 @@ const languages = {
|
|||||||
|
|
||||||
export function LanguageDropdown() {
|
export function LanguageDropdown() {
|
||||||
const [isOpen, setIsOpen] = useState(false)
|
const [isOpen, setIsOpen] = useState(false)
|
||||||
const [hoveredIndex, setHoveredIndex] = useState<number>(-1)
|
|
||||||
const pathname = usePathname()
|
const pathname = usePathname()
|
||||||
const params = useParams()
|
const params = useParams()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -73,15 +71,6 @@ export function LanguageDropdown() {
|
|||||||
return () => window.removeEventListener('keydown', onKey)
|
return () => window.removeEventListener('keydown', onKey)
|
||||||
}, [isOpen])
|
}, [isOpen])
|
||||||
|
|
||||||
// Reset hovered index when popover closes
|
|
||||||
useEffect(() => {
|
|
||||||
if (!isOpen) {
|
|
||||||
setHoveredIndex(-1)
|
|
||||||
}
|
|
||||||
}, [isOpen])
|
|
||||||
|
|
||||||
const languageEntries = Object.entries(languages)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='relative'>
|
<div className='relative'>
|
||||||
<button
|
<button
|
||||||
@@ -93,14 +82,14 @@ export function LanguageDropdown() {
|
|||||||
aria-haspopup='listbox'
|
aria-haspopup='listbox'
|
||||||
aria-expanded={isOpen}
|
aria-expanded={isOpen}
|
||||||
aria-controls='language-menu'
|
aria-controls='language-menu'
|
||||||
className='flex cursor-pointer items-center gap-1.5 rounded-[6px] px-3 py-2 font-normal text-[0.9375rem] text-foreground/60 leading-[1.4] transition-colors hover:bg-foreground/8 hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring'
|
className='flex cursor-pointer items-center gap-1.5 rounded-xl px-3 py-2 font-normal text-[0.9375rem] text-foreground/60 leading-[1.4] transition-colors hover:bg-foreground/8 hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring'
|
||||||
style={{
|
style={{
|
||||||
fontFamily:
|
fontFamily:
|
||||||
'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
|
'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<span>{languages[currentLang as keyof typeof languages]?.name}</span>
|
<span>{languages[currentLang as keyof typeof languages]?.name}</span>
|
||||||
<ChevronDown className={cn('h-3.5 w-3.5 transition-transform', isOpen && 'rotate-180')} />
|
<ChevronRight className='h-3.5 w-3.5' />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{isOpen && (
|
{isOpen && (
|
||||||
@@ -109,13 +98,9 @@ export function LanguageDropdown() {
|
|||||||
<div
|
<div
|
||||||
id='language-menu'
|
id='language-menu'
|
||||||
role='listbox'
|
role='listbox'
|
||||||
className='absolute top-full right-0 z-[1001] mt-2 max-h-[400px] min-w-[160px] overflow-auto rounded-[6px] bg-white px-[6px] py-[6px] shadow-lg dark:bg-neutral-900'
|
className='absolute top-full right-0 z-[1001] mt-1 max-h-[75vh] w-56 overflow-auto rounded-xl border border-border/50 bg-white shadow-2xl md:w-44 md:bg-background/95 md:backdrop-blur-md dark:bg-neutral-950 md:dark:bg-background/95'
|
||||||
>
|
>
|
||||||
{languageEntries.map(([code, lang], index) => {
|
{Object.entries(languages).map(([code, lang]) => (
|
||||||
const isSelected = currentLang === code
|
|
||||||
const isHovered = hoveredIndex === index
|
|
||||||
|
|
||||||
return (
|
|
||||||
<button
|
<button
|
||||||
key={code}
|
key={code}
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
@@ -123,23 +108,19 @@ export function LanguageDropdown() {
|
|||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
handleLanguageChange(code)
|
handleLanguageChange(code)
|
||||||
}}
|
}}
|
||||||
onMouseEnter={() => setHoveredIndex(index)}
|
|
||||||
onMouseLeave={() => setHoveredIndex(-1)}
|
|
||||||
role='option'
|
role='option'
|
||||||
aria-selected={isSelected}
|
aria-selected={currentLang === code}
|
||||||
className={cn(
|
className={`flex w-full cursor-pointer items-center gap-3 px-3 py-3 text-base transition-colors first:rounded-t-xl last:rounded-b-xl hover:bg-muted/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring md:gap-2 md:px-2.5 md:py-2 md:text-sm ${
|
||||||
'flex h-[26px] w-full min-w-0 cursor-pointer items-center gap-[8px] rounded-[6px] px-[6px] text-[13px] transition-colors',
|
currentLang === code ? 'bg-muted/60 font-medium text-primary' : 'text-foreground'
|
||||||
'text-neutral-700 dark:text-neutral-200',
|
}`}
|
||||||
isHovered && 'bg-neutral-100 dark:bg-neutral-800',
|
|
||||||
'focus:outline-none'
|
|
||||||
)}
|
|
||||||
>
|
>
|
||||||
<span className='text-[13px]'>{lang.flag}</span>
|
<span className='text-base md:text-sm'>{lang.flag}</span>
|
||||||
<span className='flex-1 text-left leading-none'>{lang.name}</span>
|
<span className='leading-none'>{lang.name}</span>
|
||||||
{isSelected && <Check className='ml-auto h-3.5 w-3.5' />}
|
{currentLang === code && (
|
||||||
|
<Check className='ml-auto h-4 w-4 text-primary md:h-3.5 md:w-3.5' />
|
||||||
|
)}
|
||||||
</button>
|
</button>
|
||||||
)
|
))}
|
||||||
})}
|
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -1,108 +0,0 @@
|
|||||||
'use client'
|
|
||||||
|
|
||||||
import { cn } from '@/lib/utils'
|
|
||||||
|
|
||||||
interface SimLogoProps {
|
|
||||||
className?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sim logo with icon and text.
|
|
||||||
* The icon stays green (#33C482), text adapts to light/dark mode.
|
|
||||||
*/
|
|
||||||
export function SimLogo({ className }: SimLogoProps) {
|
|
||||||
return (
|
|
||||||
<svg
|
|
||||||
viewBox='720 440 320 320'
|
|
||||||
fill='none'
|
|
||||||
xmlns='http://www.w3.org/2000/svg'
|
|
||||||
className={cn('h-7 w-auto', className)}
|
|
||||||
aria-label='Sim'
|
|
||||||
>
|
|
||||||
{/* Green icon - top left shape with cutout */}
|
|
||||||
<path
|
|
||||||
fillRule='evenodd'
|
|
||||||
clipRule='evenodd'
|
|
||||||
d='M875.791 577.171C875.791 581.922 873.911 586.483 870.576 589.842L870.098 590.323C866.764 593.692 862.234 595.575 857.517 595.575H750.806C740.978 595.575 733 603.6 733 613.498V728.902C733 738.799 740.978 746.826 750.806 746.826H865.382C875.209 746.826 883.177 738.799 883.177 728.902V620.853C883.177 616.448 884.912 612.222 888.008 609.104C891.093 605.997 895.29 604.249 899.664 604.249H1008.16C1017.99 604.249 1025.96 596.224 1025.96 586.327V470.923C1025.96 461.025 1017.99 453 1008.16 453H893.586C883.759 453 875.791 461.025 875.791 470.923V577.171ZM910.562 477.566H991.178C996.922 477.566 1001.57 482.254 1001.57 488.029V569.22C1001.57 574.995 996.922 579.683 991.178 579.683H910.562C904.828 579.683 900.173 574.995 900.173 569.22V488.029C900.173 482.254 904.828 477.566 910.562 477.566Z'
|
|
||||||
fill='#33C482'
|
|
||||||
/>
|
|
||||||
{/* Green icon - bottom right square */}
|
|
||||||
<path
|
|
||||||
d='M1008.3 624.59H923.113C912.786 624.59 904.414 633.022 904.414 643.423V728.171C904.414 738.572 912.786 747.004 923.113 747.004H1008.3C1018.63 747.004 1027 738.572 1027 728.171V643.423C1027 633.022 1018.63 624.59 1008.3 624.59Z'
|
|
||||||
fill='#33C482'
|
|
||||||
/>
|
|
||||||
{/* Gradient overlay on bottom right square */}
|
|
||||||
<path
|
|
||||||
d='M1008.3 624.199H923.113C912.786 624.199 904.414 632.631 904.414 643.033V727.78C904.414 738.181 912.786 746.612 923.113 746.612H1008.3C1018.63 746.612 1027 738.181 1027 727.78V643.033C1027 632.631 1018.63 624.199 1008.3 624.199Z'
|
|
||||||
fill='url(#sim-logo-gradient)'
|
|
||||||
fillOpacity='0.2'
|
|
||||||
/>
|
|
||||||
<defs>
|
|
||||||
<linearGradient
|
|
||||||
id='sim-logo-gradient'
|
|
||||||
x1='904.414'
|
|
||||||
y1='624.199'
|
|
||||||
x2='978.836'
|
|
||||||
y2='698.447'
|
|
||||||
gradientUnits='userSpaceOnUse'
|
|
||||||
>
|
|
||||||
<stop />
|
|
||||||
<stop offset='1' stopOpacity='0' />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Full Sim logo with icon and "Sim" text.
|
|
||||||
* The icon stays green (#33C482), text adapts to light/dark mode.
|
|
||||||
*/
|
|
||||||
export function SimLogoFull({ className }: SimLogoProps) {
|
|
||||||
return (
|
|
||||||
<svg
|
|
||||||
viewBox='720 440 1020 320'
|
|
||||||
fill='none'
|
|
||||||
xmlns='http://www.w3.org/2000/svg'
|
|
||||||
className={cn('h-7 w-auto', className)}
|
|
||||||
aria-label='Sim'
|
|
||||||
>
|
|
||||||
{/* Green icon - top left shape with cutout */}
|
|
||||||
<path
|
|
||||||
fillRule='evenodd'
|
|
||||||
clipRule='evenodd'
|
|
||||||
d='M875.791 577.171C875.791 581.922 873.911 586.483 870.576 589.842L870.098 590.323C866.764 593.692 862.234 595.575 857.517 595.575H750.806C740.978 595.575 733 603.6 733 613.498V728.902C733 738.799 740.978 746.826 750.806 746.826H865.382C875.209 746.826 883.177 738.799 883.177 728.902V620.853C883.177 616.448 884.912 612.222 888.008 609.104C891.093 605.997 895.29 604.249 899.664 604.249H1008.16C1017.99 604.249 1025.96 596.224 1025.96 586.327V470.923C1025.96 461.025 1017.99 453 1008.16 453H893.586C883.759 453 875.791 461.025 875.791 470.923V577.171ZM910.562 477.566H991.178C996.922 477.566 1001.57 482.254 1001.57 488.029V569.22C1001.57 574.995 996.922 579.683 991.178 579.683H910.562C904.828 579.683 900.173 574.995 900.173 569.22V488.029C900.173 482.254 904.828 477.566 910.562 477.566Z'
|
|
||||||
fill='#33C482'
|
|
||||||
/>
|
|
||||||
{/* Green icon - bottom right square */}
|
|
||||||
<path
|
|
||||||
d='M1008.3 624.59H923.113C912.786 624.59 904.414 633.022 904.414 643.423V728.171C904.414 738.572 912.786 747.004 923.113 747.004H1008.3C1018.63 747.004 1027 738.572 1027 728.171V643.423C1027 633.022 1018.63 624.59 1008.3 624.59Z'
|
|
||||||
fill='#33C482'
|
|
||||||
/>
|
|
||||||
{/* Gradient overlay on bottom right square */}
|
|
||||||
<path
|
|
||||||
d='M1008.3 624.199H923.113C912.786 624.199 904.414 632.631 904.414 643.033V727.78C904.414 738.181 912.786 746.612 923.113 746.612H1008.3C1018.63 746.612 1027 738.181 1027 727.78V643.033C1027 632.631 1018.63 624.199 1008.3 624.199Z'
|
|
||||||
fill='url(#sim-logo-full-gradient)'
|
|
||||||
fillOpacity='0.2'
|
|
||||||
/>
|
|
||||||
{/* "Sim" text - adapts to light/dark mode via currentColor */}
|
|
||||||
<path
|
|
||||||
d='M1210.54 515.657C1226.65 515.657 1240.59 518.51 1252.31 524.257H1252.31C1264.3 529.995 1273.63 538.014 1280.26 548.319H1280.26C1287.19 558.635 1290.78 570.899 1291.08 585.068L1291.1 586.089H1249.11L1249.09 585.115C1248.8 574.003 1245.18 565.493 1238.32 559.451C1231.45 553.399 1221.79 550.308 1209.21 550.308C1196.3 550.308 1186.48 553.113 1179.61 558.588C1172.76 564.046 1169.33 571.499 1169.33 581.063C1169.33 588.092 1171.88 593.978 1177.01 598.783C1182.17 603.618 1189.99 607.399 1200.56 610.061H1200.56L1238.77 619.451C1257.24 623.65 1271.21 630.571 1280.57 640.293L1281.01 640.739C1290.13 650.171 1294.64 662.97 1294.64 679.016C1294.64 692.923 1290.88 705.205 1283.34 715.822L1283.33 715.834C1275.81 726.134 1265.44 734.14 1252.26 739.866L1252.25 739.871C1239.36 745.302 1224.12 748 1206.54 748C1180.9 748 1160.36 741.696 1145.02 728.984C1129.67 716.258 1122 699.269 1122 678.121V677.121H1163.99V678.121C1163.99 688.869 1167.87 697.367 1175.61 703.722L1176.34 704.284C1184.04 709.997 1194.37 712.902 1207.43 712.902C1222.13 712.902 1233.3 710.087 1241.07 704.588C1248.8 698.812 1252.64 691.21 1252.64 681.699C1252.64 674.769 1250.5 669.057 1246.25 664.49L1246.23 664.478L1246.22 664.464C1242.28 659.929 1234.83 656.119 1223.64 653.152L1185.43 644.208L1185.42 644.204C1166.05 639.407 1151.49 632.035 1141.83 622.012L1141.83 622.006L1141.82 622C1132.43 611.94 1127.78 598.707 1127.78 582.405C1127.78 568.81 1131.23 556.976 1138.17 546.949L1138.18 546.941L1138.19 546.933C1145.41 536.936 1155.18 529.225 1167.48 523.793L1167.48 523.79C1180.07 518.36 1194.43 515.657 1210.54 515.657ZM1323.39 521.979C1331.68 525.008 1337.55 526.482 1343.51 526.482C1349.48 526.482 1355.64 525.005 1364.49 521.973L1365.82 521.52V742.633H1322.05V521.489L1323.39 521.979ZM1642.01 515.657C1667.11 515.657 1686.94 523.031 1701.39 537.876C1715.83 552.716 1723 572.968 1723 598.507V742.633H1680.12V608.794C1680.12 591.666 1675.72 578.681 1667.07 569.681L1667.06 569.669L1667.04 569.656C1658.67 560.359 1647.26 555.675 1632.68 555.675C1622.47 555.675 1613.47 558.022 1605.64 562.69L1605.63 562.696C1598.11 567.064 1592.17 573.475 1587.8 581.968C1583.44 590.448 1581.25 600.424 1581.25 611.925V742.633H1537.92V608.347C1537.92 591.208 1533.67 578.376 1525.31 569.68L1525.31 569.674L1525.3 569.668C1516.93 560.664 1505.52 556.122 1490.93 556.122C1480.72 556.122 1471.72 558.469 1463.89 563.138L1463.88 563.144C1456.36 567.511 1450.41 573.922 1446.05 582.415L1446.05 582.422L1446.04 582.428C1441.69 590.602 1439.5 600.423 1439.5 611.925V742.633H1395.72V521.919H1435.05V554.803C1439.92 544.379 1447.91 535.465 1458.37 528.356C1470.71 519.875 1485.58 515.657 1502.93 515.657C1522.37 515.657 1538.61 520.931 1551.55 531.538C1560.38 538.771 1567.1 547.628 1571.72 558.091C1576.05 547.619 1582.83 538.757 1592.07 531.524C1605.61 520.93 1622.28 515.657 1642.01 515.657ZM1343.49 452C1351.45 452 1358.23 454.786 1363.75 460.346C1369.27 465.905 1372.04 472.721 1372.04 480.73C1372.04 488.452 1369.27 495.254 1363.77 501.096L1363.76 501.105L1363.75 501.115C1358.23 506.675 1351.45 509.461 1343.49 509.461C1335.81 509.461 1329.05 506.669 1323.25 501.134L1323.23 501.115L1323.21 501.096C1317.71 495.254 1314.94 488.452 1314.94 480.73C1314.94 472.721 1317.7 465.905 1323.23 460.346L1323.24 460.337L1323.25 460.327C1329.05 454.792 1335.81 452 1343.49 452Z'
|
|
||||||
className='fill-neutral-900 dark:fill-white'
|
|
||||||
/>
|
|
||||||
<defs>
|
|
||||||
<linearGradient
|
|
||||||
id='sim-logo-full-gradient'
|
|
||||||
x1='904.414'
|
|
||||||
y1='624.199'
|
|
||||||
x2='978.836'
|
|
||||||
y2='698.447'
|
|
||||||
gradientUnits='userSpaceOnUse'
|
|
||||||
>
|
|
||||||
<stop />
|
|
||||||
<stop offset='1' stopOpacity='0' />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -17,7 +17,7 @@ MCP-Server gruppieren Ihre Workflow-Tools zusammen. Erstellen und verwalten Sie
|
|||||||
<Video src="mcp/mcp-server.mp4" width={700} height={450} />
|
<Video src="mcp/mcp-server.mp4" width={700} height={450} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
1. Navigieren Sie zu **Einstellungen → MCP-Server**
|
1. Navigieren Sie zu **Einstellungen → Bereitgestellte MCPs**
|
||||||
2. Klicken Sie auf **Server erstellen**
|
2. Klicken Sie auf **Server erstellen**
|
||||||
3. Geben Sie einen Namen und eine optionale Beschreibung ein
|
3. Geben Sie einen Namen und eine optionale Beschreibung ein
|
||||||
4. Kopieren Sie die Server-URL zur Verwendung in Ihren MCP-Clients
|
4. Kopieren Sie die Server-URL zur Verwendung in Ihren MCP-Clients
|
||||||
@@ -79,7 +79,7 @@ Füge deinen API-Key-Header (`X-API-Key`) für authentifizierten Zugriff hinzu,
|
|||||||
|
|
||||||
## Server-Verwaltung
|
## Server-Verwaltung
|
||||||
|
|
||||||
In der Server-Detailansicht unter **Einstellungen → MCP-Server** können Sie:
|
In der Server-Detailansicht unter **Einstellungen → Bereitgestellte MCPs** können Sie:
|
||||||
|
|
||||||
- **Tools anzeigen**: Alle Workflows sehen, die einem Server hinzugefügt wurden
|
- **Tools anzeigen**: Alle Workflows sehen, die einem Server hinzugefügt wurden
|
||||||
- **URL kopieren**: Die Server-URL für MCP-Clients abrufen
|
- **URL kopieren**: Die Server-URL für MCP-Clients abrufen
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ MCP-Server stellen Sammlungen von Tools bereit, die Ihre Agenten nutzen können.
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
1. Navigieren Sie zu Ihren Workspace-Einstellungen
|
1. Navigieren Sie zu Ihren Workspace-Einstellungen
|
||||||
2. Gehen Sie zum Abschnitt **MCP-Server**
|
2. Gehen Sie zum Abschnitt **Bereitgestellte MCPs**
|
||||||
3. Klicken Sie auf **MCP-Server hinzufügen**
|
3. Klicken Sie auf **MCP-Server hinzufügen**
|
||||||
4. Geben Sie die Server-Konfigurationsdetails ein
|
4. Geben Sie die Server-Konfigurationsdetails ein
|
||||||
5. Speichern Sie die Konfiguration
|
5. Speichern Sie die Konfiguration
|
||||||
|
|||||||
@@ -10,20 +10,12 @@ Stellen Sie Sim auf Ihrer eigenen Infrastruktur mit Docker oder Kubernetes berei
|
|||||||
|
|
||||||
## Anforderungen
|
## Anforderungen
|
||||||
|
|
||||||
| Ressource | Klein | Standard | Produktion |
|
| Ressource | Minimum | Empfohlen |
|
||||||
|----------|-------|----------|------------|
|
|----------|---------|-------------|
|
||||||
| CPU | 2 Kerne | 4 Kerne | 8+ Kerne |
|
| CPU | 2 Kerne | 4+ Kerne |
|
||||||
| RAM | 12 GB | 16 GB | 32+ GB |
|
| RAM | 12 GB | 16+ GB |
|
||||||
| Speicher | 20 GB SSD | 50 GB SSD | 100+ GB SSD |
|
| Speicher | 20 GB SSD | 50+ GB SSD |
|
||||||
| Docker | 20.10+ | 20.10+ | Neueste Version |
|
| Docker | 20.10+ | Neueste Version |
|
||||||
|
|
||||||
**Klein**: Entwicklung, Tests, Einzelnutzer (1-5 Nutzer)
|
|
||||||
**Standard**: Teams (5-50 Nutzer), moderate Arbeitslasten
|
|
||||||
**Produktion**: Große Teams (50+ Nutzer), Hochverfügbarkeit, intensive Workflow-Ausführung
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
Die Ressourcenanforderungen werden durch Workflow-Ausführung (isolated-vm Sandboxing), Dateiverarbeitung (In-Memory-Dokumentenparsing) und Vektoroperationen (pgvector) bestimmt. Arbeitsspeicher ist typischerweise der limitierende Faktor, nicht CPU. Produktionsdaten zeigen, dass die Hauptanwendung durchschnittlich 4-8 GB und bei hoher Last bis zu 12 GB benötigt.
|
|
||||||
</Callout>
|
|
||||||
|
|
||||||
## Schnellstart
|
## Schnellstart
|
||||||
|
|
||||||
|
|||||||
@@ -56,10 +56,6 @@ Controls response randomness and creativity:
|
|||||||
- **Medium (0.3-0.7)**: Balanced creativity and focus. Good for general use.
|
- **Medium (0.3-0.7)**: Balanced creativity and focus. Good for general use.
|
||||||
- **High (0.7-2.0)**: Creative and varied. Ideal for brainstorming and content generation.
|
- **High (0.7-2.0)**: Creative and varied. Ideal for brainstorming and content generation.
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||
### API Key
|
### API Key
|
||||||
|
|
||||||
Your API key for the selected LLM provider. This is securely stored and used for authentication.
|
Your API key for the selected LLM provider. This is securely stored and used for authentication.
|
||||||
|
|||||||
@@ -124,44 +124,11 @@ Choose between four types of loops:
|
|||||||
3. Drag other blocks inside the loop container
|
3. Drag other blocks inside the loop container
|
||||||
4. Connect the blocks as needed
|
4. Connect the blocks as needed
|
||||||
|
|
||||||
### Referencing Loop Data
|
### Accessing Results
|
||||||
|
|
||||||
There's an important distinction between referencing loop data from **inside** vs **outside** the loop:
|
After a loop completes, you can access aggregated results:
|
||||||
|
|
||||||
<Tabs items={['Inside the Loop', 'Outside the Loop']}>
|
- **`<loop.results>`**: Array of results from all loop iterations
|
||||||
<Tab>
|
|
||||||
**Inside the loop**, use `<loop.>` references to access the current iteration context:
|
|
||||||
|
|
||||||
- **`<loop.index>`**: Current iteration number (0-based)
|
|
||||||
- **`<loop.currentItem>`**: Current item being processed (forEach only)
|
|
||||||
- **`<loop.items>`**: Full collection being iterated (forEach only)
|
|
||||||
|
|
||||||
```
|
|
||||||
// Inside a Function block within the loop
|
|
||||||
const idx = <loop.index>; // 0, 1, 2, ...
|
|
||||||
const item = <loop.currentItem>; // Current item
|
|
||||||
```
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
These references are only available for blocks **inside** the loop container. They give you access to the current iteration's context.
|
|
||||||
</Callout>
|
|
||||||
</Tab>
|
|
||||||
<Tab>
|
|
||||||
**Outside the loop** (after it completes), reference the loop block by its name to access aggregated results:
|
|
||||||
|
|
||||||
- **`<LoopBlockName.results>`**: Array of results from all iterations
|
|
||||||
|
|
||||||
```
|
|
||||||
// If your loop block is named "Process Items"
|
|
||||||
const allResults = <processitems.results>;
|
|
||||||
// Returns: [result1, result2, result3, ...]
|
|
||||||
```
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
After the loop completes, use the loop's block name (not `loop.`) to access the collected results. The block name is normalized (lowercase, no spaces).
|
|
||||||
</Callout>
|
|
||||||
</Tab>
|
|
||||||
</Tabs>
|
|
||||||
|
|
||||||
## Example Use Cases
|
## Example Use Cases
|
||||||
|
|
||||||
@@ -217,29 +184,28 @@ Variables (i=0) → Loop (While i<10) → Agent (Process) → Variables (i++)
|
|||||||
</ul>
|
</ul>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab>
|
<Tab>
|
||||||
Available **inside** the loop only:
|
|
||||||
<ul className="list-disc space-y-2 pl-6">
|
<ul className="list-disc space-y-2 pl-6">
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<loop.index>"}</strong>: Current iteration number (0-based)
|
<strong>loop.currentItem</strong>: Current item being processed
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<loop.currentItem>"}</strong>: Current item being processed (forEach only)
|
<strong>loop.index</strong>: Current iteration number (0-based)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<loop.items>"}</strong>: Full collection (forEach only)
|
<strong>loop.items</strong>: Full collection (forEach loops)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab>
|
<Tab>
|
||||||
<ul className="list-disc space-y-2 pl-6">
|
<ul className="list-disc space-y-2 pl-6">
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<blockname.results>"}</strong>: Array of all iteration results (accessed via block name)
|
<strong>loop.results</strong>: Array of all iteration results
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Structure</strong>: Results maintain iteration order
|
<strong>Structure</strong>: Results maintain iteration order
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Access</strong>: Available in blocks after the loop completes
|
<strong>Access</strong>: Available in blocks after the loop
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Tab>
|
</Tab>
|
||||||
|
|||||||
@@ -76,44 +76,11 @@ Choose between two types of parallel execution:
|
|||||||
3. Drag a single block inside the parallel container
|
3. Drag a single block inside the parallel container
|
||||||
4. Connect the block as needed
|
4. Connect the block as needed
|
||||||
|
|
||||||
### Referencing Parallel Data
|
### Accessing Results
|
||||||
|
|
||||||
There's an important distinction between referencing parallel data from **inside** vs **outside** the parallel block:
|
After a parallel block completes, you can access aggregated results:
|
||||||
|
|
||||||
<Tabs items={['Inside the Parallel', 'Outside the Parallel']}>
|
- **`<parallel.results>`**: Array of results from all parallel instances
|
||||||
<Tab>
|
|
||||||
**Inside the parallel**, use `<parallel.>` references to access the current instance context:
|
|
||||||
|
|
||||||
- **`<parallel.index>`**: Current instance number (0-based)
|
|
||||||
- **`<parallel.currentItem>`**: Item for this instance (collection-based only)
|
|
||||||
- **`<parallel.items>`**: Full collection being distributed (collection-based only)
|
|
||||||
|
|
||||||
```
|
|
||||||
// Inside a Function block within the parallel
|
|
||||||
const idx = <parallel.index>; // 0, 1, 2, ...
|
|
||||||
const item = <parallel.currentItem>; // This instance's item
|
|
||||||
```
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
These references are only available for blocks **inside** the parallel container. They give you access to the current instance's context.
|
|
||||||
</Callout>
|
|
||||||
</Tab>
|
|
||||||
<Tab>
|
|
||||||
**Outside the parallel** (after it completes), reference the parallel block by its name to access aggregated results:
|
|
||||||
|
|
||||||
- **`<ParallelBlockName.results>`**: Array of results from all instances
|
|
||||||
|
|
||||||
```
|
|
||||||
// If your parallel block is named "Process Tasks"
|
|
||||||
const allResults = <processtasks.results>;
|
|
||||||
// Returns: [result1, result2, result3, ...]
|
|
||||||
```
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
After the parallel completes, use the parallel's block name (not `parallel.`) to access the collected results. The block name is normalized (lowercase, no spaces).
|
|
||||||
</Callout>
|
|
||||||
</Tab>
|
|
||||||
</Tabs>
|
|
||||||
|
|
||||||
## Example Use Cases
|
## Example Use Cases
|
||||||
|
|
||||||
@@ -131,11 +98,11 @@ Parallel (["gpt-4o", "claude-3.7-sonnet", "gemini-2.5-pro"]) → Agent → Evalu
|
|||||||
|
|
||||||
### Result Aggregation
|
### Result Aggregation
|
||||||
|
|
||||||
Results from all parallel instances are automatically collected and accessible via the block name:
|
Results from all parallel instances are automatically collected:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// In a Function block after a parallel named "Process Tasks"
|
// In a Function block after the parallel
|
||||||
const allResults = <processtasks.results>;
|
const allResults = input.parallel.results;
|
||||||
// Returns: [result1, result2, result3, ...]
|
// Returns: [result1, result2, result3, ...]
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -191,26 +158,25 @@ Understanding when to use each:
|
|||||||
</ul>
|
</ul>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab>
|
<Tab>
|
||||||
Available **inside** the parallel only:
|
|
||||||
<ul className="list-disc space-y-2 pl-6">
|
<ul className="list-disc space-y-2 pl-6">
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<parallel.index>"}</strong>: Instance number (0-based)
|
<strong>parallel.currentItem</strong>: Item for this instance
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<parallel.currentItem>"}</strong>: Item for this instance (collection-based only)
|
<strong>parallel.index</strong>: Instance number (0-based)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<parallel.items>"}</strong>: Full collection (collection-based only)
|
<strong>parallel.items</strong>: Full collection (collection-based)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab>
|
<Tab>
|
||||||
<ul className="list-disc space-y-2 pl-6">
|
<ul className="list-disc space-y-2 pl-6">
|
||||||
<li>
|
<li>
|
||||||
<strong>{"<blockname.results>"}</strong>: Array of all instance results (accessed via block name)
|
<strong>parallel.results</strong>: Array of all instance results
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Access</strong>: Available in blocks after the parallel completes
|
<strong>Access</strong>: Available in blocks after the parallel
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Tab>
|
</Tab>
|
||||||
|
|||||||
@@ -5,24 +5,44 @@ title: Copilot
|
|||||||
import { Callout } from 'fumadocs-ui/components/callout'
|
import { Callout } from 'fumadocs-ui/components/callout'
|
||||||
import { Card, Cards } from 'fumadocs-ui/components/card'
|
import { Card, Cards } from 'fumadocs-ui/components/card'
|
||||||
import { Image } from '@/components/ui/image'
|
import { Image } from '@/components/ui/image'
|
||||||
import { MessageCircle, Hammer, Zap, Globe, Paperclip, History, RotateCcw, Brain } from 'lucide-react'
|
import { MessageCircle, Package, Zap, Infinity as InfinityIcon, Brain, BrainCircuit } from 'lucide-react'
|
||||||
|
|
||||||
Copilot is your in-editor assistant that helps you build and edit workflows. It can:
|
Copilot is your in-editor assistant that helps you build and edit workflows with Sim Copilot, as well as understand and improve them. It can:
|
||||||
|
|
||||||
- **Explain**: Answer questions about Sim and your current workflow
|
- **Explain**: Answer questions about Sim and your current workflow
|
||||||
- **Guide**: Suggest edits and best practices
|
- **Guide**: Suggest edits and best practices
|
||||||
- **Build**: Add blocks, wire connections, and configure settings
|
- **Edit**: Make changes to blocks, connections, and settings when you approve
|
||||||
- **Debug**: Analyze execution issues and optimize performance
|
|
||||||
|
|
||||||
<Callout type="info">
|
<Callout type="info">
|
||||||
Copilot is a Sim-managed service. For self-hosted deployments:
|
Copilot is a Sim-managed service. For self-hosted deployments, generate a Copilot API key in the hosted app (sim.ai → Settings → Copilot)
|
||||||
1. Go to [sim.ai](https://sim.ai) → Settings → Copilot and generate a Copilot API key
|
1. Go to [sim.ai](https://sim.ai) → Settings → Copilot and generate a Copilot API key
|
||||||
2. Set `COPILOT_API_KEY` in your self-hosted environment
|
2. Set `COPILOT_API_KEY` in your self-hosted environment to that value
|
||||||
</Callout>
|
</Callout>
|
||||||
|
|
||||||
## Modes
|
## Context Menu (@)
|
||||||
|
|
||||||
Switch between modes using the mode selector at the bottom of the input area.
|
Use the `@` symbol to reference various resources and give Copilot more context about your workspace:
|
||||||
|
|
||||||
|
<Image
|
||||||
|
src="/static/copilot/copilot-menu.png"
|
||||||
|
alt="Copilot context menu showing available reference options"
|
||||||
|
width={600}
|
||||||
|
height={400}
|
||||||
|
/>
|
||||||
|
|
||||||
|
The `@` menu provides access to:
|
||||||
|
- **Chats**: Reference previous copilot conversations
|
||||||
|
- **All workflows**: Reference any workflow in your workspace
|
||||||
|
- **Workflow Blocks**: Reference specific blocks from workflows
|
||||||
|
- **Blocks**: Reference block types and templates
|
||||||
|
- **Knowledge**: Reference your uploaded documents and knowledgebase
|
||||||
|
- **Docs**: Reference Sim documentation
|
||||||
|
- **Templates**: Reference workflow templates
|
||||||
|
- **Logs**: Reference execution logs and results
|
||||||
|
|
||||||
|
This contextual information helps Copilot provide more accurate and relevant assistance for your specific use case.
|
||||||
|
|
||||||
|
## Modes
|
||||||
|
|
||||||
<Cards>
|
<Cards>
|
||||||
<Card
|
<Card
|
||||||
@@ -40,153 +60,113 @@ Switch between modes using the mode selector at the bottom of the input area.
|
|||||||
<Card
|
<Card
|
||||||
title={
|
title={
|
||||||
<span className="inline-flex items-center gap-2">
|
<span className="inline-flex items-center gap-2">
|
||||||
<Hammer className="h-4 w-4 text-muted-foreground" />
|
<Package className="h-4 w-4 text-muted-foreground" />
|
||||||
Build
|
Agent
|
||||||
</span>
|
</span>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div className="m-0 text-sm">
|
<div className="m-0 text-sm">
|
||||||
Workflow building mode. Copilot can add blocks, wire connections, edit configurations, and debug issues.
|
Build-and-edit mode. Copilot proposes specific edits (add blocks, wire variables, tweak settings) and applies them when you approve.
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
</Cards>
|
</Cards>
|
||||||
|
|
||||||
## Models
|
<div className="flex justify-center">
|
||||||
|
<Image
|
||||||
|
src="/static/copilot/copilot-mode.png"
|
||||||
|
alt="Copilot mode selection interface"
|
||||||
|
width={600}
|
||||||
|
height={400}
|
||||||
|
className="my-6"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
Select your preferred AI model using the model selector at the bottom right of the input area.
|
## Depth Levels
|
||||||
|
|
||||||
**Available Models:**
|
<Cards>
|
||||||
- Claude 4.5 Opus, Sonnet (default), Haiku
|
<Card
|
||||||
- GPT 5.2 Codex, Pro
|
title={
|
||||||
- Gemini 3 Pro
|
<span className="inline-flex items-center gap-2">
|
||||||
|
<Zap className="h-4 w-4 text-muted-foreground" />
|
||||||
|
Fast
|
||||||
|
</span>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="m-0 text-sm">Quickest and cheapest. Best for small edits, simple workflows, and minor tweaks.</div>
|
||||||
|
</Card>
|
||||||
|
<Card
|
||||||
|
title={
|
||||||
|
<span className="inline-flex items-center gap-2">
|
||||||
|
<InfinityIcon className="h-4 w-4 text-muted-foreground" />
|
||||||
|
Auto
|
||||||
|
</span>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="m-0 text-sm">Balanced speed and reasoning. Recommended default for most tasks.</div>
|
||||||
|
</Card>
|
||||||
|
<Card
|
||||||
|
title={
|
||||||
|
<span className="inline-flex items-center gap-2">
|
||||||
|
<Brain className="h-4 w-4 text-muted-foreground" />
|
||||||
|
Advanced
|
||||||
|
</span>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="m-0 text-sm">More reasoning for larger workflows and complex edits while staying performant.</div>
|
||||||
|
</Card>
|
||||||
|
<Card
|
||||||
|
title={
|
||||||
|
<span className="inline-flex items-center gap-2">
|
||||||
|
<BrainCircuit className="h-4 w-4 text-muted-foreground" />
|
||||||
|
Behemoth
|
||||||
|
</span>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="m-0 text-sm">Maximum reasoning for deep planning, debugging, and complex architectural changes.</div>
|
||||||
|
</Card>
|
||||||
|
</Cards>
|
||||||
|
|
||||||
Choose based on your needs: faster models for simple tasks, more capable models for complex workflows.
|
### Mode Selection Interface
|
||||||
|
|
||||||
## Context Menu (@)
|
You can easily switch between different reasoning modes using the mode selector in the Copilot interface:
|
||||||
|
|
||||||
Use the `@` symbol to reference resources and give Copilot more context:
|
<Image
|
||||||
|
src="/static/copilot/copilot-models.png"
|
||||||
|
alt="Copilot mode selection showing Advanced mode with MAX toggle"
|
||||||
|
width={600}
|
||||||
|
height={300}
|
||||||
|
/>
|
||||||
|
|
||||||
| Reference | Description |
|
The interface allows you to:
|
||||||
|-----------|-------------|
|
- **Select reasoning level**: Choose from Fast, Auto, Advanced, or Behemoth
|
||||||
| **Chats** | Previous copilot conversations |
|
- **Enable MAX mode**: Toggle for maximum reasoning capabilities when you need the most thorough analysis
|
||||||
| **Workflows** | Any workflow in your workspace |
|
- **See mode descriptions**: Understand what each mode is optimized for
|
||||||
| **Workflow Blocks** | Blocks in the current workflow |
|
|
||||||
| **Blocks** | Block types and templates |
|
|
||||||
| **Knowledge** | Uploaded documents and knowledge bases |
|
|
||||||
| **Docs** | Sim documentation |
|
|
||||||
| **Templates** | Workflow templates |
|
|
||||||
| **Logs** | Execution logs and results |
|
|
||||||
|
|
||||||
Type `@` in the input field to open the context menu, then search or browse to find what you need.
|
Choose your mode based on the complexity of your task - use Fast for simple questions and Behemoth for complex architectural changes.
|
||||||
|
|
||||||
## Slash Commands (/)
|
## Billing and Cost Calculation
|
||||||
|
|
||||||
Use slash commands for quick actions:
|
### How Costs Are Calculated
|
||||||
|
|
||||||
| Command | Description |
|
Copilot usage is billed per token from the underlying LLM:
|
||||||
|---------|-------------|
|
|
||||||
| `/fast` | Fast mode execution |
|
|
||||||
| `/research` | Research and exploration mode |
|
|
||||||
| `/actions` | Execute agent actions |
|
|
||||||
|
|
||||||
**Web Commands:**
|
- **Input tokens**: billed at the provider's base rate (**at-cost**)
|
||||||
|
- **Output tokens**: billed at **1.5×** the provider's base output rate
|
||||||
|
|
||||||
| Command | Description |
|
```javascript
|
||||||
|---------|-------------|
|
copilotCost = (inputTokens × inputPrice + outputTokens × (outputPrice × 1.5)) / 1,000,000
|
||||||
| `/search` | Search the web |
|
```
|
||||||
| `/read` | Read a specific URL |
|
|
||||||
| `/scrape` | Scrape web page content |
|
|
||||||
| `/crawl` | Crawl multiple pages |
|
|
||||||
|
|
||||||
Type `/` in the input field to see available commands.
|
| Component | Rate Applied |
|
||||||
|
|----------|----------------------|
|
||||||
|
| Input | inputPrice |
|
||||||
|
| Output | outputPrice × 1.5 |
|
||||||
|
|
||||||
## Chat Management
|
<Callout type="warning">
|
||||||
|
Pricing shown reflects rates as of September 4, 2025. Check provider documentation for current pricing.
|
||||||
### Starting a New Chat
|
</Callout>
|
||||||
|
|
||||||
Click the **+** button in the Copilot header to start a fresh conversation.
|
|
||||||
|
|
||||||
### Chat History
|
|
||||||
|
|
||||||
Click **History** to view previous conversations grouped by date. You can:
|
|
||||||
- Click a chat to resume it
|
|
||||||
- Delete chats you no longer need
|
|
||||||
|
|
||||||
### Editing Messages
|
|
||||||
|
|
||||||
Hover over any of your messages and click **Edit** to modify and resend it. This is useful for refining your prompts.
|
|
||||||
|
|
||||||
### Message Queue
|
|
||||||
|
|
||||||
If you send a message while Copilot is still responding, it gets queued. You can:
|
|
||||||
- View queued messages in the expandable queue panel
|
|
||||||
- Send a queued message immediately (aborts current response)
|
|
||||||
- Remove messages from the queue
|
|
||||||
|
|
||||||
## File Attachments
|
|
||||||
|
|
||||||
Click the attachment icon to upload files with your message. Supported file types include:
|
|
||||||
- Images (preview thumbnails shown)
|
|
||||||
- PDFs
|
|
||||||
- Text files, JSON, XML
|
|
||||||
- Other document formats
|
|
||||||
|
|
||||||
Files are displayed as clickable thumbnails that open in a new tab.
|
|
||||||
|
|
||||||
## Checkpoints & Changes
|
|
||||||
|
|
||||||
When Copilot makes changes to your workflow, it saves checkpoints so you can revert if needed.
|
|
||||||
|
|
||||||
### Viewing Checkpoints
|
|
||||||
|
|
||||||
Hover over a Copilot message and click the checkpoints icon to see saved workflow states for that message.
|
|
||||||
|
|
||||||
### Reverting Changes
|
|
||||||
|
|
||||||
Click **Revert** on any checkpoint to restore your workflow to that state. A confirmation dialog will warn that this action cannot be undone.
|
|
||||||
|
|
||||||
### Accepting Changes
|
|
||||||
|
|
||||||
When Copilot proposes changes, you can:
|
|
||||||
- **Accept**: Apply the proposed changes (`Mod+Shift+Enter`)
|
|
||||||
- **Reject**: Dismiss the changes and keep your current workflow
|
|
||||||
|
|
||||||
## Thinking Blocks
|
|
||||||
|
|
||||||
For complex requests, Copilot may show its reasoning process in expandable thinking blocks:
|
|
||||||
|
|
||||||
- Blocks auto-expand while Copilot is thinking
|
|
||||||
- Click to manually expand/collapse
|
|
||||||
- Shows duration of the thinking process
|
|
||||||
- Helps you understand how Copilot arrived at its solution
|
|
||||||
|
|
||||||
## Options Selection
|
|
||||||
|
|
||||||
When Copilot presents multiple options, you can select using:
|
|
||||||
|
|
||||||
| Control | Action |
|
|
||||||
|---------|--------|
|
|
||||||
| **1-9** | Select option by number |
|
|
||||||
| **Arrow Up/Down** | Navigate between options |
|
|
||||||
| **Enter** | Select highlighted option |
|
|
||||||
|
|
||||||
Selected options are highlighted; unselected options appear struck through.
|
|
||||||
|
|
||||||
## Keyboard Shortcuts
|
|
||||||
|
|
||||||
| Shortcut | Action |
|
|
||||||
|----------|--------|
|
|
||||||
| `@` | Open context menu |
|
|
||||||
| `/` | Open slash commands |
|
|
||||||
| `Arrow Up/Down` | Navigate menu items |
|
|
||||||
| `Enter` | Select menu item |
|
|
||||||
| `Esc` | Close menus |
|
|
||||||
| `Mod+Shift+Enter` | Accept Copilot changes |
|
|
||||||
|
|
||||||
## Usage Limits
|
|
||||||
|
|
||||||
Copilot usage is billed per token from the underlying LLM. If you reach your usage limit, Copilot will prompt you to increase your limit. You can add usage in increments ($50, $100) from your current base.
|
|
||||||
|
|
||||||
<Callout type="info">
|
<Callout type="info">
|
||||||
See the [Cost Calculation page](/execution/costs) for billing details.
|
Model prices are per million tokens. The calculation divides by 1,000,000 to get the actual cost. See <a href="/execution/costs">the Cost Calculation page</a> for background and examples.
|
||||||
</Callout>
|
</Callout>
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"pages": ["index", "basics", "api", "logging", "costs"]
|
"pages": ["index", "basics", "api", "form", "logging", "costs"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,8 +34,6 @@ Speed up your workflow building with these keyboard shortcuts and mouse controls
|
|||||||
| `Mod` + `V` | Paste blocks |
|
| `Mod` + `V` | Paste blocks |
|
||||||
| `Delete` or `Backspace` | Delete selected blocks or edges |
|
| `Delete` or `Backspace` | Delete selected blocks or edges |
|
||||||
| `Shift` + `L` | Auto-layout canvas |
|
| `Shift` + `L` | Auto-layout canvas |
|
||||||
| `Mod` + `Shift` + `F` | Fit to view |
|
|
||||||
| `Mod` + `Shift` + `Enter` | Accept Copilot changes |
|
|
||||||
|
|
||||||
## Panel Navigation
|
## Panel Navigation
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ MCP servers group your workflow tools together. Create and manage them in worksp
|
|||||||
<Video src="mcp/mcp-server.mp4" width={700} height={450} />
|
<Video src="mcp/mcp-server.mp4" width={700} height={450} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
1. Navigate to **Settings → MCP Servers**
|
1. Navigate to **Settings → Deployed MCPs**
|
||||||
2. Click **Create Server**
|
2. Click **Create Server**
|
||||||
3. Enter a name and optional description
|
3. Enter a name and optional description
|
||||||
4. Copy the server URL for use in your MCP clients
|
4. Copy the server URL for use in your MCP clients
|
||||||
@@ -78,7 +78,7 @@ Include your API key header (`X-API-Key`) for authenticated access when using mc
|
|||||||
|
|
||||||
## Server Management
|
## Server Management
|
||||||
|
|
||||||
From the server detail view in **Settings → MCP Servers**, you can:
|
From the server detail view in **Settings → Deployed MCPs**, you can:
|
||||||
|
|
||||||
- **View tools**: See all workflows added to a server
|
- **View tools**: See all workflows added to a server
|
||||||
- **Copy URL**: Get the server URL for MCP clients
|
- **Copy URL**: Get the server URL for MCP clients
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ MCP servers provide collections of tools that your agents can use. Configure the
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
1. Navigate to your workspace settings
|
1. Navigate to your workspace settings
|
||||||
2. Go to the **MCP Servers** section
|
2. Go to the **Deployed MCPs** section
|
||||||
3. Click **Add MCP Server**
|
3. Click **Add MCP Server**
|
||||||
4. Enter the server configuration details
|
4. Enter the server configuration details
|
||||||
5. Save the configuration
|
5. Save the configuration
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
"pages": [
|
"pages": [
|
||||||
"./introduction/index",
|
"./introduction/index",
|
||||||
"./getting-started/index",
|
"./getting-started/index",
|
||||||
"./quick-reference/index",
|
|
||||||
"triggers",
|
"triggers",
|
||||||
"blocks",
|
"blocks",
|
||||||
"tools",
|
"tools",
|
||||||
|
|||||||
@@ -1,390 +0,0 @@
|
|||||||
---
|
|
||||||
title: Quick Reference
|
|
||||||
description: Essential actions for navigating and using the Sim workflow editor
|
|
||||||
---
|
|
||||||
|
|
||||||
import { Callout } from 'fumadocs-ui/components/callout'
|
|
||||||
import { ActionImage, ActionVideo } from '@/components/ui/action-media'
|
|
||||||
|
|
||||||
A quick lookup for everyday actions in the Sim workflow editor. For keyboard shortcuts, see [Keyboard Shortcuts](/keyboard-shortcuts).
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
**Mod** refers to `Cmd` on macOS and `Ctrl` on Windows/Linux.
|
|
||||||
</Callout>
|
|
||||||
|
|
||||||
## Workspaces
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Create a workspace</td>
|
|
||||||
<td>Click workspace dropdown → **New Workspace**</td>
|
|
||||||
<td><ActionVideo src="quick-reference/create-workspace.mp4" alt="Create workspace" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Switch workspaces</td>
|
|
||||||
<td>Click workspace dropdown → Select workspace</td>
|
|
||||||
<td><ActionVideo src="quick-reference/switch-workspace.mp4" alt="Switch workspaces" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Invite team members</td>
|
|
||||||
<td>Sidebar → **Invite**</td>
|
|
||||||
<td><ActionVideo src="quick-reference/invite.mp4" alt="Invite team members" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Rename a workspace</td>
|
|
||||||
<td>Right-click workspace → **Rename**</td>
|
|
||||||
<td rowSpan={4}><ActionImage src="/static/quick-reference/workspace-context-menu.png" alt="Workspace context menu" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Duplicate a workspace</td>
|
|
||||||
<td>Right-click workspace → **Duplicate**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Export a workspace</td>
|
|
||||||
<td>Right-click workspace → **Export**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Delete a workspace</td>
|
|
||||||
<td>Right-click workspace → **Delete**</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Workflows
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Create a workflow</td>
|
|
||||||
<td>Click **+** button in sidebar</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/create-workflow.png" alt="Create workflow" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Reorder / move workflows</td>
|
|
||||||
<td>Drag workflow up/down or onto a folder</td>
|
|
||||||
<td><ActionVideo src="quick-reference/reordering.mp4" alt="Reorder workflows" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Import a workflow</td>
|
|
||||||
<td>Click import button in sidebar → Select file</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/import-workflow.png" alt="Import workflow" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Multi-select workflows</td>
|
|
||||||
<td>`Mod+Click` or `Shift+Click` workflows in sidebar</td>
|
|
||||||
<td><ActionVideo src="quick-reference/multiselect.mp4" alt="Multi-select workflows" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Open in new tab</td>
|
|
||||||
<td>Right-click workflow → **Open in New Tab**</td>
|
|
||||||
<td rowSpan={6}><ActionImage src="/static/quick-reference/workflow-context-menu.png" alt="Workflow context menu" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Rename a workflow</td>
|
|
||||||
<td>Right-click workflow → **Rename**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Assign workflow color</td>
|
|
||||||
<td>Right-click workflow → **Change Color**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Duplicate a workflow</td>
|
|
||||||
<td>Right-click workflow → **Duplicate**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Export a workflow</td>
|
|
||||||
<td>Right-click workflow → **Export**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Delete a workflow</td>
|
|
||||||
<td>Right-click workflow → **Delete**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Rename a folder</td>
|
|
||||||
<td>Right-click folder → **Rename**</td>
|
|
||||||
<td rowSpan={6}><ActionImage src="/static/quick-reference/folder-context-menu.png" alt="Folder context menu" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Create workflow in folder</td>
|
|
||||||
<td>Right-click folder → **Create workflow**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Create folder in folder</td>
|
|
||||||
<td>Right-click folder → **Create folder**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Duplicate a folder</td>
|
|
||||||
<td>Right-click folder → **Duplicate**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Export a folder</td>
|
|
||||||
<td>Right-click folder → **Export**</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Delete a folder</td>
|
|
||||||
<td>Right-click folder → **Delete**</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Blocks
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Add a block</td>
|
|
||||||
<td>Drag from Toolbar panel, or right-click canvas → **Add Block**</td>
|
|
||||||
<td><ActionVideo src="quick-reference/add-block.mp4" alt="Add a block" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Multi-select blocks</td>
|
|
||||||
<td>`Mod+Click` additional blocks, or shift-drag to draw selection box</td>
|
|
||||||
<td><ActionVideo src="quick-reference/multiselect-blocks.mp4" alt="Multi-select blocks" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Copy blocks</td>
|
|
||||||
<td>`Mod+C` with blocks selected</td>
|
|
||||||
<td rowSpan={2}><ActionVideo src="quick-reference/copy-paste.mp4" alt="Copy and paste blocks" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Paste blocks</td>
|
|
||||||
<td>`Mod+V` to paste copied blocks</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Duplicate blocks</td>
|
|
||||||
<td>Right-click → **Duplicate**</td>
|
|
||||||
<td><ActionVideo src="quick-reference/duplicate-block.mp4" alt="Duplicate blocks" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Delete blocks</td>
|
|
||||||
<td>`Delete` or `Backspace` key, or right-click → **Delete**</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/delete-block.png" alt="Delete block" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Rename a block</td>
|
|
||||||
<td>Click block name in header, or edit in the Editor panel</td>
|
|
||||||
<td><ActionVideo src="quick-reference/rename-block.mp4" alt="Rename a block" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Enable/Disable a block</td>
|
|
||||||
<td>Right-click → **Enable/Disable**</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/disable-block.png" alt="Disable block" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Toggle handle orientation</td>
|
|
||||||
<td>Right-click → **Toggle Handles**</td>
|
|
||||||
<td><ActionVideo src="quick-reference/toggle-handles.mp4" alt="Toggle handle orientation" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Configure a block</td>
|
|
||||||
<td>Select block → use Editor panel on right</td>
|
|
||||||
<td><ActionVideo src="quick-reference/configure-block.mp4" alt="Configure a block" /></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Connections
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Create a connection</td>
|
|
||||||
<td>Drag from output handle to input handle</td>
|
|
||||||
<td><ActionVideo src="quick-reference/connect-blocks.mp4" alt="Connect blocks" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Delete a connection</td>
|
|
||||||
<td>Click edge to select → `Delete` key</td>
|
|
||||||
<td><ActionVideo src="quick-reference/delete-connection.mp4" alt="Delete connection" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Use output in another block</td>
|
|
||||||
<td>Drag connection tag into input field</td>
|
|
||||||
<td><ActionVideo src="quick-reference/connection-tag.mp4" alt="Use connection tag" /></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Panels & Views
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Search toolbar</td>
|
|
||||||
<td>`Mod+F`</td>
|
|
||||||
<td><ActionVideo src="quick-reference/search-toolbar.mp4" alt="Search toolbar" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Search everything</td>
|
|
||||||
<td>`Mod+K`</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/search-everything.png" alt="Search everything" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Toggle manual mode</td>
|
|
||||||
<td>Click toggle button to switch between manual and selector</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/toggle-manual-mode.png" alt="Toggle manual mode" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Collapse/expand sidebar</td>
|
|
||||||
<td>Click collapse button on sidebar</td>
|
|
||||||
<td><ActionVideo src="quick-reference/collapse-sidebar.mp4" alt="Collapse sidebar" /></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Running & Testing
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Run workflow</td>
|
|
||||||
<td>Click Run Workflow button or `Mod+Enter`</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/run-workflow.png" alt="Run workflow" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Stop workflow</td>
|
|
||||||
<td>Click Stop button or `Mod+Enter` while running</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/stop-workflow.png" alt="Stop workflow" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Test with chat</td>
|
|
||||||
<td>Use Chat panel on the right side</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/test-chat.png" alt="Test with chat" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Select output to view</td>
|
|
||||||
<td>Click dropdown in Chat panel → Select block output</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/output-select.png" alt="Select output to view" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Clear chat history</td>
|
|
||||||
<td>Click clear button in Chat panel</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/clear-chat.png" alt="Clear chat history" /></td>
|
|
||||||
</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>
|
|
||||||
<td>View execution logs</td>
|
|
||||||
<td>Open terminal panel at bottom, or `Mod+L`</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/terminal.png" alt="Execution logs terminal" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Filter logs</td>
|
|
||||||
<td>Click filter icon in terminal → Filter by block or status</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/filter-block.png" alt="Filter logs by block" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Search logs</td>
|
|
||||||
<td>Use search field in terminal or right-click log entry → **Search**</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/terminal-search.png" alt="Search logs" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Copy log entry</td>
|
|
||||||
<td>Clipboard Icon or Right-click log entry → **Copy**</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/copy-log.png" alt="Copy log entry" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Clear terminal</td>
|
|
||||||
<td>Trash icon or `Mod+D`</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/clear-terminal.png" alt="Clear terminal" /></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Deployment
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Deploy a workflow</td>
|
|
||||||
<td>Click **Deploy** button in panel</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/deploy.png" alt="Deploy workflow" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Update deployment</td>
|
|
||||||
<td>Click **Update** when changes are detected</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/update-deployment.png" alt="Update deployment" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>View deployment status</td>
|
|
||||||
<td>Check status indicator (Live/Update/Deploy) in Deploy tab</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/view-deployment.png" alt="View deployment status" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Revert deployment</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>
|
|
||||||
</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>
|
|
||||||
<td>Copy API endpoint</td>
|
|
||||||
<td>Deploy tab → API → Copy API cURL</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/copy-api.png" alt="Copy API endpoint" /></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Variables
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr><th>Action</th><th>How</th><th>Preview</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Add / Edit / Delete workflow variable</td>
|
|
||||||
<td>Panel -> Variables -> **Add Variable**, click to edit, or delete icon</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/variables.png" alt="Variables panel" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Add environment variable</td>
|
|
||||||
<td>Settings → **Environment Variables** → **Add**</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/add-env-variable.png" alt="Add environment variable" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Reference a workflow variable</td>
|
|
||||||
<td>Use `<blockName.itemName>` syntax in block inputs</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/variable-reference.png" alt="Reference workflow variable" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Reference an environment variable</td>
|
|
||||||
<td>Use `{{ENV_VAR}}` syntax in block inputs</td>
|
|
||||||
<td><ActionImage src="/static/quick-reference/env-variable-reference.png" alt="Reference environment variable" /></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
@@ -16,20 +16,12 @@ Deploy Sim on your own infrastructure with Docker or Kubernetes.
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
| Resource | Small | Standard | Production |
|
| Resource | Minimum | Recommended |
|
||||||
|----------|-------|----------|------------|
|
|----------|---------|-------------|
|
||||||
| CPU | 2 cores | 4 cores | 8+ cores |
|
| CPU | 2 cores | 4+ cores |
|
||||||
| RAM | 12 GB | 16 GB | 32+ GB |
|
| RAM | 12 GB | 16+ GB |
|
||||||
| Storage | 20 GB SSD | 50 GB SSD | 100+ GB SSD |
|
| Storage | 20 GB SSD | 50+ GB SSD |
|
||||||
| Docker | 20.10+ | 20.10+ | Latest |
|
| Docker | 20.10+ | Latest |
|
||||||
|
|
||||||
**Small**: Development, testing, single user (1-5 users)
|
|
||||||
**Standard**: Teams (5-50 users), moderate workloads
|
|
||||||
**Production**: Large teams (50+ users), high availability, heavy workflow execution
|
|
||||||
|
|
||||||
<Callout type="info">
|
|
||||||
Resource requirements are driven by workflow execution (isolated-vm sandboxing), file processing (in-memory document parsing), and vector operations (pgvector). Memory is typically the constraining factor rather than CPU. Production telemetry shows the main app uses 4-8 GB average with peaks up to 12 GB under heavy load.
|
|
||||||
</Callout>
|
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
|
|
||||||
<BlockInfoCard
|
<BlockInfoCard
|
||||||
type="browser_use"
|
type="browser_use"
|
||||||
color="#181C1E"
|
color="#E0E0E0"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{/* MANUAL-CONTENT-START:intro */}
|
{/* MANUAL-CONTENT-START:intro */}
|
||||||
@@ -47,7 +47,6 @@ Runs a browser automation task using BrowserUse
|
|||||||
| `save_browser_data` | boolean | No | Whether to save browser data |
|
| `save_browser_data` | boolean | No | Whether to save browser data |
|
||||||
| `model` | string | No | LLM model to use \(default: gpt-4o\) |
|
| `model` | string | No | LLM model to use \(default: gpt-4o\) |
|
||||||
| `apiKey` | string | Yes | API key for BrowserUse API |
|
| `apiKey` | string | Yes | API key for BrowserUse API |
|
||||||
| `profile_id` | string | No | Browser profile ID for persistent sessions \(cookies, login state\) |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
|
|||||||
@@ -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. |
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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 |
|
||||||
|
|||||||
@@ -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 |
|
|
||||||
|
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ description: Interact with Confluence
|
|||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|
||||||
<BlockInfoCard
|
<BlockInfoCard
|
||||||
type="confluence_v2"
|
type="confluence"
|
||||||
color="#E0E0E0"
|
color="#E0E0E0"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -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\) |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description: Read and parse multiple files
|
|||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|
||||||
<BlockInfoCard
|
<BlockInfoCard
|
||||||
type="file_v2"
|
type="file"
|
||||||
color="#40916C"
|
color="#40916C"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ Parse one or more uploaded files or files from URLs (text, PDF, CSV, images, etc
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `files` | array | Array of parsed files with content, metadata, and file properties |
|
| `files` | array | Array of parsed files |
|
||||||
| `combinedContent` | string | All file contents merged into a single text string |
|
| `combinedContent` | string | Combined content of all parsed files |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -119,145 +119,6 @@ Get a specific event from Google Calendar. Returns API-aligned fields only.
|
|||||||
| `creator` | json | Event creator |
|
| `creator` | json | Event creator |
|
||||||
| `organizer` | json | Event organizer |
|
| `organizer` | json | Event organizer |
|
||||||
|
|
||||||
### `google_calendar_update`
|
|
||||||
|
|
||||||
Update an existing event in Google Calendar. Returns API-aligned fields only.
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `calendarId` | string | No | Calendar ID \(defaults to primary\) |
|
|
||||||
| `eventId` | string | Yes | Event ID to update |
|
|
||||||
| `summary` | string | No | New event title/summary |
|
|
||||||
| `description` | string | No | New event description |
|
|
||||||
| `location` | string | No | New event location |
|
|
||||||
| `startDateTime` | string | No | New start date and time. MUST include timezone offset \(e.g., 2025-06-03T10:00:00-08:00\) OR provide timeZone parameter |
|
|
||||||
| `endDateTime` | string | No | New end date and time. MUST include timezone offset \(e.g., 2025-06-03T11:00:00-08:00\) OR provide timeZone parameter |
|
|
||||||
| `timeZone` | string | No | Time zone \(e.g., America/Los_Angeles\). Required if datetime does not include offset. |
|
|
||||||
| `attendees` | array | No | Array of attendee email addresses \(replaces existing attendees\) |
|
|
||||||
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Event ID |
|
|
||||||
| `htmlLink` | string | Event link |
|
|
||||||
| `status` | string | Event status |
|
|
||||||
| `summary` | string | Event title |
|
|
||||||
| `description` | string | Event description |
|
|
||||||
| `location` | string | Event location |
|
|
||||||
| `start` | json | Event start |
|
|
||||||
| `end` | json | Event end |
|
|
||||||
| `attendees` | json | Event attendees |
|
|
||||||
| `creator` | json | Event creator |
|
|
||||||
| `organizer` | json | Event organizer |
|
|
||||||
|
|
||||||
### `google_calendar_delete`
|
|
||||||
|
|
||||||
Delete an event from Google Calendar. Returns API-aligned fields only.
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `calendarId` | string | No | Calendar ID \(defaults to primary\) |
|
|
||||||
| `eventId` | string | Yes | Event ID to delete |
|
|
||||||
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `eventId` | string | Deleted event ID |
|
|
||||||
| `deleted` | boolean | Whether deletion was successful |
|
|
||||||
|
|
||||||
### `google_calendar_move`
|
|
||||||
|
|
||||||
Move an event to a different calendar. Returns API-aligned fields only.
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `calendarId` | string | No | Source calendar ID \(defaults to primary\) |
|
|
||||||
| `eventId` | string | Yes | Event ID to move |
|
|
||||||
| `destinationCalendarId` | string | Yes | Destination calendar ID |
|
|
||||||
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Event ID |
|
|
||||||
| `htmlLink` | string | Event link |
|
|
||||||
| `status` | string | Event status |
|
|
||||||
| `summary` | string | Event title |
|
|
||||||
| `description` | string | Event description |
|
|
||||||
| `location` | string | Event location |
|
|
||||||
| `start` | json | Event start |
|
|
||||||
| `end` | json | Event end |
|
|
||||||
| `attendees` | json | Event attendees |
|
|
||||||
| `creator` | json | Event creator |
|
|
||||||
| `organizer` | json | Event organizer |
|
|
||||||
|
|
||||||
### `google_calendar_instances`
|
|
||||||
|
|
||||||
Get instances of a recurring event from Google Calendar. Returns API-aligned fields only.
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `calendarId` | string | No | Calendar ID \(defaults to primary\) |
|
|
||||||
| `eventId` | string | Yes | Recurring event ID to get instances of |
|
|
||||||
| `timeMin` | string | No | Lower bound for instances \(RFC3339 timestamp, e.g., 2025-06-03T00:00:00Z\) |
|
|
||||||
| `timeMax` | string | No | Upper bound for instances \(RFC3339 timestamp, e.g., 2025-06-04T00:00:00Z\) |
|
|
||||||
| `maxResults` | number | No | Maximum number of instances to return \(default 250, max 2500\) |
|
|
||||||
| `pageToken` | string | No | Token for retrieving subsequent pages of results |
|
|
||||||
| `showDeleted` | boolean | No | Include deleted instances |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `nextPageToken` | string | Next page token |
|
|
||||||
| `timeZone` | string | Calendar time zone |
|
|
||||||
| `instances` | json | List of recurring event instances |
|
|
||||||
|
|
||||||
### `google_calendar_list_calendars`
|
|
||||||
|
|
||||||
List all calendars in the user
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `minAccessRole` | string | No | Minimum access role for returned calendars: freeBusyReader, reader, writer, or owner |
|
|
||||||
| `maxResults` | number | No | Maximum number of calendars to return \(default 100, max 250\) |
|
|
||||||
| `pageToken` | string | No | Token for retrieving subsequent pages of results |
|
|
||||||
| `showDeleted` | boolean | No | Include deleted calendars |
|
|
||||||
| `showHidden` | boolean | No | Include hidden calendars |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `nextPageToken` | string | Next page token |
|
|
||||||
| `calendars` | array | List of calendars |
|
|
||||||
| ↳ `id` | string | Calendar ID |
|
|
||||||
| ↳ `summary` | string | Calendar title |
|
|
||||||
| ↳ `description` | string | Calendar description |
|
|
||||||
| ↳ `location` | string | Calendar location |
|
|
||||||
| ↳ `timeZone` | string | Calendar time zone |
|
|
||||||
| ↳ `accessRole` | string | Access role for the calendar |
|
|
||||||
| ↳ `backgroundColor` | string | Calendar background color |
|
|
||||||
| ↳ `foregroundColor` | string | Calendar foreground color |
|
|
||||||
| ↳ `primary` | boolean | Whether this is the primary calendar |
|
|
||||||
| ↳ `hidden` | boolean | Whether the calendar is hidden |
|
|
||||||
| ↳ `selected` | boolean | Whether the calendar is selected |
|
|
||||||
|
|
||||||
### `google_calendar_quick_add`
|
### `google_calendar_quick_add`
|
||||||
|
|
||||||
Create events from natural language text. Returns API-aligned fields only.
|
Create events from natural language text. Returns API-aligned fields only.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Google Drive
|
title: Google Drive
|
||||||
description: Manage files, folders, and permissions
|
description: Create, upload, and list files
|
||||||
---
|
---
|
||||||
|
|
||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
@@ -40,35 +40,36 @@ In Sim, the Google Drive integration enables your agents to interact directly wi
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Drive into the workflow. Can create, upload, download, copy, move, delete, share files and manage permissions.
|
Integrate Google Drive into the workflow. Can create, upload, and list files.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Tools
|
## Tools
|
||||||
|
|
||||||
### `google_drive_list`
|
### `google_drive_upload`
|
||||||
|
|
||||||
List files and folders in Google Drive with complete metadata
|
Upload a file to Google Drive with complete metadata returned
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `folderSelector` | string | No | Select the folder to list files from |
|
| `fileName` | string | Yes | The name of the file to upload |
|
||||||
| `folderId` | string | No | The ID of the folder to list files from \(internal use\) |
|
| `file` | file | No | Binary file to upload \(UserFile object\) |
|
||||||
| `query` | string | No | Search term to filter files by name \(e.g. "budget" finds files with "budget" in the name\). Do NOT use Google Drive query syntax here - just provide a plain search term. |
|
| `content` | string | No | Text content to upload \(use this OR file, not both\) |
|
||||||
| `pageSize` | number | No | The maximum number of files to return \(default: 100\) |
|
| `mimeType` | string | No | The MIME type of the file to upload \(auto-detected from file if not provided\) |
|
||||||
| `pageToken` | string | No | The page token to use for pagination |
|
| `folderSelector` | string | No | Select the folder to upload the file to |
|
||||||
|
| `folderId` | string | No | The ID of the folder to upload the file to \(internal use\) |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `files` | array | Array of file metadata objects from Google Drive |
|
| `file` | object | Complete uploaded file metadata from Google Drive |
|
||||||
| ↳ `id` | string | Google Drive file ID |
|
| ↳ `id` | string | Google Drive file ID |
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
| ↳ `name` | string | File name |
|
||||||
| ↳ `mimeType` | string | MIME type |
|
| ↳ `mimeType` | string | MIME type |
|
||||||
|
| ↳ `kind` | string | Resource type identifier |
|
||||||
| ↳ `description` | string | File description |
|
| ↳ `description` | string | File description |
|
||||||
| ↳ `originalFilename` | string | Original uploaded filename |
|
| ↳ `originalFilename` | string | Original uploaded filename |
|
||||||
| ↳ `fullFileExtension` | string | Full file extension |
|
| ↳ `fullFileExtension` | string | Full file extension |
|
||||||
@@ -117,46 +118,6 @@ List files and folders in Google Drive with complete metadata
|
|||||||
| ↳ `isAppAuthorized` | boolean | Whether created by requesting app |
|
| ↳ `isAppAuthorized` | boolean | Whether created by requesting app |
|
||||||
| ↳ `contentRestrictions` | json | Content restrictions |
|
| ↳ `contentRestrictions` | json | Content restrictions |
|
||||||
| ↳ `linkShareMetadata` | json | Link share metadata |
|
| ↳ `linkShareMetadata` | json | Link share metadata |
|
||||||
| `nextPageToken` | string | Token for fetching the next page of results |
|
|
||||||
|
|
||||||
### `google_drive_get_file`
|
|
||||||
|
|
||||||
Get metadata for a specific file in Google Drive by its ID
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileId` | string | Yes | The ID of the file to retrieve |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `file` | json | The file metadata |
|
|
||||||
| ↳ `id` | string | Google Drive file ID |
|
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
|
||||||
| ↳ `mimeType` | string | MIME type |
|
|
||||||
| ↳ `description` | string | File description |
|
|
||||||
| ↳ `size` | string | File size in bytes |
|
|
||||||
| ↳ `starred` | boolean | Whether file is starred |
|
|
||||||
| ↳ `trashed` | boolean | Whether file is in trash |
|
|
||||||
| ↳ `webViewLink` | string | URL to view in browser |
|
|
||||||
| ↳ `webContentLink` | string | Direct download URL |
|
|
||||||
| ↳ `iconLink` | string | URL to file icon |
|
|
||||||
| ↳ `thumbnailLink` | string | URL to thumbnail |
|
|
||||||
| ↳ `parents` | json | Parent folder IDs |
|
|
||||||
| ↳ `owners` | json | List of file owners |
|
|
||||||
| ↳ `permissions` | json | File permissions |
|
|
||||||
| ↳ `createdTime` | string | File creation time |
|
|
||||||
| ↳ `modifiedTime` | string | Last modification time |
|
|
||||||
| ↳ `lastModifyingUser` | json | User who last modified the file |
|
|
||||||
| ↳ `shared` | boolean | Whether file is shared |
|
|
||||||
| ↳ `ownedByMe` | boolean | Whether owned by current user |
|
|
||||||
| ↳ `capabilities` | json | User capabilities on file |
|
|
||||||
| ↳ `md5Checksum` | string | MD5 hash |
|
|
||||||
| ↳ `version` | string | Version number |
|
|
||||||
|
|
||||||
### `google_drive_create_folder`
|
### `google_drive_create_folder`
|
||||||
|
|
||||||
@@ -176,9 +137,9 @@ Create a new folder in Google Drive with complete metadata returned
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `file` | object | Complete created folder metadata from Google Drive |
|
| `file` | object | Complete created folder metadata from Google Drive |
|
||||||
| ↳ `id` | string | Google Drive folder ID |
|
| ↳ `id` | string | Google Drive folder ID |
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | Folder name |
|
| ↳ `name` | string | Folder name |
|
||||||
| ↳ `mimeType` | string | MIME type \(application/vnd.google-apps.folder\) |
|
| ↳ `mimeType` | string | MIME type \(application/vnd.google-apps.folder\) |
|
||||||
|
| ↳ `kind` | string | Resource type identifier |
|
||||||
| ↳ `description` | string | Folder description |
|
| ↳ `description` | string | Folder description |
|
||||||
| ↳ `owners` | json | List of folder owners |
|
| ↳ `owners` | json | List of folder owners |
|
||||||
| ↳ `permissions` | json | Folder permissions |
|
| ↳ `permissions` | json | Folder permissions |
|
||||||
@@ -213,79 +174,6 @@ Create a new folder in Google Drive with complete metadata returned
|
|||||||
| ↳ `contentRestrictions` | json | Content restrictions |
|
| ↳ `contentRestrictions` | json | Content restrictions |
|
||||||
| ↳ `linkShareMetadata` | json | Link share metadata |
|
| ↳ `linkShareMetadata` | json | Link share metadata |
|
||||||
|
|
||||||
### `google_drive_upload`
|
|
||||||
|
|
||||||
Upload a file to Google Drive with complete metadata returned
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileName` | string | Yes | The name of the file to upload |
|
|
||||||
| `file` | file | No | Binary file to upload \(UserFile object\) |
|
|
||||||
| `content` | string | No | Text content to upload \(use this OR file, not both\) |
|
|
||||||
| `mimeType` | string | No | The MIME type of the file to upload \(auto-detected from file if not provided\) |
|
|
||||||
| `folderSelector` | string | No | Select the folder to upload the file to |
|
|
||||||
| `folderId` | string | No | The ID of the folder to upload the file to \(internal use\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `file` | object | Complete uploaded file metadata from Google Drive |
|
|
||||||
| ↳ `id` | string | Google Drive file ID |
|
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
|
||||||
| ↳ `mimeType` | string | MIME type |
|
|
||||||
| ↳ `description` | string | File description |
|
|
||||||
| ↳ `originalFilename` | string | Original uploaded filename |
|
|
||||||
| ↳ `fullFileExtension` | string | Full file extension |
|
|
||||||
| ↳ `fileExtension` | string | File extension |
|
|
||||||
| ↳ `owners` | json | List of file owners |
|
|
||||||
| ↳ `permissions` | json | File permissions |
|
|
||||||
| ↳ `permissionIds` | json | Permission IDs |
|
|
||||||
| ↳ `shared` | boolean | Whether file is shared |
|
|
||||||
| ↳ `ownedByMe` | boolean | Whether owned by current user |
|
|
||||||
| ↳ `writersCanShare` | boolean | Whether writers can share |
|
|
||||||
| ↳ `viewersCanCopyContent` | boolean | Whether viewers can copy |
|
|
||||||
| ↳ `copyRequiresWriterPermission` | boolean | Whether copy requires writer permission |
|
|
||||||
| ↳ `sharingUser` | json | User who shared the file |
|
|
||||||
| ↳ `starred` | boolean | Whether file is starred |
|
|
||||||
| ↳ `trashed` | boolean | Whether file is in trash |
|
|
||||||
| ↳ `explicitlyTrashed` | boolean | Whether explicitly trashed |
|
|
||||||
| ↳ `appProperties` | json | App-specific properties |
|
|
||||||
| ↳ `createdTime` | string | File creation time |
|
|
||||||
| ↳ `modifiedTime` | string | Last modification time |
|
|
||||||
| ↳ `modifiedByMeTime` | string | When modified by current user |
|
|
||||||
| ↳ `viewedByMeTime` | string | When last viewed by current user |
|
|
||||||
| ↳ `sharedWithMeTime` | string | When shared with current user |
|
|
||||||
| ↳ `lastModifyingUser` | json | User who last modified the file |
|
|
||||||
| ↳ `viewedByMe` | boolean | Whether viewed by current user |
|
|
||||||
| ↳ `modifiedByMe` | boolean | Whether modified by current user |
|
|
||||||
| ↳ `webViewLink` | string | URL to view in browser |
|
|
||||||
| ↳ `webContentLink` | string | Direct download URL |
|
|
||||||
| ↳ `iconLink` | string | URL to file icon |
|
|
||||||
| ↳ `thumbnailLink` | string | URL to thumbnail |
|
|
||||||
| ↳ `exportLinks` | json | Export format links |
|
|
||||||
| ↳ `size` | string | File size in bytes |
|
|
||||||
| ↳ `quotaBytesUsed` | string | Storage quota used |
|
|
||||||
| ↳ `md5Checksum` | string | MD5 hash |
|
|
||||||
| ↳ `sha1Checksum` | string | SHA-1 hash |
|
|
||||||
| ↳ `sha256Checksum` | string | SHA-256 hash |
|
|
||||||
| ↳ `parents` | json | Parent folder IDs |
|
|
||||||
| ↳ `spaces` | json | Spaces containing file |
|
|
||||||
| ↳ `driveId` | string | Shared drive ID |
|
|
||||||
| ↳ `capabilities` | json | User capabilities on file |
|
|
||||||
| ↳ `version` | string | Version number |
|
|
||||||
| ↳ `headRevisionId` | string | Head revision ID |
|
|
||||||
| ↳ `hasThumbnail` | boolean | Whether has thumbnail |
|
|
||||||
| ↳ `thumbnailVersion` | string | Thumbnail version |
|
|
||||||
| ↳ `imageMediaMetadata` | json | Image-specific metadata |
|
|
||||||
| ↳ `videoMediaMetadata` | json | Video-specific metadata |
|
|
||||||
| ↳ `isAppAuthorized` | boolean | Whether created by requesting app |
|
|
||||||
| ↳ `contentRestrictions` | json | Content restrictions |
|
|
||||||
| ↳ `linkShareMetadata` | json | Link share metadata |
|
|
||||||
|
|
||||||
### `google_drive_download`
|
### `google_drive_download`
|
||||||
|
|
||||||
Download a file from Google Drive with complete metadata (exports Google Workspace files automatically)
|
Download a file from Google Drive with complete metadata (exports Google Workspace files automatically)
|
||||||
@@ -310,9 +198,9 @@ Download a file from Google Drive with complete metadata (exports Google Workspa
|
|||||||
| ↳ `size` | number | File size in bytes |
|
| ↳ `size` | number | File size in bytes |
|
||||||
| `metadata` | object | Complete file metadata from Google Drive |
|
| `metadata` | object | Complete file metadata from Google Drive |
|
||||||
| ↳ `id` | string | Google Drive file ID |
|
| ↳ `id` | string | Google Drive file ID |
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
| ↳ `name` | string | File name |
|
||||||
| ↳ `mimeType` | string | MIME type |
|
| ↳ `mimeType` | string | MIME type |
|
||||||
|
| ↳ `kind` | string | Resource type identifier |
|
||||||
| ↳ `description` | string | File description |
|
| ↳ `description` | string | File description |
|
||||||
| ↳ `originalFilename` | string | Original uploaded filename |
|
| ↳ `originalFilename` | string | Original uploaded filename |
|
||||||
| ↳ `fullFileExtension` | string | Full file extension |
|
| ↳ `fullFileExtension` | string | Full file extension |
|
||||||
@@ -363,211 +251,77 @@ Download a file from Google Drive with complete metadata (exports Google Workspa
|
|||||||
| ↳ `linkShareMetadata` | json | Link share metadata |
|
| ↳ `linkShareMetadata` | json | Link share metadata |
|
||||||
| ↳ `revisions` | json | File revision history \(first 100 revisions only\) |
|
| ↳ `revisions` | json | File revision history \(first 100 revisions only\) |
|
||||||
|
|
||||||
### `google_drive_copy`
|
### `google_drive_list`
|
||||||
|
|
||||||
Create a copy of a file in Google Drive
|
List files and folders in Google Drive with complete metadata
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `fileId` | string | Yes | The ID of the file to copy |
|
| `folderSelector` | string | No | Select the folder to list files from |
|
||||||
| `newName` | string | No | Name for the copied file \(defaults to "Copy of \[original name\]"\) |
|
| `folderId` | string | No | The ID of the folder to list files from \(internal use\) |
|
||||||
| `destinationFolderId` | string | No | ID of the folder to place the copy in \(defaults to same location as original\) |
|
| `query` | string | No | Search term to filter files by name \(e.g. "budget" finds files with "budget" in the name\). Do NOT use Google Drive query syntax here - just provide a plain search term. |
|
||||||
|
| `pageSize` | number | No | The maximum number of files to return \(default: 100\) |
|
||||||
|
| `pageToken` | string | No | The page token to use for pagination |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `file` | json | The copied file metadata |
|
| `files` | array | Array of file metadata objects from Google Drive |
|
||||||
| ↳ `id` | string | Google Drive file ID of the copy |
|
| ↳ `id` | string | Google Drive file ID |
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
| ↳ `name` | string | File name |
|
||||||
| ↳ `mimeType` | string | MIME type |
|
| ↳ `mimeType` | string | MIME type |
|
||||||
| ↳ `webViewLink` | string | URL to view in browser |
|
| ↳ `kind` | string | Resource type identifier |
|
||||||
| ↳ `parents` | json | Parent folder IDs |
|
| ↳ `description` | string | File description |
|
||||||
|
| ↳ `originalFilename` | string | Original uploaded filename |
|
||||||
|
| ↳ `fullFileExtension` | string | Full file extension |
|
||||||
|
| ↳ `fileExtension` | string | File extension |
|
||||||
|
| ↳ `owners` | json | List of file owners |
|
||||||
|
| ↳ `permissions` | json | File permissions |
|
||||||
|
| ↳ `permissionIds` | json | Permission IDs |
|
||||||
|
| ↳ `shared` | boolean | Whether file is shared |
|
||||||
|
| ↳ `ownedByMe` | boolean | Whether owned by current user |
|
||||||
|
| ↳ `writersCanShare` | boolean | Whether writers can share |
|
||||||
|
| ↳ `viewersCanCopyContent` | boolean | Whether viewers can copy |
|
||||||
|
| ↳ `copyRequiresWriterPermission` | boolean | Whether copy requires writer permission |
|
||||||
|
| ↳ `sharingUser` | json | User who shared the file |
|
||||||
|
| ↳ `starred` | boolean | Whether file is starred |
|
||||||
|
| ↳ `trashed` | boolean | Whether file is in trash |
|
||||||
|
| ↳ `explicitlyTrashed` | boolean | Whether explicitly trashed |
|
||||||
|
| ↳ `appProperties` | json | App-specific properties |
|
||||||
| ↳ `createdTime` | string | File creation time |
|
| ↳ `createdTime` | string | File creation time |
|
||||||
| ↳ `modifiedTime` | string | Last modification time |
|
| ↳ `modifiedTime` | string | Last modification time |
|
||||||
| ↳ `owners` | json | List of file owners |
|
| ↳ `modifiedByMeTime` | string | When modified by current user |
|
||||||
|
| ↳ `viewedByMeTime` | string | When last viewed by current user |
|
||||||
|
| ↳ `sharedWithMeTime` | string | When shared with current user |
|
||||||
|
| ↳ `lastModifyingUser` | json | User who last modified the file |
|
||||||
|
| ↳ `viewedByMe` | boolean | Whether viewed by current user |
|
||||||
|
| ↳ `modifiedByMe` | boolean | Whether modified by current user |
|
||||||
|
| ↳ `webViewLink` | string | URL to view in browser |
|
||||||
|
| ↳ `webContentLink` | string | Direct download URL |
|
||||||
|
| ↳ `iconLink` | string | URL to file icon |
|
||||||
|
| ↳ `thumbnailLink` | string | URL to thumbnail |
|
||||||
|
| ↳ `exportLinks` | json | Export format links |
|
||||||
| ↳ `size` | string | File size in bytes |
|
| ↳ `size` | string | File size in bytes |
|
||||||
|
| ↳ `quotaBytesUsed` | string | Storage quota used |
|
||||||
### `google_drive_update`
|
| ↳ `md5Checksum` | string | MD5 hash |
|
||||||
|
| ↳ `sha1Checksum` | string | SHA-1 hash |
|
||||||
Update file metadata in Google Drive (rename, move, star, add description)
|
| ↳ `sha256Checksum` | string | SHA-256 hash |
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileId` | string | Yes | The ID of the file to update |
|
|
||||||
| `name` | string | No | New name for the file |
|
|
||||||
| `description` | string | No | New description for the file |
|
|
||||||
| `addParents` | string | No | Comma-separated list of parent folder IDs to add \(moves file to these folders\) |
|
|
||||||
| `removeParents` | string | No | Comma-separated list of parent folder IDs to remove |
|
|
||||||
| `starred` | boolean | No | Whether to star or unstar the file |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `file` | json | The updated file metadata |
|
|
||||||
| ↳ `id` | string | Google Drive file ID |
|
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
|
||||||
| ↳ `mimeType` | string | MIME type |
|
|
||||||
| ↳ `description` | string | File description |
|
|
||||||
| ↳ `starred` | boolean | Whether file is starred |
|
|
||||||
| ↳ `webViewLink` | string | URL to view in browser |
|
|
||||||
| ↳ `parents` | json | Parent folder IDs |
|
| ↳ `parents` | json | Parent folder IDs |
|
||||||
| ↳ `modifiedTime` | string | Last modification time |
|
| ↳ `spaces` | json | Spaces containing file |
|
||||||
|
| ↳ `driveId` | string | Shared drive ID |
|
||||||
### `google_drive_trash`
|
| ↳ `capabilities` | json | User capabilities on file |
|
||||||
|
| ↳ `version` | string | Version number |
|
||||||
Move a file to the trash in Google Drive (can be restored later)
|
| ↳ `headRevisionId` | string | Head revision ID |
|
||||||
|
| ↳ `hasThumbnail` | boolean | Whether has thumbnail |
|
||||||
#### Input
|
| ↳ `thumbnailVersion` | string | Thumbnail version |
|
||||||
|
| ↳ `imageMediaMetadata` | json | Image-specific metadata |
|
||||||
| Parameter | Type | Required | Description |
|
| ↳ `videoMediaMetadata` | json | Video-specific metadata |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| ↳ `isAppAuthorized` | boolean | Whether created by requesting app |
|
||||||
| `fileId` | string | Yes | The ID of the file to move to trash |
|
| ↳ `contentRestrictions` | json | Content restrictions |
|
||||||
|
| ↳ `linkShareMetadata` | json | Link share metadata |
|
||||||
#### Output
|
| `nextPageToken` | string | Token for fetching the next page of results |
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `file` | json | The trashed file metadata |
|
|
||||||
| ↳ `id` | string | Google Drive file ID |
|
|
||||||
| ↳ `kind` | string | Resource type identifier |
|
|
||||||
| ↳ `name` | string | File name |
|
|
||||||
| ↳ `mimeType` | string | MIME type |
|
|
||||||
| ↳ `trashed` | boolean | Whether file is in trash \(should be true\) |
|
|
||||||
| ↳ `trashedTime` | string | When file was trashed |
|
|
||||||
| ↳ `webViewLink` | string | URL to view in browser |
|
|
||||||
|
|
||||||
### `google_drive_delete`
|
|
||||||
|
|
||||||
Permanently delete a file from Google Drive (bypasses trash)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileId` | string | Yes | The ID of the file to permanently delete |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `deleted` | boolean | Whether the file was successfully deleted |
|
|
||||||
| `fileId` | string | The ID of the deleted file |
|
|
||||||
|
|
||||||
### `google_drive_share`
|
|
||||||
|
|
||||||
Share a file with a user, group, domain, or make it public
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileId` | string | Yes | The ID of the file to share |
|
|
||||||
| `type` | string | Yes | Type of grantee: user, group, domain, or anyone |
|
|
||||||
| `role` | string | Yes | Permission role: owner \(transfer ownership\), organizer \(shared drive only\), fileOrganizer \(shared drive only\), writer \(edit\), commenter \(view and comment\), reader \(view only\) |
|
|
||||||
| `email` | string | No | Email address of the user or group \(required for type=user or type=group\) |
|
|
||||||
| `domain` | string | No | Domain to share with \(required for type=domain\) |
|
|
||||||
| `transferOwnership` | boolean | No | Required when role is owner. Transfers ownership to the specified user. |
|
|
||||||
| `moveToNewOwnersRoot` | boolean | No | When transferring ownership, move the file to the new owner's My Drive root folder. |
|
|
||||||
| `sendNotification` | boolean | No | Whether to send an email notification \(default: true\) |
|
|
||||||
| `emailMessage` | string | No | Custom message to include in the notification email |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `permission` | json | The created permission details |
|
|
||||||
| ↳ `id` | string | Permission ID |
|
|
||||||
| ↳ `type` | string | Grantee type \(user, group, domain, anyone\) |
|
|
||||||
| ↳ `role` | string | Permission role |
|
|
||||||
| ↳ `emailAddress` | string | Email of the grantee |
|
|
||||||
| ↳ `displayName` | string | Display name of the grantee |
|
|
||||||
| ↳ `domain` | string | Domain of the grantee |
|
|
||||||
| ↳ `expirationTime` | string | Expiration time |
|
|
||||||
| ↳ `deleted` | boolean | Whether grantee is deleted |
|
|
||||||
|
|
||||||
### `google_drive_unshare`
|
|
||||||
|
|
||||||
Remove a permission from a file (revoke access)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileId` | string | Yes | The ID of the file to modify permissions on |
|
|
||||||
| `permissionId` | string | Yes | The ID of the permission to remove \(use list_permissions to find this\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `removed` | boolean | Whether the permission was successfully removed |
|
|
||||||
| `fileId` | string | The ID of the file |
|
|
||||||
| `permissionId` | string | The ID of the removed permission |
|
|
||||||
|
|
||||||
### `google_drive_list_permissions`
|
|
||||||
|
|
||||||
List all permissions (who has access) for a file in Google Drive
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `fileId` | string | Yes | The ID of the file to list permissions for |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `permissions` | array | List of permissions on the file |
|
|
||||||
| ↳ `id` | string | Permission ID \(use to remove permission\) |
|
|
||||||
| ↳ `type` | string | Grantee type \(user, group, domain, anyone\) |
|
|
||||||
| ↳ `role` | string | Permission role \(owner, organizer, fileOrganizer, writer, commenter, reader\) |
|
|
||||||
| ↳ `emailAddress` | string | Email of the grantee |
|
|
||||||
| ↳ `displayName` | string | Display name of the grantee |
|
|
||||||
| ↳ `photoLink` | string | Photo URL of the grantee |
|
|
||||||
| ↳ `domain` | string | Domain of the grantee |
|
|
||||||
| ↳ `expirationTime` | string | When permission expires |
|
|
||||||
| ↳ `deleted` | boolean | Whether grantee account is deleted |
|
|
||||||
| ↳ `allowFileDiscovery` | boolean | Whether file is discoverable by grantee |
|
|
||||||
| ↳ `pendingOwner` | boolean | Whether ownership transfer is pending |
|
|
||||||
| ↳ `permissionDetails` | json | Details about inherited permissions |
|
|
||||||
| `nextPageToken` | string | Token for fetching the next page of permissions |
|
|
||||||
|
|
||||||
### `google_drive_get_about`
|
|
||||||
|
|
||||||
Get information about the user and their Google Drive (storage quota, capabilities)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `user` | json | Information about the authenticated user |
|
|
||||||
| ↳ `displayName` | string | User display name |
|
|
||||||
| ↳ `emailAddress` | string | User email address |
|
|
||||||
| ↳ `photoLink` | string | URL to user profile photo |
|
|
||||||
| ↳ `permissionId` | string | User permission ID |
|
|
||||||
| ↳ `me` | boolean | Whether this is the authenticated user |
|
|
||||||
| `storageQuota` | json | Storage quota information in bytes |
|
|
||||||
| ↳ `limit` | string | Total storage limit in bytes \(null for unlimited\) |
|
|
||||||
| ↳ `usage` | string | Total storage used in bytes |
|
|
||||||
| ↳ `usageInDrive` | string | Storage used by Drive files in bytes |
|
|
||||||
| ↳ `usageInDriveTrash` | string | Storage used by trashed files in bytes |
|
|
||||||
| `canCreateDrives` | boolean | Whether user can create shared drives |
|
|
||||||
| `importFormats` | json | Map of MIME types that can be imported and their target formats |
|
|
||||||
| `exportFormats` | json | Map of Google Workspace MIME types and their exportable formats |
|
|
||||||
| `maxUploadSize` | string | Maximum upload size in bytes |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Google Forms
|
title: Google Forms
|
||||||
description: Manage Google Forms and responses
|
description: Read responses from a Google Form
|
||||||
---
|
---
|
||||||
|
|
||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
@@ -29,7 +29,7 @@ In Sim, the Google Forms integration enables your agents to programmatically acc
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Forms into your workflow. Read form structure, get responses, create forms, update content, and manage notification watches.
|
Integrate Google Forms into your workflow. Provide a Form ID to list responses, or specify a Response ID to fetch a single response. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -37,222 +37,15 @@ Integrate Google Forms into your workflow. Read form structure, get responses, c
|
|||||||
|
|
||||||
### `google_forms_get_responses`
|
### `google_forms_get_responses`
|
||||||
|
|
||||||
Retrieve a single response or list responses from a Google Form
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `formId` | string | Yes | The ID of the Google Form |
|
|
||||||
| `responseId` | string | No | If provided, returns this specific response |
|
|
||||||
| `pageSize` | number | No | Maximum number of responses to return \(service may return fewer\). Defaults to 5000. |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `responses` | array | Array of form responses \(when no responseId provided\) |
|
| `data` | json | Response or list of responses |
|
||||||
| ↳ `responseId` | string | Unique response ID |
|
|
||||||
| ↳ `createTime` | string | When the response was created |
|
|
||||||
| ↳ `lastSubmittedTime` | string | When the response was last submitted |
|
|
||||||
| ↳ `answers` | json | Map of question IDs to answer values |
|
|
||||||
| `response` | object | Single form response \(when responseId is provided\) |
|
|
||||||
| ↳ `responseId` | string | Unique response ID |
|
|
||||||
| ↳ `createTime` | string | When the response was created |
|
|
||||||
| ↳ `lastSubmittedTime` | string | When the response was last submitted |
|
|
||||||
| ↳ `answers` | json | Map of question IDs to answer values |
|
|
||||||
| `raw` | json | Raw API response data |
|
|
||||||
|
|
||||||
### `google_forms_get_form`
|
|
||||||
|
|
||||||
Retrieve a form structure including its items, settings, and metadata
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form to retrieve |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `formId` | string | The form ID |
|
|
||||||
| `title` | string | The form title visible to responders |
|
|
||||||
| `description` | string | The form description |
|
|
||||||
| `documentTitle` | string | The document title visible in Drive |
|
|
||||||
| `responderUri` | string | The URI to share with responders |
|
|
||||||
| `linkedSheetId` | string | The ID of the linked Google Sheet |
|
|
||||||
| `revisionId` | string | The revision ID of the form |
|
|
||||||
| `items` | array | The form items \(questions, sections, etc.\) |
|
|
||||||
| ↳ `itemId` | string | Item ID |
|
|
||||||
| ↳ `title` | string | Item title |
|
|
||||||
| ↳ `description` | string | Item description |
|
|
||||||
| `settings` | json | Form settings |
|
|
||||||
| `publishSettings` | json | Form publish settings |
|
|
||||||
|
|
||||||
### `google_forms_create_form`
|
|
||||||
|
|
||||||
Create a new Google Form with a title
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `title` | string | Yes | The title of the form visible to responders |
|
|
||||||
| `documentTitle` | string | No | The document title visible in Drive \(defaults to form title\) |
|
|
||||||
| `unpublished` | boolean | No | If true, create an unpublished form that does not accept responses |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `formId` | string | The ID of the created form |
|
|
||||||
| `title` | string | The form title |
|
|
||||||
| `documentTitle` | string | The document title in Drive |
|
|
||||||
| `responderUri` | string | The URI to share with responders |
|
|
||||||
| `revisionId` | string | The revision ID of the form |
|
|
||||||
|
|
||||||
### `google_forms_batch_update`
|
|
||||||
|
|
||||||
Apply multiple updates to a form (add items, update info, change settings, etc.)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form to update |
|
|
||||||
| `requests` | json | Yes | Array of update requests \(updateFormInfo, updateSettings, createItem, updateItem, moveItem, deleteItem\) |
|
|
||||||
| `includeFormInResponse` | boolean | No | Whether to return the updated form in the response |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `replies` | array | The replies from each update request |
|
|
||||||
| `writeControl` | object | Write control information with revision IDs |
|
|
||||||
| ↳ `requiredRevisionId` | string | Required revision ID for conflict detection |
|
|
||||||
| ↳ `targetRevisionId` | string | Target revision ID |
|
|
||||||
| `form` | object | The updated form \(if includeFormInResponse was true\) |
|
|
||||||
| ↳ `formId` | string | The form ID |
|
|
||||||
| ↳ `info` | object | Form info containing title and description |
|
|
||||||
| ↳ `title` | string | The form title visible to responders |
|
|
||||||
| ↳ `description` | string | The form description |
|
|
||||||
| ↳ `documentTitle` | string | The document title visible in Drive |
|
|
||||||
| ↳ `settings` | object | Form settings |
|
|
||||||
| ↳ `quizSettings` | object | Quiz settings |
|
|
||||||
| ↳ `isQuiz` | boolean | Whether the form is a quiz |
|
|
||||||
| ↳ `emailCollectionType` | string | Email collection type |
|
|
||||||
| ↳ `revisionId` | string | The revision ID of the form |
|
|
||||||
| ↳ `responderUri` | string | The URI to share with responders |
|
|
||||||
| ↳ `linkedSheetId` | string | The ID of the linked Google Sheet |
|
|
||||||
| ↳ `publishSettings` | object | Form publish settings |
|
|
||||||
| ↳ `publishState` | object | Current publish state |
|
|
||||||
| ↳ `isPublished` | boolean | Whether the form is published |
|
|
||||||
| ↳ `isAcceptingResponses` | boolean | Whether the form is accepting responses |
|
|
||||||
|
|
||||||
### `google_forms_set_publish_settings`
|
|
||||||
|
|
||||||
Update the publish settings of a form (publish/unpublish, accept responses)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form |
|
|
||||||
| `isPublished` | boolean | Yes | Whether the form is published and visible to others |
|
|
||||||
| `isAcceptingResponses` | boolean | No | Whether the form accepts responses \(forced to false if isPublished is false\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `formId` | string | The form ID |
|
|
||||||
| `publishSettings` | json | The updated publish settings |
|
|
||||||
| ↳ `publishState` | object | The publish state |
|
|
||||||
| ↳ `isPublished` | boolean | Whether the form is published |
|
|
||||||
| ↳ `isAcceptingResponses` | boolean | Whether the form accepts responses |
|
|
||||||
|
|
||||||
### `google_forms_create_watch`
|
|
||||||
|
|
||||||
Create a notification watch for form changes (schema changes or new responses)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form to watch |
|
|
||||||
| `eventType` | string | Yes | Event type to watch: SCHEMA \(form changes\) or RESPONSES \(new submissions\) |
|
|
||||||
| `topicName` | string | Yes | The Cloud Pub/Sub topic name \(format: projects/\{project\}/topics/\{topic\}\) |
|
|
||||||
| `watchId` | string | No | Custom watch ID \(4-63 chars, lowercase letters, numbers, hyphens\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | The watch ID |
|
|
||||||
| `eventType` | string | The event type being watched |
|
|
||||||
| `topicName` | string | The Cloud Pub/Sub topic |
|
|
||||||
| `createTime` | string | When the watch was created |
|
|
||||||
| `expireTime` | string | When the watch expires \(7 days after creation\) |
|
|
||||||
| `state` | string | The watch state \(ACTIVE, SUSPENDED\) |
|
|
||||||
|
|
||||||
### `google_forms_list_watches`
|
|
||||||
|
|
||||||
List all notification watches for a form
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `watches` | array | List of watches for the form |
|
|
||||||
| ↳ `id` | string | Watch ID |
|
|
||||||
| ↳ `eventType` | string | Event type \(SCHEMA or RESPONSES\) |
|
|
||||||
| ↳ `createTime` | string | When the watch was created |
|
|
||||||
| ↳ `expireTime` | string | When the watch expires |
|
|
||||||
| ↳ `state` | string | Watch state |
|
|
||||||
|
|
||||||
### `google_forms_delete_watch`
|
|
||||||
|
|
||||||
Delete a notification watch from a form
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form |
|
|
||||||
| `watchId` | string | Yes | The ID of the watch to delete |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `deleted` | boolean | Whether the watch was successfully deleted |
|
|
||||||
|
|
||||||
### `google_forms_renew_watch`
|
|
||||||
|
|
||||||
Renew a notification watch for another 7 days
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `formId` | string | Yes | The ID of the Google Form |
|
|
||||||
| `watchId` | string | Yes | The ID of the watch to renew |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | The watch ID |
|
|
||||||
| `eventType` | string | The event type being watched |
|
|
||||||
| `expireTime` | string | The new expiration time |
|
|
||||||
| `state` | string | The watch state |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -215,191 +215,4 @@ Check if a user is a member of a Google Group
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `isMember` | boolean | Whether the user is a member of the group |
|
| `isMember` | boolean | Whether the user is a member of the group |
|
||||||
|
|
||||||
### `google_groups_list_aliases`
|
|
||||||
|
|
||||||
List all email aliases for a Google Group
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `groupKey` | string | Yes | Group email address or unique group ID |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `aliases` | array | List of email aliases for the group |
|
|
||||||
| ↳ `id` | string | Unique group identifier |
|
|
||||||
| ↳ `primaryEmail` | string | Group's primary email address |
|
|
||||||
| ↳ `alias` | string | Alias email address |
|
|
||||||
| ↳ `kind` | string | API resource type |
|
|
||||||
| ↳ `etag` | string | Resource version identifier |
|
|
||||||
|
|
||||||
### `google_groups_add_alias`
|
|
||||||
|
|
||||||
Add an email alias to a Google Group
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `groupKey` | string | Yes | Group email address or unique group ID |
|
|
||||||
| `alias` | string | Yes | The email alias to add to the group |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Unique group identifier |
|
|
||||||
| `primaryEmail` | string | Group's primary email address |
|
|
||||||
| `alias` | string | The alias that was added |
|
|
||||||
| `kind` | string | API resource type |
|
|
||||||
| `etag` | string | Resource version identifier |
|
|
||||||
|
|
||||||
### `google_groups_remove_alias`
|
|
||||||
|
|
||||||
Remove an email alias from a Google Group
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `groupKey` | string | Yes | Group email address or unique group ID |
|
|
||||||
| `alias` | string | Yes | The email alias to remove from the group |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `deleted` | boolean | Whether the alias was successfully deleted |
|
|
||||||
|
|
||||||
### `google_groups_get_settings`
|
|
||||||
|
|
||||||
Get the settings for a Google Group including access permissions, moderation, and posting options
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `groupEmail` | string | Yes | The email address of the group |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `email` | string | The group's email address |
|
|
||||||
| `name` | string | The group name \(max 75 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\) |
|
|
||||||
| `whoCanViewMembership` | string | Who can view group membership |
|
|
||||||
| `whoCanViewGroup` | string | Who can view group messages |
|
|
||||||
| `whoCanPostMessage` | string | Who can post messages to the group |
|
|
||||||
| `allowExternalMembers` | string | Whether external users can be members |
|
|
||||||
| `allowWebPosting` | string | Whether web posting is allowed |
|
|
||||||
| `primaryLanguage` | string | The group's primary language |
|
|
||||||
| `isArchived` | string | Whether messages are archived |
|
|
||||||
| `archiveOnly` | string | Whether the group is archive-only \(inactive\) |
|
|
||||||
| `messageModerationLevel` | string | Message moderation level |
|
|
||||||
| `spamModerationLevel` | string | Spam handling level \(ALLOW, MODERATE, SILENTLY_MODERATE, REJECT\) |
|
|
||||||
| `replyTo` | string | Default reply destination |
|
|
||||||
| `customReplyTo` | string | Custom email for replies |
|
|
||||||
| `includeCustomFooter` | string | Whether to include custom footer |
|
|
||||||
| `customFooterText` | string | Custom footer text \(max 1000 characters\) |
|
|
||||||
| `sendMessageDenyNotification` | string | Whether to send rejection notifications |
|
|
||||||
| `defaultMessageDenyNotificationText` | string | Default rejection message text |
|
|
||||||
| `membersCanPostAsTheGroup` | string | Whether members can post as the group |
|
|
||||||
| `includeInGlobalAddressList` | string | Whether included in Global Address List |
|
|
||||||
| `whoCanLeaveGroup` | string | Who can leave the group |
|
|
||||||
| `whoCanContactOwner` | string | Who can contact the group owner |
|
|
||||||
| `favoriteRepliesOnTop` | string | Whether favorite replies appear at top |
|
|
||||||
| `whoCanApproveMembers` | string | Who can approve new members |
|
|
||||||
| `whoCanBanUsers` | string | Who can ban users |
|
|
||||||
| `whoCanModerateMembers` | string | Who can manage members |
|
|
||||||
| `whoCanModerateContent` | string | Who can moderate content |
|
|
||||||
| `whoCanAssistContent` | string | Who can assist with content metadata |
|
|
||||||
| `enableCollaborativeInbox` | string | Whether collaborative inbox is enabled |
|
|
||||||
| `whoCanDiscoverGroup` | string | Who can discover the group |
|
|
||||||
| `defaultSender` | string | Default sender identity \(DEFAULT_SELF or GROUP\) |
|
|
||||||
|
|
||||||
### `google_groups_update_settings`
|
|
||||||
|
|
||||||
Update the settings for a Google Group including access permissions, moderation, and posting options
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `groupEmail` | string | Yes | The email address of the group |
|
|
||||||
| `name` | string | No | The group name \(max 75 characters\) |
|
|
||||||
| `description` | string | No | The group description \(max 4096 characters\) |
|
|
||||||
| `whoCanJoin` | string | No | Who can join: ANYONE_CAN_JOIN, ALL_IN_DOMAIN_CAN_JOIN, INVITED_CAN_JOIN, CAN_REQUEST_TO_JOIN |
|
|
||||||
| `whoCanViewMembership` | string | No | Who can view membership: ALL_IN_DOMAIN_CAN_VIEW, ALL_MEMBERS_CAN_VIEW, ALL_MANAGERS_CAN_VIEW |
|
|
||||||
| `whoCanViewGroup` | string | No | Who can view group messages: ANYONE_CAN_VIEW, ALL_IN_DOMAIN_CAN_VIEW, ALL_MEMBERS_CAN_VIEW, ALL_MANAGERS_CAN_VIEW |
|
|
||||||
| `whoCanPostMessage` | string | No | Who can post: NONE_CAN_POST, ALL_MANAGERS_CAN_POST, ALL_MEMBERS_CAN_POST, ALL_OWNERS_CAN_POST, ALL_IN_DOMAIN_CAN_POST, ANYONE_CAN_POST |
|
|
||||||
| `allowExternalMembers` | string | No | Whether external users can be members: true or false |
|
|
||||||
| `allowWebPosting` | string | No | Whether web posting is allowed: true or false |
|
|
||||||
| `primaryLanguage` | string | No | The group's primary language \(e.g., en\) |
|
|
||||||
| `isArchived` | string | No | Whether messages are archived: true or false |
|
|
||||||
| `archiveOnly` | string | No | Whether the group is archive-only \(inactive\): true or false |
|
|
||||||
| `messageModerationLevel` | string | No | Message moderation: MODERATE_ALL_MESSAGES, MODERATE_NON_MEMBERS, MODERATE_NEW_MEMBERS, MODERATE_NONE |
|
|
||||||
| `spamModerationLevel` | string | No | Spam handling: ALLOW, MODERATE, SILENTLY_MODERATE, REJECT |
|
|
||||||
| `replyTo` | string | No | Default reply: REPLY_TO_CUSTOM, REPLY_TO_SENDER, REPLY_TO_LIST, REPLY_TO_OWNER, REPLY_TO_IGNORE, REPLY_TO_MANAGERS |
|
|
||||||
| `customReplyTo` | string | No | Custom email for replies \(when replyTo is REPLY_TO_CUSTOM\) |
|
|
||||||
| `includeCustomFooter` | string | No | Whether to include custom footer: true or false |
|
|
||||||
| `customFooterText` | string | No | Custom footer text \(max 1000 characters\) |
|
|
||||||
| `sendMessageDenyNotification` | string | No | Whether to send rejection notifications: true or false |
|
|
||||||
| `defaultMessageDenyNotificationText` | string | No | Default rejection message text |
|
|
||||||
| `membersCanPostAsTheGroup` | string | No | Whether members can post as the group: true or false |
|
|
||||||
| `includeInGlobalAddressList` | string | No | Whether included in Global Address List: true or false |
|
|
||||||
| `whoCanLeaveGroup` | string | No | Who can leave: ALL_MANAGERS_CAN_LEAVE, ALL_MEMBERS_CAN_LEAVE, NONE_CAN_LEAVE |
|
|
||||||
| `whoCanContactOwner` | string | No | Who can contact owner: ALL_IN_DOMAIN_CAN_CONTACT, ALL_MANAGERS_CAN_CONTACT, ALL_MEMBERS_CAN_CONTACT, ANYONE_CAN_CONTACT |
|
|
||||||
| `favoriteRepliesOnTop` | string | No | Whether favorite replies appear at top: true or false |
|
|
||||||
| `whoCanApproveMembers` | string | No | Who can approve members: ALL_OWNERS_CAN_APPROVE, ALL_MANAGERS_CAN_APPROVE, ALL_MEMBERS_CAN_APPROVE, NONE_CAN_APPROVE |
|
|
||||||
| `whoCanBanUsers` | string | No | Who can ban users: OWNERS_ONLY, OWNERS_AND_MANAGERS, NONE |
|
|
||||||
| `whoCanModerateMembers` | string | No | Who can manage members: OWNERS_ONLY, OWNERS_AND_MANAGERS, ALL_MEMBERS, NONE |
|
|
||||||
| `whoCanModerateContent` | string | No | Who can moderate content: OWNERS_ONLY, OWNERS_AND_MANAGERS, ALL_MEMBERS, NONE |
|
|
||||||
| `whoCanAssistContent` | string | No | Who can assist with content metadata: OWNERS_ONLY, OWNERS_AND_MANAGERS, ALL_MEMBERS, NONE |
|
|
||||||
| `enableCollaborativeInbox` | string | No | Whether collaborative inbox is enabled: true or false |
|
|
||||||
| `whoCanDiscoverGroup` | string | No | Who can discover: ANYONE_CAN_DISCOVER, ALL_IN_DOMAIN_CAN_DISCOVER, ALL_MEMBERS_CAN_DISCOVER |
|
|
||||||
| `defaultSender` | string | No | Default sender: DEFAULT_SELF or GROUP |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `email` | string | The group's email address |
|
|
||||||
| `name` | string | The group name |
|
|
||||||
| `description` | string | The group description |
|
|
||||||
| `whoCanJoin` | string | Who can join the group |
|
|
||||||
| `whoCanViewMembership` | string | Who can view group membership |
|
|
||||||
| `whoCanViewGroup` | string | Who can view group messages |
|
|
||||||
| `whoCanPostMessage` | string | Who can post messages to the group |
|
|
||||||
| `allowExternalMembers` | string | Whether external users can be members |
|
|
||||||
| `allowWebPosting` | string | Whether web posting is allowed |
|
|
||||||
| `primaryLanguage` | string | The group's primary language |
|
|
||||||
| `isArchived` | string | Whether messages are archived |
|
|
||||||
| `archiveOnly` | string | Whether the group is archive-only |
|
|
||||||
| `messageModerationLevel` | string | Message moderation level |
|
|
||||||
| `spamModerationLevel` | string | Spam handling level |
|
|
||||||
| `replyTo` | string | Default reply destination |
|
|
||||||
| `customReplyTo` | string | Custom email for replies |
|
|
||||||
| `includeCustomFooter` | string | Whether to include custom footer |
|
|
||||||
| `customFooterText` | string | Custom footer text |
|
|
||||||
| `sendMessageDenyNotification` | string | Whether to send rejection notifications |
|
|
||||||
| `defaultMessageDenyNotificationText` | string | Default rejection message text |
|
|
||||||
| `membersCanPostAsTheGroup` | string | Whether members can post as the group |
|
|
||||||
| `includeInGlobalAddressList` | string | Whether included in Global Address List |
|
|
||||||
| `whoCanLeaveGroup` | string | Who can leave the group |
|
|
||||||
| `whoCanContactOwner` | string | Who can contact the group owner |
|
|
||||||
| `favoriteRepliesOnTop` | string | Whether favorite replies appear at top |
|
|
||||||
| `whoCanApproveMembers` | string | Who can approve new members |
|
|
||||||
| `whoCanBanUsers` | string | Who can ban users |
|
|
||||||
| `whoCanModerateMembers` | string | Who can manage members |
|
|
||||||
| `whoCanModerateContent` | string | Who can moderate content |
|
|
||||||
| `whoCanAssistContent` | string | Who can assist with content metadata |
|
|
||||||
| `enableCollaborativeInbox` | string | Whether collaborative inbox is enabled |
|
|
||||||
| `whoCanDiscoverGroup` | string | Who can discover the group |
|
|
||||||
| `defaultSender` | string | Default sender identity |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ In Sim, the Google Sheets integration empowers your agents to automate reading f
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Sheets into the workflow with explicit sheet selection. Can read, write, append, update, clear data, create spreadsheets, get spreadsheet info, and copy sheets.
|
Integrate Google Sheets into the workflow with explicit sheet selection. Can read, write, append, and update data in specific sheets.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -42,8 +42,9 @@ Read data from a specific sheet in a Google Sheets spreadsheet
|
|||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet \(found in the URL: docs.google.com/spreadsheets/d/\{SPREADSHEET_ID\}/edit\). |
|
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
||||||
| `range` | string | No | The A1 notation range to read \(e.g. "Sheet1!A1:D10", "A1:B5"\). Defaults to first sheet A1:Z1000 if not specified. |
|
| `sheetName` | string | Yes | The name of the sheet/tab to read from |
|
||||||
|
| `cellRange` | string | No | The cell range to read \(e.g. "A1:D10"\). Defaults to "A1:Z1000" if not specified. |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
@@ -65,7 +66,8 @@ Write data to a specific sheet in a Google Sheets spreadsheet
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
||||||
| `range` | string | No | The A1 notation range to write to \(e.g. "Sheet1!A1:D10", "A1:B5"\) |
|
| `sheetName` | string | Yes | The name of the sheet/tab to write to |
|
||||||
|
| `cellRange` | string | No | The cell range to write to \(e.g. "A1:D10", "A1"\). Defaults to "A1" if not specified. |
|
||||||
| `values` | array | Yes | The data to write as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
|
| `values` | array | Yes | The data to write as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
|
||||||
| `valueInputOption` | string | No | The format of the data to write |
|
| `valueInputOption` | string | No | The format of the data to write |
|
||||||
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
|
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
|
||||||
@@ -91,7 +93,8 @@ Update data in a specific sheet in a Google Sheets spreadsheet
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to update |
|
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to update |
|
||||||
| `range` | string | No | The A1 notation range to update \(e.g. "Sheet1!A1:D10", "A1:B5"\) |
|
| `sheetName` | string | Yes | The name of the sheet/tab to update |
|
||||||
|
| `cellRange` | string | No | The cell range to update \(e.g. "A1:D10", "A1"\). Defaults to "A1" if not specified. |
|
||||||
| `values` | array | Yes | The data to update as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\]\]\) or array of objects. |
|
| `values` | array | Yes | The data to update as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\]\]\) or array of objects. |
|
||||||
| `valueInputOption` | string | No | The format of the data to update |
|
| `valueInputOption` | string | No | The format of the data to update |
|
||||||
| `includeValuesInResponse` | boolean | No | Whether to include the updated values in the response |
|
| `includeValuesInResponse` | boolean | No | Whether to include the updated values in the response |
|
||||||
@@ -117,7 +120,7 @@ Append data to the end of a specific sheet in a Google Sheets spreadsheet
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to append to |
|
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to append to |
|
||||||
| `range` | string | No | The A1 notation range to append after \(e.g. "Sheet1", "Sheet1!A:D"\) |
|
| `sheetName` | string | Yes | The name of the sheet/tab to append to |
|
||||||
| `values` | array | Yes | The data to append as a 2D array \(e.g. \[\["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
|
| `values` | array | Yes | The data to append as a 2D array \(e.g. \[\["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
|
||||||
| `valueInputOption` | string | No | The format of the data to append |
|
| `valueInputOption` | string | No | The format of the data to append |
|
||||||
| `insertDataOption` | string | No | How to insert the data \(OVERWRITE or INSERT_ROWS\) |
|
| `insertDataOption` | string | No | How to insert the data \(OVERWRITE or INSERT_ROWS\) |
|
||||||
@@ -136,180 +139,4 @@ Append data to the end of a specific sheet in a Google Sheets spreadsheet
|
|||||||
| ↳ `spreadsheetId` | string | Google Sheets spreadsheet ID |
|
| ↳ `spreadsheetId` | string | Google Sheets spreadsheet ID |
|
||||||
| ↳ `spreadsheetUrl` | string | Spreadsheet URL |
|
| ↳ `spreadsheetUrl` | string | Spreadsheet URL |
|
||||||
|
|
||||||
### `google_sheets_clear`
|
|
||||||
|
|
||||||
Clear values from a specific range in a Google Sheets spreadsheet
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
|
||||||
| `sheetName` | string | Yes | The name of the sheet/tab to clear |
|
|
||||||
| `cellRange` | string | No | The cell range to clear \(e.g. "A1:D10"\). Clears entire sheet if not specified. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `clearedRange` | string | The range that was cleared |
|
|
||||||
| `sheetName` | string | Name of the sheet that was cleared |
|
|
||||||
| `metadata` | json | Spreadsheet metadata including ID and URL |
|
|
||||||
| ↳ `spreadsheetId` | string | Google Sheets spreadsheet ID |
|
|
||||||
| ↳ `spreadsheetUrl` | string | Spreadsheet URL |
|
|
||||||
|
|
||||||
### `google_sheets_get_spreadsheet`
|
|
||||||
|
|
||||||
Get metadata about a Google Sheets spreadsheet including title and sheet list
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
|
||||||
| `includeGridData` | boolean | No | Whether to include grid data \(cell values\). Defaults to false. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `spreadsheetId` | string | The spreadsheet ID |
|
|
||||||
| `title` | string | The title of the spreadsheet |
|
|
||||||
| `locale` | string | The locale of the spreadsheet |
|
|
||||||
| `timeZone` | string | The time zone of the spreadsheet |
|
|
||||||
| `spreadsheetUrl` | string | URL to the spreadsheet |
|
|
||||||
| `sheets` | array | List of sheets in the spreadsheet |
|
|
||||||
| ↳ `sheetId` | number | The sheet ID |
|
|
||||||
| ↳ `title` | string | The sheet title/name |
|
|
||||||
| ↳ `index` | number | The sheet index \(position\) |
|
|
||||||
| ↳ `rowCount` | number | Number of rows in the sheet |
|
|
||||||
| ↳ `columnCount` | number | Number of columns in the sheet |
|
|
||||||
| ↳ `hidden` | boolean | Whether the sheet is hidden |
|
|
||||||
|
|
||||||
### `google_sheets_create_spreadsheet`
|
|
||||||
|
|
||||||
Create a new Google Sheets spreadsheet
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `title` | string | Yes | The title of the new spreadsheet |
|
|
||||||
| `sheetTitles` | json | No | Array of sheet names to create \(e.g., \["Sheet1", "Data", "Summary"\]\). Defaults to a single "Sheet1". |
|
|
||||||
| `locale` | string | No | The locale of the spreadsheet \(e.g., "en_US"\) |
|
|
||||||
| `timeZone` | string | No | The time zone of the spreadsheet \(e.g., "America/New_York"\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `spreadsheetId` | string | The ID of the created spreadsheet |
|
|
||||||
| `title` | string | The title of the created spreadsheet |
|
|
||||||
| `spreadsheetUrl` | string | URL to the created spreadsheet |
|
|
||||||
| `sheets` | array | List of sheets created in the spreadsheet |
|
|
||||||
| ↳ `sheetId` | number | The sheet ID |
|
|
||||||
| ↳ `title` | string | The sheet title/name |
|
|
||||||
| ↳ `index` | number | The sheet index \(position\) |
|
|
||||||
|
|
||||||
### `google_sheets_batch_get`
|
|
||||||
|
|
||||||
Read multiple ranges from a Google Sheets spreadsheet in a single request
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
|
||||||
| `ranges` | json | Yes | Array of ranges to read \(e.g., \["Sheet1!A1:D10", "Sheet2!A1:B5"\]\). Each range should include sheet name. |
|
|
||||||
| `majorDimension` | string | No | The major dimension of values: "ROWS" \(default\) or "COLUMNS" |
|
|
||||||
| `valueRenderOption` | string | No | How values should be rendered: "FORMATTED_VALUE" \(default\), "UNFORMATTED_VALUE", or "FORMULA" |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `spreadsheetId` | string | The spreadsheet ID |
|
|
||||||
| `valueRanges` | array | Array of value ranges read from the spreadsheet |
|
|
||||||
| ↳ `range` | string | The range that was read |
|
|
||||||
| ↳ `majorDimension` | string | Major dimension \(ROWS or COLUMNS\) |
|
|
||||||
| ↳ `values` | array | The cell values as a 2D array |
|
|
||||||
| `metadata` | json | Spreadsheet metadata including ID and URL |
|
|
||||||
| ↳ `spreadsheetId` | string | Google Sheets spreadsheet ID |
|
|
||||||
| ↳ `spreadsheetUrl` | string | Spreadsheet URL |
|
|
||||||
|
|
||||||
### `google_sheets_batch_update`
|
|
||||||
|
|
||||||
Update multiple ranges in a Google Sheets spreadsheet in a single request
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
|
||||||
| `data` | json | Yes | Array of value ranges to update. Each item should have "range" \(e.g., "Sheet1!A1:D10"\) and "values" \(2D array\). |
|
|
||||||
| `valueInputOption` | string | No | How input data should be interpreted: "RAW" or "USER_ENTERED" \(default\). USER_ENTERED parses formulas. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `spreadsheetId` | string | The spreadsheet ID |
|
|
||||||
| `totalUpdatedRows` | number | Total number of rows updated |
|
|
||||||
| `totalUpdatedColumns` | number | Total number of columns updated |
|
|
||||||
| `totalUpdatedCells` | number | Total number of cells updated |
|
|
||||||
| `totalUpdatedSheets` | number | Total number of sheets updated |
|
|
||||||
| `responses` | array | Array of update responses for each range |
|
|
||||||
| ↳ `spreadsheetId` | string | The spreadsheet ID |
|
|
||||||
| ↳ `updatedRange` | string | The range that was updated |
|
|
||||||
| ↳ `updatedRows` | number | Number of rows updated in this range |
|
|
||||||
| ↳ `updatedColumns` | number | Number of columns updated in this range |
|
|
||||||
| ↳ `updatedCells` | number | Number of cells updated in this range |
|
|
||||||
| `metadata` | json | Spreadsheet metadata including ID and URL |
|
|
||||||
| ↳ `spreadsheetId` | string | Google Sheets spreadsheet ID |
|
|
||||||
| ↳ `spreadsheetUrl` | string | Spreadsheet URL |
|
|
||||||
|
|
||||||
### `google_sheets_batch_clear`
|
|
||||||
|
|
||||||
Clear multiple ranges in a Google Sheets spreadsheet in a single request
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
|
|
||||||
| `ranges` | json | Yes | Array of ranges to clear \(e.g., \["Sheet1!A1:D10", "Sheet2!A1:B5"\]\). Each range should include sheet name. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `spreadsheetId` | string | The spreadsheet ID |
|
|
||||||
| `clearedRanges` | array | Array of ranges that were cleared |
|
|
||||||
| `metadata` | json | Spreadsheet metadata including ID and URL |
|
|
||||||
| ↳ `spreadsheetId` | string | Google Sheets spreadsheet ID |
|
|
||||||
| ↳ `spreadsheetUrl` | string | Spreadsheet URL |
|
|
||||||
|
|
||||||
### `google_sheets_copy_sheet`
|
|
||||||
|
|
||||||
Copy a sheet from one spreadsheet to another
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `sourceSpreadsheetId` | string | Yes | The ID of the source spreadsheet |
|
|
||||||
| `sheetId` | number | Yes | The ID of the sheet to copy \(numeric ID, not the sheet name\). Use Get Spreadsheet to find sheet IDs. |
|
|
||||||
| `destinationSpreadsheetId` | string | Yes | The ID of the destination spreadsheet where the sheet will be copied |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `sheetId` | number | The ID of the newly created sheet in the destination |
|
|
||||||
| `title` | string | The title of the copied sheet |
|
|
||||||
| `index` | number | The index \(position\) of the copied sheet |
|
|
||||||
| `sheetType` | string | The type of the sheet \(GRID, CHART, etc.\) |
|
|
||||||
| `destinationSpreadsheetId` | string | The ID of the destination spreadsheet |
|
|
||||||
| `destinationSpreadsheetUrl` | string | URL to the destination spreadsheet |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ In Sim, the Google Slides integration enables your agents to interact directly w
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Slides into the workflow. Can read, write, create presentations, replace text, add slides, add images, get thumbnails, get page details, delete objects, duplicate objects, reorder slides, create tables, create shapes, and insert text.
|
Integrate Google Slides into the workflow. Can read, write, create presentations, replace text, add slides, add images, and get thumbnails.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -52,13 +52,6 @@ Read content from a Google Slides presentation
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `slides` | json | Array of slides with their content |
|
| `slides` | json | Array of slides with their content |
|
||||||
| `metadata` | json | Presentation metadata including ID, title, and URL |
|
| `metadata` | json | Presentation metadata including ID, title, and URL |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `title` | string | The presentation title |
|
|
||||||
| ↳ `pageSize` | object | Presentation page size |
|
|
||||||
| ↳ `width` | json | Page width as a Dimension object |
|
|
||||||
| ↳ `height` | json | Page height as a Dimension object |
|
|
||||||
| ↳ `mimeType` | string | The mime type of the presentation |
|
|
||||||
| ↳ `url` | string | URL to open the presentation |
|
|
||||||
|
|
||||||
### `google_slides_write`
|
### `google_slides_write`
|
||||||
|
|
||||||
@@ -78,10 +71,6 @@ Write or update content in a Google Slides presentation
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `updatedContent` | boolean | Indicates if presentation content was updated successfully |
|
| `updatedContent` | boolean | Indicates if presentation content was updated successfully |
|
||||||
| `metadata` | json | Updated presentation metadata including ID, title, and URL |
|
| `metadata` | json | Updated presentation metadata including ID, title, and URL |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `title` | string | The presentation title |
|
|
||||||
| ↳ `mimeType` | string | The mime type of the presentation |
|
|
||||||
| ↳ `url` | string | URL to open the presentation |
|
|
||||||
|
|
||||||
### `google_slides_create`
|
### `google_slides_create`
|
||||||
|
|
||||||
@@ -101,10 +90,6 @@ Create a new Google Slides presentation
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `metadata` | json | Created presentation metadata including ID, title, and URL |
|
| `metadata` | json | Created presentation metadata including ID, title, and URL |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `title` | string | The presentation title |
|
|
||||||
| ↳ `mimeType` | string | The mime type of the presentation |
|
|
||||||
| ↳ `url` | string | URL to open the presentation |
|
|
||||||
|
|
||||||
### `google_slides_replace_all_text`
|
### `google_slides_replace_all_text`
|
||||||
|
|
||||||
@@ -126,10 +111,6 @@ Find and replace all occurrences of text throughout a Google Slides presentation
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `occurrencesChanged` | number | Number of text occurrences that were replaced |
|
| `occurrencesChanged` | number | Number of text occurrences that were replaced |
|
||||||
| `metadata` | json | Operation metadata including presentation ID and URL |
|
| `metadata` | json | Operation metadata including presentation ID and URL |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `findText` | string | The text that was searched for |
|
|
||||||
| ↳ `replaceText` | string | The text that replaced the matches |
|
|
||||||
| ↳ `url` | string | URL to open the presentation |
|
|
||||||
|
|
||||||
### `google_slides_add_slide`
|
### `google_slides_add_slide`
|
||||||
|
|
||||||
@@ -150,10 +131,6 @@ Add a new slide to a Google Slides presentation with a specified layout
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `slideId` | string | The object ID of the newly created slide |
|
| `slideId` | string | The object ID of the newly created slide |
|
||||||
| `metadata` | json | Operation metadata including presentation ID, layout, and URL |
|
| `metadata` | json | Operation metadata including presentation ID, layout, and URL |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `layout` | string | The layout used for the new slide |
|
|
||||||
| ↳ `insertionIndex` | number | The zero-based index where the slide was inserted |
|
|
||||||
| ↳ `url` | string | URL to open the presentation |
|
|
||||||
|
|
||||||
### `google_slides_add_image`
|
### `google_slides_add_image`
|
||||||
|
|
||||||
@@ -177,10 +154,6 @@ Insert an image into a specific slide in a Google Slides presentation
|
|||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `imageId` | string | The object ID of the newly created image |
|
| `imageId` | string | The object ID of the newly created image |
|
||||||
| `metadata` | json | Operation metadata including presentation ID and image URL |
|
| `metadata` | json | Operation metadata including presentation ID and image URL |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `pageObjectId` | string | The page object ID where the image was inserted |
|
|
||||||
| ↳ `imageUrl` | string | The source image URL |
|
|
||||||
| ↳ `url` | string | URL to open the presentation |
|
|
||||||
|
|
||||||
### `google_slides_get_thumbnail`
|
### `google_slides_get_thumbnail`
|
||||||
|
|
||||||
@@ -203,182 +176,5 @@ Generate a thumbnail image of a specific slide in a Google Slides presentation
|
|||||||
| `width` | number | Width of the thumbnail in pixels |
|
| `width` | number | Width of the thumbnail in pixels |
|
||||||
| `height` | number | Height of the thumbnail in pixels |
|
| `height` | number | Height of the thumbnail in pixels |
|
||||||
| `metadata` | json | Operation metadata including presentation ID and page object ID |
|
| `metadata` | json | Operation metadata including presentation ID and page object ID |
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `pageObjectId` | string | The page object ID for the thumbnail |
|
|
||||||
| ↳ `thumbnailSize` | string | The requested thumbnail size |
|
|
||||||
| ↳ `mimeType` | string | The thumbnail MIME type |
|
|
||||||
|
|
||||||
### `google_slides_get_page`
|
|
||||||
|
|
||||||
Get detailed information about a specific slide/page in a Google Slides presentation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `pageObjectId` | string | Yes | The object ID of the slide/page to retrieve |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `objectId` | string | The object ID of the page |
|
|
||||||
| `pageType` | string | The type of page \(SLIDE, MASTER, LAYOUT, NOTES, NOTES_MASTER\) |
|
|
||||||
| `pageElements` | array | Array of page elements \(shapes, images, tables, etc.\) on this page |
|
|
||||||
| `slideProperties` | object | Properties specific to slides \(layout, master, notes\) |
|
|
||||||
| ↳ `layoutObjectId` | string | Object ID of the layout this slide is based on |
|
|
||||||
| ↳ `masterObjectId` | string | Object ID of the master this slide is based on |
|
|
||||||
| ↳ `notesPage` | json | The notes page associated with the slide |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and URL |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
### `google_slides_delete_object`
|
|
||||||
|
|
||||||
Delete a page element (shape, image, table, etc.) or an entire slide from a Google Slides presentation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `objectId` | string | Yes | The object ID of the element or slide to delete |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `deleted` | boolean | Whether the object was successfully deleted |
|
|
||||||
| `objectId` | string | The object ID that was deleted |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and URL |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
### `google_slides_duplicate_object`
|
|
||||||
|
|
||||||
Duplicate an object (slide, shape, image, table, etc.) in a Google Slides presentation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `objectId` | string | Yes | The object ID of the element or slide to duplicate |
|
|
||||||
| `objectIds` | string | No | Optional JSON object mapping source object IDs \(within the slide being duplicated\) to new object IDs for the duplicates. Format: \{"sourceId1":"newId1","sourceId2":"newId2"\} |
|
|
||||||
| `Format` | string | No | No description |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `duplicatedObjectId` | string | The object ID of the newly created duplicate |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and source object ID |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `sourceObjectId` | string | The original object ID that was duplicated |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
### `google_slides_update_slides_position`
|
|
||||||
|
|
||||||
Move one or more slides to a new position in a Google Slides presentation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `slideObjectIds` | string | Yes | Comma-separated list of slide object IDs to move. The slides will maintain their relative order. |
|
|
||||||
| `insertionIndex` | number | Yes | The zero-based index where the slides should be moved. All slides with indices greater than or equal to this will be shifted right. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `moved` | boolean | Whether the slides were successfully moved |
|
|
||||||
| `slideObjectIds` | array | The slide object IDs that were moved |
|
|
||||||
| `insertionIndex` | number | The index where the slides were moved to |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and URL |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
### `google_slides_create_table`
|
|
||||||
|
|
||||||
Create a new table on a slide in a Google Slides presentation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `pageObjectId` | string | Yes | The object ID of the slide/page to add the table to |
|
|
||||||
| `rows` | number | Yes | Number of rows in the table \(minimum 1\) |
|
|
||||||
| `columns` | number | Yes | Number of columns in the table \(minimum 1\) |
|
|
||||||
| `width` | number | No | Width of the table in points \(default: 400\) |
|
|
||||||
| `height` | number | No | Height of the table in points \(default: 200\) |
|
|
||||||
| `positionX` | number | No | X position from the left edge in points \(default: 100\) |
|
|
||||||
| `positionY` | number | No | Y position from the top edge in points \(default: 100\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `tableId` | string | The object ID of the newly created table |
|
|
||||||
| `rows` | number | Number of rows in the table |
|
|
||||||
| `columns` | number | Number of columns in the table |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and page object ID |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `pageObjectId` | string | The page object ID where the table was created |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
### `google_slides_create_shape`
|
|
||||||
|
|
||||||
Create a shape (rectangle, ellipse, text box, arrow, etc.) on a slide in a Google Slides presentation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `pageObjectId` | string | Yes | The object ID of the slide/page to add the shape to |
|
|
||||||
| `shapeType` | string | Yes | The type of shape to create. Common types: TEXT_BOX, RECTANGLE, ROUND_RECTANGLE, ELLIPSE, TRIANGLE, DIAMOND, STAR_5, ARROW_EAST, HEART, CLOUD |
|
|
||||||
| `width` | number | No | Width of the shape in points \(default: 200\) |
|
|
||||||
| `height` | number | No | Height of the shape in points \(default: 100\) |
|
|
||||||
| `positionX` | number | No | X position from the left edge in points \(default: 100\) |
|
|
||||||
| `positionY` | number | No | Y position from the top edge in points \(default: 100\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `shapeId` | string | The object ID of the newly created shape |
|
|
||||||
| `shapeType` | string | The type of shape that was created |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and page object ID |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `pageObjectId` | string | The page object ID where the shape was created |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
### `google_slides_insert_text`
|
|
||||||
|
|
||||||
Insert text into a shape or table cell in a Google Slides presentation. Use this to add text to text boxes, shapes, or table cells.
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `presentationId` | string | Yes | The ID of the presentation |
|
|
||||||
| `objectId` | string | Yes | The object ID of the shape or table cell to insert text into. For table cells, use the cell object ID. |
|
|
||||||
| `text` | string | Yes | The text to insert |
|
|
||||||
| `insertionIndex` | number | No | The zero-based index at which to insert the text. If not specified, text is inserted at the beginning \(index 0\). |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `inserted` | boolean | Whether the text was successfully inserted |
|
|
||||||
| `objectId` | string | The object ID where text was inserted |
|
|
||||||
| `text` | string | The text that was inserted |
|
|
||||||
| `metadata` | object | Operation metadata including presentation ID and URL |
|
|
||||||
| ↳ `presentationId` | string | The presentation ID |
|
|
||||||
| ↳ `url` | string | URL to the presentation |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,47 +36,43 @@ Connect Google Vault to create exports, list exports, and manage holds within ma
|
|||||||
|
|
||||||
### `google_vault_create_matters_export`
|
### `google_vault_create_matters_export`
|
||||||
|
|
||||||
Create an export in a matter
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `matterId` | string | Yes | The matter ID |
|
|
||||||
| `exportName` | string | Yes | Name for the export \(avoid special characters\) |
|
|
||||||
| `corpus` | string | Yes | Data corpus to export \(MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE\) |
|
|
||||||
| `accountEmails` | string | No | Comma-separated list of user emails to scope export |
|
|
||||||
| `orgUnitId` | string | No | Organization unit ID to scope export \(alternative to emails\) |
|
|
||||||
| `startTime` | string | No | Start time for date filtering \(ISO 8601 format, e.g., 2024-01-01T00:00:00Z\) |
|
|
||||||
| `endTime` | string | No | End time for date filtering \(ISO 8601 format, e.g., 2024-12-31T23:59:59Z\) |
|
|
||||||
| `terms` | string | No | Search query terms to filter exported content |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `export` | json | Created export object |
|
| `matters` | json | Array of matter objects \(for list_matters\) |
|
||||||
|
| `exports` | json | Array of export objects \(for list_matters_export\) |
|
||||||
|
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
|
||||||
|
| `matter` | json | Created matter object \(for create_matters\) |
|
||||||
|
| `export` | json | Created export object \(for create_matters_export\) |
|
||||||
|
| `hold` | json | Created hold object \(for create_matters_holds\) |
|
||||||
|
| `file` | json | Downloaded export file \(UserFile\) from execution files |
|
||||||
|
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
|
||||||
|
|
||||||
### `google_vault_list_matters_export`
|
### `google_vault_list_matters_export`
|
||||||
|
|
||||||
List exports for a matter
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `matterId` | string | Yes | The matter ID |
|
|
||||||
| `pageSize` | number | No | Number of exports to return per page |
|
|
||||||
| `pageToken` | string | No | Token for pagination |
|
|
||||||
| `exportId` | string | No | Optional export ID to fetch a specific export |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `exports` | json | Array of export objects |
|
| `matters` | json | Array of matter objects \(for list_matters\) |
|
||||||
| `export` | json | Single export object \(when exportId is provided\) |
|
| `exports` | json | Array of export objects \(for list_matters_export\) |
|
||||||
| `nextPageToken` | string | Token for fetching next page of results |
|
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
|
||||||
|
| `matter` | json | Created matter object \(for create_matters\) |
|
||||||
|
| `export` | json | Created export object \(for create_matters_export\) |
|
||||||
|
| `hold` | json | Created hold object \(for create_matters_holds\) |
|
||||||
|
| `file` | json | Downloaded export file \(UserFile\) from execution files |
|
||||||
|
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
|
||||||
|
|
||||||
### `google_vault_download_export_file`
|
### `google_vault_download_export_file`
|
||||||
|
|
||||||
@@ -86,10 +82,10 @@ Download a single file from a Google Vault export (GCS object)
|
|||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `matterId` | string | Yes | The matter ID |
|
| `matterId` | string | Yes | No description |
|
||||||
| `bucketName` | string | Yes | GCS bucket name from cloudStorageSink.files.bucketName |
|
| `bucketName` | string | Yes | No description |
|
||||||
| `objectName` | string | Yes | GCS object name from cloudStorageSink.files.objectName |
|
| `objectName` | string | Yes | No description |
|
||||||
| `fileName` | string | No | Optional filename override for the downloaded file |
|
| `fileName` | string | No | No description |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
@@ -99,84 +95,82 @@ Download a single file from a Google Vault export (GCS object)
|
|||||||
|
|
||||||
### `google_vault_create_matters_holds`
|
### `google_vault_create_matters_holds`
|
||||||
|
|
||||||
Create a hold in a matter
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `matterId` | string | Yes | The matter ID |
|
|
||||||
| `holdName` | string | Yes | Name for the hold |
|
|
||||||
| `corpus` | string | Yes | Data corpus to hold \(MAIL, DRIVE, GROUPS, HANGOUTS_CHAT, VOICE\) |
|
|
||||||
| `accountEmails` | string | No | Comma-separated list of user emails to put on hold |
|
|
||||||
| `orgUnitId` | string | No | Organization unit ID to put on hold \(alternative to accounts\) |
|
|
||||||
| `terms` | string | No | Search terms to filter held content \(for MAIL and GROUPS corpus\) |
|
|
||||||
| `startTime` | string | No | Start time for date filtering \(ISO 8601 format, for MAIL and GROUPS corpus\) |
|
|
||||||
| `endTime` | string | No | End time for date filtering \(ISO 8601 format, for MAIL and GROUPS corpus\) |
|
|
||||||
| `includeSharedDrives` | boolean | No | Include files in shared drives \(for DRIVE corpus\) |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `hold` | json | Created hold object |
|
| `matters` | json | Array of matter objects \(for list_matters\) |
|
||||||
|
| `exports` | json | Array of export objects \(for list_matters_export\) |
|
||||||
|
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
|
||||||
|
| `matter` | json | Created matter object \(for create_matters\) |
|
||||||
|
| `export` | json | Created export object \(for create_matters_export\) |
|
||||||
|
| `hold` | json | Created hold object \(for create_matters_holds\) |
|
||||||
|
| `file` | json | Downloaded export file \(UserFile\) from execution files |
|
||||||
|
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
|
||||||
|
|
||||||
### `google_vault_list_matters_holds`
|
### `google_vault_list_matters_holds`
|
||||||
|
|
||||||
List holds for a matter
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `matterId` | string | Yes | The matter ID |
|
|
||||||
| `pageSize` | number | No | Number of holds to return per page |
|
|
||||||
| `pageToken` | string | No | Token for pagination |
|
|
||||||
| `holdId` | string | No | Optional hold ID to fetch a specific hold |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `holds` | json | Array of hold objects |
|
| `matters` | json | Array of matter objects \(for list_matters\) |
|
||||||
| `hold` | json | Single hold object \(when holdId is provided\) |
|
| `exports` | json | Array of export objects \(for list_matters_export\) |
|
||||||
| `nextPageToken` | string | Token for fetching next page of results |
|
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
|
||||||
|
| `matter` | json | Created matter object \(for create_matters\) |
|
||||||
|
| `export` | json | Created export object \(for create_matters_export\) |
|
||||||
|
| `hold` | json | Created hold object \(for create_matters_holds\) |
|
||||||
|
| `file` | json | Downloaded export file \(UserFile\) from execution files |
|
||||||
|
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
|
||||||
|
|
||||||
### `google_vault_create_matters`
|
### `google_vault_create_matters`
|
||||||
|
|
||||||
Create a new matter in Google Vault
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `name` | string | Yes | Name for the new matter |
|
|
||||||
| `description` | string | No | Optional description for the matter |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `matter` | json | Created matter object |
|
| `matters` | json | Array of matter objects \(for list_matters\) |
|
||||||
|
| `exports` | json | Array of export objects \(for list_matters_export\) |
|
||||||
|
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
|
||||||
|
| `matter` | json | Created matter object \(for create_matters\) |
|
||||||
|
| `export` | json | Created export object \(for create_matters_export\) |
|
||||||
|
| `hold` | json | Created hold object \(for create_matters_holds\) |
|
||||||
|
| `file` | json | Downloaded export file \(UserFile\) from execution files |
|
||||||
|
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
|
||||||
|
|
||||||
### `google_vault_list_matters`
|
### `google_vault_list_matters`
|
||||||
|
|
||||||
List matters, or get a specific matter if matterId is provided
|
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `pageSize` | number | No | Number of matters to return per page |
|
|
||||||
| `pageToken` | string | No | Token for pagination |
|
|
||||||
| `matterId` | string | No | Optional matter ID to fetch a specific matter |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `matters` | json | Array of matter objects |
|
| `matters` | json | Array of matter objects \(for list_matters\) |
|
||||||
| `matter` | json | Single matter object \(when matterId is provided\) |
|
| `exports` | json | Array of export objects \(for list_matters_export\) |
|
||||||
| `nextPageToken` | string | Token for fetching next page of results |
|
| `holds` | json | Array of hold objects \(for list_matters_holds\) |
|
||||||
|
| `matter` | json | Created matter object \(for create_matters\) |
|
||||||
|
| `export` | json | Created export object \(for create_matters_export\) |
|
||||||
|
| `hold` | json | Created hold object \(for create_matters_holds\) |
|
||||||
|
| `file` | json | Downloaded export file \(UserFile\) from execution files |
|
||||||
|
| `nextPageToken` | string | Token for fetching next page of results \(for list operations\) |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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\) |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
@@ -682,42 +647,6 @@ Retrieve a single ticket by ID from Intercom. Returns API-aligned fields only.
|
|||||||
| `ticketId` | string | ID of the retrieved ticket |
|
| `ticketId` | string | ID of the retrieved ticket |
|
||||||
| `success` | boolean | Operation success status |
|
| `success` | boolean | Operation success status |
|
||||||
|
|
||||||
### `intercom_update_ticket`
|
|
||||||
|
|
||||||
Update a ticket in Intercom (change state, assignment, attributes)
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `ticketId` | string | Yes | The ID of the ticket to update |
|
|
||||||
| `ticket_attributes` | string | No | JSON object with ticket attributes \(e.g., \{"_default_title_":"New Title","_default_description_":"Updated description"\}\) |
|
|
||||||
| `open` | boolean | No | Set to false to close the ticket, true to keep it open |
|
|
||||||
| `is_shared` | boolean | No | Whether the ticket is visible to users |
|
|
||||||
| `snoozed_until` | number | No | Unix timestamp for when the ticket should reopen |
|
|
||||||
| `admin_id` | string | No | The ID of the admin performing the update \(needed for workflows and attribution\) |
|
|
||||||
| `assignee_id` | string | No | The ID of the admin or team to assign the ticket to. Set to "0" to unassign. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `ticket` | object | The updated ticket object |
|
|
||||||
| ↳ `id` | string | Unique identifier for the ticket |
|
|
||||||
| ↳ `type` | string | Object type \(ticket\) |
|
|
||||||
| ↳ `ticket_id` | string | Ticket ID shown in Intercom UI |
|
|
||||||
| ↳ `ticket_state` | string | State of the ticket |
|
|
||||||
| ↳ `ticket_attributes` | object | Attributes of the ticket |
|
|
||||||
| ↳ `open` | boolean | Whether the ticket is open |
|
|
||||||
| ↳ `is_shared` | boolean | Whether the ticket is visible to users |
|
|
||||||
| ↳ `snoozed_until` | number | Unix timestamp when ticket will reopen |
|
|
||||||
| ↳ `admin_assignee_id` | string | ID of assigned admin |
|
|
||||||
| ↳ `team_assignee_id` | string | ID of assigned team |
|
|
||||||
| ↳ `created_at` | number | Unix timestamp when ticket was created |
|
|
||||||
| ↳ `updated_at` | number | Unix timestamp when ticket was last updated |
|
|
||||||
| `ticketId` | string | ID of the updated ticket |
|
|
||||||
| `ticket_state` | string | Current state of the ticket |
|
|
||||||
|
|
||||||
### `intercom_create_message`
|
### `intercom_create_message`
|
||||||
|
|
||||||
Create and send a new admin-initiated message in Intercom. Returns API-aligned fields only.
|
Create and send a new admin-initiated message in Intercom. Returns API-aligned fields only.
|
||||||
@@ -751,340 +680,4 @@ Create and send a new admin-initiated message in Intercom. Returns API-aligned f
|
|||||||
| `messageId` | string | ID of the created message |
|
| `messageId` | string | ID of the created message |
|
||||||
| `success` | boolean | Operation success status |
|
| `success` | boolean | Operation success status |
|
||||||
|
|
||||||
### `intercom_list_admins`
|
|
||||||
|
|
||||||
Fetch a list of all admins for the workspace
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `admins` | array | Array of admin objects |
|
|
||||||
| ↳ `id` | string | Unique identifier for the admin |
|
|
||||||
| ↳ `type` | string | Object type \(admin\) |
|
|
||||||
| ↳ `name` | string | Name of the admin |
|
|
||||||
| ↳ `email` | string | Email of the admin |
|
|
||||||
| ↳ `job_title` | string | Job title of the admin |
|
|
||||||
| ↳ `away_mode_enabled` | boolean | Whether admin is in away mode |
|
|
||||||
| ↳ `away_mode_reassign` | boolean | Whether to reassign conversations when away |
|
|
||||||
| ↳ `has_inbox_seat` | boolean | Whether admin has a paid inbox seat |
|
|
||||||
| ↳ `team_ids` | array | List of team IDs the admin belongs to |
|
|
||||||
| ↳ `avatar` | object | Avatar information |
|
|
||||||
| ↳ `email_verified` | boolean | Whether email is verified |
|
|
||||||
| `type` | string | Object type \(admin.list\) |
|
|
||||||
|
|
||||||
### `intercom_close_conversation`
|
|
||||||
|
|
||||||
Close a conversation in Intercom
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `conversationId` | string | Yes | The ID of the conversation to close |
|
|
||||||
| `admin_id` | string | Yes | The ID of the admin performing the action |
|
|
||||||
| `body` | string | No | Optional closing message to add to the conversation |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `conversation` | object | The closed conversation object |
|
|
||||||
| ↳ `id` | string | Unique identifier for the conversation |
|
|
||||||
| ↳ `type` | string | Object type \(conversation\) |
|
|
||||||
| ↳ `state` | string | State of the conversation \(closed\) |
|
|
||||||
| ↳ `open` | boolean | Whether the conversation is open \(false\) |
|
|
||||||
| ↳ `read` | boolean | Whether the conversation has been read |
|
|
||||||
| ↳ `created_at` | number | Unix timestamp when conversation was created |
|
|
||||||
| ↳ `updated_at` | number | Unix timestamp when conversation was last updated |
|
|
||||||
| `conversationId` | string | ID of the closed conversation |
|
|
||||||
| `state` | string | State of the conversation \(closed\) |
|
|
||||||
|
|
||||||
### `intercom_open_conversation`
|
|
||||||
|
|
||||||
Open a closed or snoozed conversation in Intercom
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `conversationId` | string | Yes | The ID of the conversation to open |
|
|
||||||
| `admin_id` | string | Yes | The ID of the admin performing the action |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `conversation` | object | The opened conversation object |
|
|
||||||
| ↳ `id` | string | Unique identifier for the conversation |
|
|
||||||
| ↳ `type` | string | Object type \(conversation\) |
|
|
||||||
| ↳ `state` | string | State of the conversation \(open\) |
|
|
||||||
| ↳ `open` | boolean | Whether the conversation is open \(true\) |
|
|
||||||
| ↳ `read` | boolean | Whether the conversation has been read |
|
|
||||||
| ↳ `created_at` | number | Unix timestamp when conversation was created |
|
|
||||||
| ↳ `updated_at` | number | Unix timestamp when conversation was last updated |
|
|
||||||
| `conversationId` | string | ID of the opened conversation |
|
|
||||||
| `state` | string | State of the conversation \(open\) |
|
|
||||||
|
|
||||||
### `intercom_snooze_conversation`
|
|
||||||
|
|
||||||
Snooze a conversation to reopen at a future time
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `conversationId` | string | Yes | The ID of the conversation to snooze |
|
|
||||||
| `admin_id` | string | Yes | The ID of the admin performing the action |
|
|
||||||
| `snoozed_until` | number | Yes | Unix timestamp for when the conversation should reopen |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `conversation` | object | The snoozed conversation object |
|
|
||||||
| ↳ `id` | string | Unique identifier for the conversation |
|
|
||||||
| ↳ `type` | string | Object type \(conversation\) |
|
|
||||||
| ↳ `state` | string | State of the conversation \(snoozed\) |
|
|
||||||
| ↳ `open` | boolean | Whether the conversation is open |
|
|
||||||
| ↳ `snoozed_until` | number | Unix timestamp when conversation will reopen |
|
|
||||||
| ↳ `created_at` | number | Unix timestamp when conversation was created |
|
|
||||||
| ↳ `updated_at` | number | Unix timestamp when conversation was last updated |
|
|
||||||
| `conversationId` | string | ID of the snoozed conversation |
|
|
||||||
| `state` | string | State of the conversation \(snoozed\) |
|
|
||||||
| `snoozed_until` | number | Unix timestamp when conversation will reopen |
|
|
||||||
|
|
||||||
### `intercom_assign_conversation`
|
|
||||||
|
|
||||||
Assign a conversation to an admin or team in Intercom
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `conversationId` | string | Yes | The ID of the conversation to assign |
|
|
||||||
| `admin_id` | string | Yes | The ID of the admin performing the assignment |
|
|
||||||
| `assignee_id` | string | Yes | The ID of the admin or team to assign the conversation to. Set to "0" to unassign. |
|
|
||||||
| `body` | string | No | Optional message to add when assigning \(e.g., "Passing to the support team"\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `conversation` | object | The assigned conversation object |
|
|
||||||
| ↳ `id` | string | Unique identifier for the conversation |
|
|
||||||
| ↳ `type` | string | Object type \(conversation\) |
|
|
||||||
| ↳ `state` | string | State of the conversation |
|
|
||||||
| ↳ `open` | boolean | Whether the conversation is open |
|
|
||||||
| ↳ `admin_assignee_id` | number | ID of the assigned admin |
|
|
||||||
| ↳ `team_assignee_id` | string | ID of the assigned team |
|
|
||||||
| ↳ `created_at` | number | Unix timestamp when conversation was created |
|
|
||||||
| ↳ `updated_at` | number | Unix timestamp when conversation was last updated |
|
|
||||||
| `conversationId` | string | ID of the assigned conversation |
|
|
||||||
| `admin_assignee_id` | number | ID of the assigned admin |
|
|
||||||
| `team_assignee_id` | string | ID of the assigned team |
|
|
||||||
|
|
||||||
### `intercom_list_tags`
|
|
||||||
|
|
||||||
Fetch a list of all tags in the workspace
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `tags` | array | Array of tag objects |
|
|
||||||
| ↳ `id` | string | Unique identifier for the tag |
|
|
||||||
| ↳ `type` | string | Object type \(tag\) |
|
|
||||||
| ↳ `name` | string | Name of the tag |
|
|
||||||
| `type` | string | Object type \(list\) |
|
|
||||||
|
|
||||||
### `intercom_create_tag`
|
|
||||||
|
|
||||||
Create a new tag or update an existing tag name
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `name` | string | Yes | The name of the tag. Will create a new tag if not found, or update the name if id is provided. |
|
|
||||||
| `id` | string | No | The ID of an existing tag to update. Omit to create a new tag. |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Unique identifier for the tag |
|
|
||||||
| `name` | string | Name of the tag |
|
|
||||||
| `type` | string | Object type \(tag\) |
|
|
||||||
|
|
||||||
### `intercom_tag_contact`
|
|
||||||
|
|
||||||
Add a tag to a specific contact
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `contactId` | string | Yes | The ID of the contact to tag |
|
|
||||||
| `tagId` | string | Yes | The ID of the tag to apply |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Unique identifier for the tag |
|
|
||||||
| `name` | string | Name of the tag |
|
|
||||||
| `type` | string | Object type \(tag\) |
|
|
||||||
|
|
||||||
### `intercom_untag_contact`
|
|
||||||
|
|
||||||
Remove a tag from a specific contact
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `contactId` | string | Yes | The ID of the contact to untag |
|
|
||||||
| `tagId` | string | Yes | The ID of the tag to remove |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Unique identifier for the tag that was removed |
|
|
||||||
| `name` | string | Name of the tag that was removed |
|
|
||||||
| `type` | string | Object type \(tag\) |
|
|
||||||
|
|
||||||
### `intercom_tag_conversation`
|
|
||||||
|
|
||||||
Add a tag to a specific conversation
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `conversationId` | string | Yes | The ID of the conversation to tag |
|
|
||||||
| `tagId` | string | Yes | The ID of the tag to apply |
|
|
||||||
| `admin_id` | string | Yes | The ID of the admin applying the tag |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Unique identifier for the tag |
|
|
||||||
| `name` | string | Name of the tag |
|
|
||||||
| `type` | string | Object type \(tag\) |
|
|
||||||
|
|
||||||
### `intercom_create_note`
|
|
||||||
|
|
||||||
Add a note to a specific contact
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `contactId` | string | Yes | The ID of the contact to add the note to |
|
|
||||||
| `body` | string | Yes | The text content of the note |
|
|
||||||
| `admin_id` | string | No | The ID of the admin creating the note |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `id` | string | Unique identifier for the note |
|
|
||||||
| `body` | string | The text content of the note |
|
|
||||||
| `created_at` | number | Unix timestamp when the note was created |
|
|
||||||
| `type` | string | Object type \(note\) |
|
|
||||||
| `author` | object | The admin who created the note |
|
|
||||||
| ↳ `type` | string | Author type \(admin\) |
|
|
||||||
| ↳ `id` | string | Author ID |
|
|
||||||
| ↳ `name` | string | Author name |
|
|
||||||
| ↳ `email` | string | Author email |
|
|
||||||
| `contact` | object | The contact the note was created for |
|
|
||||||
| ↳ `type` | string | Contact type |
|
|
||||||
| ↳ `id` | string | Contact ID |
|
|
||||||
|
|
||||||
### `intercom_create_event`
|
|
||||||
|
|
||||||
Track a custom event for a contact in Intercom
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `event_name` | string | Yes | The name of the event \(e.g., "order-completed"\). Use past-tense verb-noun format for readability. |
|
|
||||||
| `created_at` | number | No | Unix timestamp for when the event occurred. Strongly recommended for uniqueness. |
|
|
||||||
| `user_id` | string | No | Your identifier for the user \(external_id\) |
|
|
||||||
| `email` | string | No | Email address of the user. Use only if your app uses email to uniquely identify users. |
|
|
||||||
| `id` | string | No | The Intercom contact ID |
|
|
||||||
| `metadata` | string | No | JSON object with up to 10 metadata key-value pairs about the event \(e.g., \{"order_value": 99.99\}\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `accepted` | boolean | Whether the event was accepted \(202 Accepted\) |
|
|
||||||
|
|
||||||
### `intercom_attach_contact_to_company`
|
|
||||||
|
|
||||||
Attach a contact to a company in Intercom
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `contactId` | string | Yes | The ID of the contact to attach to the company |
|
|
||||||
| `companyId` | string | Yes | The ID of the company to attach the contact to |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `company` | object | The company object the contact was attached to |
|
|
||||||
| ↳ `id` | string | Unique identifier for the company |
|
|
||||||
| ↳ `type` | string | Object type \(company\) |
|
|
||||||
| ↳ `company_id` | string | The company_id you defined |
|
|
||||||
| ↳ `name` | string | Name of the company |
|
|
||||||
| ↳ `created_at` | number | Unix timestamp when company was created |
|
|
||||||
| ↳ `updated_at` | number | Unix timestamp when company was updated |
|
|
||||||
| ↳ `user_count` | number | Number of users in the company |
|
|
||||||
| ↳ `session_count` | number | Number of sessions |
|
|
||||||
| ↳ `monthly_spend` | number | Monthly spend amount |
|
|
||||||
| ↳ `plan` | object | Company plan details |
|
|
||||||
| `companyId` | string | ID of the company |
|
|
||||||
| `name` | string | Name of the company |
|
|
||||||
|
|
||||||
### `intercom_detach_contact_from_company`
|
|
||||||
|
|
||||||
Remove a contact from a company in Intercom
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `contactId` | string | Yes | The ID of the contact to detach from the company |
|
|
||||||
| `companyId` | string | Yes | The ID of the company to detach the contact from |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `company` | object | The company object the contact was detached from |
|
|
||||||
| ↳ `id` | string | Unique identifier for the company |
|
|
||||||
| ↳ `type` | string | Object type \(company\) |
|
|
||||||
| ↳ `company_id` | string | The company_id you defined |
|
|
||||||
| ↳ `name` | string | Name of the company |
|
|
||||||
| `companyId` | string | ID of the company |
|
|
||||||
| `name` | string | Name of the company |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description: Access prediction markets and trade on Kalshi
|
|||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|
||||||
<BlockInfoCard
|
<BlockInfoCard
|
||||||
type="kalshi_v2"
|
type="kalshi"
|
||||||
color="#09C285"
|
color="#09C285"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ Integrate Kalshi prediction markets into the workflow. Can get markets, market,
|
|||||||
|
|
||||||
### `kalshi_get_markets`
|
### `kalshi_get_markets`
|
||||||
|
|
||||||
Retrieve a list of prediction markets from Kalshi with all filtering options (V2 - full API response)
|
Retrieve a list of prediction markets from Kalshi with optional filtering
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -52,39 +52,12 @@ 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 |
|
||||||
| ↳ `ticker` | string | Unique market ticker identifier |
|
| `paging` | object | Pagination cursor for fetching more results |
|
||||||
| ↳ `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 |
|
|
||||||
|
|
||||||
### `kalshi_get_market`
|
### `kalshi_get_market`
|
||||||
|
|
||||||
Retrieve details of a specific prediction market by ticker (V2 - full API response)
|
Retrieve details of a specific prediction market by ticker
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -96,62 +69,11 @@ Retrieve details of a specific prediction market by ticker (V2 - full API respon
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `market` | object | Market object with all API fields |
|
| `market` | object | Market object with details |
|
||||||
| ↳ `ticker` | string | Market ticker |
|
|
||||||
| ↳ `event_ticker` | string | Event ticker |
|
|
||||||
| ↳ `market_type` | string | Market type |
|
|
||||||
| ↳ `title` | string | Market title |
|
|
||||||
| ↳ `subtitle` | string | Market subtitle |
|
|
||||||
| ↳ `yes_sub_title` | string | Yes outcome subtitle |
|
|
||||||
| ↳ `no_sub_title` | string | No outcome subtitle |
|
|
||||||
| ↳ `open_time` | string | Market open time |
|
|
||||||
| ↳ `close_time` | string | Market close time |
|
|
||||||
| ↳ `expected_expiration_time` | string | Expected expiration time |
|
|
||||||
| ↳ `expiration_time` | string | Expiration time |
|
|
||||||
| ↳ `latest_expiration_time` | string | Latest expiration time |
|
|
||||||
| ↳ `settlement_timer_seconds` | number | Settlement timer in seconds |
|
|
||||||
| ↳ `status` | string | Market status |
|
|
||||||
| ↳ `response_price_units` | string | Response price units |
|
|
||||||
| ↳ `notional_value` | number | Notional value |
|
|
||||||
| ↳ `tick_size` | number | Tick size |
|
|
||||||
| ↳ `yes_bid` | number | Current yes bid price |
|
|
||||||
| ↳ `yes_ask` | number | Current yes ask price |
|
|
||||||
| ↳ `no_bid` | number | Current no bid price |
|
|
||||||
| ↳ `no_ask` | number | Current no ask price |
|
|
||||||
| ↳ `last_price` | number | Last trade price |
|
|
||||||
| ↳ `previous_yes_bid` | number | Previous yes bid |
|
|
||||||
| ↳ `previous_yes_ask` | number | Previous yes ask |
|
|
||||||
| ↳ `previous_price` | number | Previous price |
|
|
||||||
| ↳ `volume` | number | Total volume |
|
|
||||||
| ↳ `volume_24h` | number | 24-hour volume |
|
|
||||||
| ↳ `liquidity` | number | Market liquidity |
|
|
||||||
| ↳ `open_interest` | number | Open interest |
|
|
||||||
| ↳ `result` | string | Market result |
|
|
||||||
| ↳ `cap_strike` | number | Cap strike |
|
|
||||||
| ↳ `floor_strike` | number | Floor strike |
|
|
||||||
| ↳ `can_close_early` | boolean | Can close early |
|
|
||||||
| ↳ `expiration_value` | string | Expiration value |
|
|
||||||
| ↳ `category` | string | Market category |
|
|
||||||
| ↳ `risk_limit_cents` | number | Risk limit in cents |
|
|
||||||
| ↳ `strike_type` | string | Strike type |
|
|
||||||
| ↳ `rules_primary` | string | Primary rules |
|
|
||||||
| ↳ `rules_secondary` | string | Secondary rules |
|
|
||||||
| ↳ `settlement_source_url` | string | Settlement source URL |
|
|
||||||
| ↳ `custom_strike` | object | Custom strike object |
|
|
||||||
| ↳ `underlying` | string | Underlying asset |
|
|
||||||
| ↳ `settlement_value` | number | Settlement value |
|
|
||||||
| ↳ `cfd_contract_size` | number | CFD contract size |
|
|
||||||
| ↳ `yes_fee_fp` | number | Yes fee \(fixed-point\) |
|
|
||||||
| ↳ `no_fee_fp` | number | No fee \(fixed-point\) |
|
|
||||||
| ↳ `last_price_fp` | number | Last price \(fixed-point\) |
|
|
||||||
| ↳ `yes_bid_fp` | number | Yes bid \(fixed-point\) |
|
|
||||||
| ↳ `yes_ask_fp` | number | Yes ask \(fixed-point\) |
|
|
||||||
| ↳ `no_bid_fp` | number | No bid \(fixed-point\) |
|
|
||||||
| ↳ `no_ask_fp` | number | No ask \(fixed-point\) |
|
|
||||||
|
|
||||||
### `kalshi_get_events`
|
### `kalshi_get_events`
|
||||||
|
|
||||||
Retrieve a list of events from Kalshi with optional filtering (V2 - exact API response)
|
Retrieve a list of events from Kalshi with optional filtering
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -168,24 +90,11 @@ 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 |
|
| `paging` | object | Pagination cursor for fetching more results |
|
||||||
| ↳ `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\) |
|
|
||||||
| ↳ `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 |
|
|
||||||
|
|
||||||
### `kalshi_get_event`
|
### `kalshi_get_event`
|
||||||
|
|
||||||
Retrieve details of a specific event by ticker (V2 - exact API response)
|
Retrieve details of a specific event by ticker
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -198,23 +107,11 @@ Retrieve details of a specific event by ticker (V2 - exact API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `event` | object | Event object with full details matching Kalshi API response |
|
| `event` | object | Event object with details |
|
||||||
| ↳ `event_ticker` | string | Event ticker |
|
|
||||||
| ↳ `series_ticker` | string | Series ticker |
|
|
||||||
| ↳ `title` | string | Event title |
|
|
||||||
| ↳ `sub_title` | string | Event subtitle |
|
|
||||||
| ↳ `mutually_exclusive` | boolean | Mutually exclusive markets |
|
|
||||||
| ↳ `category` | string | Event category |
|
|
||||||
| ↳ `collateral_return_type` | string | Collateral return type |
|
|
||||||
| ↳ `strike_date` | string | Strike date |
|
|
||||||
| ↳ `strike_period` | string | Strike period |
|
|
||||||
| ↳ `available_on_brokers` | boolean | Available on brokers |
|
|
||||||
| ↳ `product_metadata` | object | Product metadata |
|
|
||||||
| ↳ `markets` | array | Nested markets \(if requested\) |
|
|
||||||
|
|
||||||
### `kalshi_get_balance`
|
### `kalshi_get_balance`
|
||||||
|
|
||||||
Retrieve your account balance and portfolio value from Kalshi (V2 - exact API response)
|
Retrieve your account balance and portfolio value from Kalshi
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -228,12 +125,11 @@ Retrieve your account balance and portfolio value from Kalshi (V2 - exact API re
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `balance` | number | Account balance in cents |
|
| `balance` | number | Account balance in cents |
|
||||||
| `portfolio_value` | number | Portfolio value in cents |
|
| `portfolioValue` | number | Portfolio value in cents |
|
||||||
| `updated_ts` | number | Unix timestamp of last update \(milliseconds\) |
|
|
||||||
|
|
||||||
### `kalshi_get_positions`
|
### `kalshi_get_positions`
|
||||||
|
|
||||||
Retrieve your open positions from Kalshi (V2 - exact API response)
|
Retrieve your open positions from Kalshi
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -251,27 +147,12 @@ Retrieve your open positions from Kalshi (V2 - exact API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `market_positions` | array | Array of market position objects |
|
| `positions` | array | Array of position objects |
|
||||||
| ↳ `ticker` | string | Market ticker |
|
| `paging` | object | Pagination cursor for fetching more results |
|
||||||
| ↳ `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_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 |
|
|
||||||
|
|
||||||
### `kalshi_get_orders`
|
### `kalshi_get_orders`
|
||||||
|
|
||||||
Retrieve your orders from Kalshi with optional filtering (V2 with full API response)
|
Retrieve your orders from Kalshi with optional filtering
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -289,30 +170,12 @@ 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 |
|
||||||
| ↳ `order_id` | string | Unique order identifier |
|
| `paging` | object | Pagination cursor for fetching more results |
|
||||||
| ↳ `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 |
|
|
||||||
|
|
||||||
### `kalshi_get_order`
|
### `kalshi_get_order`
|
||||||
|
|
||||||
Retrieve details of a specific order by ID from Kalshi (V2 with full API response)
|
Retrieve details of a specific order by ID from Kalshi
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -326,44 +189,11 @@ Retrieve details of a specific order by ID from Kalshi (V2 with full API respons
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `order` | object | Order object with full API response fields |
|
| `order` | object | Order object with details |
|
||||||
| ↳ `order_id` | string | Order ID |
|
|
||||||
| ↳ `user_id` | string | User ID |
|
|
||||||
| ↳ `client_order_id` | string | Client order ID |
|
|
||||||
| ↳ `ticker` | string | Market ticker |
|
|
||||||
| ↳ `side` | string | Order side \(yes/no\) |
|
|
||||||
| ↳ `action` | string | 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 |
|
|
||||||
| ↳ `yes_price_dollars` | string | Yes price in dollars |
|
|
||||||
| ↳ `no_price_dollars` | string | No price in dollars |
|
|
||||||
| ↳ `fill_count` | number | Filled contract count |
|
|
||||||
| ↳ `fill_count_fp` | string | Filled count \(fixed-point\) |
|
|
||||||
| ↳ `remaining_count` | number | Remaining contracts |
|
|
||||||
| ↳ `remaining_count_fp` | string | Remaining count \(fixed-point\) |
|
|
||||||
| ↳ `initial_count` | number | Initial contract count |
|
|
||||||
| ↳ `initial_count_fp` | string | Initial count \(fixed-point\) |
|
|
||||||
| ↳ `taker_fees` | number | Taker fees in cents |
|
|
||||||
| ↳ `maker_fees` | number | Maker fees in cents |
|
|
||||||
| ↳ `taker_fees_dollars` | string | Taker fees in dollars |
|
|
||||||
| ↳ `maker_fees_dollars` | string | Maker fees in dollars |
|
|
||||||
| ↳ `taker_fill_cost` | number | Taker fill cost in cents |
|
|
||||||
| ↳ `maker_fill_cost` | number | Maker fill cost in cents |
|
|
||||||
| ↳ `taker_fill_cost_dollars` | string | Taker fill cost in dollars |
|
|
||||||
| ↳ `maker_fill_cost_dollars` | string | Maker fill cost in dollars |
|
|
||||||
| ↳ `queue_position` | number | Queue position \(deprecated\) |
|
|
||||||
| ↳ `expiration_time` | string | Order expiration time |
|
|
||||||
| ↳ `created_time` | string | Order creation time |
|
|
||||||
| ↳ `last_update_time` | string | Last update time |
|
|
||||||
| ↳ `self_trade_prevention_type` | string | Self-trade prevention type |
|
|
||||||
| ↳ `order_group_id` | string | Order group ID |
|
|
||||||
| ↳ `cancel_order_on_pause` | boolean | Cancel on market pause |
|
|
||||||
|
|
||||||
### `kalshi_get_orderbook`
|
### `kalshi_get_orderbook`
|
||||||
|
|
||||||
Retrieve the orderbook (yes and no bids) for a specific market (V2 - includes depth and fp fields)
|
Retrieve the orderbook (yes and no bids) for a specific market
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -375,18 +205,11 @@ Retrieve the orderbook (yes and no bids) for a specific market (V2 - includes de
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `orderbook` | object | Orderbook with yes/no bids \(legacy integer counts\) |
|
| `orderbook` | object | Orderbook with yes/no bids and asks |
|
||||||
| ↳ `yes` | array | Yes side bids as tuples \[price_cents, count\] |
|
|
||||||
| ↳ `no` | array | No side bids as tuples \[price_cents, count\] |
|
|
||||||
| ↳ `yes_dollars` | array | Yes side bids as tuples \[dollars_string, count\] |
|
|
||||||
| ↳ `no_dollars` | array | No side bids as tuples \[dollars_string, count\] |
|
|
||||||
| `orderbook_fp` | object | Orderbook with fixed-point counts \(preferred\) |
|
|
||||||
| ↳ `yes_dollars` | array | Yes side bids as tuples \[dollars_string, fp_count_string\] |
|
|
||||||
| ↳ `no_dollars` | array | No side bids as tuples \[dollars_string, fp_count_string\] |
|
|
||||||
|
|
||||||
### `kalshi_get_trades`
|
### `kalshi_get_trades`
|
||||||
|
|
||||||
Retrieve recent trades with additional filtering options (V2 - includes trade_id and count_fp)
|
Retrieve recent trades across all markets
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -399,18 +222,12 @@ 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 |
|
||||||
| ↳ `ticker` | string | Market ticker |
|
| `paging` | object | Pagination cursor for fetching more results |
|
||||||
| ↳ `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 |
|
|
||||||
|
|
||||||
### `kalshi_get_candlesticks`
|
### `kalshi_get_candlesticks`
|
||||||
|
|
||||||
Retrieve OHLC candlestick data for a specific market (V2 - full API response)
|
Retrieve OHLC candlestick data for a specific market
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -426,8 +243,7 @@ Retrieve OHLC candlestick data for a specific market (V2 - full API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `ticker` | string | Market ticker |
|
| `candlesticks` | array | Array of OHLC candlestick data |
|
||||||
| `candlesticks` | array | Array of OHLC candlestick data with nested bid/ask/price objects |
|
|
||||||
|
|
||||||
### `kalshi_get_fills`
|
### `kalshi_get_fills`
|
||||||
|
|
||||||
@@ -450,22 +266,12 @@ 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 |
|
||||||
| ↳ `trade_id` | string | Unique trade identifier |
|
| `paging` | object | Pagination cursor for fetching more results |
|
||||||
| ↳ `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 |
|
|
||||||
|
|
||||||
### `kalshi_get_series_by_ticker`
|
### `kalshi_get_series_by_ticker`
|
||||||
|
|
||||||
Retrieve details of a specific market series by ticker (V2 - exact API response)
|
Retrieve details of a specific market series by ticker
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -477,25 +283,11 @@ Retrieve details of a specific market series by ticker (V2 - exact API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `series` | object | Series object with full details matching Kalshi API response |
|
| `series` | object | Series object with details |
|
||||||
| ↳ `ticker` | string | Series ticker |
|
|
||||||
| ↳ `title` | string | Series title |
|
|
||||||
| ↳ `frequency` | string | Event frequency |
|
|
||||||
| ↳ `category` | string | Series category |
|
|
||||||
| ↳ `tags` | array | Series tags |
|
|
||||||
| ↳ `settlement_sources` | array | Settlement sources |
|
|
||||||
| ↳ `contract_url` | string | Contract URL |
|
|
||||||
| ↳ `contract_terms_url` | string | Contract terms URL |
|
|
||||||
| ↳ `fee_type` | string | Fee type |
|
|
||||||
| ↳ `fee_multiplier` | number | Fee multiplier |
|
|
||||||
| ↳ `additional_prohibitions` | array | Additional prohibitions |
|
|
||||||
| ↳ `product_metadata` | object | Product metadata |
|
|
||||||
| ↳ `volume` | number | Series volume |
|
|
||||||
| ↳ `volume_fp` | number | Volume \(fixed-point\) |
|
|
||||||
|
|
||||||
### `kalshi_get_exchange_status`
|
### `kalshi_get_exchange_status`
|
||||||
|
|
||||||
Retrieve the current status of the Kalshi exchange (V2 - exact API response)
|
Retrieve the current status of the Kalshi exchange (trading and exchange activity)
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -506,13 +298,11 @@ Retrieve the current status of the Kalshi exchange (V2 - exact API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `exchange_active` | boolean | Whether the exchange is active |
|
| `status` | object | Exchange status with trading_active and exchange_active flags |
|
||||||
| `trading_active` | boolean | Whether trading is active |
|
|
||||||
| `exchange_estimated_resume_time` | string | Estimated time when exchange will resume \(if inactive\) |
|
|
||||||
|
|
||||||
### `kalshi_create_order`
|
### `kalshi_create_order`
|
||||||
|
|
||||||
Create a new order on a Kalshi prediction market (V2 with full API response)
|
Create a new order on a Kalshi prediction market
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -542,44 +332,11 @@ Create a new order on a Kalshi prediction market (V2 with full API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `order` | object | The created order object with full API response fields |
|
| `order` | object | The created order object |
|
||||||
| ↳ `order_id` | string | Order ID |
|
|
||||||
| ↳ `user_id` | string | User ID |
|
|
||||||
| ↳ `client_order_id` | string | Client order ID |
|
|
||||||
| ↳ `ticker` | string | Market ticker |
|
|
||||||
| ↳ `side` | string | Order side \(yes/no\) |
|
|
||||||
| ↳ `action` | string | 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 |
|
|
||||||
| ↳ `yes_price_dollars` | string | Yes price in dollars |
|
|
||||||
| ↳ `no_price_dollars` | string | No price in dollars |
|
|
||||||
| ↳ `fill_count` | number | Filled contract count |
|
|
||||||
| ↳ `fill_count_fp` | string | Filled count \(fixed-point\) |
|
|
||||||
| ↳ `remaining_count` | number | Remaining contracts |
|
|
||||||
| ↳ `remaining_count_fp` | string | Remaining count \(fixed-point\) |
|
|
||||||
| ↳ `initial_count` | number | Initial contract count |
|
|
||||||
| ↳ `initial_count_fp` | string | Initial count \(fixed-point\) |
|
|
||||||
| ↳ `taker_fees` | number | Taker fees in cents |
|
|
||||||
| ↳ `maker_fees` | number | Maker fees in cents |
|
|
||||||
| ↳ `taker_fees_dollars` | string | Taker fees in dollars |
|
|
||||||
| ↳ `maker_fees_dollars` | string | Maker fees in dollars |
|
|
||||||
| ↳ `taker_fill_cost` | number | Taker fill cost in cents |
|
|
||||||
| ↳ `maker_fill_cost` | number | Maker fill cost in cents |
|
|
||||||
| ↳ `taker_fill_cost_dollars` | string | Taker fill cost in dollars |
|
|
||||||
| ↳ `maker_fill_cost_dollars` | string | Maker fill cost in dollars |
|
|
||||||
| ↳ `queue_position` | number | Queue position \(deprecated\) |
|
|
||||||
| ↳ `expiration_time` | string | Order expiration time |
|
|
||||||
| ↳ `created_time` | string | Order creation time |
|
|
||||||
| ↳ `last_update_time` | string | Last update time |
|
|
||||||
| ↳ `self_trade_prevention_type` | string | Self-trade prevention type |
|
|
||||||
| ↳ `order_group_id` | string | Order group ID |
|
|
||||||
| ↳ `cancel_order_on_pause` | boolean | Cancel on market pause |
|
|
||||||
|
|
||||||
### `kalshi_cancel_order`
|
### `kalshi_cancel_order`
|
||||||
|
|
||||||
Cancel an existing order on Kalshi (V2 with full API response)
|
Cancel an existing order on Kalshi
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -593,46 +350,12 @@ Cancel an existing order on Kalshi (V2 with full API response)
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `order` | object | The canceled order object with full API response fields |
|
| `order` | object | The canceled order object |
|
||||||
| ↳ `order_id` | string | Order ID |
|
| `reducedBy` | number | Number of contracts canceled |
|
||||||
| ↳ `user_id` | string | User ID |
|
|
||||||
| ↳ `client_order_id` | string | Client order ID |
|
|
||||||
| ↳ `ticker` | string | Market ticker |
|
|
||||||
| ↳ `side` | string | Order side \(yes/no\) |
|
|
||||||
| ↳ `action` | string | 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 |
|
|
||||||
| ↳ `yes_price_dollars` | string | Yes price in dollars |
|
|
||||||
| ↳ `no_price_dollars` | string | No price in dollars |
|
|
||||||
| ↳ `fill_count` | number | Filled contract count |
|
|
||||||
| ↳ `fill_count_fp` | string | Filled count \(fixed-point\) |
|
|
||||||
| ↳ `remaining_count` | number | Remaining contracts |
|
|
||||||
| ↳ `remaining_count_fp` | string | Remaining count \(fixed-point\) |
|
|
||||||
| ↳ `initial_count` | number | Initial contract count |
|
|
||||||
| ↳ `initial_count_fp` | string | Initial count \(fixed-point\) |
|
|
||||||
| ↳ `taker_fees` | number | Taker fees in cents |
|
|
||||||
| ↳ `maker_fees` | number | Maker fees in cents |
|
|
||||||
| ↳ `taker_fees_dollars` | string | Taker fees in dollars |
|
|
||||||
| ↳ `maker_fees_dollars` | string | Maker fees in dollars |
|
|
||||||
| ↳ `taker_fill_cost` | number | Taker fill cost in cents |
|
|
||||||
| ↳ `maker_fill_cost` | number | Maker fill cost in cents |
|
|
||||||
| ↳ `taker_fill_cost_dollars` | string | Taker fill cost in dollars |
|
|
||||||
| ↳ `maker_fill_cost_dollars` | string | Maker fill cost in dollars |
|
|
||||||
| ↳ `queue_position` | number | Queue position \(deprecated\) |
|
|
||||||
| ↳ `expiration_time` | string | Order expiration time |
|
|
||||||
| ↳ `created_time` | string | Order creation time |
|
|
||||||
| ↳ `last_update_time` | string | Last update time |
|
|
||||||
| ↳ `self_trade_prevention_type` | string | Self-trade prevention type |
|
|
||||||
| ↳ `order_group_id` | string | Order group ID |
|
|
||||||
| ↳ `cancel_order_on_pause` | boolean | Cancel on market pause |
|
|
||||||
| `reduced_by` | number | Number of contracts canceled |
|
|
||||||
| `reduced_by_fp` | string | Number of contracts canceled in fixed-point format |
|
|
||||||
|
|
||||||
### `kalshi_amend_order`
|
### `kalshi_amend_order`
|
||||||
|
|
||||||
Modify the price or quantity of an existing order on Kalshi (V2 with full API response)
|
Modify the price or quantity of an existing order on Kalshi
|
||||||
|
|
||||||
#### Input
|
#### Input
|
||||||
|
|
||||||
@@ -656,63 +379,6 @@ Modify the price or quantity of an existing order on Kalshi (V2 with full API re
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `old_order` | object | The original order object before amendment |
|
| `order` | object | The amended order object |
|
||||||
| ↳ `order_id` | string | Order ID |
|
|
||||||
| ↳ `user_id` | string | User ID |
|
|
||||||
| ↳ `ticker` | string | Market ticker |
|
|
||||||
| ↳ `event_ticker` | string | Event ticker |
|
|
||||||
| ↳ `status` | string | Order status |
|
|
||||||
| ↳ `side` | string | Order side \(yes/no\) |
|
|
||||||
| ↳ `type` | string | Order type \(limit/market\) |
|
|
||||||
| ↳ `yes_price` | number | Yes price in cents |
|
|
||||||
| ↳ `no_price` | number | No price in cents |
|
|
||||||
| ↳ `action` | string | Action \(buy/sell\) |
|
|
||||||
| ↳ `count` | number | Number of contracts |
|
|
||||||
| ↳ `remaining_count` | number | Remaining contracts |
|
|
||||||
| ↳ `created_time` | string | Order creation time |
|
|
||||||
| ↳ `expiration_time` | string | Order expiration time |
|
|
||||||
| ↳ `order_group_id` | string | Order group ID |
|
|
||||||
| ↳ `client_order_id` | string | Client order ID |
|
|
||||||
| ↳ `place_count` | number | Place count |
|
|
||||||
| ↳ `decrease_count` | number | Decrease count |
|
|
||||||
| ↳ `queue_position` | number | Queue position |
|
|
||||||
| ↳ `maker_fill_count` | number | Maker fill count |
|
|
||||||
| ↳ `taker_fill_count` | number | Taker fill count |
|
|
||||||
| ↳ `maker_fees` | number | Maker fees |
|
|
||||||
| ↳ `taker_fees` | number | Taker fees |
|
|
||||||
| ↳ `last_update_time` | string | Last update time |
|
|
||||||
| ↳ `take_profit_order_id` | string | Take profit order ID |
|
|
||||||
| ↳ `stop_loss_order_id` | string | Stop loss order ID |
|
|
||||||
| ↳ `amend_count` | number | Amend count |
|
|
||||||
| ↳ `amend_taker_fill_count` | number | Amend taker fill count |
|
|
||||||
| `order` | object | The amended order object with full API response fields |
|
|
||||||
| ↳ `order_id` | string | Order ID |
|
|
||||||
| ↳ `user_id` | string | User ID |
|
|
||||||
| ↳ `ticker` | string | Market ticker |
|
|
||||||
| ↳ `event_ticker` | string | Event ticker |
|
|
||||||
| ↳ `status` | string | Order status |
|
|
||||||
| ↳ `side` | string | Order side \(yes/no\) |
|
|
||||||
| ↳ `type` | string | Order type \(limit/market\) |
|
|
||||||
| ↳ `yes_price` | number | Yes price in cents |
|
|
||||||
| ↳ `no_price` | number | No price in cents |
|
|
||||||
| ↳ `action` | string | Action \(buy/sell\) |
|
|
||||||
| ↳ `count` | number | Number of contracts |
|
|
||||||
| ↳ `remaining_count` | number | Remaining contracts |
|
|
||||||
| ↳ `created_time` | string | Order creation time |
|
|
||||||
| ↳ `expiration_time` | string | Order expiration time |
|
|
||||||
| ↳ `order_group_id` | string | Order group ID |
|
|
||||||
| ↳ `client_order_id` | string | Client order ID |
|
|
||||||
| ↳ `place_count` | number | Place count |
|
|
||||||
| ↳ `decrease_count` | number | Decrease count |
|
|
||||||
| ↳ `queue_position` | number | Queue position |
|
|
||||||
| ↳ `maker_fill_count` | number | Maker fill count |
|
|
||||||
| ↳ `taker_fill_count` | number | Taker fill count |
|
|
||||||
| ↳ `maker_fees` | number | Maker fees |
|
|
||||||
| ↳ `taker_fees` | number | Taker fees |
|
|
||||||
| ↳ `last_update_time` | string | Last update time |
|
|
||||||
| ↳ `take_profit_order_id` | string | Take profit order ID |
|
|
||||||
| ↳ `stop_loss_order_id` | string | Stop loss order ID |
|
|
||||||
| ↳ `amend_count` | number | Amend count |
|
|
||||||
| ↳ `amend_taker_fill_count` | number | Amend taker fill count |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ Search for similar content in a knowledge base using vector similarity
|
|||||||
| `properties` | string | No | No description |
|
| `properties` | string | No | No description |
|
||||||
| `tagName` | string | No | No description |
|
| `tagName` | string | No | No description |
|
||||||
| `tagValue` | string | No | No description |
|
| `tagValue` | string | No | No description |
|
||||||
| `tagFilters` | string | No | No description |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
@@ -109,8 +108,19 @@ Create a new document in a knowledge base
|
|||||||
| `knowledgeBaseId` | string | Yes | ID of the knowledge base containing the document |
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base containing the document |
|
||||||
| `name` | string | Yes | Name of the document |
|
| `name` | string | Yes | Name of the document |
|
||||||
| `content` | string | Yes | Content of the document |
|
| `content` | string | Yes | Content of the document |
|
||||||
| `documentTags` | object | No | Document tags |
|
| `tag1` | string | No | Tag 1 value for the document |
|
||||||
| `documentTags` | string | No | No description |
|
| `tag2` | string | No | Tag 2 value for the document |
|
||||||
|
| `tag3` | string | No | Tag 3 value for the document |
|
||||||
|
| `tag4` | string | No | Tag 4 value for the document |
|
||||||
|
| `tag5` | string | No | Tag 5 value for the document |
|
||||||
|
| `tag6` | string | No | Tag 6 value for the document |
|
||||||
|
| `tag7` | string | No | Tag 7 value for the document |
|
||||||
|
| `documentTagsData` | array | No | Structured tag data with names, types, and values |
|
||||||
|
| `items` | object | No | No description |
|
||||||
|
| `properties` | string | No | No description |
|
||||||
|
| `tagName` | string | No | No description |
|
||||||
|
| `tagValue` | string | No | No description |
|
||||||
|
| `tagType` | string | No | No description |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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",
|
||||||
@@ -81,11 +79,9 @@
|
|||||||
"polymarket",
|
"polymarket",
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"posthog",
|
"posthog",
|
||||||
"pulse",
|
|
||||||
"qdrant",
|
"qdrant",
|
||||||
"rds",
|
"rds",
|
||||||
"reddit",
|
"reddit",
|
||||||
"reducto",
|
|
||||||
"resend",
|
"resend",
|
||||||
"s3",
|
"s3",
|
||||||
"salesforce",
|
"salesforce",
|
||||||
@@ -97,9 +93,9 @@
|
|||||||
"sftp",
|
"sftp",
|
||||||
"sharepoint",
|
"sharepoint",
|
||||||
"shopify",
|
"shopify",
|
||||||
"similarweb",
|
|
||||||
"slack",
|
"slack",
|
||||||
"smtp",
|
"smtp",
|
||||||
|
"spotify",
|
||||||
"sqs",
|
"sqs",
|
||||||
"ssh",
|
"ssh",
|
||||||
"stagehand",
|
"stagehand",
|
||||||
@@ -108,7 +104,6 @@
|
|||||||
"supabase",
|
"supabase",
|
||||||
"tavily",
|
"tavily",
|
||||||
"telegram",
|
"telegram",
|
||||||
"textract",
|
|
||||||
"tinybird",
|
"tinybird",
|
||||||
"translate",
|
"translate",
|
||||||
"trello",
|
"trello",
|
||||||
|
|||||||
@@ -45,7 +45,8 @@ Read data from a specific sheet in a Microsoft Excel spreadsheet
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to read from |
|
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to read from |
|
||||||
| `range` | string | No | The range of cells to read from. Accepts "SheetName!A1:B2" for explicit ranges or just "SheetName" to read the used range of that sheet. If omitted, reads the used range of the first sheet. |
|
| `sheetName` | string | Yes | The name of the sheet/tab to read from |
|
||||||
|
| `cellRange` | string | No | The cell range to read \(e.g., "A1:D10"\). If not specified, reads the entire used range. |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
@@ -67,8 +68,9 @@ Write data to a specific sheet in a Microsoft Excel spreadsheet
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to write to |
|
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to write to |
|
||||||
| `range` | string | No | The range of cells to write to |
|
| `sheetName` | string | Yes | The name of the sheet/tab to write to |
|
||||||
| `values` | array | Yes | The data to write to the spreadsheet |
|
| `cellRange` | string | No | The cell range to write to \(e.g., "A1:D10", "A1"\). Defaults to "A1" if not specified. |
|
||||||
|
| `values` | array | Yes | The data to write as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
|
||||||
| `valueInputOption` | string | No | The format of the data to write |
|
| `valueInputOption` | string | No | The format of the data to write |
|
||||||
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
|
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description: Extract text from PDF documents
|
|||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|
||||||
<BlockInfoCard
|
<BlockInfoCard
|
||||||
type="mistral_parse_v2"
|
type="mistral_parse"
|
||||||
color="#000000"
|
color="#000000"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -54,28 +54,18 @@ Parse PDF documents using Mistral OCR API
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `pages` | array | Array of page objects from Mistral OCR |
|
| `success` | boolean | Whether the PDF was parsed successfully |
|
||||||
| ↳ `index` | number | Page index \(zero-based\) |
|
| `content` | string | Extracted content in the requested format \(markdown, text, or JSON\) |
|
||||||
| ↳ `markdown` | string | Extracted markdown content |
|
| `metadata` | object | Processing metadata including jobId, fileType, pageCount, and usage info |
|
||||||
| ↳ `images` | array | Images extracted from this page with bounding boxes |
|
| ↳ `jobId` | string | Unique job identifier |
|
||||||
| ↳ `id` | string | Image identifier \(e.g., img-0.jpeg\) |
|
| ↳ `fileType` | string | File type \(e.g., pdf\) |
|
||||||
| ↳ `top_left_x` | number | Top-left X coordinate in pixels |
|
| ↳ `fileName` | string | Original file name |
|
||||||
| ↳ `top_left_y` | number | Top-left Y coordinate in pixels |
|
| ↳ `source` | string | Source type \(url\) |
|
||||||
| ↳ `bottom_right_x` | number | Bottom-right X coordinate in pixels |
|
| ↳ `pageCount` | number | Number of pages processed |
|
||||||
| ↳ `bottom_right_y` | number | Bottom-right Y coordinate in pixels |
|
| ↳ `model` | string | Mistral model used |
|
||||||
| ↳ `image_base64` | string | Base64-encoded image data \(when include_image_base64=true\) |
|
| ↳ `resultType` | string | Output format \(markdown, text, json\) |
|
||||||
| ↳ `dimensions` | object | Page dimensions |
|
| ↳ `processedAt` | string | Processing timestamp |
|
||||||
| ↳ `dpi` | number | Dots per inch |
|
| ↳ `sourceUrl` | string | Source URL if applicable |
|
||||||
| ↳ `height` | number | Page height in pixels |
|
| ↳ `usageInfo` | object | Usage statistics from OCR processing |
|
||||||
| ↳ `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\] |
|
|
||||||
| ↳ `hyperlinks` | array | Array of URL strings detected in the page \(e.g., \["https://...", "mailto:..."\]\) |
|
|
||||||
| ↳ `header` | string | Page header content \(when extract_header=true\) |
|
|
||||||
| ↳ `footer` | string | Page footer content \(when extract_footer=true\) |
|
|
||||||
| `model` | string | Mistral OCR model identifier \(e.g., mistral-ocr-latest\) |
|
|
||||||
| `usage_info` | object | Usage and processing statistics |
|
|
||||||
| ↳ `pages_processed` | number | Total number of pages processed |
|
|
||||||
| ↳ `doc_size_bytes` | number | Document file size in bytes |
|
|
||||||
| `document_annotation` | string | Structured annotation data as JSON string \(when applicable\) |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ By using these documented API endpoints, you can seamlessly integrate Polymarket
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Polymarket prediction markets into the workflow. Can get markets, market, events, event, tags, series, orderbook, price, midpoint, price history, last trade price, spread, tick size, positions, trades, activity, leaderboard, holders, and search.
|
Integrate Polymarket prediction markets into the workflow. Can get markets, market, events, event, tags, series, orderbook, price, midpoint, price history, last trade price, spread, tick size, positions, trades, and search.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ Retrieve a list of prediction markets from Polymarket with optional filtering
|
|||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `closed` | string | No | Filter by closed status \(true/false\). Use false for open markets only. |
|
| `closed` | string | No | Filter by closed status \(true/false\). Use false for active markets only. |
|
||||||
| `order` | string | No | Sort field \(e.g., volumeNum, liquidityNum, startDate, endDate, createdAt\) |
|
| `order` | string | No | Sort field \(e.g., volumeNum, liquidityNum, startDate, endDate, createdAt\) |
|
||||||
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
|
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
|
||||||
| `tagId` | string | No | Filter by tag ID |
|
| `tagId` | string | No | Filter by tag ID |
|
||||||
@@ -55,21 +55,6 @@ Retrieve a list of prediction markets from Polymarket with optional filtering
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `markets` | array | Array of market objects |
|
| `markets` | array | Array of market objects |
|
||||||
| ↳ `id` | string | Market ID |
|
|
||||||
| ↳ `question` | string | Market question |
|
|
||||||
| ↳ `conditionId` | string | Condition ID |
|
|
||||||
| ↳ `slug` | string | Market slug |
|
|
||||||
| ↳ `endDate` | string | End date |
|
|
||||||
| ↳ `image` | string | Market image URL |
|
|
||||||
| ↳ `outcomes` | string | Outcomes JSON string |
|
|
||||||
| ↳ `outcomePrices` | string | Outcome prices JSON string |
|
|
||||||
| ↳ `volume` | string | Total volume |
|
|
||||||
| ↳ `liquidity` | string | Total liquidity |
|
|
||||||
| ↳ `active` | boolean | Whether market is active |
|
|
||||||
| ↳ `closed` | boolean | Whether market is closed |
|
|
||||||
| ↳ `volumeNum` | number | Volume as number |
|
|
||||||
| ↳ `liquidityNum` | number | Liquidity as number |
|
|
||||||
| ↳ `clobTokenIds` | array | CLOB token IDs |
|
|
||||||
|
|
||||||
### `polymarket_get_market`
|
### `polymarket_get_market`
|
||||||
|
|
||||||
@@ -87,28 +72,6 @@ Retrieve details of a specific prediction market by ID or slug
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `market` | object | Market object with details |
|
| `market` | object | Market object with details |
|
||||||
| ↳ `id` | string | Market ID |
|
|
||||||
| ↳ `question` | string | Market question |
|
|
||||||
| ↳ `conditionId` | string | Condition ID |
|
|
||||||
| ↳ `slug` | string | Market slug |
|
|
||||||
| ↳ `resolutionSource` | string | Resolution source |
|
|
||||||
| ↳ `endDate` | string | End date |
|
|
||||||
| ↳ `startDate` | string | Start date |
|
|
||||||
| ↳ `image` | string | Market image URL |
|
|
||||||
| ↳ `icon` | string | Market icon URL |
|
|
||||||
| ↳ `description` | string | Market description |
|
|
||||||
| ↳ `outcomes` | string | Outcomes JSON string |
|
|
||||||
| ↳ `outcomePrices` | string | Outcome prices JSON string |
|
|
||||||
| ↳ `volume` | string | Total volume |
|
|
||||||
| ↳ `liquidity` | string | Total liquidity |
|
|
||||||
| ↳ `active` | boolean | Whether market is active |
|
|
||||||
| ↳ `closed` | boolean | Whether market is closed |
|
|
||||||
| ↳ `archived` | boolean | Whether market is archived |
|
|
||||||
| ↳ `volumeNum` | number | Volume as number |
|
|
||||||
| ↳ `liquidityNum` | number | Liquidity as number |
|
|
||||||
| ↳ `clobTokenIds` | array | CLOB token IDs |
|
|
||||||
| ↳ `acceptingOrders` | boolean | Whether accepting orders |
|
|
||||||
| ↳ `negRisk` | boolean | Whether negative risk |
|
|
||||||
|
|
||||||
### `polymarket_get_events`
|
### `polymarket_get_events`
|
||||||
|
|
||||||
@@ -118,7 +81,7 @@ Retrieve a list of events from Polymarket with optional filtering
|
|||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `closed` | string | No | Filter by closed status \(true/false\). Use false for open events only. |
|
| `closed` | string | No | Filter by closed status \(true/false\). Use false for active events only. |
|
||||||
| `order` | string | No | Sort field \(e.g., volume, liquidity, startDate, endDate, createdAt\) |
|
| `order` | string | No | Sort field \(e.g., volume, liquidity, startDate, endDate, createdAt\) |
|
||||||
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
|
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
|
||||||
| `tagId` | string | No | Filter by tag ID |
|
| `tagId` | string | No | Filter by tag ID |
|
||||||
@@ -130,21 +93,6 @@ Retrieve a list of events from Polymarket with optional filtering
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `events` | array | Array of event objects |
|
| `events` | array | Array of event objects |
|
||||||
| ↳ `id` | string | Event ID |
|
|
||||||
| ↳ `ticker` | string | Event ticker |
|
|
||||||
| ↳ `slug` | string | Event slug |
|
|
||||||
| ↳ `title` | string | Event title |
|
|
||||||
| ↳ `description` | string | Event description |
|
|
||||||
| ↳ `startDate` | string | Start date |
|
|
||||||
| ↳ `endDate` | string | End date |
|
|
||||||
| ↳ `image` | string | Event image URL |
|
|
||||||
| ↳ `icon` | string | Event icon URL |
|
|
||||||
| ↳ `active` | boolean | Whether event is active |
|
|
||||||
| ↳ `closed` | boolean | Whether event is closed |
|
|
||||||
| ↳ `archived` | boolean | Whether event is archived |
|
|
||||||
| ↳ `liquidity` | number | Total liquidity |
|
|
||||||
| ↳ `volume` | number | Total volume |
|
|
||||||
| ↳ `markets` | array | Array of markets in this event |
|
|
||||||
|
|
||||||
### `polymarket_get_event`
|
### `polymarket_get_event`
|
||||||
|
|
||||||
@@ -162,24 +110,6 @@ Retrieve details of a specific event by ID or slug
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `event` | object | Event object with details |
|
| `event` | object | Event object with details |
|
||||||
| ↳ `id` | string | Event ID |
|
|
||||||
| ↳ `ticker` | string | Event ticker |
|
|
||||||
| ↳ `slug` | string | Event slug |
|
|
||||||
| ↳ `title` | string | Event title |
|
|
||||||
| ↳ `description` | string | Event description |
|
|
||||||
| ↳ `startDate` | string | Start date |
|
|
||||||
| ↳ `creationDate` | string | Creation date |
|
|
||||||
| ↳ `endDate` | string | End date |
|
|
||||||
| ↳ `image` | string | Event image URL |
|
|
||||||
| ↳ `icon` | string | Event icon URL |
|
|
||||||
| ↳ `active` | boolean | Whether event is active |
|
|
||||||
| ↳ `closed` | boolean | Whether event is closed |
|
|
||||||
| ↳ `archived` | boolean | Whether event is archived |
|
|
||||||
| ↳ `liquidity` | number | Total liquidity |
|
|
||||||
| ↳ `volume` | number | Total volume |
|
|
||||||
| ↳ `openInterest` | number | Open interest |
|
|
||||||
| ↳ `commentCount` | number | Comment count |
|
|
||||||
| ↳ `markets` | array | Array of markets in this event |
|
|
||||||
|
|
||||||
### `polymarket_get_tags`
|
### `polymarket_get_tags`
|
||||||
|
|
||||||
@@ -196,12 +126,7 @@ Retrieve available tags for filtering markets from Polymarket
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `tags` | array | Array of tag objects |
|
| `tags` | array | Array of tag objects with id, label, and slug |
|
||||||
| ↳ `id` | string | Tag ID |
|
|
||||||
| ↳ `label` | string | Tag label |
|
|
||||||
| ↳ `slug` | string | Tag slug |
|
|
||||||
| ↳ `createdAt` | string | Creation timestamp |
|
|
||||||
| ↳ `updatedAt` | string | Last update timestamp |
|
|
||||||
|
|
||||||
### `polymarket_search`
|
### `polymarket_search`
|
||||||
|
|
||||||
@@ -213,28 +138,13 @@ Search for markets, events, and profiles on Polymarket
|
|||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `query` | string | Yes | Search query term |
|
| `query` | string | Yes | Search query term |
|
||||||
| `limit` | string | No | Number of results per page \(max 50\) |
|
| `limit` | string | No | Number of results per page \(max 50\) |
|
||||||
| `page` | string | No | Page number for pagination \(1-indexed\) |
|
| `offset` | string | No | Pagination offset |
|
||||||
| `cache` | string | No | Enable caching \(true/false\) |
|
|
||||||
| `eventsStatus` | string | No | Filter events by status |
|
|
||||||
| `limitPerType` | string | No | Limit results per type \(markets, events, profiles\) |
|
|
||||||
| `eventsTag` | string | No | Filter by event tags \(comma-separated\) |
|
|
||||||
| `sort` | string | No | Sort field |
|
|
||||||
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
|
|
||||||
| `searchTags` | string | No | Include tags in search results \(true/false\) |
|
|
||||||
| `searchProfiles` | string | No | Include profiles in search results \(true/false\) |
|
|
||||||
| `recurrence` | string | No | Filter by recurrence type |
|
|
||||||
| `excludeTagId` | string | No | Exclude events with these tag IDs \(comma-separated\) |
|
|
||||||
| `keepClosedMarkets` | string | No | Include closed markets in results \(0 or 1\) |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `results` | object | Search results containing markets, events, tags, and profiles arrays |
|
| `results` | object | Search results containing markets, events, and profiles arrays |
|
||||||
| ↳ `markets` | array | Array of matching market objects |
|
|
||||||
| ↳ `events` | array | Array of matching event objects |
|
|
||||||
| ↳ `tags` | array | Array of matching tag objects |
|
|
||||||
| ↳ `profiles` | array | Array of matching profile objects |
|
|
||||||
|
|
||||||
### `polymarket_get_series`
|
### `polymarket_get_series`
|
||||||
|
|
||||||
@@ -252,21 +162,6 @@ Retrieve series (related market groups) from Polymarket
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `series` | array | Array of series objects |
|
| `series` | array | Array of series objects |
|
||||||
| ↳ `id` | string | Series ID |
|
|
||||||
| ↳ `ticker` | string | Series ticker |
|
|
||||||
| ↳ `slug` | string | Series slug |
|
|
||||||
| ↳ `title` | string | Series title |
|
|
||||||
| ↳ `seriesType` | string | Series type |
|
|
||||||
| ↳ `recurrence` | string | Recurrence pattern |
|
|
||||||
| ↳ `image` | string | Series image URL |
|
|
||||||
| ↳ `icon` | string | Series icon URL |
|
|
||||||
| ↳ `active` | boolean | Whether series is active |
|
|
||||||
| ↳ `closed` | boolean | Whether series is closed |
|
|
||||||
| ↳ `archived` | boolean | Whether series is archived |
|
|
||||||
| ↳ `featured` | boolean | Whether series is featured |
|
|
||||||
| ↳ `volume` | number | Total volume |
|
|
||||||
| ↳ `liquidity` | number | Total liquidity |
|
|
||||||
| ↳ `eventCount` | number | Number of events in series |
|
|
||||||
|
|
||||||
### `polymarket_get_series_by_id`
|
### `polymarket_get_series_by_id`
|
||||||
|
|
||||||
@@ -283,23 +178,6 @@ Retrieve a specific series (related market group) by ID from Polymarket
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `series` | object | Series object with details |
|
| `series` | object | Series object with details |
|
||||||
| ↳ `id` | string | Series ID |
|
|
||||||
| ↳ `ticker` | string | Series ticker |
|
|
||||||
| ↳ `slug` | string | Series slug |
|
|
||||||
| ↳ `title` | string | Series title |
|
|
||||||
| ↳ `seriesType` | string | Series type |
|
|
||||||
| ↳ `recurrence` | string | Recurrence pattern |
|
|
||||||
| ↳ `image` | string | Series image URL |
|
|
||||||
| ↳ `icon` | string | Series icon URL |
|
|
||||||
| ↳ `active` | boolean | Whether series is active |
|
|
||||||
| ↳ `closed` | boolean | Whether series is closed |
|
|
||||||
| ↳ `archived` | boolean | Whether series is archived |
|
|
||||||
| ↳ `featured` | boolean | Whether series is featured |
|
|
||||||
| ↳ `volume` | number | Total volume |
|
|
||||||
| ↳ `liquidity` | number | Total liquidity |
|
|
||||||
| ↳ `commentCount` | number | Comment count |
|
|
||||||
| ↳ `eventCount` | number | Number of events in series |
|
|
||||||
| ↳ `events` | array | Array of events in this series |
|
|
||||||
|
|
||||||
### `polymarket_get_orderbook`
|
### `polymarket_get_orderbook`
|
||||||
|
|
||||||
@@ -316,19 +194,6 @@ Retrieve the order book summary for a specific token
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `orderbook` | object | Order book with bids and asks arrays |
|
| `orderbook` | object | Order book with bids and asks arrays |
|
||||||
| ↳ `market` | string | Market identifier |
|
|
||||||
| ↳ `asset_id` | string | Asset token ID |
|
|
||||||
| ↳ `hash` | string | Order book hash |
|
|
||||||
| ↳ `timestamp` | string | Timestamp |
|
|
||||||
| ↳ `bids` | array | Bid orders |
|
|
||||||
| ↳ `price` | string | Bid price |
|
|
||||||
| ↳ `size` | string | Bid size |
|
|
||||||
| ↳ `asks` | array | Ask orders |
|
|
||||||
| ↳ `price` | string | Ask price |
|
|
||||||
| ↳ `size` | string | Ask size |
|
|
||||||
| ↳ `min_order_size` | string | Minimum order size |
|
|
||||||
| ↳ `tick_size` | string | Tick size |
|
|
||||||
| ↳ `neg_risk` | boolean | Whether negative risk |
|
|
||||||
|
|
||||||
### `polymarket_get_price`
|
### `polymarket_get_price`
|
||||||
|
|
||||||
@@ -381,9 +246,7 @@ Retrieve historical price data for a specific market token
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `history` | array | Array of price history entries |
|
| `history` | array | Array of price history entries with timestamp \(t\) and price \(p\) |
|
||||||
| ↳ `t` | number | Unix timestamp |
|
|
||||||
| ↳ `p` | number | Price at timestamp |
|
|
||||||
|
|
||||||
### `polymarket_get_last_trade_price`
|
### `polymarket_get_last_trade_price`
|
||||||
|
|
||||||
@@ -400,7 +263,6 @@ Retrieve the last trade price for a specific token
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `price` | string | Last trade price |
|
| `price` | string | Last trade price |
|
||||||
| `side` | string | Side of the last trade \(BUY or SELL\) |
|
|
||||||
|
|
||||||
### `polymarket_get_spread`
|
### `polymarket_get_spread`
|
||||||
|
|
||||||
@@ -416,8 +278,7 @@ Retrieve the bid-ask spread for a specific token
|
|||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `spread` | object | Spread value between bid and ask |
|
| `spread` | object | Bid-ask spread with bid and ask prices |
|
||||||
| ↳ `spread` | string | The spread value |
|
|
||||||
|
|
||||||
### `polymarket_get_tick_size`
|
### `polymarket_get_tick_size`
|
||||||
|
|
||||||
@@ -444,47 +305,13 @@ Retrieve user positions from Polymarket
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `user` | string | Yes | User wallet address |
|
| `user` | string | Yes | User wallet address |
|
||||||
| `market` | string | No | Condition IDs to filter positions \(comma-separated, mutually exclusive with eventId\) |
|
| `market` | string | No | Optional market ID to filter positions |
|
||||||
| `eventId` | string | No | Event ID to filter positions \(mutually exclusive with market\) |
|
|
||||||
| `sizeThreshold` | string | No | Minimum position size threshold \(default: 1\) |
|
|
||||||
| `redeemable` | string | No | Filter for redeemable positions only \(true/false\) |
|
|
||||||
| `mergeable` | string | No | Filter for mergeable positions only \(true/false\) |
|
|
||||||
| `sortBy` | string | No | Sort field \(TOKENS, CURRENT, INITIAL, CASHPNL, PERCENTPNL, TITLE, RESOLVING, PRICE, AVGPRICE\) |
|
|
||||||
| `sortDirection` | string | No | Sort direction \(ASC or DESC\) |
|
|
||||||
| `title` | string | No | Search filter by title |
|
|
||||||
| `limit` | string | No | Number of results per page |
|
|
||||||
| `offset` | string | No | Pagination offset |
|
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `positions` | array | Array of position objects |
|
| `positions` | array | Array of position objects |
|
||||||
| ↳ `proxyWallet` | string | Proxy wallet address |
|
|
||||||
| ↳ `asset` | string | Asset token ID |
|
|
||||||
| ↳ `conditionId` | string | Condition ID |
|
|
||||||
| ↳ `size` | number | Position size |
|
|
||||||
| ↳ `avgPrice` | number | Average price |
|
|
||||||
| ↳ `initialValue` | number | Initial value |
|
|
||||||
| ↳ `currentValue` | number | Current value |
|
|
||||||
| ↳ `cashPnl` | number | Cash profit/loss |
|
|
||||||
| ↳ `percentPnl` | number | Percent profit/loss |
|
|
||||||
| ↳ `totalBought` | number | Total bought |
|
|
||||||
| ↳ `realizedPnl` | number | Realized profit/loss |
|
|
||||||
| ↳ `percentRealizedPnl` | number | Percent realized profit/loss |
|
|
||||||
| ↳ `curPrice` | number | Current price |
|
|
||||||
| ↳ `redeemable` | boolean | Whether position is redeemable |
|
|
||||||
| ↳ `mergeable` | boolean | Whether position is mergeable |
|
|
||||||
| ↳ `title` | string | Market title |
|
|
||||||
| ↳ `slug` | string | Market slug |
|
|
||||||
| ↳ `icon` | string | Market icon URL |
|
|
||||||
| ↳ `eventSlug` | string | Event slug |
|
|
||||||
| ↳ `outcome` | string | Outcome name |
|
|
||||||
| ↳ `outcomeIndex` | number | Outcome index |
|
|
||||||
| ↳ `oppositeOutcome` | string | Opposite outcome name |
|
|
||||||
| ↳ `oppositeAsset` | string | Opposite asset token ID |
|
|
||||||
| ↳ `endDate` | string | End date |
|
|
||||||
| ↳ `negativeRisk` | boolean | Whether negative risk |
|
|
||||||
|
|
||||||
### `polymarket_get_trades`
|
### `polymarket_get_trades`
|
||||||
|
|
||||||
@@ -495,13 +322,8 @@ Retrieve trade history from Polymarket
|
|||||||
| Parameter | Type | Required | Description |
|
| Parameter | Type | Required | Description |
|
||||||
| --------- | ---- | -------- | ----------- |
|
| --------- | ---- | -------- | ----------- |
|
||||||
| `user` | string | No | User wallet address to filter trades |
|
| `user` | string | No | User wallet address to filter trades |
|
||||||
| `market` | string | No | Market/condition ID to filter trades \(mutually exclusive with eventId\) |
|
| `market` | string | No | Market ID to filter trades |
|
||||||
| `eventId` | string | No | Event ID to filter trades \(mutually exclusive with market\) |
|
| `limit` | string | No | Number of results per page \(max 50\) |
|
||||||
| `side` | string | No | Trade direction filter \(BUY or SELL\) |
|
|
||||||
| `takerOnly` | string | No | Filter for taker trades only \(true/false, default: true\) |
|
|
||||||
| `filterType` | string | No | Filter type \(CASH or TOKENS\) - requires filterAmount |
|
|
||||||
| `filterAmount` | string | No | Filter amount threshold - requires filterType |
|
|
||||||
| `limit` | string | No | Number of results per page \(default: 100, max: 10000\) |
|
|
||||||
| `offset` | string | No | Pagination offset \(skip this many results\) |
|
| `offset` | string | No | Pagination offset \(skip this many results\) |
|
||||||
|
|
||||||
#### Output
|
#### Output
|
||||||
@@ -509,131 +331,5 @@ Retrieve trade history from Polymarket
|
|||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
| --------- | ---- | ----------- |
|
| --------- | ---- | ----------- |
|
||||||
| `trades` | array | Array of trade objects |
|
| `trades` | array | Array of trade objects |
|
||||||
| ↳ `proxyWallet` | string | Proxy wallet address |
|
|
||||||
| ↳ `side` | string | Trade side \(BUY or SELL\) |
|
|
||||||
| ↳ `asset` | string | Asset token ID |
|
|
||||||
| ↳ `conditionId` | string | Condition ID |
|
|
||||||
| ↳ `size` | number | Trade size |
|
|
||||||
| ↳ `price` | number | Trade price |
|
|
||||||
| ↳ `timestamp` | number | Unix timestamp |
|
|
||||||
| ↳ `title` | string | Market title |
|
|
||||||
| ↳ `slug` | string | Market slug |
|
|
||||||
| ↳ `icon` | string | Market icon URL |
|
|
||||||
| ↳ `eventSlug` | string | Event slug |
|
|
||||||
| ↳ `outcome` | string | Outcome name |
|
|
||||||
| ↳ `outcomeIndex` | number | Outcome index |
|
|
||||||
| ↳ `name` | string | Trader name |
|
|
||||||
| ↳ `pseudonym` | string | Trader pseudonym |
|
|
||||||
| ↳ `bio` | string | Trader bio |
|
|
||||||
| ↳ `profileImage` | string | Profile image URL |
|
|
||||||
| ↳ `profileImageOptimized` | string | Optimized profile image URL |
|
|
||||||
| ↳ `transactionHash` | string | Transaction hash |
|
|
||||||
|
|
||||||
### `polymarket_get_activity`
|
|
||||||
|
|
||||||
Retrieve on-chain activity for a user including trades, splits, merges, redemptions, rewards, and conversions
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `user` | string | Yes | User wallet address \(0x-prefixed\) |
|
|
||||||
| `limit` | string | No | Maximum results \(default: 100, max: 500\) |
|
|
||||||
| `offset` | string | No | Pagination offset \(default: 0, max: 10000\) |
|
|
||||||
| `market` | string | No | Comma-separated condition IDs \(mutually exclusive with eventId\) |
|
|
||||||
| `eventId` | string | No | Comma-separated event IDs \(mutually exclusive with market\) |
|
|
||||||
| `type` | string | No | Activity type filter: TRADE, SPLIT, MERGE, REDEEM, REWARD, CONVERSION, MAKER_REBATE |
|
|
||||||
| `start` | number | No | Start timestamp \(Unix seconds\) |
|
|
||||||
| `end` | number | No | End timestamp \(Unix seconds\) |
|
|
||||||
| `sortBy` | string | No | Sort field: TIMESTAMP, TOKENS, or CASH \(default: TIMESTAMP\) |
|
|
||||||
| `sortDirection` | string | No | Sort direction: ASC or DESC \(default: DESC\) |
|
|
||||||
| `side` | string | No | Trade side filter: BUY or SELL \(only applies to trades\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `activity` | array | Array of activity entries |
|
|
||||||
| ↳ `proxyWallet` | string | User proxy wallet address |
|
|
||||||
| ↳ `timestamp` | number | Unix timestamp of activity |
|
|
||||||
| ↳ `conditionId` | string | Market condition ID |
|
|
||||||
| ↳ `type` | string | Activity type \(TRADE, SPLIT, MERGE, REDEEM, REWARD, CONVERSION\) |
|
|
||||||
| ↳ `size` | number | Size in tokens |
|
|
||||||
| ↳ `usdcSize` | number | Size in USDC |
|
|
||||||
| ↳ `transactionHash` | string | Blockchain transaction hash |
|
|
||||||
| ↳ `price` | number | Price \(for trades\) |
|
|
||||||
| ↳ `asset` | string | Asset/token ID |
|
|
||||||
| ↳ `side` | string | Trade side \(BUY/SELL\) |
|
|
||||||
| ↳ `outcomeIndex` | number | Outcome index |
|
|
||||||
| ↳ `title` | string | Market title |
|
|
||||||
| ↳ `slug` | string | Market slug |
|
|
||||||
| ↳ `icon` | string | Market icon URL |
|
|
||||||
| ↳ `eventSlug` | string | Event slug |
|
|
||||||
| ↳ `outcome` | string | Outcome name |
|
|
||||||
| ↳ `name` | string | User display name |
|
|
||||||
| ↳ `pseudonym` | string | User pseudonym |
|
|
||||||
| ↳ `bio` | string | User bio |
|
|
||||||
| ↳ `profileImage` | string | User profile image URL |
|
|
||||||
| ↳ `profileImageOptimized` | string | Optimized profile image URL |
|
|
||||||
|
|
||||||
### `polymarket_get_leaderboard`
|
|
||||||
|
|
||||||
Retrieve trader leaderboard rankings by profit/loss or volume
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `category` | string | No | Category filter: OVERALL, POLITICS, SPORTS, CRYPTO, CULTURE, MENTIONS, WEATHER, ECONOMICS, TECH, FINANCE \(default: OVERALL\) |
|
|
||||||
| `timePeriod` | string | No | Time period: DAY, WEEK, MONTH, ALL \(default: DAY\) |
|
|
||||||
| `orderBy` | string | No | Order by: PNL or VOL \(default: PNL\) |
|
|
||||||
| `limit` | string | No | Number of results \(1-50, default: 25\) |
|
|
||||||
| `offset` | string | No | Pagination offset \(0-1000, default: 0\) |
|
|
||||||
| `user` | string | No | Filter by specific user wallet address |
|
|
||||||
| `userName` | string | No | Filter by username |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `leaderboard` | array | Array of leaderboard entries |
|
|
||||||
| ↳ `rank` | string | Leaderboard rank position |
|
|
||||||
| ↳ `proxyWallet` | string | User proxy wallet address |
|
|
||||||
| ↳ `userName` | string | User display name |
|
|
||||||
| ↳ `vol` | number | Trading volume |
|
|
||||||
| ↳ `pnl` | number | Profit and loss |
|
|
||||||
| ↳ `profileImage` | string | User profile image URL |
|
|
||||||
| ↳ `xUsername` | string | Twitter/X username |
|
|
||||||
| ↳ `verifiedBadge` | boolean | Whether user has verified badge |
|
|
||||||
|
|
||||||
### `polymarket_get_holders`
|
|
||||||
|
|
||||||
Retrieve top holders of a specific market token
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `market` | string | Yes | Comma-separated list of condition IDs |
|
|
||||||
| `limit` | string | No | Number of holders to return \(0-20, default: 20\) |
|
|
||||||
| `minBalance` | string | No | Minimum balance threshold \(default: 1\) |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `holders` | array | Array of market holder groups by token |
|
|
||||||
| ↳ `token` | string | Token/asset ID |
|
|
||||||
| ↳ `holders` | array | Array of holders for this token |
|
|
||||||
| ↳ `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 |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,72 +0,0 @@
|
|||||||
---
|
|
||||||
title: Pulse
|
|
||||||
description: Extract text from documents using Pulse OCR
|
|
||||||
---
|
|
||||||
|
|
||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|
||||||
|
|
||||||
<BlockInfoCard
|
|
||||||
type="pulse"
|
|
||||||
color="#E0E0E0"
|
|
||||||
/>
|
|
||||||
|
|
||||||
{/* MANUAL-CONTENT-START:intro */}
|
|
||||||
The [Pulse](https://www.pulseapi.com/) tool enables seamless extraction of text and structured content from a wide variety of documents—including PDFs, images, and Office files—using state-of-the-art OCR (Optical Character Recognition) powered by Pulse. Designed for automated agentic workflows, Pulse Parser makes it easy to unlock valuable information trapped in unstructured documents and integrate the extracted content directly into your workflow.
|
|
||||||
|
|
||||||
With Pulse, you can:
|
|
||||||
|
|
||||||
- **Extract text from documents**: Quickly convert scanned PDFs, images, and Office documents to usable text, markdown, or JSON.
|
|
||||||
- **Process documents by URL or upload**: Simply provide a file URL or use upload to extract text from local documents or remote resources.
|
|
||||||
- **Flexible output formats**: Choose between markdown, plain text, or JSON representations of the extracted content for downstream processing.
|
|
||||||
- **Selective page processing**: Specify a range of pages to process, reducing processing time and cost when you only need part of a document.
|
|
||||||
- **Figure and table extraction**: Optionally extract figures and tables, with automatic caption and description generation for populated context.
|
|
||||||
- **Get processing insights**: Receive detailed metadata on each job, including file type, page count, processing time, and more.
|
|
||||||
- **Integration-ready responses**: Incorporate extracted content into research, workflow automation, or data analysis pipelines.
|
|
||||||
|
|
||||||
Ideal for automating tedious document review, enabling content summarization, research, and more, Pulse Parser brings real-world documents into the digital workflow era.
|
|
||||||
|
|
||||||
If you need accurate, scalable, and developer-friendly document parsing capabilities—across formats, languages, and layouts—Pulse empowers your agents to read the world.
|
|
||||||
{/* MANUAL-CONTENT-END */}
|
|
||||||
|
|
||||||
|
|
||||||
## Usage Instructions
|
|
||||||
|
|
||||||
Integrate Pulse into the workflow. Extract text from PDF documents, images, and Office files via URL or upload.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Tools
|
|
||||||
|
|
||||||
### `pulse_parser`
|
|
||||||
|
|
||||||
Parse documents (PDF, images, Office docs) using Pulse OCR API
|
|
||||||
|
|
||||||
#### Input
|
|
||||||
|
|
||||||
| Parameter | Type | Required | Description |
|
|
||||||
| --------- | ---- | -------- | ----------- |
|
|
||||||
| `filePath` | string | Yes | URL to a document to be processed |
|
|
||||||
| `fileUpload` | object | No | File upload data from file-upload component |
|
|
||||||
| `pages` | string | No | Page range to process \(1-indexed, e.g., "1-2,5"\) |
|
|
||||||
| `extractFigure` | boolean | No | Enable figure extraction from the document |
|
|
||||||
| `figureDescription` | boolean | No | Generate descriptions/captions for extracted figures |
|
|
||||||
| `returnHtml` | boolean | No | Include HTML in the response |
|
|
||||||
| `chunking` | string | No | Chunking strategies \(comma-separated: semantic, header, page, recursive\) |
|
|
||||||
| `chunkSize` | number | No | Maximum characters per chunk when chunking is enabled |
|
|
||||||
| `apiKey` | string | Yes | Pulse API key |
|
|
||||||
|
|
||||||
#### Output
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ---- | ----------- |
|
|
||||||
| `markdown` | string | Extracted content in markdown format |
|
|
||||||
| `page_count` | number | Number of pages in the document |
|
|
||||||
| `job_id` | string | Unique job identifier |
|
|
||||||
| `bounding_boxes` | json | Bounding box layout information |
|
|
||||||
| `extraction_url` | string | URL for extraction results \(for large documents\) |
|
|
||||||
| `html` | string | HTML content if requested |
|
|
||||||
| `structured_output` | json | Structured output if schema was provided |
|
|
||||||
| `chunks` | json | Chunked content if chunking was enabled |
|
|
||||||
| `figures` | json | Extracted figures if figure extraction was enabled |
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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 |
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user