Compare commits

...

56 Commits

Author SHA1 Message Date
Waleed
3fbd57caf1 v0.5.26: tool fixes, templates and knowledgebase fixes, deployment versions in logs 2025-12-11 00:52:13 -08:00
Waleed
3db8f82449 feat(deployment-version): capture deployment version in log (#2304)
* feat(deployment-version): capture deployment version in log

* improvement: terminal store, logs version, toolbar

---------

Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu>
2025-12-11 00:34:08 -08:00
Waleed
207a14970b fix(dbs): remove harness from validation on user-provided db creds (#2308) 2025-12-11 00:25:48 -08:00
Waleed
0997989f36 fix(x): fix x optional tool params (#2307)
* fix(x): fix x optional tool params

* ack pr comments
2025-12-11 00:09:35 -08:00
Waleed
7fd912d8a9 fix(stagehand): upgraded stagehand sdk to remove deps incomptaible with bun runtime (#2305)
* fix(stagehand): upgraded stagehand sdk to remove deps incomptaible with bun runtime

* ack PR comments
2025-12-10 23:42:33 -08:00
Siddharth Ganesan
c550e4591c fix(condition): fix condition block for no outgoing edge (#2306)
* Fix condition block evaluation

* Lint
2025-12-10 23:24:27 -08:00
Emir Karabeg
a881dc1877 feat(sidebar): scroll to workflow/folder (#2302)
* feat(sidebar): scroll to workflow/folder

* improvement: sidebar scrolling optimizations
2025-12-10 22:08:10 -08:00
Waleed
da36c453b5 feat(i18n): update translations (#2303)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-10 22:07:18 -08:00
Waleed
635823664c fix(tools): fix perplexity & parallel ai tag dropdown inaccuracies (#2300)
* fix(tools): fix perplexity & parallel ai tag dropdown inaccuracies

* fixed stt, tts and added output conditions to conditionally display tag dropdown values based on other subblock values

* updated exa to match latest API
2025-12-10 21:46:31 -08:00
Waleed
14846ab05c feat(i18n): update translations (#2299)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-10 21:16:32 -08:00
Waleed
6c99c841f4 fix(tools): fixed zendesk tools, kb upload failure for md files, stronger typing (#2297)
* fix(tools): fixed zendesk tools, kb upload failure for md files, stronger typing

* ack PR comments
2025-12-10 20:42:16 -08:00
Waleed
37d7902fcd fix(dashboard): prevent dashboard from getting unmounted when on the logs page (#2298) 2025-12-10 20:41:26 -08:00
Emir Karabeg
1e563b1e0a fix(ui/ux): templates and knowledge pages (#2296) 2025-12-10 19:56:23 -08:00
Vikhyath Mondreti
b5da61377c v0.5.25: minor ui improvements, copilot billing fix 2025-12-10 18:32:27 -08:00
Vikhyath Mondreti
1d62ece915 fix(billing): copilot should directly deduct credit balance (#2294) 2025-12-10 18:25:36 -08:00
Emir Karabeg
bbab2ff732 improvement(ui/ux): small styling improvements (#2293)
* improvement: action-bar duplicate, copilot header name truncating, dashboard table scrolling

* improvement: workflow block handle positioning

* improvement: copilot notification fix message

* improvement: dashboard layout, popover hovering

* fix: filtering table into row, workflow name truncating
2025-12-10 17:20:59 -08:00
Waleed
18b7032494 v0.5.24: agent tool and UX improvements, redis service overhaul (#2291)
* feat(folders): add the ability to create a folder within a folder in popover (#2287)

* fix(agent): filter out empty params to ensure LLM can set tool params at runtime (#2288)

* fix(mcp): added backfill effect to add missing descriptions for mcp tools (#2290)

* fix(redis): cleanup access pattern across callsites (#2289)

* fix(redis): cleanup access pattern across callsites

* swap redis command to be non blocking

* improvement(log-details): polling, trace spans (#2292)

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
2025-12-10 13:09:21 -08:00
Emir Karabeg
76bc2fae83 improvement(log-details): polling, trace spans (#2292) 2025-12-10 13:08:24 -08:00
Vikhyath Mondreti
1cfe229056 fix(redis): cleanup access pattern across callsites (#2289)
* fix(redis): cleanup access pattern across callsites

* swap redis command to be non blocking
2025-12-10 12:37:33 -08:00
Waleed
6791d968b8 fix(mcp): added backfill effect to add missing descriptions for mcp tools (#2290) 2025-12-10 11:57:18 -08:00
Waleed
163db5cf50 fix(agent): filter out empty params to ensure LLM can set tool params at runtime (#2288) 2025-12-10 11:38:54 -08:00
Waleed
bbbb13af7e feat(folders): add the ability to create a folder within a folder in popover (#2287) 2025-12-10 11:19:57 -08:00
Waleed
b7bbef8620 v0.5.23: kb, logs, general ui improvements, token bucket rate limits, docs, mcp, autolayout improvements (#2286)
* fix(mcp): prevent redundant MCP server discovery calls at runtime, use cached tool schema instead (#2273)

* fix(mcp): prevent redundant MCP server discovery calls at runtime, use cached tool schema instead

* added backfill, added loading state for tools in settings > mcp

* fix tool inp

* feat(rate-limiter): token bucket algorithm  (#2270)

* fix(ratelimit): make deployed chat rate limited

* improvement(rate-limiter): use token bucket algo

* update docs

* fix

* fix type

* fix db rate limiter

* address greptile comments

* feat(i18n): update translations (#2275)

Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>

* fix(tools): updated kalshi and polymarket tools to accurately reflect outputs (#2274)

* feat(i18n): update translations (#2276)

Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>

* fix(autolayout): align by handle (#2277)

* fix(autolayout): align by handle

* use shared constants everywhere

* cleanup

* fix(copilot): fix custom tools (#2278)

* Fix title custom tool

* Checkpoitn (broken)

* Fix custom tool flash

* Edit workflow returns null fix

* Works

* Fix lint

* fix(ime): prevent form submission during IME composition steps (#2279)

* fix(ui): prevent form submission during IME composition steps

* chore(gitignore): add IntelliJ IDE files to .gitignore

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Waleed <walif6@gmail.com>
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>

* feat(ui): logs, kb, emcn (#2207)

* feat(kb): emcn alignment; sidebar: popover primary; settings-modal: expand

* feat: EMCN breadcrumb; improvement(KB): UI

* fix: hydration error

* improvement(KB): UI

* feat: emcn modal sizing, KB tags; refactor: deleted old sidebar

* feat(logs): UI

* fix: add documents modal name

* feat: logs, emcn, cursorrules; refactor: logs

* feat: dashboard

* feat: notifications; improvement: logs details

* fixed random rectangle on canvas

* fixed the name of the file to align

* fix build

---------

Co-authored-by: waleed <walif6@gmail.com>

* fix(creds): glitch allowing multiple credentials in an integration (#2282)

* improvement: custom tools modal, logs-details (#2283)

* fix(docs): fix copy page button and header hook (#2284)

* improvement(chat): add the ability to download files from the deployed chat (#2280)

* added teams download and chat download file

* Removed comments

* removed comments

* component structure and download all

* removed comments

* cleanup code

* fix empty files case

* small fix

* fix(container): resize heuristic improvement (#2285)

* estimate block height for resize based on subblocks

* fix hydration error

* make more conservative

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
Co-authored-by: Siddharth Ganesan <33737564+Sg312@users.noreply.github.com>
Co-authored-by: mosa <mosaxiv@gmail.com>
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
Co-authored-by: Adam Gough <77861281+aadamgough@users.noreply.github.com>
2025-12-10 00:57:58 -08:00
Vikhyath Mondreti
6fd4087a79 fix(container): resize heuristic improvement (#2285)
* estimate block height for resize based on subblocks

* fix hydration error

* make more conservative
2025-12-10 00:20:03 -08:00
Adam Gough
cb6e763714 improvement(chat): add the ability to download files from the deployed chat (#2280)
* added teams download and chat download file

* Removed comments

* removed comments

* component structure and download all

* removed comments

* cleanup code

* fix empty files case

* small fix
2025-12-09 22:08:03 -08:00
Waleed
d06b360b1d fix(docs): fix copy page button and header hook (#2284) 2025-12-09 21:58:54 -08:00
Emir Karabeg
0713580862 improvement: custom tools modal, logs-details (#2283) 2025-12-09 21:50:09 -08:00
Vikhyath Mondreti
f421f27d3f fix(creds): glitch allowing multiple credentials in an integration (#2282) 2025-12-09 21:07:14 -08:00
Emir Karabeg
0083c89fa5 feat(ui): logs, kb, emcn (#2207)
* feat(kb): emcn alignment; sidebar: popover primary; settings-modal: expand

* feat: EMCN breadcrumb; improvement(KB): UI

* fix: hydration error

* improvement(KB): UI

* feat: emcn modal sizing, KB tags; refactor: deleted old sidebar

* feat(logs): UI

* fix: add documents modal name

* feat: logs, emcn, cursorrules; refactor: logs

* feat: dashboard

* feat: notifications; improvement: logs details

* fixed random rectangle on canvas

* fixed the name of the file to align

* fix build

---------

Co-authored-by: waleed <walif6@gmail.com>
2025-12-09 20:50:28 -08:00
mosa
3cec449402 fix(ime): prevent form submission during IME composition steps (#2279)
* fix(ui): prevent form submission during IME composition steps

* chore(gitignore): add IntelliJ IDE files to .gitignore

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Waleed <walif6@gmail.com>
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-09 19:58:33 -08:00
Siddharth Ganesan
c5b3fcb181 fix(copilot): fix custom tools (#2278)
* Fix title custom tool

* Checkpoitn (broken)

* Fix custom tool flash

* Edit workflow returns null fix

* Works

* Fix lint
2025-12-09 17:42:17 -08:00
Vikhyath Mondreti
dd7db6e144 fix(autolayout): align by handle (#2277)
* fix(autolayout): align by handle

* use shared constants everywhere

* cleanup
2025-12-09 16:28:25 -08:00
Waleed
306043eedb feat(i18n): update translations (#2276)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-09 16:20:43 -08:00
Waleed
569598b39e fix(tools): updated kalshi and polymarket tools to accurately reflect outputs (#2274) 2025-12-09 15:35:36 -08:00
Waleed
cc66aa5a3e feat(i18n): update translations (#2275)
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
2025-12-09 15:25:03 -08:00
Vikhyath Mondreti
aea32d423f feat(rate-limiter): token bucket algorithm (#2270)
* fix(ratelimit): make deployed chat rate limited

* improvement(rate-limiter): use token bucket algo

* update docs

* fix

* fix type

* fix db rate limiter

* address greptile comments
2025-12-09 14:57:17 -08:00
Waleed
22abf98835 fix(mcp): prevent redundant MCP server discovery calls at runtime, use cached tool schema instead (#2273)
* fix(mcp): prevent redundant MCP server discovery calls at runtime, use cached tool schema instead

* added backfill, added loading state for tools in settings > mcp

* fix tool inp
2025-12-09 12:44:53 -08:00
Waleed
52edbea659 v0.5.22: rss feed trigger, sftp tool, billing fixes, 413 surfacing, copilot improvements 2025-12-09 10:27:36 -08:00
Waleed
aa1d896b38 feat(i18n): update translations (#2268)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-09 00:46:09 -08:00
Waleed
2fcd07e82d feat(triggers): added rss feed trigger & poller (#2267) 2025-12-08 23:07:07 -08:00
Vikhyath Mondreti
0db5ba1b27 fix(org-limits): remove fallbacks for enterprise plan (#2255)
* fix(org-limits): remove fallbacks for enterprise plan

* remove comment

* remove comments

* make logger use new helper
2025-12-08 21:43:43 -08:00
Waleed
e390ba0491 feat(dropdowns): added searchbox to the operation dropdown for all blocks (#2266) 2025-12-08 20:54:59 -08:00
Vikhyath Mondreti
2f0509adaf fix(nextjs-size-limit): surface 413s accurately (#2265)
* fix(api-call-size-limit): cannot exceed nextjs size limits

* fix

* Convert to buffer

---------

Co-authored-by: Siddharth Ganesan <siddharthganesan@gmail.com>
2025-12-08 20:54:25 -08:00
Waleed
9f0584a818 feat(redis): added redis option for rate limiter, 10x speed improvement in rate limit checks & reduction of DB load (#2263)
* feat(redis): added redis option for rate limiter, 10x speed improvement in rate limit checks & reduction of DB load

* ack PR comments

* improvements
2025-12-08 20:39:29 -08:00
Siddharth Ganesan
6b4d76298f fix(custom-tools, copilot): custom tools state + copilot fixes (#2264)
* Workspace env vars

* Fix execution animation on copilot run

* Custom tools toolg

* Custom tools

* Fix custom tool

* remove extra fallback

* Fix lint
2025-12-08 20:14:49 -08:00
Vikhyath Mondreti
b7a1e8f5cf fix(pre-proc-checks): deployed checks should precede cost/ratelimit increments" (#2250) 2025-12-08 20:04:21 -08:00
Waleed
3ce2788562 feat(i18n): update translations (#2262)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-08 19:40:42 -08:00
Waleed
17a084cd61 feat(copilot): updated copilot keys to have names, full parity with API keys page (#2260) 2025-12-08 19:28:40 -08:00
Waleed
dafd2f5ce8 feat(tools): added sftp tool to accompany smtp and ssh tools (#2261) 2025-12-08 19:21:10 -08:00
Waleed
5af67d08ba feat(i18n): update translations (#2259)
* feat(i18n): update translations

* fix chinese page

---------

Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-08 17:58:49 -08:00
Waleed
209b0f1906 feat(tools): added duckduckgo (#2258) 2025-12-08 17:34:18 -08:00
Waleed
e067b584ee feat(admin): updated admin routes to consolidate duplicate behavior (#2257)
* feat(admin): updated admin routes to consolidate duplicate behavior

* ack PR comments
2025-12-08 17:29:55 -08:00
Waleed
87084edbe6 fix(timeouts): increased timeouts for function execution & agent (#2256) 2025-12-08 16:25:58 -08:00
Vikhyath Mondreti
99e0b81233 improvement(org): remove dead seats get endpoint (#2247)
* improvement(org): remove dead seats get endpoint

* remove more dead code

* remove fallback limit
2025-12-08 15:38:08 -08:00
Vikhyath Mondreti
d480057fd3 fix(migration): migration got removed by force push (#2253) 2025-12-08 14:08:12 -08:00
Vikhyath Mondreti
c197b04bcc fix(migration): migration got removed by force push (#2253) 2025-12-08 14:07:03 -08:00
668 changed files with 58741 additions and 25923 deletions

View File

@@ -0,0 +1,45 @@
---
description: EMCN component library patterns with CVA
globs: ["apps/sim/components/emcn/**"]
---
# EMCN Component Guidelines
## When to Use CVA vs Direct Styles
**Use CVA (class-variance-authority) when:**
- 2+ visual variants (primary, secondary, outline)
- Multiple sizes or state variations
- Example: Button with variants
**Use direct className when:**
- Single consistent style
- No variations needed
- Example: Label with one style
## Patterns
**With CVA:**
```tsx
const buttonVariants = cva('base-classes', {
variants: {
variant: { default: '...', primary: '...' },
size: { sm: '...', md: '...' }
}
})
export { Button, buttonVariants }
```
**Without CVA:**
```tsx
function Label({ className, ...props }) {
return <Primitive className={cn('single-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]`
- Always use `transition-colors` for hover states

20
.cursor/rules/global.mdc Normal file
View File

@@ -0,0 +1,20 @@
---
description: Global coding standards that apply to all files
alwaysApply: true
---
# Global Standards
You are a professional software engineer. All code must follow best practices: accurate, readable, clean, and efficient.
## Logging
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`.

View File

@@ -0,0 +1,67 @@
---
description: Core architecture principles for the Sim app
globs: ["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
5. **Performance by Default**: useMemo, useCallback, refs appropriately
## File Organization
```
feature/
├── components/ # Feature components
│ └── sub-feature/ # Sub-feature with own components
├── hooks/ # Custom hooks
└── feature.tsx # Main component
```
## Naming Conventions
- **Components**: PascalCase (`WorkflowList`, `TriggerPanel`)
- **Hooks**: camelCase with `use` prefix (`useWorkflowOperations`)
- **Files**: kebab-case matching export (`workflow-list.tsx`)
- **Stores**: kebab-case in stores/ (`sidebar/store.ts`)
- **Constants**: SCREAMING_SNAKE_CASE
- **Interfaces**: PascalCase with suffix (`WorkflowListProps`)
## State Management
**useState**: UI-only concerns (dropdown open, hover, form inputs)
**Zustand**: Shared state, persistence, global app state
**useRef**: DOM refs, avoiding dependency issues, mutable non-reactive values
## Component Extraction
**Extract to separate file when:**
- Complex (50+ lines)
- Used across 2+ files
- Has own state/logic
**Keep inline when:**
- Simple (< 10 lines)
- Used in only 1 file
- Purely presentational
**Never import utilities from another component file.** Extract shared helpers to `lib/` or `utils/`.
## Utils Files
**Never create a `utils.ts` file for a single consumer.** Inline the logic directly in the consuming component.
**Create `utils.ts` when:**
- 2+ files import the same helper
**Prefer existing sources of truth:**
- Before duplicating logic, check if a centralized helper already exists (e.g., `lib/logs/get-trigger-options.ts`)
- Import from the source of truth rather than creating wrapper functions
**Location hierarchy:**
- `lib/` — App-wide utilities (auth, billing, core)
- `feature/utils.ts` — Feature-scoped utilities (used by 2+ components in the feature)
- Inline — Single-use helpers (define directly in the component)

View File

@@ -0,0 +1,64 @@
---
description: Component patterns and structure for React components
globs: ["apps/sim/**/*.tsx"]
---
# Component Patterns
## Structure Order
```typescript
'use client' // Only if using hooks
// 1. Imports (external → internal → relative)
// 2. Constants at module level
const CONFIG = { SPACING: 8 } as const
// 3. Props interface with TSDoc
interface ComponentProps {
/** Description */
requiredProp: string
optionalProp?: boolean
}
// 4. Component with TSDoc
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 computations
// g. useCallback handlers
// h. useEffect
// i. Return JSX
}
```
## Rules
1. Add `'use client'` when using React hooks
2. Always define props interface
3. TSDoc on component: description, @param, @returns
4. Extract constants with `as const`
5. Use Tailwind only, no inline styles
6. Semantic HTML (`aside`, `nav`, `article`)
7. Include ARIA attributes where appropriate
8. Optional chain callbacks: `onAction?.(id)`
## Factory Pattern with Caching
When generating components for a specific signature (e.g., icons):
```typescript
const cache = new Map<string, React.ComponentType<{ className?: string }>>()
function getColorIcon(color: string) {
if (cache.has(color)) return cache.get(color)!
const Icon = ({ className }: { className?: string }) => (
<div className={cn(className, 'rounded-[3px]')} style={{ backgroundColor: color, width: 10, height: 10 }} />
)
Icon.displayName = `ColorIcon(${color})`
cache.set(color, Icon)
return Icon
}
```

View File

@@ -0,0 +1,68 @@
---
description: Custom hook patterns and best practices
globs: ["apps/sim/**/use-*.ts", "apps/sim/**/hooks/**/*.ts"]
---
# Hook Patterns
## Structure
```typescript
import { createLogger } from '@/lib/logs/console/logger'
const logger = createLogger('useFeatureName')
interface UseFeatureProps {
id: string
onSuccess?: (result: Result) => void
}
/**
* Hook description.
* @param props - Configuration
* @returns State and operations
*/
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)
const [error, setError] = useState<Error | null>(null)
// 3. Sync refs
useEffect(() => {
idRef.current = id
onSuccessRef.current = onSuccess
}, [id, onSuccess])
// 4. Operations with useCallback
const fetchData = useCallback(async () => {
setIsLoading(true)
try {
const result = await fetch(`/api/${idRef.current}`).then(r => r.json())
setData(result)
onSuccessRef.current?.(result)
} catch (err) {
setError(err as Error)
logger.error('Failed', { error: err })
} finally {
setIsLoading(false)
}
}, []) // Empty deps - using refs
// 5. Return grouped by state/operations
return { data, isLoading, error, fetchData }
}
```
## Rules
1. Single responsibility per hook
2. Props interface required
3. TSDoc required
4. Use logger, not console.log
5. Refs for stable callback dependencies
6. Wrap returned functions in useCallback
7. Always try/catch async operations
8. Track loading/error states

View File

@@ -0,0 +1,37 @@
---
description: Import patterns for the Sim application
globs: ["apps/sim/**/*.ts", "apps/sim/**/*.tsx"]
---
# Import Patterns
## EMCN Components
Import from `@/components/emcn`, never from subpaths like `@/components/emcn/components/modal/modal`.
**Exception**: CSS imports use actual file paths: `import '@/components/emcn/components/code/code.css'`
## Feature Components
Import from central folder indexes, not specific subfolders:
```typescript
// ✅ Correct
import { Dashboard, Sidebar } from '@/app/workspace/[workspaceId]/logs/components'
// ❌ Wrong
import { Dashboard } from '@/app/workspace/[workspaceId]/logs/components/dashboard'
```
## Internal vs External
- **Cross-feature**: Absolute paths through central index
- **Within feature**: Relative paths (`./components/...`, `../utils`)
## Import Order
1. React/core libraries
2. External libraries
3. UI components (`@/components/emcn`, `@/components/ui`)
4. Utilities (`@/lib/...`)
5. Feature imports from indexes
6. Relative imports
7. CSS imports
## Types
Use `type` keyword: `import type { WorkflowLog } from '...'`

View File

@@ -0,0 +1,57 @@
---
description: Zustand store patterns
globs: ["apps/sim/**/store.ts", "apps/sim/**/stores/**/*.ts"]
---
# Zustand Store Patterns
## Structure
```typescript
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
interface FeatureState {
// State
items: Item[]
activeId: string | null
// Actions
setItems: (items: Item[]) => void
addItem: (item: Item) => void
clearState: () => void
}
const createInitialState = () => ({
items: [],
activeId: null,
})
export const useFeatureStore = create<FeatureState>()(
persist(
(set) => ({
...createInitialState(),
setItems: (items) => set({ items }),
addItem: (item) => set((state) => ({
items: [...state.items, item],
})),
clearState: () => set(createInitialState()),
}),
{
name: 'feature-state',
partialize: (state) => ({ items: state.items }),
}
)
)
```
## Rules
1. Interface includes state and actions
2. Extract config to module constants
3. TSDoc on store
4. Only persist what's needed
5. Immutable updates only - never mutate
6. Use `set((state) => ...)` when depending on previous state
7. Provide clear/reset actions

View File

@@ -0,0 +1,47 @@
---
description: Tailwind CSS and styling conventions
globs: ["apps/sim/**/*.tsx", "apps/sim/**/*.css"]
---
# Styling Rules
## Tailwind
1. **No inline styles** - Use Tailwind classes exclusively
2. **No duplicate dark classes** - Don't add `dark:` when value matches light mode
3. **Exact values** - Use design system values (`text-[14px]`, `h-[25px]`)
4. **Prefer px** - Use `px-[4px]` over `px-1`
5. **Transitions** - Add `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 Styles
```typescript
// In store setter
setSidebarWidth: (width) => {
set({ sidebarWidth: width })
document.documentElement.style.setProperty('--sidebar-width', `${width}px`)
}
// In component
<aside style={{ width: 'var(--sidebar-width)' }} />
```
## Anti-Patterns
```typescript
// ❌ Bad
<div style={{ width: 200 }}>
<div className='text-[var(--text-primary)] dark:text-[var(--text-primary)]'>
// ✅ Good
<div className='w-[200px]'>
<div className='text-[var(--text-primary)]'>
```

View File

@@ -0,0 +1,24 @@
---
description: TypeScript conventions and type safety
globs: ["apps/sim/**/*.ts", "apps/sim/**/*.tsx"]
---
# TypeScript Rules
1. **No `any`** - Use proper types or `unknown` with type guards
2. **Props interface** - Always define, even for simple components
3. **Callback types** - Full signature with params and return type
4. **Generics** - Use for reusable components/hooks
5. **Const assertions** - `as const` for constant objects/arrays
6. **Ref types** - Explicit: `useRef<HTMLDivElement>(null)`
## Anti-Patterns
```typescript
// ❌ Bad
const handleClick = (e: any) => {}
useEffect(() => { doSomething(prop) }, []) // Missing dep
// ✅ Good
const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {}
useEffect(() => { doSomething(prop) }, [prop])
```

View File

@@ -1,19 +0,0 @@
# Role
You are a professional software engineer. All code you write MUST follow best practices, ensuring accuracy, quality, readability, and cleanliness. You MUST make FOCUSED EDITS that are EFFICIENT and ELEGANT.
## Logs
ENSURE that you use the logger.info and logger.warn and logger.error instead of the console.log whenever you want to display logs.
## Comments
You must use TSDOC for comments. Do not use ==== for comments to separate sections. Do not leave any comments that are not TSDOC.
## Globals styles
You should not update the global styles unless it is absolutely necessary. Keep all styling local to components and files.
## Bun
Use bun and bunx not npm and npx

3
.gitignore vendored
View File

@@ -67,6 +67,9 @@ start-collector.sh
# VSCode
.vscode
# IntelliJ
.idea
## Helm Chart Tests
helm/sim/test
i18n.cache

47
CLAUDE.md Normal file
View File

@@ -0,0 +1,47 @@
# Expert Programming Standards
**You are tasked with implementing solutions that follow best practices. You MUST be accurate, elegant, and efficient as an expert programmer.**
---
# Role
You are a professional software engineer. All code you write MUST follow best practices, ensuring accuracy, quality, readability, and cleanliness. You MUST make FOCUSED EDITS that are EFFICIENT and ELEGANT.
## Logs
ENSURE that you use the logger.info and logger.warn and logger.error instead of the console.log whenever you want to display logs.
## Comments
You must use TSDOC for comments. Do not use ==== for comments to separate sections. Do not leave any comments that are not TSDOC.
## Global Styles
You should not update the global styles unless it is absolutely necessary. Keep all styling local to components and files.
## Bun
Use bun and bunx not npm and npx.
## Code Quality
- Write clean, maintainable code that follows the project's existing patterns
- Prefer composition over inheritance
- Keep functions small and focused on a single responsibility
- Use meaningful variable and function names
- Handle errors gracefully and provide useful error messages
- Write type-safe code with proper TypeScript types
## Testing
- Write tests for new functionality when appropriate
- Ensure existing tests pass before completing work
- Follow the project's testing conventions
## Performance
- Consider performance implications of your code
- Avoid unnecessary re-renders in React components
- Use appropriate data structures and algorithms
- Profile and optimize when necessary

View File

@@ -6,9 +6,10 @@ import Link from 'next/link'
import { notFound } from 'next/navigation'
import { PageNavigationArrows } from '@/components/docs-layout/page-navigation-arrows'
import { TOCFooter } from '@/components/docs-layout/toc-footer'
import { LLMCopyButton } from '@/components/page-actions'
import { StructuredData } from '@/components/structured-data'
import { CodeBlock } from '@/components/ui/code-block'
import { CopyPageButton } from '@/components/ui/copy-page-button'
import { Heading } from '@/components/ui/heading'
import { source } from '@/lib/source'
export default async function Page(props: { params: Promise<{ slug?: string[]; lang: string }> }) {
@@ -202,7 +203,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
<div className='relative mt-6 sm:mt-0'>
<div className='absolute top-1 right-0 flex items-center gap-2'>
<div className='hidden sm:flex'>
<CopyPageButton markdownUrl={`${page.url}.mdx`} />
<LLMCopyButton markdownUrl={`${page.url}.mdx`} />
</div>
<PageNavigationArrows previous={neighbours?.previous} next={neighbours?.next} />
</div>
@@ -214,6 +215,12 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
components={{
...defaultMdxComponents,
CodeBlock,
h1: (props) => <Heading as='h1' {...props} />,
h2: (props) => <Heading as='h2' {...props} />,
h3: (props) => <Heading as='h3' {...props} />,
h4: (props) => <Heading as='h4' {...props} />,
h5: (props) => <Heading as='h5' {...props} />,
h6: (props) => <Heading as='h6' {...props} />,
}}
/>
</DocsBody>

View File

@@ -2,6 +2,12 @@
@import "fumadocs-ui/css/neutral.css";
@import "fumadocs-ui/css/preset.css";
/* Prevent overscroll bounce effect on the page */
html,
body {
overscroll-behavior: none;
}
@theme {
--color-fd-primary: #802fff; /* Purple from control-bar component */
--font-geist-sans: var(--font-geist-sans);

View File

@@ -1,5 +1,6 @@
import { notFound } from 'next/navigation'
import { type NextRequest, NextResponse } from 'next/server'
import { i18n } from '@/lib/i18n'
import { getLLMText } from '@/lib/llms'
import { source } from '@/lib/source'
@@ -7,7 +8,16 @@ export const revalidate = false
export async function GET(_req: NextRequest, { params }: { params: Promise<{ slug?: string[] }> }) {
const { slug } = await params
const page = source.getPage(slug)
let lang: (typeof i18n.languages)[number] = i18n.defaultLanguage
let pageSlug = slug
if (slug && slug.length > 0 && i18n.languages.includes(slug[0] as typeof lang)) {
lang = slug[0] as typeof lang
pageSlug = slug.slice(1)
}
const page = source.getPage(pageSlug, lang)
if (!page) notFound()
return new NextResponse(await getLLMText(page), {

View File

@@ -3798,6 +3798,23 @@ export function SshIcon(props: SVGProps<SVGSVGElement>) {
)
}
export function SftpIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 32 32'
width='32px'
height='32px'
>
<path
d='M 6 3 L 6 29 L 26 29 L 26 9.59375 L 25.71875 9.28125 L 19.71875 3.28125 L 19.40625 3 Z M 8 5 L 18 5 L 18 11 L 24 11 L 24 27 L 8 27 Z M 20 6.4375 L 22.5625 9 L 20 9 Z'
fill='currentColor'
/>
</svg>
)
}
export function ApifyIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
@@ -4129,3 +4146,56 @@ export function CursorIcon(props: SVGProps<SVGSVGElement>) {
</svg>
)
}
export function DuckDuckGoIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='-108 -108 216 216'>
<circle r='108' fill='#d53' />
<circle r='96' fill='none' stroke='#ffffff' strokeWidth={7} />
<path
d='M-32-55C-62-48-51-6-51-6l19 93 7 3M-39-73h-8l11 4s-11 0-11 7c24-1 35 5 35 5'
fill='#ddd'
/>
<path d='M25 95S1 57 1 32c0-47 31-7 31-44S1-58 1-58c-15-19-44-15-44-15l7 4s-7 2-9 4 19-3 28 5c-37 3-31 33-31 33l21 120' />
<path d='M25-1l38-10c34 5-29 24-33 23C0 7 9 32 45 24s9 20-24 9C-26 20-1-3 25-1' fill='#fc0' />
<path
d='M15 78l2-3c22 8 23 11 22-9s0-20-23-3c0-5-13-3-15 0-21-9-23-12-22 2 2 29 1 24 21 14'
fill='#6b5'
/>
<path d='M-1 67v12c1 2 17 2 17-2s-8 3-13 1-2-13-2-13' fill='#4a4' />
<path
d='M-23-32c-5-6-18-1-15 7 1-4 8-10 15-7m32 0c1-6 11-7 14-1-4-2-10-2-14 1m-33 16a2 2 0 1 1 0 1m-8 3a7 7 0 1 0 0-1m52-6a2 2 0 1 1 0 1m-6 3a6 6 0 1 0 0-1'
fill='#148'
/>
</svg>
)
}
export function RssIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
width='24'
height='24'
viewBox='0 0 24 24'
fill='none'
xmlns='http://www.w3.org/2000/svg'
>
<path
d='M4 11C6.38695 11 8.67613 11.9482 10.364 13.636C12.0518 15.3239 13 17.6131 13 20'
stroke='currentColor'
strokeWidth='2'
strokeLinecap='round'
strokeLinejoin='round'
/>
<path
d='M4 4C8.24346 4 12.3131 5.68571 15.3137 8.68629C18.3143 11.6869 20 15.7565 20 20'
stroke='currentColor'
strokeWidth='2'
strokeLinecap='round'
strokeLinejoin='round'
/>
<circle cx='5' cy='19' r='1' fill='currentColor' />
</svg>
)
}

View File

@@ -1,55 +1,50 @@
'use client'
import { useState } from 'react'
import { useCopyButton } from 'fumadocs-ui/utils/use-copy-button'
import { Check, Copy } from 'lucide-react'
const cache = new Map<string, string>()
interface CopyPageButtonProps {
export function LLMCopyButton({
markdownUrl,
}: {
/**
* A URL to fetch the raw Markdown/MDX content of page
*/
markdownUrl: string
}
export function CopyPageButton({ markdownUrl }: CopyPageButtonProps) {
const [copied, setCopied] = useState(false)
}) {
const [isLoading, setLoading] = useState(false)
const handleCopy = async () => {
const [checked, onClick] = useCopyButton(async () => {
const cached = cache.get(markdownUrl)
if (cached) {
await navigator.clipboard.writeText(cached)
setCopied(true)
setTimeout(() => setCopied(false), 2000)
return
}
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
}),
}),
])
setCopied(true)
setTimeout(() => setCopied(false), 2000)
} catch (err) {
console.error('Failed to copy:', err)
} finally {
setLoading(false)
}
}
})
return (
<button
disabled={isLoading}
onClick={handleCopy}
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'
aria-label={copied ? 'Copied to clipboard' : 'Copy page content'}
aria-label={checked ? 'Copied to clipboard' : 'Copy page content'}
>
{copied ? (
{checked ? (
<>
<Check className='h-3.5 w-3.5' />
<span>Copied</span>

View File

@@ -0,0 +1,58 @@
'use client'
import { type ComponentPropsWithoutRef, useState } from 'react'
import { Check, Link } from 'lucide-react'
import { cn } from '@/lib/utils'
type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
interface HeadingProps extends ComponentPropsWithoutRef<'h1'> {
as?: HeadingTag
}
export function Heading({ as, className, ...props }: HeadingProps) {
const [copied, setCopied] = useState(false)
const As = as ?? 'h1'
if (!props.id) {
return <As className={className} {...props} />
}
const handleClick = async (e: React.MouseEvent) => {
e.preventDefault()
const url = `${window.location.origin}${window.location.pathname}#${props.id}`
try {
await navigator.clipboard.writeText(url)
setCopied(true)
// Update URL hash without scrolling
window.history.pushState(null, '', `#${props.id}`)
setTimeout(() => setCopied(false), 2000)
} catch {
// Fallback: just navigate to the anchor
window.location.hash = props.id as string
}
}
return (
<As className={cn('group flex scroll-m-28 flex-row items-center gap-2', className)} {...props}>
<a data-card='' href={`#${props.id}`} className='peer' onClick={handleClick}>
{props.children}
</a>
{copied ? (
<Check
aria-hidden
className='size-3.5 shrink-0 text-green-500 opacity-100 transition-opacity'
/>
) : (
<Link
aria-hidden
className='size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 peer-hover:opacity-100'
/>
)}
</As>
)
}

View File

@@ -20,6 +20,7 @@ import {
DiscordIcon,
DocumentIcon,
DropboxIcon,
DuckDuckGoIcon,
DynamoDBIcon,
ElasticsearchIcon,
ElevenLabsIcon,
@@ -85,6 +86,7 @@ import {
SendgridIcon,
SentryIcon,
SerperIcon,
SftpIcon,
ShopifyIcon,
SlackIcon,
SmtpIcon,
@@ -147,6 +149,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
slack: SlackIcon,
shopify: ShopifyIcon,
sharepoint: MicrosoftSharepointIcon,
sftp: SftpIcon,
serper: SerperIcon,
sentry: SentryIcon,
sendgrid: SendgridIcon,
@@ -212,6 +215,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
elevenlabs: ElevenLabsIcon,
elasticsearch: ElasticsearchIcon,
dynamodb: DynamoDBIcon,
duckduckgo: DuckDuckGoIcon,
dropbox: DropboxIcon,
discord: DiscordIcon,
datadog: DatadogIcon,

View File

@@ -27,14 +27,16 @@ Alle API-Antworten enthalten Informationen über Ihre Workflow-Ausführungslimit
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60, // Max sync workflow executions per minute
"remaining": 58, // Remaining sync workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 60, // Sustained rate limit per minute
"maxBurst": 120, // Maximum burst capacity
"remaining": 118, // Current tokens available (up to maxBurst)
"resetAt": "..." // When tokens next refill
},
"async": {
"limit": 60, // Max async workflow executions per minute
"remaining": 59, // Remaining async workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 200, // Sustained rate limit per minute
"maxBurst": 400, // Maximum burst capacity
"remaining": 398, // Current tokens available
"resetAt": "..." // When tokens next refill
}
},
"usage": {
@@ -46,7 +48,7 @@ Alle API-Antworten enthalten Informationen über Ihre Workflow-Ausführungslimit
}
```
**Hinweis:** Die Ratenbegrenzungen in der Antwort beziehen sich auf Workflow-Ausführungen. Die Ratenbegrenzungen für den Aufruf dieses API-Endpunkts befinden sich in den Antwort-Headern (`X-RateLimit-*`).
**Hinweis:** Ratenbegrenzungen verwenden einen Token-Bucket-Algorithmus. `remaining` kann `requestsPerMinute` bis zu `maxBurst` überschreiten, wenn du dein volles Kontingent in letzter Zeit nicht genutzt hast, was Burst-Traffic ermöglicht. Die Ratenbegrenzungen im Antworttext gelten für Workflow-Ausführungen. Die Ratenbegrenzungen für den Aufruf dieses API-Endpunkts befinden sich in den Antwort-Headern (`X-RateLimit-*`).
### Logs abfragen
@@ -110,13 +112,15 @@ Fragen Sie Workflow-Ausführungsprotokolle mit umfangreichen Filteroptionen ab.
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -190,13 +194,15 @@ Rufen Sie detaillierte Informationen zu einem bestimmten Logeintrag ab.
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -482,19 +488,27 @@ Fehlgeschlagene Webhook-Zustellungen werden mit exponentiellem Backoff und Jitte
## Rate-Limiting
Die API implementiert Rate-Limiting, um eine faire Nutzung zu gewährleisten:
Die API verwendet einen **Token-Bucket-Algorithmus** für die Ratenbegrenzung, der eine faire Nutzung ermöglicht und gleichzeitig Burst-Traffic zulässt:
- **Kostenloser Plan**: 10 Anfragen pro Minute
- **Pro-Plan**: 30 Anfragen pro Minute
- **Team-Plan**: 60 Anfragen pro Minute
- **Enterprise-Plan**: Individuelle Limits
| Plan | Anfragen/Minute | Burst-Kapazität |
|------|-----------------|----------------|
| Free | 10 | 20 |
| Pro | 30 | 60 |
| Team | 60 | 120 |
| Enterprise | 120 | 240 |
Rate-Limit-Informationen sind in den Antwort-Headern enthalten:
- `X-RateLimit-Limit`: Maximale Anfragen pro Zeitfenster
- `X-RateLimit-Remaining`: Verbleibende Anfragen im aktuellen Zeitfenster
- `X-RateLimit-Reset`: ISO-Zeitstempel, wann das Zeitfenster zurückgesetzt wird
**Wie es funktioniert:**
- Tokens werden mit der Rate `requestsPerMinute` aufgefüllt
- Du kannst im Leerlauf bis zu `maxBurst` Tokens ansammeln
- Jede Anfrage verbraucht 1 Token
- Die Burst-Kapazität ermöglicht die Bewältigung von Verkehrsspitzen
## Beispiel: Abfragen neuer Logs
Informationen zur Ratenbegrenzung sind in den Antwort-Headern enthalten:
- `X-RateLimit-Limit`: Anfragen pro Minute (Auffüllrate)
- `X-RateLimit-Remaining`: Aktuell verfügbare Tokens
- `X-RateLimit-Reset`: ISO-Zeitstempel, wann Tokens als nächstes aufgefüllt werden
## Beispiel: Abfragen nach neuen Logs
```javascript
let cursor = null;
@@ -541,7 +555,7 @@ async function pollLogs() {
setInterval(pollLogs, 30000);
```
## Beispiel: Verarbeiten von Webhooks
## Beispiel: Verarbeitung von Webhooks
```javascript
import express from 'express';

View File

@@ -147,8 +147,20 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
{
"success": true,
"rateLimit": {
"sync": { "isLimited": false, "limit": 10, "remaining": 10, "resetAt": "2025-09-08T22:51:55.999Z" },
"async": { "isLimited": false, "limit": 50, "remaining": 50, "resetAt": "2025-09-08T22:51:56.155Z" },
"sync": {
"isLimited": false,
"requestsPerMinute": 25,
"maxBurst": 50,
"remaining": 50,
"resetAt": "2025-09-08T22:51:55.999Z"
},
"async": {
"isLimited": false,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 400,
"resetAt": "2025-09-08T22:51:56.155Z"
},
"authType": "api"
},
"usage": {
@@ -159,49 +171,54 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**Rate-Limit-Felder:**
- `requestsPerMinute`: Dauerhafte Rate-Begrenzung (Tokens werden mit dieser Rate aufgefüllt)
- `maxBurst`: Maximale Tokens, die Sie ansammeln können (Burst-Kapazität)
- `remaining`: Aktuell verfügbare Tokens (können bis zu `maxBurst` sein)
**Antwortfelder:**
- `currentPeriodCost` zeigt die Nutzung im aktuellen Abrechnungszeitraum
- `limit` wird aus individuellen Limits (Free/Pro) oder gebündelten Organisationslimits (Team/Enterprise) abgeleitet
- `currentPeriodCost` spiegelt die Nutzung in der aktuellen Abrechnungsperiode wider
- `limit` wird von individuellen Limits (Free/Pro) oder gepoolten Organisationslimits (Team/Enterprise) abgeleitet
- `plan` ist der aktive Plan mit der höchsten Priorität, der mit Ihrem Benutzer verknüpft ist
## Plan-Limits
Verschiedene Abonnementpläne haben unterschiedliche Nutzungslimits:
| Plan | Monatliches Nutzungslimit | Ratengrenze (pro Minute) |
| Plan | Monatliches Nutzungslimit | Rate-Limits (pro Minute) |
|------|-------------------|-------------------------|
| **Free** | $10 | 5 sync, 10 async |
| **Pro** | $100 | 10 sync, 50 async |
| **Team** | $500 (gebündelt) | 50 sync, 100 async |
| **Team** | $500 (gepoolt) | 50 sync, 100 async |
| **Enterprise** | Individuell | Individuell |
## Abrechnungsmodell
Sim verwendet ein **Basisabonnement + Überschreitung** Abrechnungsmodell:
Sim verwendet ein **Basisabonnement + Mehrverbrauch**-Abrechnungsmodell:
### Wie es funktioniert
**Pro Plan ($20/Monat):**
**Pro-Plan ($20/Monat):**
- Monatliches Abonnement beinhaltet $20 Nutzung
- Nutzung unter $20 → Keine zusätzlichen Kosten
- Nutzung über $20 → Zahlung der Überschreitung am Monatsende
- Beispiel: $35 Nutzung = $20 (Abonnement) + $15 (Überschreitung)
- Nutzung über $20 → Zahlen Sie den Mehrverbrauch am Monatsende
- Beispiel: $35 Nutzung = $20 (Abonnement) + $15 (Mehrverbrauch)
**Team Plan ($40/Benutzer/Monat):**
- Gebündelte Nutzung für alle Teammitglieder
- Überschreitung wird aus der Gesamtnutzung des Teams berechnet
**Team-Plan ($40/Benutzer/Monat):**
- Gepoolte Nutzung für alle Teammitglieder
- Mehrverbrauch wird aus der Gesamtnutzung des Teams berechnet
- Organisationsinhaber erhält eine Rechnung
**Enterprise Pläne:**
- Fester monatlicher Preis, keine Überschreitungen
**Enterprise-Pläne:**
- Fester monatlicher Preis, kein Mehrverbrauch
- Individuelle Nutzungslimits gemäß Vereinbarung
### Schwellenwertabrechnung
### Schwellenwert-Abrechnung
Wenn die nicht abgerechnete Überschreitung $50 erreicht, berechnet Sim automatisch den gesamten nicht abgerechneten Betrag.
Wenn der nicht abgerechnete Mehrverbrauch $50 erreicht, berechnet Sim automatisch den gesamten nicht abgerechneten Betrag.
**Beispiel:**
- Tag 10: $70 Überschreitung → Sofortige Abrechnung von $70
- Tag 10: $70 Mehrverbrauch → Sofortige Abrechnung von $70
- Tag 15: Zusätzliche $35 Nutzung ($105 insgesamt) → Bereits abgerechnet, keine Aktion
- Tag 20: Weitere $50 Nutzung ($155 insgesamt, $85 nicht abgerechnet) → Sofortige Abrechnung von $85

View File

@@ -0,0 +1,63 @@
---
title: DuckDuckGo
description: Suche mit DuckDuckGo
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="duckduckgo"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[DuckDuckGo](https://duckduckgo.com/) ist eine datenschutzorientierte Websuchmaschine, die sofortige Antworten, Zusammenfassungen, verwandte Themen und mehr liefert ohne dich oder deine Suchen zu verfolgen. DuckDuckGo macht es einfach, Informationen ohne Benutzerprofilierung oder zielgerichtete Werbung zu finden.
Mit DuckDuckGo in Sim kannst du:
- **Im Web suchen**: Finde sofort Antworten, Fakten und Übersichten für eine bestimmte Suchanfrage
- **Direkte Antworten erhalten**: Erhalte spezifische Antworten für Berechnungen, Umrechnungen oder Faktenfragen
- **Auf Zusammenfassungen zugreifen**: Erhalte kurze Zusammenfassungen oder Beschreibungen für deine Suchthemen
- **Verwandte Themen abrufen**: Entdecke Links und Referenzen, die für deine Suche relevant sind
- **Ausgabe filtern**: Optional HTML entfernen oder Begriffsklärungen überspringen für sauberere Ergebnisse
Diese Funktionen ermöglichen es deinen Sim-Agenten, den Zugriff auf aktuelles Webwissen zu automatisieren vom Auffinden von Fakten in einem Workflow bis hin zur Anreicherung von Dokumenten und Analysen mit aktuellen Informationen. Da DuckDuckGos Instant Answers API offen ist und keinen API-Schlüssel erfordert, lässt sie sich einfach und datenschutzsicher in deine automatisierten Geschäftsprozesse integrieren.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Durchsuche das Web mit der DuckDuckGo Instant Answers API. Liefert sofortige Antworten, Zusammenfassungen, verwandte Themen und mehr. Kostenlos nutzbar ohne API-Schlüssel.
## Tools
### `duckduckgo_search`
Durchsuche das Web mit der DuckDuckGo Instant Answers API. Liefert sofortige Antworten, Zusammenfassungen und verwandte Themen für deine Anfrage. Kostenlos nutzbar ohne API-Schlüssel.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Die auszuführende Suchanfrage |
| `noHtml` | boolean | Nein | HTML aus Text in Ergebnissen entfernen \(Standard: true\) |
| `skipDisambig` | boolean | Nein | Begriffsklärungsergebnisse überspringen \(Standard: false\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `heading` | string | Die Überschrift/der Titel der Sofortantwort |
| `abstract` | string | Eine kurze Zusammenfassung des Themas |
| `abstractText` | string | Einfache Textversion der Zusammenfassung |
| `abstractSource` | string | Die Quelle der Zusammenfassung \(z.B. Wikipedia\) |
| `abstractURL` | string | URL zur Quelle der Zusammenfassung |
| `image` | string | URL zu einem Bild zum Thema |
| `answer` | string | Direkte Antwort, falls verfügbar \(z.B. für Berechnungen\) |
| `answerType` | string | Typ der Antwort \(z.B. calc, ip, usw.\) |
| `type` | string | Antworttyp: A \(Artikel\), D \(Begriffsklärung\), C \(Kategorie\), N \(Name\), E \(Exklusiv\) |
| `relatedTopics` | array | Array verwandter Themen mit URLs und Beschreibungen |
## Hinweise
- Kategorie: `tools`
- Typ: `duckduckgo`

View File

@@ -46,11 +46,11 @@ Durchsuchen Sie das Web mit Exa AI. Liefert relevante Suchergebnisse mit Titeln,
| `type` | string | Nein | Suchtyp: neural, keyword, auto oder fast \(Standard: auto\) |
| `includeDomains` | string | Nein | Kommagetrennte Liste von Domains, die in den Ergebnissen enthalten sein sollen |
| `excludeDomains` | string | Nein | Kommagetrennte Liste von Domains, die aus den Ergebnissen ausgeschlossen werden sollen |
| `category` | string | Nein | Nach Kategorie filtern: company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `category` | string | Nein | Nach Kategorie filtern: company, research paper, news, pdf, github, tweet, personal site, linkedin profile, financial report |
| `text` | boolean | Nein | Vollständigen Textinhalt in Ergebnissen einschließen \(Standard: false\) |
| `highlights` | boolean | Nein | Hervorgehobene Ausschnitte in Ergebnissen einschließen \(Standard: false\) |
| `summary` | boolean | Nein | KI-generierte Zusammenfassungen in Ergebnissen einschließen \(Standard: false\) |
| `livecrawl` | string | Nein | Live-Crawling-Modus: always, fallback oder never \(Standard: never\) |
| `livecrawl` | string | Nein | Live-Crawling-Modus: never \(Standard\), fallback, always oder preferred \(immer livecrawl versuchen, bei Fehlschlag auf Cache zurückgreifen\) |
| `apiKey` | string | Ja | Exa AI API-Schlüssel |
#### Ausgabe
@@ -69,11 +69,11 @@ Ruft den Inhalt von Webseiten mit Exa AI ab. Gibt den Titel, Textinhalt und opti
| --------- | ---- | -------- | ----------- |
| `urls` | string | Ja | Kommagetrennte Liste von URLs, von denen Inhalte abgerufen werden sollen |
| `text` | boolean | Nein | Wenn true, gibt den vollständigen Seitentext mit Standardeinstellungen zurück. Wenn false, deaktiviert die Textrückgabe. |
| `summaryQuery` | string | Nein | Abfrage zur Steuerung der Zusammenfassungserstellung |
| `subpages` | number | Nein | Anzahl der Unterseiten, die von den angegebenen URLs gecrawlt werden sollen |
| `summaryQuery` | string | Nein | Anfrage zur Steuerung der Zusammenfassungserstellung |
| `subpages` | number | Nein | Anzahl der Unterseiten, die von den bereitgestellten URLs gecrawlt werden sollen |
| `subpageTarget` | string | Nein | Kommagetrennte Schlüsselwörter zur Zielausrichtung auf bestimmte Unterseiten \(z.B. "docs,tutorial,about"\) |
| `highlights` | boolean | Nein | Hervorgehobene Ausschnitte in Ergebnissen einschließen \(Standard: false\) |
| `livecrawl` | string | Nein | Live-Crawling-Modus: always, fallback oder never \(Standard: never\) |
| `livecrawl` | string | Nein | Live-Crawling-Modus: never \(Standard\), fallback, always oder preferred \(immer livecrawl versuchen, bei Fehlschlag auf Cache zurückgreifen\) |
| `apiKey` | string | Ja | Exa AI API-Schlüssel |
#### Ausgabe
@@ -95,11 +95,10 @@ Finde Webseiten, die einer bestimmten URL ähnlich sind, mit Exa AI. Gibt eine L
| `text` | boolean | Nein | Ob der vollständige Text der ähnlichen Seiten eingeschlossen werden soll |
| `includeDomains` | string | Nein | Kommagetrennte Liste von Domains, die in den Ergebnissen enthalten sein sollen |
| `excludeDomains` | string | Nein | Kommagetrennte Liste von Domains, die aus den Ergebnissen ausgeschlossen werden sollen |
| `excludeSourceDomain` | boolean | Nein | Quell-Domain aus Ergebnissen ausschließen \(Standard: false\) |
| `category` | string | Nein | Nach Kategorie filtern: company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `excludeSourceDomain` | boolean | Nein | Die Quell-Domain aus den Ergebnissen ausschließen \(Standard: false\) |
| `highlights` | boolean | Nein | Hervorgehobene Ausschnitte in Ergebnissen einschließen \(Standard: false\) |
| `summary` | boolean | Nein | KI-generierte Zusammenfassungen in Ergebnissen einschließen \(Standard: false\) |
| `livecrawl` | string | Nein | Live-Crawling-Modus: always, fallback oder never \(Standard: never\) |
| `livecrawl` | string | Nein | Live-Crawling-Modus: never \(Standard\), fallback, always oder preferred \(versucht immer livecrawl, fällt auf Cache zurück, wenn es fehlschlägt\) |
| `apiKey` | string | Ja | Exa AI API-Schlüssel |
#### Ausgabe

View File

@@ -49,8 +49,8 @@ Rufe eine Liste von Prognosemärkten von Kalshi mit optionaler Filterung ab
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Marktdaten und Metadaten |
| `markets` | array | Array von Markt-Objekten |
| `paging` | object | Paginierungscursor zum Abrufen weiterer Ergebnisse |
### `kalshi_get_market`
@@ -66,8 +66,7 @@ Rufe Details eines bestimmten Prognosemarkts nach Ticker ab
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Marktdaten und Metadaten |
| `market` | object | Markt-Objekt mit Details |
### `kalshi_get_events`
@@ -85,10 +84,10 @@ Rufe eine Liste von Events von Kalshi mit optionaler Filterung ab
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ereignisdaten und Metadaten |
| `events` | array | Array von Ereignis-Objekten |
| `paging` | object | Paginierungscursor zum Abrufen weiterer Ergebnisse |
### `kalshi_get_event`
@@ -103,10 +102,9 @@ Details eines bestimmten Ereignisses anhand des Tickers abrufen
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ereignisdaten und Metadaten |
| `event` | object | Ereignis-Objekt mit Details |
### `kalshi_get_balance`
@@ -121,10 +119,12 @@ Kontostand und Portfoliowert von Kalshi abrufen
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Kontostandsdaten und Metadaten |
| `balance` | number | Kontostand in Cent |
| `portfolioValue` | number | Portfoliowert in Cent |
| `balanceDollars` | number | Kontostand in Dollar |
| `portfolioValueDollars` | number | Portfoliowert in Dollar |
### `kalshi_get_positions`
@@ -146,8 +146,8 @@ Offene Positionen von Kalshi abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Positionsdaten und Metadaten |
| `positions` | array | Array von Positions-Objekten |
| `paging` | object | Paginierungscursor zum Abrufen weiterer Ergebnisse |
### `kalshi_get_orders`
@@ -169,8 +169,8 @@ Rufen Sie Ihre Bestellungen von Kalshi mit optionaler Filterung ab
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Bestelldaten und Metadaten |
| `orders` | array | Array von Auftrags-Objekten |
| `paging` | object | Paginierungscursor zum Abrufen weiterer Ergebnisse |
### `kalshi_get_order`
@@ -188,8 +188,7 @@ Rufen Sie Details zu einem bestimmten Auftrag anhand der ID von Kalshi ab
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Auftragsdaten |
| `order` | object | Auftrags-Objekt mit Details |
### `kalshi_get_orderbook`
@@ -205,8 +204,7 @@ Rufen Sie das Orderbuch (Ja- und Nein-Gebote) für einen bestimmten Markt ab
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Orderbuch-Daten und Metadaten |
| `orderbook` | object | Orderbuch mit Ja/Nein-Geboten und -Anfragen |
### `kalshi_get_trades`
@@ -223,8 +221,8 @@ Rufen Sie aktuelle Trades über alle Märkte hinweg ab
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Handelsdaten und Metadaten |
| `trades` | array | Array von Handelsobjekten |
| `paging` | object | Paginierungscursor zum Abrufen weiterer Ergebnisse |
### `kalshi_get_candlesticks`
@@ -244,8 +242,7 @@ OHLC-Kerzendaten für einen bestimmten Markt abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Kerzendaten und Metadaten |
| `candlesticks` | array | Array von OHLC-Kerzendaten |
### `kalshi_get_fills`
@@ -268,8 +265,8 @@ Ihr Portfolio abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ausführungsdaten und Metadaten |
| `fills` | array | Array von Ausführungs-/Handelsobjekten |
| `paging` | object | Paginierungscursor zum Abrufen weiterer Ergebnisse |
### `kalshi_get_series_by_ticker`
@@ -285,8 +282,7 @@ Details einer bestimmten Marktserie nach Ticker abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Seriendaten und Metadaten |
| `series` | object | Serienobjekt mit Details |
### `kalshi_get_exchange_status`
@@ -301,8 +297,7 @@ Den aktuellen Status der Kalshi-Börse abrufen (Handel und Börsenaktivität)
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Börsenstatus-Daten und Metadaten |
| `status` | object | Börsenstatus mit trading_active und exchange_active Flags |
### `kalshi_create_order`
@@ -336,8 +331,7 @@ Eine neue Order auf einem Kalshi-Prognosemarkt erstellen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Erstellte Auftragsdaten |
| `order` | object | Das erstellte Auftragsobjekt |
### `kalshi_cancel_order`
@@ -355,8 +349,8 @@ Einen bestehenden Auftrag auf Kalshi stornieren
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Stornierte Auftragsdaten |
| `order` | object | Das stornierte Auftragsobjekt |
| `reducedBy` | number | Anzahl der stornierten Kontrakte |
### `kalshi_amend_order`
@@ -384,8 +378,7 @@ Preis oder Menge eines bestehenden Auftrags auf Kalshi ändern
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Geänderte Auftragsdaten |
| `order` | object | Das geänderte Auftragsobjekt |
## Hinweise

View File

@@ -91,11 +91,11 @@ Führen Sie umfassende tiefgehende Recherchen im Web mit Parallel AI durch. Synt
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `status` | string | Aufgabenstatus (laufend, abgeschlossen, fehlgeschlagen) |
| `status` | string | Aufgabenstatus (abgeschlossen, fehlgeschlagen) |
| `run_id` | string | Eindeutige ID für diese Rechercheaufgabe |
| `message` | string | Statusmeldung (für laufende Aufgaben) |
| `message` | string | Statusmeldung |
| `content` | object | Rechercheergebnisse (strukturiert basierend auf output_schema) |
| `basis` | array | Zitate und Quellen mit Auszügen und Vertrauensstufen |
| `basis` | array | Zitate und Quellen mit Begründung und Vertrauensstufen |
## Hinweise

View File

@@ -51,8 +51,9 @@ Generieren Sie Vervollständigungen mit Perplexity AI-Chatmodellen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Ergebnisse der Chat-Vervollständigung |
| `content` | string | Generierter Textinhalt |
| `model` | string | Für die Generierung verwendetes Modell |
| `usage` | object | Informationen zur Token-Nutzung |
### `perplexity_search`
@@ -76,8 +77,7 @@ Erhalte bewertete Suchergebnisse von Perplexity
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Suchergebnisse |
| `results` | array | Array von Suchergebnissen |
## Hinweise

View File

@@ -44,14 +44,14 @@ Rufen Sie eine Liste von Prognosemärkten von Polymarket mit optionaler Filterun
| `order` | string | Nein | Sortierfeld \(z.B. volumeNum, liquidityNum, startDate, endDate, createdAt\) |
| `ascending` | string | Nein | Sortierrichtung \(true für aufsteigend, false für absteigend\) |
| `tagId` | string | Nein | Nach Tag-ID filtern |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(max 50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Marktdaten und Metadaten |
### `polymarket_get_market`
@@ -80,11 +80,11 @@ Ruft eine Liste von Events von Polymarket mit optionaler Filterung ab
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `closed` | string | Nein | Nach geschlossenem Status filtern \(true/false\). Verwenden Sie false für nur aktive Events. |
| `closed` | string | Nein | Nach geschlossenem Status filtern \(true/false\). Verwenden Sie false für nur aktive Ereignisse. |
| `order` | string | Nein | Sortierfeld \(z.B. volume, liquidity, startDate, endDate, createdAt\) |
| `ascending` | string | Nein | Sortierrichtung \(true für aufsteigend, false für absteigend\) |
| `tagId` | string | Nein | Nach Tag-ID filtern |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(max 50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Ausgabe
@@ -107,10 +107,10 @@ Ruft Details eines bestimmten Events nach ID oder Slug ab
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Ereignisdaten und Metadaten |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Event-Daten und Metadaten |
### `polymarket_get_tags`
@@ -118,16 +118,16 @@ Verfügbare Tags zum Filtern von Märkten von Polymarket abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(max 50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Tag-Daten und Metadaten |
### `polymarket_search`
@@ -136,17 +136,17 @@ Nach Märkten, Ereignissen und Profilen auf Polymarket suchen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Suchbegriff |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(max 50\) |
| `offset` | string | Nein | Paginierungsoffset |
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Suchergebnisse und Metadaten |
### `polymarket_get_series`
@@ -155,17 +155,16 @@ Serien (verwandte Marktgruppen) von Polymarket abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(max 50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Seriendaten und Metadaten |
| `series` | array | Array von Serien-Objekten |
### `polymarket_get_series_by_id`
@@ -179,10 +178,9 @@ Eine bestimmte Serie (zugehörige Marktgruppe) anhand der ID von Polymarket abru
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Seriendaten und Metadaten |
| `series` | object | Serien-Objekt mit Details |
### `polymarket_get_orderbook`
@@ -196,10 +194,9 @@ Die Orderbuch-Zusammenfassung für einen bestimmten Token abrufen
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Orderbuch-Daten und Metadaten |
| `orderbook` | object | Orderbuch mit Geld- und Briefkurs-Arrays |
### `polymarket_get_price`
@@ -216,8 +213,7 @@ Den Marktpreis für einen bestimmten Token und eine bestimmte Seite abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Preisdaten und Metadaten |
| `price` | string | Marktpreis |
### `polymarket_get_midpoint`
@@ -233,8 +229,7 @@ Abrufen des Mittelpreises für einen bestimmten Token
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Mittelpreisdaten und Metadaten |
| `midpoint` | string | Mittelkurs |
### `polymarket_get_price_history`
@@ -254,8 +249,7 @@ Abrufen historischer Preisdaten für einen bestimmten Markttoken
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Preisverlaufsdaten und Metadaten |
| `history` | array | Array von Preisverlaufseinträgen mit Zeitstempel \(t\) und Preis \(p\) |
### `polymarket_get_last_trade_price`
@@ -271,8 +265,7 @@ Den letzten Handelspreis für einen bestimmten Token abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Letzter Handelspreis und Metadaten |
| `price` | string | Letzter Handelspreis |
### `polymarket_get_spread`
@@ -288,8 +281,7 @@ Die Geld-Brief-Spanne für einen bestimmten Token abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Spread-Daten und Metadaten |
| `spread` | object | Geld-Brief-Spanne mit Geld- und Briefkursen |
### `polymarket_get_tick_size`
@@ -305,8 +297,7 @@ Die minimale Tickgröße für einen bestimmten Token abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Tickgröße und Metadaten |
| `tickSize` | string | Minimale Tick-Größe |
### `polymarket_get_positions`
@@ -323,8 +314,7 @@ Benutzerpositionen von Polymarket abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Positionsdaten und Metadaten |
| `positions` | array | Array von Positions-Objekten |
### `polymarket_get_trades`
@@ -336,15 +326,14 @@ Handelshistorie von Polymarket abrufen
| --------- | ---- | -------- | ----------- |
| `user` | string | Nein | Wallet-Adresse des Benutzers zum Filtern von Trades |
| `market` | string | Nein | Markt-ID zum Filtern von Trades |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe so viele Ergebnisse\) |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(max 50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Handelsdaten und Metadaten |
| `trades` | array | Array von Handelsobjekten |
## Hinweise

View File

@@ -342,19 +342,30 @@ Eine E-Mail-Vorlage von SendGrid löschen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `messageId` | string | E-Mail-Nachrichten-ID (send_mail) |
| `message` | string | Status- oder Erfolgsmeldung |
| `messageId` | string | E-Mail-Nachrichten-ID \(send_mail\) |
| `to` | string | E-Mail-Adresse des Empfängers \(send_mail\) |
| `subject` | string | E-Mail-Betreff \(send_mail, create_template_version\) |
| `id` | string | Ressourcen-ID |
| `jobId` | string | Job-ID für asynchrone Operationen |
| `email` | string | E-Mail-Adresse |
| `firstName` | string | Vorname |
| `lastName` | string | Nachname |
| `email` | string | E-Mail-Adresse des Kontakts |
| `firstName` | string | Vorname des Kontakts |
| `lastName` | string | Nachname des Kontakts |
| `createdAt` | string | Erstellungszeitstempel |
| `updatedAt` | string | Zeitstempel der letzten Aktualisierung |
| `listIds` | json | Array von Listen-IDs, zu denen der Kontakt gehört |
| `customFields` | json | Benutzerdefinierte Feldwerte |
| `contacts` | json | Array von Kontakten |
| `contactCount` | number | Anzahl der Kontakte |
| `lists` | json | Array von Listen |
| `templates` | json | Array von Vorlagen |
| `message` | string | Status- oder Erfolgsmeldung |
| `name` | string | Ressourcenname |
| `templates` | json | Array von Vorlagen |
| `generation` | string | Vorlagengeneration |
| `versions` | json | Array von Vorlagenversionen |
| `templateId` | string | Vorlagen-ID |
| `active` | boolean | Ob die Vorlagenversion aktiv ist |
| `htmlContent` | string | HTML-Inhalt |
| `plainContent` | string | Nur-Text-Inhalt |
### `sendgrid_create_template_version`

View File

@@ -0,0 +1,183 @@
---
title: SFTP
description: Übertragen Sie Dateien über SFTP (SSH File Transfer Protocol)
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="sftp"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}
[SFTP (SSH File Transfer Protocol)](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol) ist ein sicheres Netzwerkprotokoll, das es Ihnen ermöglicht, Dateien auf entfernten Servern hochzuladen, herunterzuladen und zu verwalten. SFTP arbeitet über SSH und ist damit ideal für automatisierte, verschlüsselte Dateiübertragungen und die Fernverwaltung von Dateien in modernen Arbeitsabläufen.
Mit den in Sim integrierten SFTP-Tools können Sie die Übertragung von Dateien zwischen Ihren KI-Agenten und externen Systemen oder Servern einfach automatisieren. Dies ermöglicht Ihren Agenten, kritische Datenaustausche, Backups, Dokumentenerstellung und die Orchestrierung entfernter Systeme alles mit robuster Sicherheit zu verwalten.
**Wichtige Funktionen, die über SFTP-Tools verfügbar sind:**
- **Dateien hochladen:** Übertragen Sie nahtlos Dateien jeder Art von Ihrem Workflow auf einen entfernten Server, mit Unterstützung für Passwort- und SSH-Private-Key-Authentifizierung.
- **Dateien herunterladen:** Rufen Sie Dateien von entfernten SFTP-Servern direkt zur Verarbeitung, Archivierung oder weiteren Automatisierung ab.
- **Dateien auflisten & verwalten:** Verzeichnisse auflisten, Dateien und Ordner löschen oder erstellen und Dateisystemberechtigungen ferngesteuert verwalten.
- **Flexible Authentifizierung:** Verbinden Sie sich entweder mit herkömmlichen Passwörtern oder SSH-Schlüsseln, mit Unterstützung für Passphrasen und Berechtigungskontrolle.
- **Unterstützung großer Dateien:** Verwalten Sie programmatisch große Datei-Uploads und -Downloads, mit integrierten Größenbeschränkungen für die Sicherheit.
Durch die Integration von SFTP in Sim können Sie sichere Dateioperationen als Teil jedes Workflows automatisieren, sei es Datenerfassung, Berichterstattung, Wartung entfernter Systeme oder dynamischer Inhaltsaustausch zwischen Plattformen.
Die folgenden Abschnitte beschreiben die wichtigsten verfügbaren SFTP-Tools:
- **sftp_upload:** Laden Sie eine oder mehrere Dateien auf einen entfernten Server hoch.
- **sftp_download:** Laden Sie Dateien von einem entfernten Server in Ihren Workflow herunter.
- **sftp_list:** Listen Sie Verzeichnisinhalte auf einem entfernten SFTP-Server auf.
- **sftp_delete:** Löschen Sie Dateien oder Verzeichnisse von einem entfernten Server.
- **sftp_create:** Erstellen Sie neue Dateien auf einem entfernten SFTP-Server.
- **sftp_mkdir:** Erstellen Sie neue Verzeichnisse aus der Ferne.
Siehe die Werkzeugdokumentation unten für detaillierte Ein- und Ausgabeparameter für jede Operation.
{/* MANUAL-CONTENT-END */}
## Nutzungsanweisungen
Dateien auf Remote-Servern über SFTP hochladen, herunterladen, auflisten und verwalten. Unterstützt sowohl Passwort- als auch Private-Key-Authentifizierung für sichere Dateiübertragungen.
## Werkzeuge
### `sftp_upload`
Dateien auf einen Remote-SFTP-Server hochladen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SFTP-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SFTP-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SFTP-Benutzername |
| `password` | string | Nein | Passwort für die Authentifizierung \(wenn kein Private Key verwendet wird\) |
| `privateKey` | string | Nein | Private Key für die Authentifizierung \(OpenSSH-Format\) |
| `passphrase` | string | Nein | Passphrase für verschlüsselten Private Key |
| `remotePath` | string | Ja | Zielverzeichnis auf dem Remote-Server |
| `files` | file[] | Nein | Hochzuladende Dateien |
| `fileContent` | string | Nein | Direkter Dateiinhalt zum Hochladen \(für Textdateien\) |
| `fileName` | string | Nein | Dateiname bei Verwendung von direktem Inhalt |
| `overwrite` | boolean | Nein | Ob bestehende Dateien überschrieben werden sollen \(Standard: true\) |
| `permissions` | string | Nein | Dateiberechtigungen \(z.B. 0644\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob der Upload erfolgreich war |
| `uploadedFiles` | json | Array mit Details zu hochgeladenen Dateien \(Name, remotePath, Größe\) |
| `message` | string | Statusmeldung des Vorgangs |
### `sftp_download`
Datei von einem entfernten SFTP-Server herunterladen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SFTP-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SFTP-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SFTP-Benutzername |
| `password` | string | Nein | Passwort für die Authentifizierung \(wenn kein privater Schlüssel verwendet wird\) |
| `privateKey` | string | Nein | Privater Schlüssel für die Authentifizierung \(OpenSSH-Format\) |
| `passphrase` | string | Nein | Passphrase für verschlüsselten privaten Schlüssel |
| `remotePath` | string | Ja | Pfad zur Datei auf dem entfernten Server |
| `encoding` | string | Nein | Ausgabe-Kodierung: utf-8 für Text, base64 für Binärdaten \(Standard: utf-8\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob der Download erfolgreich war |
| `fileName` | string | Name der heruntergeladenen Datei |
| `content` | string | Dateiinhalt \(Text oder base64-kodiert\) |
| `size` | number | Dateigröße in Bytes |
| `encoding` | string | Inhaltskodierung \(utf-8 oder base64\) |
| `message` | string | Statusmeldung des Vorgangs |
### `sftp_list`
Dateien und Verzeichnisse auf einem entfernten SFTP-Server auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SFTP-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SFTP-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SFTP-Benutzername |
| `password` | string | Nein | Passwort für die Authentifizierung \(wenn kein privater Schlüssel verwendet wird\) |
| `privateKey` | string | Nein | Privater Schlüssel für die Authentifizierung \(OpenSSH-Format\) |
| `passphrase` | string | Nein | Passphrase für verschlüsselten privaten Schlüssel |
| `remotePath` | string | Ja | Verzeichnispfad auf dem entfernten Server |
| `detailed` | boolean | Nein | Detaillierte Dateiinformationen einschließen \(Größe, Berechtigungen, Änderungsdatum\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob der Vorgang erfolgreich war |
| `path` | string | Verzeichnispfad, der aufgelistet wurde |
| `entries` | json | Array von Verzeichniseinträgen mit Name, Typ, Größe, Berechtigungen, modifiedAt |
| `count` | number | Anzahl der Einträge im Verzeichnis |
| `message` | string | Statusmeldung des Vorgangs |
### `sftp_delete`
Löschen einer Datei oder eines Verzeichnisses auf einem entfernten SFTP-Server
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SFTP-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SFTP-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SFTP-Benutzername |
| `password` | string | Nein | Passwort für die Authentifizierung \(wenn kein privater Schlüssel verwendet wird\) |
| `privateKey` | string | Nein | Privater Schlüssel für die Authentifizierung \(OpenSSH-Format\) |
| `passphrase` | string | Nein | Passphrase für verschlüsselten privaten Schlüssel |
| `remotePath` | string | Ja | Pfad zur Datei oder zum Verzeichnis, das gelöscht werden soll |
| `recursive` | boolean | Nein | Verzeichnisse rekursiv löschen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob das Löschen erfolgreich war |
| `deletedPath` | string | Pfad, der gelöscht wurde |
| `message` | string | Statusmeldung des Vorgangs |
### `sftp_mkdir`
Ein Verzeichnis auf einem entfernten SFTP-Server erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SFTP-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SFTP-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SFTP-Benutzername |
| `password` | string | Nein | Passwort für die Authentifizierung \(wenn kein privater Schlüssel verwendet wird\) |
| `privateKey` | string | Nein | Privater Schlüssel für die Authentifizierung \(OpenSSH-Format\) |
| `passphrase` | string | Nein | Passphrase für verschlüsselten privaten Schlüssel |
| `remotePath` | string | Ja | Pfad für das neue Verzeichnis |
| `recursive` | boolean | Nein | Übergeordnete Verzeichnisse erstellen, falls sie nicht existieren |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob das Verzeichnis erfolgreich erstellt wurde |
| `createdPath` | string | Pfad des erstellten Verzeichnisses |
| `message` | string | Statusmeldung des Vorgangs |
## Hinweise
- Kategorie: `tools`
- Typ: `sftp`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="smtp"
color="#4A5568"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -37,7 +37,7 @@ Verarbeitet einen bereitgestellten Gedanken/eine Anweisung und macht ihn für na
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `thought` | string | Ja | Der vom Benutzer im Thinking Step-Block bereitgestellte Denkprozess oder die Anweisung. |
| `thought` | string | Ja | Ihre interne Argumentation, Analyse oder Denkprozess. Nutzen Sie dies, um das Problem Schritt für Schritt zu durchdenken, bevor Sie antworten. |
#### Output

View File

@@ -31,39 +31,32 @@ Integrieren Sie Übersetzen in den Workflow. Kann Text in jede Sprache übersetz
## Tools
### `openai_chat`
### `llm_chat`
Senden Sie eine Chat-Completion-Anfrage an jeden unterstützten LLM-Anbieter
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `model` | string | Ja | Das zu verwendende Modell (z.B. gpt-4o, claude-sonnet-4-5, gemini-2.0-flash) |
| `systemPrompt` | string | Nein | System-Prompt zur Festlegung des Assistentenverhaltens |
| `context` | string | Ja | Die Benutzernachricht oder der Kontext, der an das Modell gesendet wird |
| `apiKey` | string | Nein | API-Schlüssel für den Anbieter (verwendet den Plattformschlüssel, wenn für gehostete Modelle nicht angegeben) |
| `temperature` | number | Nein | Temperatur für die Antwortgenerierung (0-2) |
| `maxTokens` | number | Nein | Maximale Tokens in der Antwort |
| `azureEndpoint` | string | Nein | Azure OpenAI-Endpunkt-URL |
| `azureApiVersion` | string | Nein | Azure OpenAI API-Version |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `content` | string | Übersetzter Text |
| `model` | string | Verwendetes Modell |
| `tokens` | json | Token-Nutzung |
| `content` | string | Der generierte Antwortinhalt |
| `model` | string | Das für die Generierung verwendete Modell |
| `tokens` | object | Informationen zur Token-Nutzung |
### `anthropic_chat`
### `google_chat`
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `content` | string | Übersetzter Text |
| `model` | string | Verwendetes Modell |
| `tokens` | json | Token-Nutzung |
## Notizen
## Hinweise
- Kategorie: `tools`
- Typ: `translate`

View File

@@ -250,9 +250,9 @@ Eine Mediendatei (Bild, Video, Dokument) zu WordPress.com hochladen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Website-ID oder Domain \(z.B. 12345678 oder meinwebsite.wordpress.com\) |
| `file` | string | Ja | Base64-kodierte Dateidaten oder URL, von der die Datei abgerufen werden soll |
| `filename` | string | Ja | Dateiname mit Erweiterung \(z.B. bild.jpg\) |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `file` | file | Nein | Hochzuladende Datei \(UserFile-Objekt\) |
| `filename` | string | Nein | Optionale Überschreibung des Dateinamens \(z.B. bild.jpg\) |
| `title` | string | Nein | Medientitel |
| `caption` | string | Nein | Medienunterschrift |
| `altText` | string | Nein | Alternativer Text für Barrierefreiheit |

View File

@@ -170,28 +170,9 @@ Videos aus einer YouTube-Playlist abrufen.
| --------- | ---- | ----------- |
| `items` | array | Array von Videos in der Playlist |
### `youtube_related_videos`
Finde Videos, die mit einem bestimmten YouTube-Video verwandt sind.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `videoId` | string | Ja | YouTube-Video-ID, für die verwandte Videos gefunden werden sollen |
| `maxResults` | number | Nein | Maximale Anzahl der zurückzugebenden verwandten Videos \(1-50\) |
| `pageToken` | string | Nein | Page-Token für Paginierung |
| `apiKey` | string | Ja | YouTube API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `items` | array | Array von verwandten Videos |
### `youtube_comments`
Rufe Kommentare von einem YouTube-Video ab.
Kommentare von einem YouTube-Video abrufen.
#### Eingabe
@@ -200,7 +181,7 @@ Rufe Kommentare von einem YouTube-Video ab.
| `videoId` | string | Ja | YouTube-Video-ID |
| `maxResults` | number | Nein | Maximale Anzahl der zurückzugebenden Kommentare |
| `order` | string | Nein | Reihenfolge der Kommentare: time oder relevance |
| `pageToken` | string | Nein | Page-Token für Paginierung |
| `pageToken` | string | Nein | Seitentoken für Paginierung |
| `apiKey` | string | Ja | YouTube API-Schlüssel |
#### Ausgabe

View File

@@ -73,8 +73,9 @@ Eine Liste von Tickets aus Zendesk mit optionaler Filterung abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ticket-Daten und Metadaten |
| `tickets` | array | Array von Ticket-Objekten |
| `paging` | object | Paginierungsinformationen |
| `metadata` | object | Operationsmetadaten |
### `zendesk_get_ticket`
@@ -93,8 +94,8 @@ Ein einzelnes Ticket anhand der ID von Zendesk abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ticket-Daten |
| `ticket` | object | Ticket-Objekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_create_ticket`
@@ -120,10 +121,10 @@ Ein neues Ticket in Zendesk erstellen mit Unterstützung für benutzerdefinierte
#### Output
| Parameter | Type | Description |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Erstellte Ticket-Daten |
| `ticket` | object | Erstelltes Ticket-Objekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_create_tickets_bulk`
@@ -140,10 +141,10 @@ Erstellen Sie mehrere Tickets in Zendesk auf einmal (maximal 100)
#### Output
| Parameter | Type | Description |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Status des Massenerstell-Jobs |
| `jobStatus` | object | Job-Status-Objekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_update_ticket`
@@ -171,8 +172,8 @@ Aktualisieren Sie ein bestehendes Ticket in Zendesk mit Unterstützung für benu
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Aktualisierte Ticket-Daten |
| `ticket` | object | Aktualisiertes Ticket-Objekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_update_tickets_bulk`
@@ -196,8 +197,8 @@ Mehrere Tickets in Zendesk auf einmal aktualisieren (max. 100)
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Status des Massenaktualisierungsauftrags |
| `jobStatus` | object | Job-Status-Objekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_delete_ticket`
@@ -216,8 +217,8 @@ Ein Ticket aus Zendesk löschen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Löschbestätigung |
| `deleted` | boolean | Löschvorgang erfolgreich |
| `metadata` | object | Operationsmetadaten |
### `zendesk_merge_tickets`
@@ -238,8 +239,8 @@ Mehrere Tickets in ein Zielticket zusammenführen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Status des Zusammenführungsauftrags |
| `jobStatus` | object | Job-Status-Objekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_get_users`
@@ -261,8 +262,9 @@ Eine Liste von Benutzern aus Zendesk mit optionaler Filterung abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Benutzerdaten und Metadaten |
| `users` | array | Array von Benutzerobjekten |
| `paging` | object | Paginierungsinformationen |
| `metadata` | object | Operationsmetadaten |
### `zendesk_get_user`
@@ -281,8 +283,8 @@ Einen einzelnen Benutzer anhand der ID von Zendesk abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Benutzerdaten |
| `user` | object | Benutzerobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_get_current_user`
@@ -300,8 +302,8 @@ Den aktuell authentifizierten Benutzer von Zendesk abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Daten des aktuellen Benutzers |
| `user` | object | Aktuelles Benutzerobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_search_users`
@@ -323,8 +325,9 @@ Nach Benutzern in Zendesk mit einer Abfragezeichenfolge suchen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Suchergebnisse für Benutzer |
| `users` | array | Array von Benutzerobjekten |
| `paging` | object | Paginierungsinformationen |
| `metadata` | object | Operationsmetadaten |
### `zendesk_create_user`
@@ -348,10 +351,10 @@ Einen neuen Benutzer in Zendesk erstellen
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Erstellte Benutzerdaten |
| `user` | object | Erstelltes Benutzerobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_create_users_bulk`
@@ -368,10 +371,10 @@ Erstellen mehrerer Benutzer in Zendesk mittels Massenimport
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Status des Massenimport-Jobs |
| `jobStatus` | object | Job-Statusobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_update_user`
@@ -398,8 +401,8 @@ Aktualisieren eines vorhandenen Benutzers in Zendesk
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Aktualisierte Benutzerdaten |
| `user` | object | Aktualisiertes Benutzerobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_update_users_bulk`
@@ -418,8 +421,8 @@ Mehrere Benutzer in Zendesk über Massenaktualisierung aktualisieren
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Status des Massenaktualisierungsauftrags |
| `jobStatus` | object | Job-Statusobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_delete_user`
@@ -438,8 +441,8 @@ Einen Benutzer aus Zendesk löschen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Daten des gelöschten Benutzers |
| `deleted` | boolean | Löscherfolg |
| `metadata` | object | Operationsmetadaten |
### `zendesk_get_organizations`
@@ -459,8 +462,9 @@ Eine Liste von Organisationen von Zendesk abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Organisationsdaten und Metadaten |
| `organizations` | array | Array von Organisationsobjekten |
| `paging` | object | Paginierungsinformationen |
| `metadata` | object | Operationsmetadaten |
### `zendesk_get_organization`
@@ -479,8 +483,8 @@ Eine einzelne Organisation anhand der ID von Zendesk abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Organisationsdaten |
| `organization` | object | Organisationsobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_autocomplete_organizations`
@@ -499,10 +503,11 @@ Autovervollständigung von Organisationen in Zendesk nach Namenspräfix (für Na
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Suchergebnisse für Organisationen |
| `organizations` | array | Array von Organisationsobjekten |
| `paging` | object | Paginierungsinformationen |
| `metadata` | object | Operationsmetadaten |
### `zendesk_create_organization`
@@ -524,10 +529,10 @@ Eine neue Organisation in Zendesk erstellen
#### Output
| Parameter | Type | Beschreibung |
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Daten der erstellten Organisation |
| `organization` | object | Erstelltes Organisationsobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_create_organizations_bulk`
@@ -546,8 +551,8 @@ Mehrere Organisationen in Zendesk über Massenimport erstellen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Status des Massenerfassungsauftrags |
| `jobStatus` | object | Job-Statusobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_update_organization`
@@ -572,8 +577,8 @@ Eine bestehende Organisation in Zendesk aktualisieren
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Aktualisierte Organisationsdaten |
| `organization` | object | Aktualisiertes Organisationsobjekt |
| `metadata` | object | Operationsmetadaten |
### `zendesk_delete_organization`
@@ -592,8 +597,8 @@ Eine Organisation aus Zendesk löschen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Gelöschte Organisationsdaten |
| `deleted` | boolean | Löscherfolg |
| `metadata` | object | Operationsmetadaten |
### `zendesk_search`
@@ -616,8 +621,9 @@ Einheitliche Suche über Tickets, Benutzer und Organisationen in Zendesk
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Suchergebnisse |
| `results` | array | Array von Ergebnisobjekten |
| `paging` | object | Paginierungsinformationen |
| `metadata` | object | Operationsmetadaten |
### `zendesk_search_count`
@@ -636,8 +642,8 @@ Zählen der Anzahl von Suchergebnissen, die einer Abfrage in Zendesk entsprechen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Suchergebnis-Anzahl |
| `count` | number | Anzahl der übereinstimmenden Ergebnisse |
| `metadata` | object | Operationsmetadaten |
## Hinweise

View File

@@ -30,15 +30,19 @@ Verwende den Start-Block für alles, was aus dem Editor, deploy-to-API oder depl
<Card title="Schedule" href="/triggers/schedule">
Cron- oder intervallbasierte Ausführung
</Card>
<Card title="RSS Feed" href="/triggers/rss">
RSS- und Atom-Feeds auf neue Inhalte überwachen
</Card>
</Cards>
## Schneller Vergleich
| Trigger | Startbedingung |
|---------|-----------------|
| **Start** | Editor-Ausführungen, deploy-to-API Anfragen oder Chat-Nachrichten |
| **Start** | Editor-Ausführungen, Deploy-to-API-Anfragen oder Chat-Nachrichten |
| **Schedule** | Timer, der im Schedule-Block verwaltet wird |
| **Webhook** | Bei eingehender HTTP-Anfrage |
| **RSS Feed** | Neues Element im Feed veröffentlicht |
> Der Start-Block stellt immer `input`, `conversationId` und `files` Felder bereit. Füge benutzerdefinierte Felder zum Eingabeformat für zusätzliche strukturierte Daten hinzu.

View File

@@ -0,0 +1,49 @@
---
title: RSS-Feed
---
import { Callout } from 'fumadocs-ui/components/callout'
import { Image } from '@/components/ui/image'
Der RSS-Feed-Block überwacht RSS- und Atom-Feeds wenn neue Einträge veröffentlicht werden, wird Ihr Workflow automatisch ausgelöst.
<div className="flex justify-center">
<Image
src="/static/blocks/rss.png"
alt="RSS-Feed-Block"
width={500}
height={400}
className="my-6"
/>
</div>
## Konfiguration
1. **RSS-Feed-Block hinzufügen** - Ziehen Sie den RSS-Feed-Block, um Ihren Workflow zu starten
2. **Feed-URL eingeben** - Fügen Sie die URL eines beliebigen RSS- oder Atom-Feeds ein
3. **Bereitstellen** - Stellen Sie Ihren Workflow bereit, um das Polling zu aktivieren
Nach der Bereitstellung wird der Feed jede Minute auf neue Einträge überprüft.
## Ausgabefelder
| Feld | Typ | Beschreibung |
|-------|------|-------------|
| `title` | string | Titel des Eintrags |
| `link` | string | Link des Eintrags |
| `pubDate` | string | Veröffentlichungsdatum |
| `item` | object | Rohdaten des Eintrags mit allen Feldern |
| `feed` | object | Rohdaten der Feed-Metadaten |
Greifen Sie direkt auf zugeordnete Felder zu (`<rss.title>`) oder verwenden Sie die Rohobjekte für beliebige Felder (`<rss.item.author>`, `<rss.feed.language>`).
## Anwendungsfälle
- **Inhaltsüberwachung** - Verfolgen Sie Blogs, Nachrichtenseiten oder Updates von Wettbewerbern
- **Podcast-Automatisierung** - Lösen Sie Workflows aus, wenn neue Episoden erscheinen
- **Release-Tracking** - Überwachen Sie GitHub-Releases, Changelogs oder Produkt-Updates
- **Social-Media-Aggregation** - Sammeln Sie Inhalte von Plattformen, die RSS-Feeds anbieten
<Callout>
RSS-Trigger werden nur für Einträge ausgelöst, die nach dem Speichern des Triggers veröffentlicht wurden. Bestehende Feed-Einträge werden nicht verarbeitet.
</Callout>

View File

@@ -27,14 +27,16 @@ All API responses include information about your workflow execution limits and u
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60, // Max sync workflow executions per minute
"remaining": 58, // Remaining sync workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 60, // Sustained rate limit per minute
"maxBurst": 120, // Maximum burst capacity
"remaining": 118, // Current tokens available (up to maxBurst)
"resetAt": "..." // When tokens next refill
},
"async": {
"limit": 60, // Max async workflow executions per minute
"remaining": 59, // Remaining async workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 200, // Sustained rate limit per minute
"maxBurst": 400, // Maximum burst capacity
"remaining": 398, // Current tokens available
"resetAt": "..." // When tokens next refill
}
},
"usage": {
@@ -46,7 +48,7 @@ All API responses include information about your workflow execution limits and u
}
```
**Note:** The rate limits in the response body are for workflow executions. The rate limits for calling this API endpoint are in the response headers (`X-RateLimit-*`).
**Note:** Rate limits use a token bucket algorithm. `remaining` can exceed `requestsPerMinute` up to `maxBurst` when you haven't used your full allowance recently, allowing for burst traffic. The rate limits in the response body are for workflow executions. The rate limits for calling this API endpoint are in the response headers (`X-RateLimit-*`).
### Query Logs
@@ -108,13 +110,15 @@ Query workflow execution logs with extensive filtering options.
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -184,13 +188,15 @@ Retrieve detailed information about a specific log entry.
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -467,17 +473,25 @@ Failed webhook deliveries are retried with exponential backoff and jitter:
## Rate Limiting
The API implements rate limiting to ensure fair usage:
The API uses a **token bucket algorithm** for rate limiting, providing fair usage while allowing burst traffic:
- **Free plan**: 10 requests per minute
- **Pro plan**: 30 requests per minute
- **Team plan**: 60 requests per minute
- **Enterprise plan**: Custom limits
| Plan | Requests/Minute | Burst Capacity |
|------|-----------------|----------------|
| Free | 10 | 20 |
| Pro | 30 | 60 |
| Team | 60 | 120 |
| Enterprise | 120 | 240 |
**How it works:**
- Tokens refill at `requestsPerMinute` rate
- You can accumulate up to `maxBurst` tokens when idle
- Each request consumes 1 token
- Burst capacity allows handling traffic spikes
Rate limit information is included in response headers:
- `X-RateLimit-Limit`: Maximum requests per window
- `X-RateLimit-Remaining`: Requests remaining in current window
- `X-RateLimit-Reset`: ISO timestamp when the window resets
- `X-RateLimit-Limit`: Requests per minute (refill rate)
- `X-RateLimit-Remaining`: Current tokens available
- `X-RateLimit-Reset`: ISO timestamp when tokens next refill
## Example: Polling for New Logs

View File

@@ -143,8 +143,20 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
{
"success": true,
"rateLimit": {
"sync": { "isLimited": false, "limit": 10, "remaining": 10, "resetAt": "2025-09-08T22:51:55.999Z" },
"async": { "isLimited": false, "limit": 50, "remaining": 50, "resetAt": "2025-09-08T22:51:56.155Z" },
"sync": {
"isLimited": false,
"requestsPerMinute": 25,
"maxBurst": 50,
"remaining": 50,
"resetAt": "2025-09-08T22:51:55.999Z"
},
"async": {
"isLimited": false,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 400,
"resetAt": "2025-09-08T22:51:56.155Z"
},
"authType": "api"
},
"usage": {
@@ -155,6 +167,11 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**Rate Limit Fields:**
- `requestsPerMinute`: Sustained rate limit (tokens refill at this rate)
- `maxBurst`: Maximum tokens you can accumulate (burst capacity)
- `remaining`: Current tokens available (can be up to `maxBurst`)
**Response Fields:**
- `currentPeriodCost` reflects usage in the current billing period
- `limit` is derived from individual limits (Free/Pro) or pooled organization limits (Team/Enterprise)

View File

@@ -0,0 +1,68 @@
---
title: DuckDuckGo
description: Search with DuckDuckGo
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="duckduckgo"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[DuckDuckGo](https://duckduckgo.com/) is a privacy-focused web search engine that delivers instant answers, abstracts, related topics, and more — without tracking you or your searches. DuckDuckGo makes it easy to find information without any user profiling or targeted ads.
With DuckDuckGo in Sim, you can:
- **Search the web**: Instantly find answers, facts, and overviews for a given search query
- **Get direct answers**: Retrieve specific responses for calculations, conversions, or factual queries
- **Access abstracts**: Receive short summaries or descriptions for your search topics
- **Fetch related topics**: Discover links and references relevant to your search
- **Filter output**: Optionally remove HTML or skip disambiguation for cleaner results
These features enable your Sim agents to automate access to fresh web knowledge — from surfacing facts in a workflow, to enriching documents and analysis with up-to-date information. Because DuckDuckGos Instant Answers API is open and does not require an API key, its simple and privacy-safe to integrate into your automated business processes.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Search the web using DuckDuckGo Instant Answers API. Returns instant answers, abstracts, related topics, and more. Free to use without an API key.
## Tools
### `duckduckgo_search`
Search the web using DuckDuckGo Instant Answers API. Returns instant answers, abstracts, and related topics for your query. Free to use without an API key.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | The search query to execute |
| `noHtml` | boolean | No | Remove HTML from text in results \(default: true\) |
| `skipDisambig` | boolean | No | Skip disambiguation results \(default: false\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `heading` | string | The heading/title of the instant answer |
| `abstract` | string | A short abstract summary of the topic |
| `abstractText` | string | Plain text version of the abstract |
| `abstractSource` | string | The source of the abstract \(e.g., Wikipedia\) |
| `abstractURL` | string | URL to the source of the abstract |
| `image` | string | URL to an image related to the topic |
| `answer` | string | Direct answer if available \(e.g., for calculations\) |
| `answerType` | string | Type of the answer \(e.g., calc, ip, etc.\) |
| `type` | string | Response type: A \(article\), D \(disambiguation\), C \(category\), N \(name\), E \(exclusive\) |
| `relatedTopics` | array | Array of related topics with URLs and descriptions |
## Notes
- Category: `tools`
- Type: `duckduckgo`

View File

@@ -49,11 +49,11 @@ Search the web using Exa AI. Returns relevant search results with titles, URLs,
| `type` | string | No | Search type: neural, keyword, auto or fast \(default: auto\) |
| `includeDomains` | string | No | Comma-separated list of domains to include in results |
| `excludeDomains` | string | No | Comma-separated list of domains to exclude from results |
| `category` | string | No | Filter by category: company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `category` | string | No | Filter by category: company, research paper, news, pdf, github, tweet, personal site, linkedin profile, financial report |
| `text` | boolean | No | Include full text content in results \(default: false\) |
| `highlights` | boolean | No | Include highlighted snippets in results \(default: false\) |
| `summary` | boolean | No | Include AI-generated summaries in results \(default: false\) |
| `livecrawl` | string | No | Live crawling mode: always, fallback, or never \(default: never\) |
| `livecrawl` | string | No | Live crawling mode: never \(default\), fallback, always, or preferred \(always try livecrawl, fall back to cache if fails\) |
| `apiKey` | string | Yes | Exa AI API Key |
#### Output
@@ -76,7 +76,7 @@ Retrieve the contents of webpages using Exa AI. Returns the title, text content,
| `subpages` | number | No | Number of subpages to crawl from the provided URLs |
| `subpageTarget` | string | No | Comma-separated keywords to target specific subpages \(e.g., "docs,tutorial,about"\) |
| `highlights` | boolean | No | Include highlighted snippets in results \(default: false\) |
| `livecrawl` | string | No | Live crawling mode: always, fallback, or never \(default: never\) |
| `livecrawl` | string | No | Live crawling mode: never \(default\), fallback, always, or preferred \(always try livecrawl, fall back to cache if fails\) |
| `apiKey` | string | Yes | Exa AI API Key |
#### Output
@@ -99,10 +99,9 @@ Find webpages similar to a given URL using Exa AI. Returns a list of similar lin
| `includeDomains` | string | No | Comma-separated list of domains to include in results |
| `excludeDomains` | string | No | Comma-separated list of domains to exclude from results |
| `excludeSourceDomain` | boolean | No | Exclude the source domain from results \(default: false\) |
| `category` | string | No | Filter by category: company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `highlights` | boolean | No | Include highlighted snippets in results \(default: false\) |
| `summary` | boolean | No | Include AI-generated summaries in results \(default: false\) |
| `livecrawl` | string | No | Live crawling mode: always, fallback, or never \(default: never\) |
| `livecrawl` | string | No | Live crawling mode: never \(default\), fallback, always, or preferred \(always try livecrawl, fall back to cache if fails\) |
| `apiKey` | string | Yes | Exa AI API Key |
#### Output

View File

@@ -52,8 +52,8 @@ Retrieve a list of prediction markets from Kalshi with optional filtering
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Markets data and metadata |
| `markets` | array | Array of market objects |
| `paging` | object | Pagination cursor for fetching more results |
### `kalshi_get_market`
@@ -69,8 +69,7 @@ Retrieve details of a specific prediction market by ticker
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Market data and metadata |
| `market` | object | Market object with details |
### `kalshi_get_events`
@@ -90,8 +89,8 @@ Retrieve a list of events from Kalshi with optional filtering
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Events data and metadata |
| `events` | array | Array of event objects |
| `paging` | object | Pagination cursor for fetching more results |
### `kalshi_get_event`
@@ -108,8 +107,7 @@ Retrieve details of a specific event by ticker
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Event data and metadata |
| `event` | object | Event object with details |
### `kalshi_get_balance`
@@ -126,8 +124,10 @@ Retrieve your account balance and portfolio value from Kalshi
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Balance data and metadata |
| `balance` | number | Account balance in cents |
| `portfolioValue` | number | Portfolio value in cents |
| `balanceDollars` | number | Account balance in dollars |
| `portfolioValueDollars` | number | Portfolio value in dollars |
### `kalshi_get_positions`
@@ -149,8 +149,8 @@ Retrieve your open positions from Kalshi
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Positions data and metadata |
| `positions` | array | Array of position objects |
| `paging` | object | Pagination cursor for fetching more results |
### `kalshi_get_orders`
@@ -172,8 +172,8 @@ Retrieve your orders from Kalshi with optional filtering
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Orders data and metadata |
| `orders` | array | Array of order objects |
| `paging` | object | Pagination cursor for fetching more results |
### `kalshi_get_order`
@@ -191,8 +191,7 @@ Retrieve details of a specific order by ID from Kalshi
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Order data |
| `order` | object | Order object with details |
### `kalshi_get_orderbook`
@@ -208,8 +207,7 @@ Retrieve the orderbook (yes and no bids) for a specific market
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Orderbook data and metadata |
| `orderbook` | object | Orderbook with yes/no bids and asks |
### `kalshi_get_trades`
@@ -226,8 +224,8 @@ Retrieve recent trades across all markets
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Trades data and metadata |
| `trades` | array | Array of trade objects |
| `paging` | object | Pagination cursor for fetching more results |
### `kalshi_get_candlesticks`
@@ -247,8 +245,7 @@ Retrieve OHLC candlestick data for a specific market
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Candlestick data and metadata |
| `candlesticks` | array | Array of OHLC candlestick data |
### `kalshi_get_fills`
@@ -271,8 +268,8 @@ Retrieve your portfolio
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Fills data and metadata |
| `fills` | array | Array of fill/trade objects |
| `paging` | object | Pagination cursor for fetching more results |
### `kalshi_get_series_by_ticker`
@@ -288,8 +285,7 @@ Retrieve details of a specific market series by ticker
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Series data and metadata |
| `series` | object | Series object with details |
### `kalshi_get_exchange_status`
@@ -304,8 +300,7 @@ Retrieve the current status of the Kalshi exchange (trading and exchange activit
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Exchange status data and metadata |
| `status` | object | Exchange status with trading_active and exchange_active flags |
### `kalshi_create_order`
@@ -339,8 +334,7 @@ Create a new order on a Kalshi prediction market
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created order data |
| `order` | object | The created order object |
### `kalshi_cancel_order`
@@ -358,8 +352,8 @@ Cancel an existing order on Kalshi
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Canceled order data |
| `order` | object | The canceled order object |
| `reducedBy` | number | Number of contracts canceled |
### `kalshi_amend_order`
@@ -387,8 +381,7 @@ Modify the price or quantity of an existing order on Kalshi
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Amended order data |
| `order` | object | The amended order object |

View File

@@ -15,6 +15,7 @@
"datadog",
"discord",
"dropbox",
"duckduckgo",
"dynamodb",
"elasticsearch",
"elevenlabs",
@@ -80,6 +81,7 @@
"sendgrid",
"sentry",
"serper",
"sftp",
"sharepoint",
"shopify",
"slack",

View File

@@ -94,11 +94,11 @@ Conduct comprehensive deep research across the web using Parallel AI. Synthesize
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Task status \(running, completed, failed\) |
| `status` | string | Task status \(completed, failed\) |
| `run_id` | string | Unique ID for this research task |
| `message` | string | Status message \(for running tasks\) |
| `message` | string | Status message |
| `content` | object | Research results \(structured based on output_schema\) |
| `basis` | array | Citations and sources with excerpts and confidence levels |
| `basis` | array | Citations and sources with reasoning and confidence levels |

View File

@@ -54,8 +54,9 @@ Generate completions using Perplexity AI chat models
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Chat completion results |
| `content` | string | Generated text content |
| `model` | string | Model used for generation |
| `usage` | object | Token usage information |
### `perplexity_search`
@@ -79,8 +80,7 @@ Get ranked search results from Perplexity
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results |
| `results` | array | Array of search results |

View File

@@ -47,15 +47,14 @@ Retrieve a list of prediction markets from Polymarket with optional filtering
| `order` | string | No | Sort field \(e.g., volumeNum, liquidityNum, startDate, endDate, createdAt\) |
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
| `tagId` | string | No | Filter by tag ID |
| `limit` | string | No | Number of results per page \(recommended: 25-50\) |
| `limit` | string | No | Number of results per page \(max 50\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Markets data and metadata |
| `markets` | array | Array of market objects |
### `polymarket_get_market`
@@ -72,8 +71,7 @@ Retrieve details of a specific prediction market by ID or slug
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Market data and metadata |
| `market` | object | Market object with details |
### `polymarket_get_events`
@@ -87,15 +85,14 @@ Retrieve a list of events from Polymarket with optional filtering
| `order` | string | No | Sort field \(e.g., volume, liquidity, startDate, endDate, createdAt\) |
| `ascending` | string | No | Sort direction \(true for ascending, false for descending\) |
| `tagId` | string | No | Filter by tag ID |
| `limit` | string | No | Number of results per page \(recommended: 25-50\) |
| `limit` | string | No | Number of results per page \(max 50\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Events data and metadata |
| `events` | array | Array of event objects |
### `polymarket_get_event`
@@ -112,8 +109,7 @@ Retrieve details of a specific event by ID or slug
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Event data and metadata |
| `event` | object | Event object with details |
### `polymarket_get_tags`
@@ -123,15 +119,14 @@ Retrieve available tags for filtering markets from Polymarket
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Number of results per page \(recommended: 25-50\) |
| `limit` | string | No | Number of results per page \(max 50\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Tags data and metadata |
| `tags` | array | Array of tag objects with id, label, and slug |
### `polymarket_search`
@@ -142,15 +137,14 @@ Search for markets, events, and profiles on Polymarket
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | Search query term |
| `limit` | string | No | Number of results per page \(recommended: 25-50\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
| `limit` | string | No | Number of results per page \(max 50\) |
| `offset` | string | No | Pagination offset |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results and metadata |
| `results` | object | Search results containing markets, events, and profiles arrays |
### `polymarket_get_series`
@@ -160,15 +154,14 @@ Retrieve series (related market groups) from Polymarket
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Number of results per page \(recommended: 25-50\) |
| `limit` | string | No | Number of results per page \(max 50\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Series data and metadata |
| `series` | array | Array of series objects |
### `polymarket_get_series_by_id`
@@ -184,8 +177,7 @@ Retrieve a specific series (related market group) by ID from Polymarket
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Series data and metadata |
| `series` | object | Series object with details |
### `polymarket_get_orderbook`
@@ -201,8 +193,7 @@ Retrieve the order book summary for a specific token
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Orderbook data and metadata |
| `orderbook` | object | Order book with bids and asks arrays |
### `polymarket_get_price`
@@ -219,8 +210,7 @@ Retrieve the market price for a specific token and side
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Price data and metadata |
| `price` | string | Market price |
### `polymarket_get_midpoint`
@@ -236,8 +226,7 @@ Retrieve the midpoint price for a specific token
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Midpoint price data and metadata |
| `midpoint` | string | Midpoint price |
### `polymarket_get_price_history`
@@ -257,8 +246,7 @@ Retrieve historical price data for a specific market token
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Price history data and metadata |
| `history` | array | Array of price history entries with timestamp \(t\) and price \(p\) |
### `polymarket_get_last_trade_price`
@@ -274,8 +262,7 @@ Retrieve the last trade price for a specific token
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Last trade price and metadata |
| `price` | string | Last trade price |
### `polymarket_get_spread`
@@ -291,8 +278,7 @@ Retrieve the bid-ask spread for a specific token
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Spread data and metadata |
| `spread` | object | Bid-ask spread with bid and ask prices |
### `polymarket_get_tick_size`
@@ -308,8 +294,7 @@ Retrieve the minimum tick size for a specific token
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Tick size and metadata |
| `tickSize` | string | Minimum tick size |
### `polymarket_get_positions`
@@ -326,8 +311,7 @@ Retrieve user positions from Polymarket
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Positions data and metadata |
| `positions` | array | Array of position objects |
### `polymarket_get_trades`
@@ -339,15 +323,14 @@ Retrieve trade history from Polymarket
| --------- | ---- | -------- | ----------- |
| `user` | string | No | User wallet address to filter trades |
| `market` | string | No | Market ID to filter trades |
| `limit` | string | No | Number of results per page \(recommended: 25-50\) |
| `limit` | string | No | Number of results per page \(max 50\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Trades data and metadata |
| `trades` | array | Array of trade objects |

View File

@@ -345,19 +345,30 @@ Delete an email template from SendGrid
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `message` | string | Status or success message |
| `messageId` | string | Email message ID \(send_mail\) |
| `to` | string | Recipient email address \(send_mail\) |
| `subject` | string | Email subject \(send_mail, create_template_version\) |
| `id` | string | Resource ID |
| `jobId` | string | Job ID for async operations |
| `email` | string | Email address |
| `firstName` | string | First name |
| `lastName` | string | Last name |
| `email` | string | Contact email address |
| `firstName` | string | Contact first name |
| `lastName` | string | Contact last name |
| `createdAt` | string | Creation timestamp |
| `updatedAt` | string | Last update timestamp |
| `listIds` | json | Array of list IDs the contact belongs to |
| `customFields` | json | Custom field values |
| `contacts` | json | Array of contacts |
| `contactCount` | number | Number of contacts |
| `lists` | json | Array of lists |
| `templates` | json | Array of templates |
| `message` | string | Status or success message |
| `name` | string | Resource name |
| `templates` | json | Array of templates |
| `generation` | string | Template generation |
| `versions` | json | Array of template versions |
| `templateId` | string | Template ID |
| `active` | boolean | Whether template version is active |
| `htmlContent` | string | HTML content |
| `plainContent` | string | Plain text content |
### `sendgrid_create_template_version`

View File

@@ -0,0 +1,188 @@
---
title: SFTP
description: Transfer files via SFTP (SSH File Transfer Protocol)
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="sftp"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}
[SFTP (SSH File Transfer Protocol)](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol) is a secure network protocol that enables you to upload, download, and manage files on remote servers. SFTP operates over SSH, making it ideal for automated, encrypted file transfers and remote file management within modern workflows.
With SFTP tools integrated into Sim, you can easily automate the movement of files between your AI agents and external systems or servers. This empowers your agents to manage critical data exchanges, backups, document generation, and remote system orchestration—all with robust security.
**Key functionality available via SFTP tools:**
- **Upload Files:** Seamlessly transfer files of any type from your workflow to a remote server, with support for both password and SSH private key authentication.
- **Download Files:** Retrieve files from remote SFTP servers directly for processing, archiving, or further automation.
- **List & Manage Files:** Enumerate directories, delete or create files and folders, and manage file system permissions remotely.
- **Flexible Authentication:** Connect using either traditional passwords or SSH keys, with support for passphrases and permissions control.
- **Large File Support:** Programmatically manage large file uploads and downloads, with built-in size limits for safety.
By integrating SFTP into Sim, you can automate secure file operations as part of any workflow, whether its data collection, reporting, remote system maintenance, or dynamic content exchange between platforms.
The sections below describe the key SFTP tools available:
- **sftp_upload:** Upload one or more files to a remote server.
- **sftp_download:** Download files from a remote server to your workflow.
- **sftp_list:** List directory contents on a remote SFTP server.
- **sftp_delete:** Delete files or directories from a remote server.
- **sftp_create:** Create new files on a remote SFTP server.
- **sftp_mkdir:** Create new directories remotely.
See the tool documentation below for detailed input and output parameters for each operation.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Upload, download, list, and manage files on remote servers via SFTP. Supports both password and private key authentication for secure file transfers.
## Tools
### `sftp_upload`
Upload files to a remote SFTP server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SFTP server hostname or IP address |
| `port` | number | Yes | SFTP server port \(default: 22\) |
| `username` | string | Yes | SFTP username |
| `password` | string | No | Password for authentication \(if not using private key\) |
| `privateKey` | string | No | Private key for authentication \(OpenSSH format\) |
| `passphrase` | string | No | Passphrase for encrypted private key |
| `remotePath` | string | Yes | Destination directory on the remote server |
| `files` | file[] | No | Files to upload |
| `fileContent` | string | No | Direct file content to upload \(for text files\) |
| `fileName` | string | No | File name when using direct content |
| `overwrite` | boolean | No | Whether to overwrite existing files \(default: true\) |
| `permissions` | string | No | File permissions \(e.g., 0644\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the upload was successful |
| `uploadedFiles` | json | Array of uploaded file details \(name, remotePath, size\) |
| `message` | string | Operation status message |
### `sftp_download`
Download a file from a remote SFTP server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SFTP server hostname or IP address |
| `port` | number | Yes | SFTP server port \(default: 22\) |
| `username` | string | Yes | SFTP username |
| `password` | string | No | Password for authentication \(if not using private key\) |
| `privateKey` | string | No | Private key for authentication \(OpenSSH format\) |
| `passphrase` | string | No | Passphrase for encrypted private key |
| `remotePath` | string | Yes | Path to the file on the remote server |
| `encoding` | string | No | Output encoding: utf-8 for text, base64 for binary \(default: utf-8\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the download was successful |
| `fileName` | string | Name of the downloaded file |
| `content` | string | File content \(text or base64 encoded\) |
| `size` | number | File size in bytes |
| `encoding` | string | Content encoding \(utf-8 or base64\) |
| `message` | string | Operation status message |
### `sftp_list`
List files and directories on a remote SFTP server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SFTP server hostname or IP address |
| `port` | number | Yes | SFTP server port \(default: 22\) |
| `username` | string | Yes | SFTP username |
| `password` | string | No | Password for authentication \(if not using private key\) |
| `privateKey` | string | No | Private key for authentication \(OpenSSH format\) |
| `passphrase` | string | No | Passphrase for encrypted private key |
| `remotePath` | string | Yes | Directory path on the remote server |
| `detailed` | boolean | No | Include detailed file information \(size, permissions, modified date\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the operation was successful |
| `path` | string | Directory path that was listed |
| `entries` | json | Array of directory entries with name, type, size, permissions, modifiedAt |
| `count` | number | Number of entries in the directory |
| `message` | string | Operation status message |
### `sftp_delete`
Delete a file or directory on a remote SFTP server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SFTP server hostname or IP address |
| `port` | number | Yes | SFTP server port \(default: 22\) |
| `username` | string | Yes | SFTP username |
| `password` | string | No | Password for authentication \(if not using private key\) |
| `privateKey` | string | No | Private key for authentication \(OpenSSH format\) |
| `passphrase` | string | No | Passphrase for encrypted private key |
| `remotePath` | string | Yes | Path to the file or directory to delete |
| `recursive` | boolean | No | Delete directories recursively |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the deletion was successful |
| `deletedPath` | string | Path that was deleted |
| `message` | string | Operation status message |
### `sftp_mkdir`
Create a directory on a remote SFTP server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SFTP server hostname or IP address |
| `port` | number | Yes | SFTP server port \(default: 22\) |
| `username` | string | Yes | SFTP username |
| `password` | string | No | Password for authentication \(if not using private key\) |
| `privateKey` | string | No | Private key for authentication \(OpenSSH format\) |
| `passphrase` | string | No | Passphrase for encrypted private key |
| `remotePath` | string | Yes | Path for the new directory |
| `recursive` | boolean | No | Create parent directories if they do not exist |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the directory was created successfully |
| `createdPath` | string | Path of the created directory |
| `message` | string | Operation status message |
## Notes
- Category: `tools`
- Type: `sftp`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="smtp"
color="#4A5568"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -40,7 +40,7 @@ Processes a provided thought/instruction, making it available for subsequent ste
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `thought` | string | Yes | The thought process or instruction provided by the user in the Thinking Step block. |
| `thought` | string | Yes | Your internal reasoning, analysis, or thought process. Use this to think through the problem step by step before responding. |
#### Output

View File

@@ -34,38 +34,30 @@ Integrate Translate into the workflow. Can translate text to any language.
## Tools
### `openai_chat`
### `llm_chat`
Send a chat completion request to any supported LLM provider
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `model` | string | Yes | The model to use \(e.g., gpt-4o, claude-sonnet-4-5, gemini-2.0-flash\) |
| `systemPrompt` | string | No | System prompt to set the behavior of the assistant |
| `context` | string | Yes | The user message or context to send to the model |
| `apiKey` | string | No | API key for the provider \(uses platform key if not provided for hosted models\) |
| `temperature` | number | No | Temperature for response generation \(0-2\) |
| `maxTokens` | number | No | Maximum tokens in the response |
| `azureEndpoint` | string | No | Azure OpenAI endpoint URL |
| `azureApiVersion` | string | No | Azure OpenAI API version |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Translated text |
| `model` | string | Model used |
| `tokens` | json | Token usage |
### `anthropic_chat`
### `google_chat`
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Translated text |
| `model` | string | Model used |
| `tokens` | json | Token usage |
| `content` | string | The generated response content |
| `model` | string | The model used for generation |
| `tokens` | object | Token usage information |

View File

@@ -254,8 +254,8 @@ Upload a media file (image, video, document) to WordPress.com
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `file` | string | Yes | Base64 encoded file data or URL to fetch file from |
| `filename` | string | Yes | Filename with extension \(e.g., image.jpg\) |
| `file` | file | No | File to upload \(UserFile object\) |
| `filename` | string | No | Optional filename override \(e.g., image.jpg\) |
| `title` | string | No | Media title |
| `caption` | string | No | Media caption |
| `altText` | string | No | Alternative text for accessibility |

View File

@@ -173,25 +173,6 @@ Get videos from a YouTube playlist.
| --------- | ---- | ----------- |
| `items` | array | Array of videos in the playlist |
### `youtube_related_videos`
Find videos related to a specific YouTube video.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `videoId` | string | Yes | YouTube video ID to find related videos for |
| `maxResults` | number | No | Maximum number of related videos to return \(1-50\) |
| `pageToken` | string | No | Page token for pagination |
| `apiKey` | string | Yes | YouTube API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `items` | array | Array of related videos |
### `youtube_comments`
Get comments from a YouTube video.

View File

@@ -76,8 +76,9 @@ Retrieve a list of tickets from Zendesk with optional filtering
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Tickets data and metadata |
| `tickets` | array | Array of ticket objects |
| `paging` | object | Pagination information |
| `metadata` | object | Operation metadata |
### `zendesk_get_ticket`
@@ -96,8 +97,8 @@ Get a single ticket by ID from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Ticket data |
| `ticket` | object | Ticket object |
| `metadata` | object | Operation metadata |
### `zendesk_create_ticket`
@@ -125,8 +126,8 @@ Create a new ticket in Zendesk with support for custom fields
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created ticket data |
| `ticket` | object | Created ticket object |
| `metadata` | object | Operation metadata |
### `zendesk_create_tickets_bulk`
@@ -145,8 +146,8 @@ Create multiple tickets in Zendesk at once (max 100)
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Bulk create job status |
| `jobStatus` | object | Job status object |
| `metadata` | object | Operation metadata |
### `zendesk_update_ticket`
@@ -174,8 +175,8 @@ Update an existing ticket in Zendesk with support for custom fields
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated ticket data |
| `ticket` | object | Updated ticket object |
| `metadata` | object | Operation metadata |
### `zendesk_update_tickets_bulk`
@@ -199,8 +200,8 @@ Update multiple tickets in Zendesk at once (max 100)
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Bulk update job status |
| `jobStatus` | object | Job status object |
| `metadata` | object | Operation metadata |
### `zendesk_delete_ticket`
@@ -219,8 +220,8 @@ Delete a ticket from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Delete confirmation |
| `deleted` | boolean | Deletion success |
| `metadata` | object | Operation metadata |
### `zendesk_merge_tickets`
@@ -241,8 +242,8 @@ Merge multiple tickets into a target ticket
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Merge job status |
| `jobStatus` | object | Job status object |
| `metadata` | object | Operation metadata |
### `zendesk_get_users`
@@ -264,8 +265,9 @@ Retrieve a list of users from Zendesk with optional filtering
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Users data and metadata |
| `users` | array | Array of user objects |
| `paging` | object | Pagination information |
| `metadata` | object | Operation metadata |
### `zendesk_get_user`
@@ -284,8 +286,8 @@ Get a single user by ID from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | User data |
| `user` | object | User object |
| `metadata` | object | Operation metadata |
### `zendesk_get_current_user`
@@ -303,8 +305,8 @@ Get the currently authenticated user from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Current user data |
| `user` | object | Current user object |
| `metadata` | object | Operation metadata |
### `zendesk_search_users`
@@ -326,8 +328,9 @@ Search for users in Zendesk using a query string
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Users search results |
| `users` | array | Array of user objects |
| `paging` | object | Pagination information |
| `metadata` | object | Operation metadata |
### `zendesk_create_user`
@@ -353,8 +356,8 @@ Create a new user in Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created user data |
| `user` | object | Created user object |
| `metadata` | object | Operation metadata |
### `zendesk_create_users_bulk`
@@ -373,8 +376,8 @@ Create multiple users in Zendesk using bulk import
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Bulk creation job status |
| `jobStatus` | object | Job status object |
| `metadata` | object | Operation metadata |
### `zendesk_update_user`
@@ -401,8 +404,8 @@ Update an existing user in Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated user data |
| `user` | object | Updated user object |
| `metadata` | object | Operation metadata |
### `zendesk_update_users_bulk`
@@ -421,8 +424,8 @@ Update multiple users in Zendesk using bulk update
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Bulk update job status |
| `jobStatus` | object | Job status object |
| `metadata` | object | Operation metadata |
### `zendesk_delete_user`
@@ -441,8 +444,8 @@ Delete a user from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Deleted user data |
| `deleted` | boolean | Deletion success |
| `metadata` | object | Operation metadata |
### `zendesk_get_organizations`
@@ -462,8 +465,9 @@ Retrieve a list of organizations from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Organizations data and metadata |
| `organizations` | array | Array of organization objects |
| `paging` | object | Pagination information |
| `metadata` | object | Operation metadata |
### `zendesk_get_organization`
@@ -482,8 +486,8 @@ Get a single organization by ID from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Organization data |
| `organization` | object | Organization object |
| `metadata` | object | Operation metadata |
### `zendesk_autocomplete_organizations`
@@ -504,8 +508,9 @@ Autocomplete organizations in Zendesk by name prefix (for name matching/autocomp
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Organizations search results |
| `organizations` | array | Array of organization objects |
| `paging` | object | Pagination information |
| `metadata` | object | Operation metadata |
### `zendesk_create_organization`
@@ -529,8 +534,8 @@ Create a new organization in Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created organization data |
| `organization` | object | Created organization object |
| `metadata` | object | Operation metadata |
### `zendesk_create_organizations_bulk`
@@ -549,8 +554,8 @@ Create multiple organizations in Zendesk using bulk import
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Bulk creation job status |
| `jobStatus` | object | Job status object |
| `metadata` | object | Operation metadata |
### `zendesk_update_organization`
@@ -575,8 +580,8 @@ Update an existing organization in Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Updated organization data |
| `organization` | object | Updated organization object |
| `metadata` | object | Operation metadata |
### `zendesk_delete_organization`
@@ -595,8 +600,8 @@ Delete an organization from Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Deleted organization data |
| `deleted` | boolean | Deletion success |
| `metadata` | object | Operation metadata |
### `zendesk_search`
@@ -619,8 +624,9 @@ Unified search across tickets, users, and organizations in Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results |
| `results` | array | Array of result objects |
| `paging` | object | Pagination information |
| `metadata` | object | Operation metadata |
### `zendesk_search_count`
@@ -639,8 +645,8 @@ Count the number of search results matching a query in Zendesk
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search count result |
| `count` | number | Number of matching results |
| `metadata` | object | Operation metadata |

View File

@@ -30,6 +30,9 @@ Use the Start block for everything originating from the editor, deploy-to-API, o
<Card title="Schedule" href="/triggers/schedule">
Cron or interval based execution
</Card>
<Card title="RSS Feed" href="/triggers/rss">
Monitor RSS and Atom feeds for new content
</Card>
</Cards>
## Quick Comparison
@@ -39,6 +42,7 @@ Use the Start block for everything originating from the editor, deploy-to-API, o
| **Start** | Editor runs, deploy-to-API requests, or chat messages |
| **Schedule** | Timer managed in schedule block |
| **Webhook** | On inbound HTTP request |
| **RSS Feed** | New item published to feed |
> The Start block always exposes `input`, `conversationId`, and `files` fields. Add custom fields to the input format for additional structured data.

View File

@@ -1,3 +1,3 @@
{
"pages": ["index", "start", "schedule", "webhook"]
"pages": ["index", "start", "schedule", "webhook", "rss"]
}

View File

@@ -0,0 +1,49 @@
---
title: RSS Feed
---
import { Callout } from 'fumadocs-ui/components/callout'
import { Image } from '@/components/ui/image'
The RSS Feed block monitors RSS and Atom feeds when new items are published, your workflow triggers automatically.
<div className="flex justify-center">
<Image
src="/static/blocks/rss.png"
alt="RSS Feed Block"
width={500}
height={400}
className="my-6"
/>
</div>
## Configuration
1. **Add RSS Feed Block** - Drag the RSS Feed block to start your workflow
2. **Enter Feed URL** - Paste the URL of any RSS or Atom feed
3. **Deploy** - Deploy your workflow to activate polling
Once deployed, the feed is checked every minute for new items.
## Output Fields
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Item title |
| `link` | string | Item link |
| `pubDate` | string | Publication date |
| `item` | object | Raw item with all fields |
| `feed` | object | Raw feed metadata |
Access mapped fields directly (`<rss.title>`) or use the raw objects for any field (`<rss.item.author>`, `<rss.feed.language>`).
## Use Cases
- **Content monitoring** - Track blogs, news sites, or competitor updates
- **Podcast automation** - Trigger workflows when new episodes drop
- **Release tracking** - Monitor GitHub releases, changelogs, or product updates
- **Social aggregation** - Collect content from platforms that expose RSS feeds
<Callout>
RSS triggers only fire for items published after you save the trigger. Existing feed items are not processed.
</Callout>

View File

@@ -27,14 +27,16 @@ Todas las respuestas de la API incluyen información sobre tus límites de ejecu
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60, // Max sync workflow executions per minute
"remaining": 58, // Remaining sync workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 60, // Sustained rate limit per minute
"maxBurst": 120, // Maximum burst capacity
"remaining": 118, // Current tokens available (up to maxBurst)
"resetAt": "..." // When tokens next refill
},
"async": {
"limit": 60, // Max async workflow executions per minute
"remaining": 59, // Remaining async workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 200, // Sustained rate limit per minute
"maxBurst": 400, // Maximum burst capacity
"remaining": 398, // Current tokens available
"resetAt": "..." // When tokens next refill
}
},
"usage": {
@@ -46,7 +48,7 @@ Todas las respuestas de la API incluyen información sobre tus límites de ejecu
}
```
**Nota:** Los límites de tasa en el cuerpo de la respuesta son para ejecuciones de flujos de trabajo. Los límites de tasa para llamar a este endpoint de la API están en los encabezados de respuesta (`X-RateLimit-*`).
**Nota:** Los límites de tasa utilizan un algoritmo de cubo de tokens. `remaining` puede exceder `requestsPerMinute` hasta `maxBurst` cuando no has usado tu asignación completa recientemente, permitiendo tráfico en ráfagas. Los límites de tasa en el cuerpo de la respuesta son para ejecuciones de flujo de trabajo. Los límites de tasa para llamar a este punto final de la API están en los encabezados de respuesta (`X-RateLimit-*`).
### Consultar registros
@@ -110,13 +112,15 @@ Consulta los registros de ejecución de flujos de trabajo con amplias opciones d
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -190,13 +194,15 @@ Recupera información detallada sobre una entrada de registro específica.
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -482,19 +488,27 @@ Las entregas de webhook fallidas se reintentan con retroceso exponencial y fluct
## Limitación de tasa
La API implementa limitación de tasa para asegurar un uso justo:
La API utiliza un **algoritmo de cubo de tokens** para limitar la tasa, proporcionando un uso justo mientras permite tráfico en ráfagas:
- **Plan gratuito**: 10 solicitudes por minuto
- **Plan Pro**: 30 solicitudes por minuto
- **Plan Team**: 60 solicitudes por minuto
- **Plan Enterprise**: Límites personalizados
| Plan | Solicitudes/Minuto | Capacidad de ráfaga |
|------|-----------------|----------------|
| Free | 10 | 20 |
| Pro | 30 | 60 |
| Team | 60 | 120 |
| Enterprise | 120 | 240 |
La información de límite de tasa se incluye en las cabeceras de respuesta:
- `X-RateLimit-Limit`: Solicitudes máximas por ventana
- `X-RateLimit-Remaining`: Solicitudes restantes en la ventana actual
- `X-RateLimit-Reset`: Marca de tiempo ISO cuando la ventana se reinicia
**Cómo funciona:**
- Los tokens se recargan a una tasa de `requestsPerMinute`
- Puedes acumular hasta `maxBurst` tokens cuando estás inactivo
- Cada solicitud consume 1 token
- La capacidad de ráfaga permite manejar picos de tráfico
## Ejemplo: Sondeo de nuevos registros
La información del límite de tasa se incluye en los encabezados de respuesta:
- `X-RateLimit-Limit`: Solicitudes por minuto (tasa de recarga)
- `X-RateLimit-Remaining`: Tokens disponibles actualmente
- `X-RateLimit-Reset`: Marca de tiempo ISO cuando los tokens se recargan nuevamente
## Ejemplo: Sondeo para nuevos registros
```javascript
let cursor = null;

View File

@@ -147,8 +147,20 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
{
"success": true,
"rateLimit": {
"sync": { "isLimited": false, "limit": 10, "remaining": 10, "resetAt": "2025-09-08T22:51:55.999Z" },
"async": { "isLimited": false, "limit": 50, "remaining": 50, "resetAt": "2025-09-08T22:51:56.155Z" },
"sync": {
"isLimited": false,
"requestsPerMinute": 25,
"maxBurst": 50,
"remaining": 50,
"resetAt": "2025-09-08T22:51:55.999Z"
},
"async": {
"isLimited": false,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 400,
"resetAt": "2025-09-08T22:51:56.155Z"
},
"authType": "api"
},
"usage": {
@@ -159,6 +171,11 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**Campos de límite de tasa:**
- `requestsPerMinute`: Límite de tasa sostenida (los tokens se recargan a esta velocidad)
- `maxBurst`: Máximo de tokens que puedes acumular (capacidad de ráfaga)
- `remaining`: Tokens disponibles actualmente (puede ser hasta `maxBurst`)
**Campos de respuesta:**
- `currentPeriodCost` refleja el uso en el período de facturación actual
- `limit` se deriva de límites individuales (Gratuito/Pro) o límites agrupados de la organización (Equipo/Empresa)
@@ -170,38 +187,38 @@ Los diferentes planes de suscripción tienen diferentes límites de uso:
| Plan | Límite de uso mensual | Límites de tasa (por minuto) |
|------|-------------------|-------------------------|
| **Gratuito** | $10 | 5 sinc, 10 asinc |
| **Pro** | $100 | 10 sinc, 50 asinc |
| **Equipo** | $500 (agrupado) | 50 sinc, 100 asinc |
| **Gratuito** | $10 | 5 sincrónico, 10 asincrónico |
| **Pro** | $100 | 10 sincrónico, 50 asincrónico |
| **Equipo** | $500 (agrupado) | 50 sincrónico, 100 asincrónico |
| **Empresa** | Personalizado | Personalizado |
## Modelo de facturación
Sim utiliza un modelo de facturación de **suscripción base + exceso**:
Sim utiliza un modelo de facturación de **suscripción base + excedente**:
### Cómo funciona
**Plan Pro ($20/mes):**
- La suscripción mensual incluye $20 de uso
- Uso por debajo de $20 → Sin cargos adicionales
- Uso por encima de $20 → Pagas el exceso al final del mes
- Ejemplo: $35 de uso = $20 (suscripción) + $15 (exceso)
- Uso por encima de $20 → Pagas el excedente al final del mes
- Ejemplo: $35 de uso = $20 (suscripción) + $15 (excedente)
**Plan de equipo ($40/usuario/mes):**
**Plan de Equipo ($40/usuario/mes):**
- Uso agrupado entre todos los miembros del equipo
- Exceso calculado del uso total del equipo
- Excedente calculado del uso total del equipo
- El propietario de la organización recibe una sola factura
**Planes empresariales:**
- Precio mensual fijo, sin excesos
**Planes Empresariales:**
- Precio mensual fijo, sin excedentes
- Límites de uso personalizados según el acuerdo
### Facturación por umbral
Cuando el exceso no facturado alcanza los $50, Sim factura automáticamente el monto total no facturado.
Cuando el excedente no facturado alcanza los $50, Sim factura automáticamente el monto total no facturado.
**Ejemplo:**
- Día 10: $70 de exceso → Factura inmediata de $70
- Día 10: $70 de excedente → Factura inmediata de $70
- Día 15: $35 adicionales de uso ($105 en total) → Ya facturado, sin acción
- Día 20: Otros $50 de uso ($155 en total, $85 no facturados) → Factura inmediata de $85
@@ -209,8 +226,8 @@ Esto distribuye los cargos por exceso a lo largo del mes en lugar de una gran fa
## Mejores prácticas para la gestión de costos
1. **Monitorear regularmente**: Revisa tu panel de uso frecuentemente para evitar sorpresas
2. **Establecer presupuestos**: Usa los límites del plan como guías para tu gasto
1. **Monitorear regularmente**: Revisa tu panel de uso con frecuencia para evitar sorpresas
2. **Establecer presupuestos**: Utiliza los límites del plan como guías para tu gasto
3. **Optimizar flujos de trabajo**: Revisa las ejecuciones de alto costo y optimiza los prompts o la selección de modelos
4. **Usar modelos apropiados**: Ajusta la complejidad del modelo a los requisitos de la tarea
5. **Agrupar tareas similares**: Combina múltiples solicitudes cuando sea posible para reducir la sobrecarga

View File

@@ -0,0 +1,63 @@
---
title: DuckDuckGo
description: Busca con DuckDuckGo
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="duckduckgo"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[DuckDuckGo](https://duckduckgo.com/) es un motor de búsqueda web enfocado en la privacidad que ofrece respuestas instantáneas, resúmenes, temas relacionados y más, sin rastrear a ti o tus búsquedas. DuckDuckGo facilita encontrar información sin perfiles de usuario ni anuncios dirigidos.
Con DuckDuckGo en Sim, puedes:
- **Buscar en la web**: Encuentra instantáneamente respuestas, hechos y resúmenes para una consulta de búsqueda determinada
- **Obtener respuestas directas**: Recibe respuestas específicas para cálculos, conversiones o consultas factuales
- **Acceder a resúmenes**: Recibe breves sumarios o descripciones para tus temas de búsqueda
- **Obtener temas relacionados**: Descubre enlaces y referencias relevantes para tu búsqueda
- **Filtrar resultados**: Opcionalmente elimina HTML o evita la desambiguación para obtener resultados más limpios
Estas características permiten a tus agentes Sim automatizar el acceso a conocimientos web actualizados, desde mostrar hechos en un flujo de trabajo hasta enriquecer documentos y análisis con información actualizada. Como la API de Respuestas Instantáneas de DuckDuckGo es abierta y no requiere una clave API, es simple y segura para la privacidad al integrarla en tus procesos de negocio automatizados.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Busca en la web usando la API de Respuestas Instantáneas de DuckDuckGo. Devuelve respuestas instantáneas, resúmenes, temas relacionados y más. Uso gratuito sin necesidad de clave API.
## Herramientas
### `duckduckgo_search`
Busca en la web usando la API de Respuestas Instantáneas de DuckDuckGo. Devuelve respuestas instantáneas, resúmenes y temas relacionados para tu consulta. Uso gratuito sin necesidad de clave API.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `query` | string | Sí | La consulta de búsqueda a ejecutar |
| `noHtml` | boolean | No | Eliminar HTML del texto en los resultados \(predeterminado: true\) |
| `skipDisambig` | boolean | No | Omitir resultados de desambiguación \(predeterminado: false\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `heading` | string | El encabezado/título de la respuesta instantánea |
| `abstract` | string | Un breve resumen abstracto del tema |
| `abstractText` | string | Versión en texto plano del resumen |
| `abstractSource` | string | La fuente del resumen \(p. ej., Wikipedia\) |
| `abstractURL` | string | URL a la fuente del resumen |
| `image` | string | URL a una imagen relacionada con el tema |
| `answer` | string | Respuesta directa si está disponible \(p. ej., para cálculos\) |
| `answerType` | string | Tipo de respuesta \(p. ej., calc, ip, etc.\) |
| `type` | string | Tipo de respuesta: A \(artículo\), D \(desambiguación\), C \(categoría\), N \(nombre\), E \(exclusivo\) |
| `relatedTopics` | array | Array de temas relacionados con URLs y descripciones |
## Notas
- Categoría: `tools`
- Tipo: `duckduckgo`

View File

@@ -46,11 +46,11 @@ Busca en la web usando Exa AI. Devuelve resultados de búsqueda relevantes con t
| `type` | string | No | Tipo de búsqueda: neural, keyword, auto o fast \(predeterminado: auto\) |
| `includeDomains` | string | No | Lista separada por comas de dominios a incluir en los resultados |
| `excludeDomains` | string | No | Lista separada por comas de dominios a excluir de los resultados |
| `category` | string | No | Filtrar por categoría: company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `category` | string | No | Filtrar por categoría: company, research paper, news, pdf, github, tweet, personal site, linkedin profile, financial report |
| `text` | boolean | No | Incluir contenido de texto completo en los resultados \(predeterminado: false\) |
| `highlights` | boolean | No | Incluir fragmentos destacados en los resultados \(predeterminado: false\) |
| `summary` | boolean | No | Incluir resúmenes generados por IA en los resultados \(predeterminado: false\) |
| `livecrawl` | string | No | Modo de rastreo en vivo: always, fallback o never \(predeterminado: never\) |
| `livecrawl` | string | No | Modo de rastreo en vivo: never \(predeterminado\), fallback, always, o preferred \(siempre intenta livecrawl, recurre a caché si falla\) |
| `apiKey` | string | Sí | Clave API de Exa AI |
#### Salida
@@ -67,13 +67,13 @@ Recupera el contenido de páginas web usando Exa AI. Devuelve el título, conten
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ---------- | ----------- |
| `urls` | string | Sí | Lista separada por comas de URLs de las que recuperar contenido |
| `urls` | string | Sí | Lista separada por comas de URLs para recuperar contenido |
| `text` | boolean | No | Si es true, devuelve el texto completo de la página con la configuración predeterminada. Si es false, desactiva la devolución de texto. |
| `summaryQuery` | string | No | Consulta para guiar la generación del resumen |
| `subpages` | number | No | Número de subpáginas a rastrear desde las URLs proporcionadas |
| `subpageTarget` | string | No | Palabras clave separadas por comas para dirigirse a subpáginas específicas \(por ejemplo, "docs,tutorial,about"\) |
| `highlights` | boolean | No | Incluir fragmentos destacados en los resultados \(predeterminado: false\) |
| `livecrawl` | string | No | Modo de rastreo en vivo: always, fallback o never \(predeterminado: never\) |
| `livecrawl` | string | No | Modo de rastreo en vivo: never \(predeterminado\), fallback, always, o preferred \(siempre intenta livecrawl, recurre a caché si falla\) |
| `apiKey` | string | Sí | Clave API de Exa AI |
#### Salida
@@ -96,10 +96,9 @@ Encuentra páginas web similares a una URL determinada utilizando Exa AI. Devuel
| `includeDomains` | string | No | Lista separada por comas de dominios a incluir en los resultados |
| `excludeDomains` | string | No | Lista separada por comas de dominios a excluir de los resultados |
| `excludeSourceDomain` | boolean | No | Excluir el dominio de origen de los resultados \(predeterminado: false\) |
| `category` | string | No | Filtrar por categoría: company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `highlights` | boolean | No | Incluir fragmentos destacados en los resultados \(predeterminado: false\) |
| `summary` | boolean | No | Incluir resúmenes generados por IA en los resultados \(predeterminado: false\) |
| `livecrawl` | string | No | Modo de rastreo en vivo: always, fallback o never \(predeterminado: never\) |
| `livecrawl` | string | No | Modo de rastreo en vivo: never \(predeterminado\), fallback, always o preferred \(siempre intenta rastreo en vivo, recurre a caché si falla\) |
| `apiKey` | string | Sí | Clave API de Exa AI |
#### Salida

View File

@@ -49,8 +49,8 @@ Obtener una lista de mercados de predicción de Kalshi con filtrado opcional
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de mercados y metadatos |
| `markets` | array | Array de objetos de mercado |
| `paging` | object | Cursor de paginación para obtener más resultados |
### `kalshi_get_market`
@@ -66,8 +66,7 @@ Obtener detalles de un mercado de predicción específico por ticker
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del mercado y metadatos |
| `market` | object | Objeto de mercado con detalles |
### `kalshi_get_events`
@@ -87,8 +86,8 @@ Obtener una lista de eventos de Kalshi con filtrado opcional
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de eventos |
| `events` | array | Array de objetos de eventos |
| `paging` | object | Cursor de paginación para obtener más resultados |
### `kalshi_get_event`
@@ -105,8 +104,7 @@ Recuperar detalles de un evento específico por ticker
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del evento |
| `event` | object | Objeto de evento con detalles |
### `kalshi_get_balance`
@@ -123,8 +121,10 @@ Recuperar el saldo de tu cuenta y el valor de la cartera desde Kalshi
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del saldo |
| `balance` | number | Saldo de la cuenta en centavos |
| `portfolioValue` | number | Valor de la cartera en centavos |
| `balanceDollars` | number | Saldo de la cuenta en dólares |
| `portfolioValueDollars` | number | Valor de la cartera en dólares |
### `kalshi_get_positions`
@@ -146,8 +146,8 @@ Recuperar tus posiciones abiertas desde Kalshi
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de posiciones y metadatos |
| `positions` | array | Array de objetos de posición |
| `paging` | object | Cursor de paginación para obtener más resultados |
### `kalshi_get_orders`
@@ -169,8 +169,8 @@ Recupera tus órdenes de Kalshi con filtrado opcional
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de órdenes y metadatos |
| `orders` | array | Array de objetos de órdenes |
| `paging` | object | Cursor de paginación para obtener más resultados |
### `kalshi_get_order`
@@ -188,8 +188,7 @@ Recupera detalles de una orden específica por ID desde Kalshi
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden |
| `order` | object | Objeto de orden con detalles |
### `kalshi_get_orderbook`
@@ -205,8 +204,7 @@ Recupera el libro de órdenes (ofertas de sí y no) para un mercado específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del libro de órdenes y metadatos |
| `orderbook` | object | Libro de órdenes con ofertas y demandas de sí/no |
### `kalshi_get_trades`
@@ -223,8 +221,8 @@ Recupera operaciones recientes de todos los mercados
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de operaciones y metadatos |
| `trades` | array | Array de objetos de operaciones |
| `paging` | object | Cursor de paginación para obtener más resultados |
### `kalshi_get_candlesticks`
@@ -244,8 +242,7 @@ Obtener datos de velas OHLC para un mercado específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de velas y metadatos |
| `candlesticks` | array | Array de datos de velas OHLC |
### `kalshi_get_fills`
@@ -268,8 +265,8 @@ Recuperar tu portafolio
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de ejecuciones y metadatos |
| `fills` | array | Array de objetos de ejecuciones/operaciones |
| `paging` | object | Cursor de paginación para obtener más resultados |
### `kalshi_get_series_by_ticker`
@@ -285,8 +282,7 @@ Obtener detalles de una serie de mercado específica por ticker
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la serie y metadatos |
| `series` | object | Objeto de serie con detalles |
### `kalshi_get_exchange_status`
@@ -301,8 +297,7 @@ Obtener el estado actual del intercambio Kalshi (actividad de trading y del inte
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del estado del intercambio y metadatos |
| `status` | object | Estado del exchange con indicadores trading_active y exchange_active |
### `kalshi_create_order`
@@ -336,8 +331,7 @@ Crear una nueva orden en un mercado de predicción de Kalshi
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden creada |
| `order` | object | El objeto de orden creada |
### `kalshi_cancel_order`
@@ -355,8 +349,8 @@ Cancelar una orden existente en Kalshi
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden cancelada |
| `order` | object | El objeto de orden cancelada |
| `reducedBy` | number | Número de contratos cancelados |
### `kalshi_amend_order`
@@ -384,8 +378,7 @@ Modificar el precio o la cantidad de una orden existente en Kalshi
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden modificada |
| `order` | object | El objeto de orden modificada |
## Notas

View File

@@ -91,11 +91,11 @@ Realiza investigaciones exhaustivas y profundas en la web utilizando Parallel AI
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `status` | string | Estado de la tarea (en ejecución, completada, fallida) |
| `status` | string | Estado de la tarea (completada, fallida) |
| `run_id` | string | ID único para esta tarea de investigación |
| `message` | string | Mensaje de estado (para tareas en ejecución) |
| `message` | string | Mensaje de estado |
| `content` | object | Resultados de la investigación (estructurados según output_schema) |
| `basis` | array | Citas y fuentes con extractos y niveles de confianza |
| `basis` | array | Citas y fuentes con razonamiento y niveles de confianza |
## Notas

View File

@@ -51,8 +51,9 @@ Genera completados utilizando los modelos de chat de Perplexity AI
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados del completado de chat |
| `content` | string | Contenido de texto generado |
| `model` | string | Modelo utilizado para la generación |
| `usage` | object | Información de uso de tokens |
### `perplexity_search`
@@ -76,8 +77,7 @@ Obtén resultados de búsqueda clasificados de Perplexity
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados de búsqueda |
| `results` | array | Array de resultados de búsqueda |
## Notas

View File

@@ -38,21 +38,20 @@ Obtener una lista de mercados de predicción de Polymarket con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `closed` | string | No | Filtrar por estado cerrado \(true/false\). Use false para mostrar solo mercados activos. |
| `order` | string | No | Campo de ordenación \(p. ej., volumeNum, liquidityNum, startDate, endDate, createdAt\) |
| `ascending` | string | No | Dirección de ordenación \(true para ascendente, false para descendente\) |
| `tagId` | string | No | Filtrar por ID de etiqueta |
| `limit` | string | No | Número de resultados por página \(recomendado: 25-50\) |
| `limit` | string | No | Número de resultados por página \(máximo 50\) |
| `offset` | string | No | Desplazamiento de paginación \(omitir esta cantidad de resultados\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de mercados y metadatos |
| `markets` | array | Array de objetos de mercado |
### `polymarket_get_market`
@@ -69,8 +68,7 @@ Obtener detalles de un mercado de predicción específico por ID o slug
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de mercado y metadatos |
| `market` | object | Objeto de mercado con detalles |
### `polymarket_get_events`
@@ -78,21 +76,20 @@ Obtener una lista de eventos de Polymarket con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `closed` | string | No | Filtrar por estado cerrado \(true/false\). Use false para mostrar solo eventos activos. |
| `order` | string | No | Campo de ordenación \(p. ej., volume, liquidity, startDate, endDate, createdAt\) |
| `ascending` | string | No | Dirección de ordenación \(true para ascendente, false para descendente\) |
| `tagId` | string | No | Filtrar por ID de etiqueta |
| `limit` | string | No | Número de resultados por página \(recomendado: 25-50\) |
| `limit` | string | No | Número de resultados por página \(máximo 50\) |
| `offset` | string | No | Desplazamiento de paginación \(omitir esta cantidad de resultados\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de eventos y metadatos |
| `events` | array | Array de objetos de eventos |
### `polymarket_get_event`
@@ -109,8 +106,7 @@ Obtener detalles de un evento específico por ID o slug
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del evento |
| `event` | object | Objeto de evento con detalles |
### `polymarket_get_tags`
@@ -120,15 +116,14 @@ Obtener etiquetas disponibles para filtrar mercados de Polymarket
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Número de resultados por página \(recomendado: 25-50\) |
| `limit` | string | No | Número de resultados por página \(máx 50\) |
| `offset` | string | No | Desplazamiento de paginación \(omitir esta cantidad de resultados\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de etiquetas |
| `tags` | array | Array de objetos de etiquetas con id, etiqueta y slug |
### `polymarket_search`
@@ -139,15 +134,14 @@ Buscar mercados, eventos y perfiles en Polymarket
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `query` | string | Sí | Término de búsqueda |
| `limit` | string | No | Número de resultados por página \(recomendado: 25-50\) |
| `offset` | string | No | Desplazamiento de paginación \(omitir esta cantidad de resultados\) |
| `limit` | string | No | Número de resultados por página \(máx 50\) |
| `offset` | string | No | Desplazamiento de paginación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados de búsqueda y metadatos |
| `results` | object | Resultados de búsqueda que contienen arrays de mercados, eventos y perfiles |
### `polymarket_get_series`
@@ -157,7 +151,7 @@ Obtener series (grupos de mercados relacionados) de Polymarket
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Número de resultados por página \(recomendado: 25-50\) |
| `limit` | string | No | Número de resultados por página \(máx 50\) |
| `offset` | string | No | Desplazamiento de paginación \(omitir esta cantidad de resultados\) |
#### Salida
@@ -165,7 +159,7 @@ Obtener series (grupos de mercados relacionados) de Polymarket
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de la serie |
| `output` | object | Datos de series y metadatos |
### `polymarket_get_series_by_id`
@@ -182,7 +176,7 @@ Recuperar una serie específica (grupo de mercado relacionado) por ID desde Poly
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de la serie |
| `output` | object | Datos de serie y metadatos |
### `polymarket_get_orderbook`
@@ -199,7 +193,7 @@ Recuperar el resumen del libro de órdenes para un token específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del libro de órdenes |
| `output` | object | Datos del libro de órdenes y metadatos |
### `polymarket_get_price`
@@ -217,7 +211,7 @@ Recuperar el precio de mercado para un token y lado específicos
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de precio y metadatos |
| `output` | object | Datos de precio de mercado y metadatos |
### `polymarket_get_midpoint`
@@ -234,7 +228,7 @@ Recuperar el precio medio para un token específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del precio medio y metadatos |
| `output` | object | Datos de precio medio y metadatos |
### `polymarket_get_price_history`
@@ -272,7 +266,7 @@ Recuperar el último precio de operación para un token específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Último precio de operación y metadatos |
| `output` | object | Datos del último precio de operación y metadatos |
### `polymarket_get_spread`
@@ -289,7 +283,7 @@ Recuperar el diferencial de oferta y demanda para un token específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del diferencial y metadatos |
| `output` | object | Datos del diferencial de compra-venta y metadatos |
### `polymarket_get_tick_size`
@@ -306,7 +300,7 @@ Recuperar el tamaño mínimo de tick para un token específico
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Tamaño del tick y metadatos |
| `output` | object | Datos del tamaño mínimo de tick y metadatos |
### `polymarket_get_positions`
@@ -332,19 +326,18 @@ Recuperar historial de operaciones de Polymarket
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `user` | string | No | Dirección de la cartera del usuario para filtrar operaciones |
| `market` | string | No | ID de mercado para filtrar operaciones |
| `limit` | string | No | Número de resultados por página \(recomendado: 25-50\) |
| `limit` | string | No | Número de resultados por página \(máximo 50\) |
| `offset` | string | No | Desplazamiento de paginación \(omitir esta cantidad de resultados\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de operaciones y metadatos |
| `trades` | array | Array de objetos de operaciones |
## Notas

View File

@@ -343,19 +343,30 @@ Eliminar una plantilla de correo electrónico de SendGrid
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `message` | string | Mensaje de estado o éxito |
| `messageId` | string | ID del mensaje de correo electrónico \(send_mail\) |
| `to` | string | Dirección de correo electrónico del destinatario \(send_mail\) |
| `subject` | string | Asunto del correo electrónico \(send_mail, create_template_version\) |
| `id` | string | ID del recurso |
| `jobId` | string | ID del trabajo para operaciones asíncronas |
| `email` | string | Dirección de correo electrónico |
| `firstName` | string | Nombre |
| `lastName` | string | Apellido |
| `jobId` | string | ID de trabajo para operaciones asíncronas |
| `email` | string | Dirección de correo electrónico del contacto |
| `firstName` | string | Nombre del contacto |
| `lastName` | string | Apellido del contacto |
| `createdAt` | string | Marca de tiempo de creación |
| `updatedAt` | string | Marca de tiempo de última actualización |
| `listIds` | json | Array de IDs de listas a las que pertenece el contacto |
| `customFields` | json | Valores de campos personalizados |
| `contacts` | json | Array de contactos |
| `contactCount` | number | Número de contactos |
| `lists` | json | Array de listas |
| `templates` | json | Array de plantillas |
| `message` | string | Estado o mensaje de éxito |
| `name` | string | Nombre del recurso |
| `templates` | json | Array de plantillas |
| `generation` | string | Generación de plantilla |
| `versions` | json | Array de versiones de plantilla |
| `templateId` | string | ID de plantilla |
| `active` | boolean | Si la versión de la plantilla está activa |
| `htmlContent` | string | Contenido HTML |
| `plainContent` | string | Contenido de texto plano |
### `sendgrid_create_template_version`

View File

@@ -0,0 +1,184 @@
---
title: SFTP
description: Transferir archivos a través de SFTP (Protocolo de transferencia de
archivos SSH)
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="sftp"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}
[SFTP (Protocolo de transferencia de archivos SSH)](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol) es un protocolo de red seguro que te permite subir, descargar y gestionar archivos en servidores remotos. SFTP opera sobre SSH, lo que lo hace ideal para transferencias de archivos automatizadas y cifradas, así como para la gestión remota de archivos dentro de flujos de trabajo modernos.
Con las herramientas SFTP integradas en Sim, puedes automatizar fácilmente el movimiento de archivos entre tus agentes de IA y sistemas o servidores externos. Esto permite a tus agentes gestionar intercambios críticos de datos, copias de seguridad, generación de documentos y orquestación de sistemas remotos, todo con una seguridad robusta.
**Funcionalidades clave disponibles a través de las herramientas SFTP:**
- **Subir archivos:** Transfiere sin problemas archivos de cualquier tipo desde tu flujo de trabajo a un servidor remoto, con soporte tanto para autenticación por contraseña como por clave privada SSH.
- **Descargar archivos:** Recupera archivos de servidores SFTP remotos directamente para su procesamiento, archivo o automatización adicional.
- **Listar y gestionar archivos:** Enumera directorios, elimina o crea archivos y carpetas, y gestiona permisos del sistema de archivos de forma remota.
- **Autenticación flexible:** Conéctate usando contraseñas tradicionales o claves SSH, con soporte para frases de contraseña y control de permisos.
- **Soporte para archivos grandes:** Gestiona programáticamente cargas y descargas de archivos grandes, con límites de tamaño incorporados para mayor seguridad.
Al integrar SFTP en Sim, puedes automatizar operaciones seguras de archivos como parte de cualquier flujo de trabajo, ya sea recopilación de datos, informes, mantenimiento de sistemas remotos o intercambio dinámico de contenido entre plataformas.
Las secciones a continuación describen las principales herramientas SFTP disponibles:
- **sftp_upload:** Sube uno o más archivos a un servidor remoto.
- **sftp_download:** Descarga archivos desde un servidor remoto a tu flujo de trabajo.
- **sftp_list:** Lista el contenido de directorios en un servidor SFTP remoto.
- **sftp_delete:** Elimina archivos o directorios de un servidor remoto.
- **sftp_create:** Crea nuevos archivos en un servidor SFTP remoto.
- **sftp_mkdir:** Crea nuevos directorios de forma remota.
Consulta la documentación de la herramienta a continuación para conocer los parámetros detallados de entrada y salida para cada operación.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Sube, descarga, lista y gestiona archivos en servidores remotos a través de SFTP. Compatible con autenticación por contraseña y clave privada para transferencias seguras de archivos.
## Herramientas
### `sftp_upload`
Subir archivos a un servidor SFTP remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SFTP |
| `port` | number | Sí | Puerto del servidor SFTP \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SFTP |
| `password` | string | No | Contraseña para autenticación \(si no se usa clave privada\) |
| `privateKey` | string | No | Clave privada para autenticación \(formato OpenSSH\) |
| `passphrase` | string | No | Frase de contraseña para clave privada cifrada |
| `remotePath` | string | Sí | Directorio de destino en el servidor remoto |
| `files` | file[] | No | Archivos para subir |
| `fileContent` | string | No | Contenido directo del archivo para subir \(para archivos de texto\) |
| `fileName` | string | No | Nombre del archivo cuando se usa contenido directo |
| `overwrite` | boolean | No | Si se deben sobrescribir archivos existentes \(predeterminado: true\) |
| `permissions` | string | No | Permisos del archivo \(p. ej., 0644\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la subida fue exitosa |
| `uploadedFiles` | json | Array de detalles de archivos subidos \(nombre, rutaRemota, tamaño\) |
| `message` | string | Mensaje de estado de la operación |
### `sftp_download`
Descargar un archivo desde un servidor SFTP remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SFTP |
| `port` | number | Sí | Puerto del servidor SFTP \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SFTP |
| `password` | string | No | Contraseña para autenticación \(si no se usa clave privada\) |
| `privateKey` | string | No | Clave privada para autenticación \(formato OpenSSH\) |
| `passphrase` | string | No | Frase de contraseña para clave privada cifrada |
| `remotePath` | string | Sí | Ruta al archivo en el servidor remoto |
| `encoding` | string | No | Codificación de salida: utf-8 para texto, base64 para binario \(predeterminado: utf-8\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la descarga fue exitosa |
| `fileName` | string | Nombre del archivo descargado |
| `content` | string | Contenido del archivo \(texto o codificado en base64\) |
| `size` | number | Tamaño del archivo en bytes |
| `encoding` | string | Codificación del contenido \(utf-8 o base64\) |
| `message` | string | Mensaje de estado de la operación |
### `sftp_list`
Listar archivos y directorios en un servidor SFTP remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SFTP |
| `port` | number | Sí | Puerto del servidor SFTP \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SFTP |
| `password` | string | No | Contraseña para autenticación \(si no se usa clave privada\) |
| `privateKey` | string | No | Clave privada para autenticación \(formato OpenSSH\) |
| `passphrase` | string | No | Frase de contraseña para clave privada cifrada |
| `remotePath` | string | Sí | Ruta del directorio en el servidor remoto |
| `detailed` | boolean | No | Incluir información detallada de archivos \(tamaño, permisos, fecha de modificación\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la operación fue exitosa |
| `path` | string | Ruta del directorio que fue listado |
| `entries` | json | Array de entradas del directorio con nombre, tipo, tamaño, permisos, modifiedAt |
| `count` | number | Número de entradas en el directorio |
| `message` | string | Mensaje de estado de la operación |
### `sftp_delete`
Eliminar un archivo o directorio en un servidor SFTP remoto
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SFTP |
| `port` | number | Sí | Puerto del servidor SFTP \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SFTP |
| `password` | string | No | Contraseña para autenticación \(si no se usa clave privada\) |
| `privateKey` | string | No | Clave privada para autenticación \(formato OpenSSH\) |
| `passphrase` | string | No | Frase de contraseña para clave privada cifrada |
| `remotePath` | string | Sí | Ruta al archivo o directorio a eliminar |
| `recursive` | boolean | No | Eliminar directorios recursivamente |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la eliminación fue exitosa |
| `deletedPath` | string | Ruta que fue eliminada |
| `message` | string | Mensaje de estado de la operación |
### `sftp_mkdir`
Crear un directorio en un servidor SFTP remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SFTP |
| `port` | number | Sí | Puerto del servidor SFTP \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SFTP |
| `password` | string | No | Contraseña para autenticación \(si no se usa clave privada\) |
| `privateKey` | string | No | Clave privada para autenticación \(formato OpenSSH\) |
| `passphrase` | string | No | Frase de contraseña para clave privada cifrada |
| `remotePath` | string | Sí | Ruta para el nuevo directorio |
| `recursive` | boolean | No | Crear directorios principales si no existen |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si el directorio se creó correctamente |
| `createdPath` | string | Ruta del directorio creado |
| `message` | string | Mensaje de estado de la operación |
## Notas
- Categoría: `tools`
- Tipo: `sftp`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="smtp"
color="#4A5568"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -35,9 +35,9 @@ Procesa un pensamiento/instrucción proporcionado, haciéndolo disponible para l
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `thought` | string | Sí | El proceso de pensamiento o instrucción proporcionado por el usuario en el bloque de Paso de Pensamiento. |
| `thought` | string | Sí | Tu razonamiento interno, análisis o proceso de pensamiento. Utiliza esto para analizar el problema paso a paso antes de responder. |
#### Salida

View File

@@ -31,37 +31,30 @@ Integra Translate en el flujo de trabajo. Puede traducir texto a cualquier idiom
## Herramientas
### `openai_chat`
### `llm_chat`
Envía una solicitud de completado de chat a cualquier proveedor de LLM compatible
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `model` | string | Sí | El modelo a utilizar \(p. ej., gpt-4o, claude-sonnet-4-5, gemini-2.0-flash\) |
| `systemPrompt` | string | No | Prompt del sistema para establecer el comportamiento del asistente |
| `context` | string | Sí | El mensaje del usuario o contexto para enviar al modelo |
| `apiKey` | string | No | Clave API para el proveedor \(usa la clave de la plataforma si no se proporciona para modelos alojados\) |
| `temperature` | number | No | Temperatura para la generación de respuestas \(0-2\) |
| `maxTokens` | number | No | Tokens máximos en la respuesta |
| `azureEndpoint` | string | No | URL del endpoint de Azure OpenAI |
| `azureApiVersion` | string | No | Versión de la API de Azure OpenAI |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Texto traducido |
| `model` | string | Modelo utilizado |
| `tokens` | json | Uso de tokens |
### `anthropic_chat`
### `google_chat`
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Texto traducido |
| `model` | string | Modelo utilizado |
| `tokens` | json | Uso de tokens |
| `content` | string | El contenido de la respuesta generada |
| `model` | string | El modelo utilizado para la generación |
| `tokens` | object | Información de uso de tokens |
## Notas

View File

@@ -251,12 +251,12 @@ Subir un archivo multimedia (imagen, video, documento) a WordPress.com
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `file` | string | | Datos del archivo codificados en Base64 o URL para obtener el archivo |
| `filename` | string | | Nombre del archivo con extensión \(p. ej., imagen.jpg\) |
| `title` | string | No | Título del archivo multimedia |
| `caption` | string | No | Leyenda del archivo multimedia |
| `file` | file | No | Archivo para subir \(objeto UserFile\) |
| `filename` | string | No | Anulación opcional del nombre de archivo \(p. ej., imagen.jpg\) |
| `title` | string | No | Título del medio |
| `caption` | string | No | Leyenda del medio |
| `altText` | string | No | Texto alternativo para accesibilidad |
| `description` | string | No | Descripción del archivo multimedia |
| `description` | string | No | Descripción del medio |
#### Salida

View File

@@ -170,28 +170,9 @@ Obtener videos de una lista de reproducción de YouTube.
| --------- | ---- | ----------- |
| `items` | array | Array de videos en la lista de reproducción |
### `youtube_related_videos`
Encuentra videos relacionados con un video específico de YouTube.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `videoId` | string | Sí | ID del video de YouTube para encontrar videos relacionados |
| `maxResults` | number | No | Número máximo de videos relacionados a devolver \(1-50\) |
| `pageToken` | string | No | Token de página para paginación |
| `apiKey` | string | Sí | Clave API de YouTube |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `items` | array | Array de videos relacionados |
### `youtube_comments`
Obtiene comentarios de un video de YouTube.
Obtener comentarios de un video de YouTube.
#### Entrada

View File

@@ -73,8 +73,9 @@ Recupera una lista de tickets de Zendesk con filtrado opcional
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de los tickets |
| `tickets` | array | Array de objetos de ticket |
| `paging` | object | Información de paginación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_get_ticket`
@@ -93,8 +94,8 @@ Obtener un solo ticket por ID desde Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del ticket |
| `ticket` | object | Objeto de ticket |
| `metadata` | object | Metadatos de la operación |
### `zendesk_create_ticket`
@@ -122,8 +123,8 @@ Crear un nuevo ticket en Zendesk con soporte para campos personalizados
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del ticket creado |
| `ticket` | object | Objeto de ticket creado |
| `metadata` | object | Metadatos de la operación |
### `zendesk_create_tickets_bulk`
@@ -142,8 +143,8 @@ Crear múltiples tickets en Zendesk a la vez (máximo 100)
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Estado del trabajo de creación masiva |
| `jobStatus` | object | Objeto de estado del trabajo |
| `metadata` | object | Metadatos de la operación |
### `zendesk_update_ticket`
@@ -171,8 +172,8 @@ Actualizar un ticket existente en Zendesk con soporte para campos personalizados
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos actualizados del ticket |
| `ticket` | object | Objeto de ticket actualizado |
| `metadata` | object | Metadatos de la operación |
### `zendesk_update_tickets_bulk`
@@ -196,8 +197,8 @@ Actualizar múltiples tickets en Zendesk a la vez (máximo 100)
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Estado del trabajo de actualización masiva |
| `jobStatus` | object | Objeto de estado del trabajo |
| `metadata` | object | Metadatos de la operación |
### `zendesk_delete_ticket`
@@ -216,8 +217,8 @@ Eliminar un ticket de Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Confirmación de eliminación |
| `deleted` | boolean | Éxito de la eliminación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_merge_tickets`
@@ -238,8 +239,8 @@ Fusionar múltiples tickets en un ticket objetivo
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Estado del trabajo de fusión |
| `jobStatus` | object | Objeto de estado del trabajo |
| `metadata` | object | Metadatos de la operación |
### `zendesk_get_users`
@@ -261,8 +262,9 @@ Recuperar una lista de usuarios de Zendesk con filtrado opcional
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de usuarios y metadatos |
| `users` | array | Array de objetos de usuario |
| `paging` | object | Información de paginación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_get_user`
@@ -281,8 +283,8 @@ Obtener un solo usuario por ID desde Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del usuario |
| `user` | object | Objeto de usuario |
| `metadata` | object | Metadatos de la operación |
### `zendesk_get_current_user`
@@ -300,8 +302,8 @@ Obtener el usuario actualmente autenticado desde Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del usuario actual |
| `user` | object | Objeto del usuario actual |
| `metadata` | object | Metadatos de la operación |
### `zendesk_search_users`
@@ -323,8 +325,9 @@ Buscar usuarios en Zendesk usando una cadena de consulta
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados de búsqueda de usuarios |
| `users` | array | Array de objetos de usuario |
| `paging` | object | Información de paginación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_create_user`
@@ -350,8 +353,8 @@ Crear un nuevo usuario en Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del usuario creado |
| `user` | object | Objeto del usuario creado |
| `metadata` | object | Metadatos de la operación |
### `zendesk_create_users_bulk`
@@ -370,8 +373,8 @@ Crear múltiples usuarios en Zendesk mediante importación masiva
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Estado del trabajo de creación masiva |
| `jobStatus` | object | Objeto de estado del trabajo |
| `metadata` | object | Metadatos de la operación |
### `zendesk_update_user`
@@ -398,8 +401,8 @@ Actualizar un usuario existente en Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos actualizados del usuario |
| `user` | object | Objeto del usuario actualizado |
| `metadata` | object | Metadatos de la operación |
### `zendesk_update_users_bulk`
@@ -418,8 +421,8 @@ Actualizar múltiples usuarios en Zendesk usando actualización masiva
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Estado del trabajo de actualización masiva |
| `jobStatus` | object | Objeto de estado del trabajo |
| `metadata` | object | Metadatos de la operación |
### `zendesk_delete_user`
@@ -438,8 +441,8 @@ Eliminar un usuario de Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del usuario eliminado |
| `deleted` | boolean | Éxito de eliminación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_get_organizations`
@@ -459,8 +462,9 @@ Obtener una lista de organizaciones de Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de las organizaciones |
| `organizations` | array | Array de objetos de organización |
| `paging` | object | Información de paginación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_get_organization`
@@ -479,8 +483,8 @@ Obtener una única organización por ID desde Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la organización |
| `organization` | object | Objeto de organización |
| `metadata` | object | Metadatos de la operación |
### `zendesk_autocomplete_organizations`
@@ -501,8 +505,9 @@ Autocompletar organizaciones en Zendesk por prefijo de nombre (para coincidencia
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados de búsqueda de organizaciones |
| `organizations` | array | Array de objetos de organización |
| `paging` | object | Información de paginación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_create_organization`
@@ -526,8 +531,8 @@ Crear una nueva organización en Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la organización creada |
| `organization` | object | Objeto de organización creada |
| `metadata` | object | Metadatos de la operación |
### `zendesk_create_organizations_bulk`
@@ -546,8 +551,8 @@ Crear múltiples organizaciones en Zendesk mediante importación masiva
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Estado del trabajo de creación masiva |
| `jobStatus` | object | Objeto de estado del trabajo |
| `metadata` | object | Metadatos de la operación |
### `zendesk_update_organization`
@@ -572,8 +577,8 @@ Actualizar una organización existente en Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la organización actualizada |
| `organization` | object | Objeto de organización actualizada |
| `metadata` | object | Metadatos de la operación |
### `zendesk_delete_organization`
@@ -592,8 +597,8 @@ Eliminar una organización de Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la organización eliminada |
| `deleted` | boolean | Éxito de eliminación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_search`
@@ -616,8 +621,9 @@ Búsqueda unificada a través de tickets, usuarios y organizaciones en Zendesk
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados de la búsqueda |
| `results` | array | Array de objetos de resultado |
| `paging` | object | Información de paginación |
| `metadata` | object | Metadatos de la operación |
### `zendesk_search_count`
@@ -636,8 +642,8 @@ Contar el número de resultados de búsqueda que coinciden con una consulta en Z
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultado del recuento de búsqueda |
| `count` | number | Número de resultados coincidentes |
| `metadata` | object | Metadatos de la operación |
## Notas

View File

@@ -30,6 +30,9 @@ Utiliza el bloque Start para todo lo que se origina desde el editor, despliegue
<Card title="Schedule" href="/triggers/schedule">
Ejecución basada en cron o intervalos
</Card>
<Card title="RSS Feed" href="/triggers/rss">
Monitorea feeds RSS y Atom para nuevo contenido
</Card>
</Cards>
## Comparación rápida
@@ -39,6 +42,7 @@ Utiliza el bloque Start para todo lo que se origina desde el editor, despliegue
| **Start** | Ejecuciones del editor, solicitudes de despliegue a API o mensajes de chat |
| **Schedule** | Temporizador gestionado en el bloque de programación |
| **Webhook** | Al recibir una solicitud HTTP entrante |
| **RSS Feed** | Nuevo elemento publicado en el feed |
> El bloque Start siempre expone los campos `input`, `conversationId` y `files`. Añade campos personalizados al formato de entrada para datos estructurados adicionales.

View File

@@ -0,0 +1,49 @@
---
title: Feed RSS
---
import { Callout } from 'fumadocs-ui/components/callout'
import { Image } from '@/components/ui/image'
El bloque de Feed RSS monitorea feeds RSS y Atom cuando se publican nuevos elementos, tu flujo de trabajo se activa automáticamente.
<div className="flex justify-center">
<Image
src="/static/blocks/rss.png"
alt="Bloque de Feed RSS"
width={500}
height={400}
className="my-6"
/>
</div>
## Configuración
1. **Añadir bloque de Feed RSS** - Arrastra el bloque de Feed RSS para iniciar tu flujo de trabajo
2. **Introducir URL del feed** - Pega la URL de cualquier feed RSS o Atom
3. **Implementar** - Implementa tu flujo de trabajo para activar el sondeo
Una vez implementado, el feed se comprueba cada minuto en busca de nuevos elementos.
## Campos de salida
| Campo | Tipo | Descripción |
|-------|------|-------------|
| `title` | string | Título del elemento |
| `link` | string | Enlace del elemento |
| `pubDate` | string | Fecha de publicación |
| `item` | object | Elemento en bruto con todos los campos |
| `feed` | object | Metadatos en bruto del feed |
Accede a los campos mapeados directamente (`<rss.title>`) o utiliza los objetos en bruto para cualquier campo (`<rss.item.author>`, `<rss.feed.language>`).
## Casos de uso
- **Monitoreo de contenido** - Sigue blogs, sitios de noticias o actualizaciones de competidores
- **Automatización de podcasts** - Activa flujos de trabajo cuando se publican nuevos episodios
- **Seguimiento de lanzamientos** - Monitorea lanzamientos de GitHub, registros de cambios o actualizaciones de productos
- **Agregación social** - Recopila contenido de plataformas que exponen feeds RSS
<Callout>
Los disparadores RSS solo se activan para elementos publicados después de guardar el disparador. Los elementos existentes en el feed no se procesan.
</Callout>

View File

@@ -27,14 +27,16 @@ Toutes les réponses API incluent des informations sur vos limites d'exécution
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60, // Max sync workflow executions per minute
"remaining": 58, // Remaining sync workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 60, // Sustained rate limit per minute
"maxBurst": 120, // Maximum burst capacity
"remaining": 118, // Current tokens available (up to maxBurst)
"resetAt": "..." // When tokens next refill
},
"async": {
"limit": 60, // Max async workflow executions per minute
"remaining": 59, // Remaining async workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 200, // Sustained rate limit per minute
"maxBurst": 400, // Maximum burst capacity
"remaining": 398, // Current tokens available
"resetAt": "..." // When tokens next refill
}
},
"usage": {
@@ -46,7 +48,7 @@ Toutes les réponses API incluent des informations sur vos limites d'exécution
}
```
**Remarque :** Les limites de débit dans le corps de la réponse concernent les exécutions de workflow. Les limites de débit pour l'appel de ce point de terminaison API se trouvent dans les en-têtes de réponse (`X-RateLimit-*`).
**Remarque :** les limites de débit utilisent un algorithme de seau à jetons. `remaining` peut dépasser `requestsPerMinute` jusqu'à `maxBurst` lorsque vous n'avez pas utilisé récemment votre allocation complète, permettant ainsi un trafic en rafale. Les limites de débit dans le corps de la réponse concernent les exécutions de workflow. Les limites de débit pour appeler ce point de terminaison API se trouvent dans les en-têtes de réponse (`X-RateLimit-*`).
### Interrogation des journaux
@@ -110,13 +112,15 @@ Interrogez les journaux d'exécution des workflows avec de nombreuses options de
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -190,13 +194,15 @@ Récupérer des informations détaillées sur une entrée de journal spécifique
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -482,19 +488,27 @@ Les livraisons de webhook échouées sont réessayées avec un backoff exponenti
## Limitation de débit
L'API implémente une limitation de débit pour garantir une utilisation équitable :
L'API utilise un **algorithme de seau à jetons** pour limiter le débit, offrant une utilisation équitable tout en permettant des pics de trafic :
- **Plan gratuit** : 10 requêtes par minute
- **Plan Pro** : 30 requêtes par minute
- **Plan Équipe** : 60 requêtes par minute
- **Plan Entreprise** : Limites personnalisées
| Forfait | Requêtes/minute | Capacité de rafale |
|------|-----------------|----------------|
| Gratuit | 10 | 20 |
| Pro | 30 | 60 |
| Équipe | 60 | 120 |
| Entreprise | 120 | 240 |
Les informations de limitation de débit sont incluses dans les en-têtes de réponse :
- `X-RateLimit-Limit` : Nombre maximum de requêtes par fenêtre
- `X-RateLimit-Remaining` : Requêtes restantes dans la fenêtre actuelle
- `X-RateLimit-Reset` : Horodatage ISO indiquant quand la fenêtre se réinitialise
**Comment ça fonctionne :**
- Les jetons se rechargent au rythme de `requestsPerMinute`
- Vous pouvez accumuler jusqu'à `maxBurst` jetons en période d'inactivité
- Chaque requête consomme 1 jeton
- La capacité de rafale permet de gérer les pics de trafic
## Exemple : Polling pour nouveaux logs
Les informations sur les limites de débit sont incluses dans les en-têtes de réponse :
- `X-RateLimit-Limit` : requêtes par minute (taux de recharge)
- `X-RateLimit-Remaining` : jetons actuellement disponibles
- `X-RateLimit-Reset` : horodatage ISO indiquant quand les jetons seront rechargés
## Exemple : interrogation pour de nouveaux journaux
```javascript
let cursor = null;
@@ -541,7 +555,7 @@ async function pollLogs() {
setInterval(pollLogs, 30000);
```
## Exemple : Traitement des webhooks
## Exemple : traitement des webhooks
```javascript
import express from 'express';

View File

@@ -147,8 +147,20 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
{
"success": true,
"rateLimit": {
"sync": { "isLimited": false, "limit": 10, "remaining": 10, "resetAt": "2025-09-08T22:51:55.999Z" },
"async": { "isLimited": false, "limit": 50, "remaining": 50, "resetAt": "2025-09-08T22:51:56.155Z" },
"sync": {
"isLimited": false,
"requestsPerMinute": 25,
"maxBurst": 50,
"remaining": 50,
"resetAt": "2025-09-08T22:51:55.999Z"
},
"async": {
"isLimited": false,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 400,
"resetAt": "2025-09-08T22:51:56.155Z"
},
"authType": "api"
},
"usage": {
@@ -159,6 +171,11 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**Champs de limite de débit :**
- `requestsPerMinute` : limite de débit soutenu (les jetons se rechargent à ce rythme)
- `maxBurst` : nombre maximum de jetons que vous pouvez accumuler (capacité de rafale)
- `remaining` : jetons actuellement disponibles (peut aller jusqu'à `maxBurst`)
**Champs de réponse :**
- `currentPeriodCost` reflète l'utilisation dans la période de facturation actuelle
- `limit` est dérivé des limites individuelles (Gratuit/Pro) ou des limites mutualisées de l'organisation (Équipe/Entreprise)
@@ -188,7 +205,7 @@ Sim utilise un modèle de facturation **abonnement de base + dépassement** :
- Exemple : 35 $ d'utilisation = 20 $ (abonnement) + 15 $ (dépassement)
**Forfait Équipe (40 $/siège/mois) :**
- Utilisation mutualisée entre tous les membres de l'équipe
- Utilisation mutualisée pour tous les membres de l'équipe
- Dépassement calculé à partir de l'utilisation totale de l'équipe
- Le propriétaire de l'organisation reçoit une seule facture

View File

@@ -0,0 +1,63 @@
---
title: DuckDuckGo
description: Recherchez avec DuckDuckGo
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="duckduckgo"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[DuckDuckGo](https://duckduckgo.com/) est un moteur de recherche web axé sur la confidentialité qui fournit des réponses instantanées, des résumés, des sujets connexes et plus encore — sans vous suivre ni suivre vos recherches. DuckDuckGo facilite la recherche d'informations sans profilage d'utilisateur ni publicités ciblées.
Avec DuckDuckGo dans Sim, vous pouvez :
- **Rechercher sur le web** : trouvez instantanément des réponses, des faits et des aperçus pour une requête de recherche donnée
- **Obtenir des réponses directes** : recevez des réponses spécifiques pour des calculs, des conversions ou des requêtes factuelles
- **Accéder à des résumés** : recevez de courts résumés ou descriptions pour vos sujets de recherche
- **Récupérer des sujets connexes** : découvrez des liens et références pertinents pour votre recherche
- **Filtrer les résultats** : supprimez éventuellement le HTML ou ignorez la désambiguïsation pour des résultats plus propres
Ces fonctionnalités permettent à vos agents Sim d'automatiser l'accès à des connaissances web récentes — de la présentation de faits dans un flux de travail à l'enrichissement de documents et d'analyses avec des informations à jour. Comme l'API Instant Answers de DuckDuckGo est ouverte et ne nécessite pas de clé API, elle s'intègre facilement et en toute sécurité dans vos processus d'entreprise automatisés.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Recherchez sur le web en utilisant l'API Instant Answers de DuckDuckGo. Renvoie des réponses instantanées, des résumés, des sujets connexes et plus encore. Gratuit à utiliser sans clé API.
## Outils
### `duckduckgo_search`
Recherchez sur le web en utilisant l'API Instant Answers de DuckDuckGo. Renvoie des réponses instantanées, des résumés et des sujets connexes pour votre requête. Gratuit à utiliser sans clé API.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Oui | La requête de recherche à exécuter |
| `noHtml` | boolean | Non | Supprimer le HTML du texte dans les résultats \(par défaut : true\) |
| `skipDisambig` | boolean | Non | Ignorer les résultats de désambiguïsation \(par défaut : false\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `heading` | string | Le titre/en-tête de la réponse instantanée |
| `abstract` | string | Un court résumé du sujet |
| `abstractText` | string | Version en texte brut du résumé |
| `abstractSource` | string | La source du résumé \(par exemple, Wikipédia\) |
| `abstractURL` | string | URL vers la source du résumé |
| `image` | string | URL vers une image liée au sujet |
| `answer` | string | Réponse directe si disponible \(par exemple, pour les calculs\) |
| `answerType` | string | Type de réponse \(par exemple, calc, ip, etc.\) |
| `type` | string | Type de réponse : A \(article\), D \(désambiguïsation\), C \(catégorie\), N \(nom\), E \(exclusif\) |
| `relatedTopics` | array | Tableau des sujets connexes avec URLs et descriptions |
## Notes
- Catégorie : `tools`
- Type : `duckduckgo`

View File

@@ -42,15 +42,15 @@ Recherchez sur le web en utilisant Exa AI. Renvoie des résultats de recherche p
| --------- | ---- | ---------- | ----------- |
| `query` | chaîne | Oui | La requête de recherche à exécuter |
| `numResults` | nombre | Non | Nombre de résultats à retourner \(par défaut : 10, max : 25\) |
| `useAutoprompt` | booléen | Non | Utiliser l'autoprompt pour améliorer la requête \(par défaut : false\) |
| `useAutoprompt` | booléen | Non | Utiliser ou non l'autoprompt pour améliorer la requête \(par défaut : false\) |
| `type` | chaîne | Non | Type de recherche : neural, keyword, auto ou fast \(par défaut : auto\) |
| `includeDomains` | chaîne | Non | Liste de domaines à inclure dans les résultats, séparés par des virgules |
| `excludeDomains` | chaîne | Non | Liste de domaines à exclure des résultats, séparés par des virgules |
| `category` | chaîne | Non | Filtrer par catégorie : company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `category` | chaîne | Non | Filtrer par catégorie : company, research paper, news, pdf, github, tweet, personal site, linkedin profile, financial report |
| `text` | booléen | Non | Inclure le contenu textuel complet dans les résultats \(par défaut : false\) |
| `highlights` | booléen | Non | Inclure des extraits surlignés dans les résultats \(par défaut : false\) |
| `summary` | booléen | Non | Inclure des résumés générés par IA dans les résultats \(par défaut : false\) |
| `livecrawl` | chaîne | Non | Mode d'exploration en direct : always, fallback, ou never \(par défaut : never\) |
| `livecrawl` | chaîne | Non | Mode d'exploration en direct : never \(par défaut\), fallback, always, ou preferred \(toujours essayer l'exploration en direct, revenir au cache en cas d'échec\) |
| `apiKey` | chaîne | Oui | Clé API Exa AI |
#### Sortie
@@ -67,13 +67,13 @@ Récupérer le contenu des pages web en utilisant Exa AI. Renvoie le titre, le c
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `urls` | chaîne | Oui | Liste d'URLs séparées par des virgules pour récupérer du contenu |
| `text` | booléen | Non | Si vrai, renvoie le texte complet de la page avec les paramètres par défaut. Si faux, désactive le retour de texte. |
| `urls` | chaîne | Oui | Liste d'URLs séparées par des virgules pour récupérer le contenu |
| `text` | booléen | Non | Si true, renvoie le texte complet de la page avec les paramètres par défaut. Si false, désactive le retour du texte. |
| `summaryQuery` | chaîne | Non | Requête pour guider la génération du résumé |
| `subpages` | nombre | Non | Nombre de sous-pages à explorer à partir des URLs fournies |
| `subpageTarget` | chaîne | Non | Mots-clés séparés par des virgules pour cibler des sous-pages spécifiques \(ex. : "docs,tutorial,about"\) |
| `subpageTarget` | chaîne | Non | Mots-clés séparés par des virgules pour cibler des sous-pages spécifiques \(par exemple, "docs,tutorial,about"\) |
| `highlights` | booléen | Non | Inclure des extraits surlignés dans les résultats \(par défaut : false\) |
| `livecrawl` | chaîne | Non | Mode d'exploration en direct : always, fallback, ou never \(par défaut : never\) |
| `livecrawl` | chaîne | Non | Mode d'exploration en direct : never \(par défaut\), fallback, always, ou preferred \(toujours essayer l'exploration en direct, revenir au cache en cas d'échec\) |
| `apiKey` | chaîne | Oui | Clé API Exa AI |
#### Sortie
@@ -96,10 +96,9 @@ Trouvez des pages web similaires à une URL donnée en utilisant Exa AI. Renvoie
| `includeDomains` | chaîne | Non | Liste de domaines à inclure dans les résultats, séparés par des virgules |
| `excludeDomains` | chaîne | Non | Liste de domaines à exclure des résultats, séparés par des virgules |
| `excludeSourceDomain` | booléen | Non | Exclure le domaine source des résultats \(par défaut : false\) |
| `category` | chaîne | Non | Filtrer par catégorie : company, research_paper, news_article, pdf, github, tweet, movie, song, personal_site |
| `highlights` | booléen | Non | Inclure des extraits surlignés dans les résultats \(par défaut : false\) |
| `summary` | booléen | Non | Inclure des résumés générés par IA dans les résultats \(par défaut : false\) |
| `livecrawl` | chaîne | Non | Mode d'exploration en direct : always, fallback, ou never \(par défaut : never\) |
| `livecrawl` | chaîne | Non | Mode d'exploration en direct : never \(par défaut\), fallback, always, ou preferred \(toujours essayer l'exploration en direct, revenir au cache en cas d'échec\) |
| `apiKey` | chaîne | Oui | Clé API Exa AI |
#### Sortie

View File

@@ -49,8 +49,8 @@ Récupérer une liste de marchés prédictifs de Kalshi avec filtrage optionnel
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `output` | objet | Données des marchés et métadonnées |
| `markets` | array | Tableau d'objets de marché |
| `paging` | object | Curseur de pagination pour récupérer plus de résultats |
### `kalshi_get_market`
@@ -66,8 +66,7 @@ Récupérer les détails d'un marché prédictif spécifique par code
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `output` | objet | Données du marché et métadonnées |
| `market` | object | Objet de marché avec détails |
### `kalshi_get_events`
@@ -87,8 +86,8 @@ Récupérer une liste d'événements de Kalshi avec filtrage optionnel
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées des événements |
| `events` | array | Tableau d'objets d'événement |
| `paging` | object | Curseur de pagination pour récupérer plus de résultats |
### `kalshi_get_event`
@@ -105,8 +104,7 @@ Récupérer les détails d'un événement spécifique par ticker
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées de l'événement |
| `event` | object | Objet d'événement avec détails |
### `kalshi_get_balance`
@@ -123,8 +121,10 @@ Récupérer le solde de votre compte et la valeur de votre portefeuille depuis K
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées du solde |
| `balance` | number | Solde du compte en centimes |
| `portfolioValue` | number | Valeur du portefeuille en centimes |
| `balanceDollars` | number | Solde du compte en dollars |
| `portfolioValueDollars` | number | Valeur du portefeuille en dollars |
### `kalshi_get_positions`
@@ -146,8 +146,8 @@ Récupérer vos positions ouvertes depuis Kalshi
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de positions et métadonnées |
| `positions` | array | Tableau d'objets de position |
| `paging` | object | Curseur de pagination pour récupérer plus de résultats |
### `kalshi_get_orders`
@@ -169,8 +169,8 @@ Récupérez vos ordres depuis Kalshi avec filtrage optionnel
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données des ordres et métadonnées |
| `orders` | array | Tableau d'objets d'ordre |
| `paging` | object | Curseur de pagination pour récupérer plus de résultats |
### `kalshi_get_order`
@@ -188,8 +188,7 @@ Récupérer les détails d'un ordre spécifique par ID depuis Kalshi
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'ordre |
| `order` | object | Objet d'ordre avec détails |
### `kalshi_get_orderbook`
@@ -205,8 +204,7 @@ Récupérer le carnet d'ordres (offres oui et non) pour un marché spécifique
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données du carnet d'ordres et métadonnées |
| `orderbook` | objet | Carnet d'ordres avec offres et demandes oui/non |
### `kalshi_get_trades`
@@ -223,8 +221,8 @@ Récupérer les transactions récentes sur tous les marchés
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données des transactions et métadonnées |
| `trades` | tableau | Tableau d'objets de transactions |
| `paging` | objet | Curseur de pagination pour récupérer plus de résultats |
### `kalshi_get_candlesticks`
@@ -244,8 +242,7 @@ Récupérer les données de chandeliers OHLC pour un marché spécifique
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de chandeliers et métadonnées |
| `candlesticks` | tableau | Tableau de données de chandeliers OHLC |
### `kalshi_get_fills`
@@ -268,8 +265,8 @@ Récupérer votre portefeuille
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées des exécutions |
| `fills` | tableau | Tableau d'objets d'exécutions/transactions |
| `paging` | objet | Curseur de pagination pour récupérer plus de résultats |
### `kalshi_get_series_by_ticker`
@@ -285,8 +282,7 @@ Récupérer les détails d'une série de marché spécifique par ticker
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées de la série |
| `series` | objet | Objet de série avec détails |
### `kalshi_get_exchange_status`
@@ -301,8 +297,7 @@ Récupérer le statut actuel de la plateforme d'échange Kalshi (activité de tr
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées du statut de l'échange |
| `status` | objet | Statut de l'échange avec indicateurs trading_active et exchange_active |
### `kalshi_create_order`
@@ -336,8 +331,7 @@ Créer un nouvel ordre sur un marché de prédiction Kalshi
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'ordre créé |
| `order` | objet | L'objet de l'ordre créé |
### `kalshi_cancel_order`
@@ -355,8 +349,8 @@ Annuler un ordre existant sur Kalshi
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'ordre annulé |
| `order` | objet | L'objet de l'ordre annulé |
| `reducedBy` | nombre | Nombre de contrats annulés |
### `kalshi_amend_order`
@@ -384,8 +378,7 @@ Modifier le prix ou la quantité d'un ordre existant sur Kalshi
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'ordre modifié |
| `order` | objet | L'objet de l'ordre modifié |
## Notes

View File

@@ -91,11 +91,11 @@ Menez des recherches approfondies complètes sur le web en utilisant Parallel AI
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Statut de la tâche (en cours, terminée, échouée) |
| `status` | string | Statut de la tâche (terminée, échouée) |
| `run_id` | string | ID unique pour cette tâche de recherche |
| `message` | string | Message de statut (pour les tâches en cours) |
| `message` | string | Message de statut |
| `content` | object | Résultats de recherche (structurés selon output_schema) |
| `basis` | array | Citations et sources avec extraits et niveaux de confiance |
| `basis` | array | Citations et sources avec raisonnement et niveaux de confiance |
## Notes

View File

@@ -51,8 +51,9 @@ Générez des compléments à l'aide des modèles de chat Perplexity AI
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Résultats du complément de chat |
| `content` | string | Contenu de texte généré |
| `model` | string | Modèle utilisé pour la génération |
| `usage` | object | Informations sur l'utilisation des tokens |
### `perplexity_search`
@@ -76,8 +77,7 @@ Obtenez des résultats de recherche classés depuis Perplexity
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Résultats de recherche |
| `results` | array | Tableau dessultats de recherche |
## Notes

View File

@@ -40,19 +40,18 @@ Récupérer une liste des marchés prédictifs de Polymarket avec filtrage optio
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `closed` | string | Non | Filtrer par statut fermé \(true/false\). Utilisez false pour les marchés actifs uniquement. |
| `order` | string | Non | Champ de tri \(par exemple, volumeNum, liquidityNum, startDate, endDate, createdAt\) |
| `closed` | string | Non | Filtrer par statut fermé \(true/false\). Utiliser false pour les marchés actifs uniquement. |
| `order` | string | Non | Champ de tri \(ex. volumeNum, liquidityNum, startDate, endDate, createdAt\) |
| `ascending` | string | Non | Direction de tri \(true pour ascendant, false pour descendant\) |
| `tagId` | string | Non | Filtrer par ID de tag |
| `limit` | string | Non | Nombre de résultats par page \(recommandé : 25-50\) |
| `limit` | string | Non | Nombre de résultats par page \(max 50\) |
| `offset` | string | Non | Décalage de pagination \(ignorer ce nombre de résultats\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `output` | objet | Données des marchés et métadonnées |
| `markets` | array | Tableau d'objets de marché |
### `polymarket_get_market`
@@ -69,8 +68,7 @@ Récupérer les détails d'un marché prédictif spécifique par ID ou slug
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de marché et métadonnées |
| `market` | object | Objet de marché avec détails |
### `polymarket_get_events`
@@ -80,19 +78,18 @@ Récupérer une liste d'événements de Polymarket avec filtrage optionnel
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `closed` | string | Non | Filtrer par statut fermé \(true/false\). Utilisez false pour les événements actifs uniquement. |
| `order` | string | Non | Champ de tri \(par exemple, volume, liquidity, startDate, endDate, createdAt\) |
| `closed` | string | Non | Filtrer par statut fermé \(true/false\). Utiliser false pour les événements actifs uniquement. |
| `order` | string | Non | Champ de tri \(ex. volume, liquidity, startDate, endDate, createdAt\) |
| `ascending` | string | Non | Direction de tri \(true pour ascendant, false pour descendant\) |
| `tagId` | string | Non | Filtrer par ID de tag |
| `limit` | string | Non | Nombre de résultats par page \(recommandé : 25-50\) |
| `limit` | string | Non | Nombre de résultats par page \(max 50\) |
| `offset` | string | Non | Décalage de pagination \(ignorer ce nombre de résultats\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données d'événements et métadonnées |
| `events` | array | Tableau d'objets d'événements |
### `polymarket_get_event`
@@ -109,8 +106,7 @@ Récupérer les détails d'un événement spécifique par ID ou slug
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées de l'événement |
| `event` | object | Objet d'événement avec détails |
### `polymarket_get_tags`
@@ -119,16 +115,15 @@ Récupérer les tags disponibles pour filtrer les marchés sur Polymarket
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Non | Nombre de résultats par page \(recommandé : 25-50\) |
| --------- | ---- | ---------- | ----------- |
| `limit` | string | Non | Nombre de résultats par page \(max 50\) |
| `offset` | string | Non | Décalage de pagination \(ignorer ce nombre de résultats\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées des tags |
| `tags` | array | Tableau d'objets de tags avec id, label et slug |
### `polymarket_search`
@@ -137,17 +132,16 @@ Rechercher des marchés, des événements et des profils sur Polymarket
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ---------- | ----------- |
| `query` | string | Oui | Terme de recherche |
| `limit` | string | Non | Nombre de résultats par page \(recommandé : 25-50\) |
| `offset` | string | Non | Décalage de pagination \(ignorer ce nombre de résultats\) |
| `limit` | string | Non | Nombre de résultats par page \(max 50\) |
| `offset` | string | Non | Décalage de pagination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Résultats de recherche et métadonnées |
| `results` | object | Résultats de recherche contenant des tableaux de marchés, d'événements et de profils |
### `polymarket_get_series`
@@ -156,8 +150,8 @@ Récupérer des séries (groupes de marchés liés) depuis Polymarket
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Non | Nombre de résultats par page \(recommandé : 25-50\) |
| --------- | ---- | ---------- | ----------- |
| `limit` | string | Non | Nombre de résultats par page \(max 50\) |
| `offset` | string | Non | Décalage de pagination \(ignorer ce nombre de résultats\) |
#### Sortie
@@ -165,7 +159,7 @@ Récupérer des séries (groupes de marchés liés) depuis Polymarket
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées de la série |
| `output` | object | Données des séries et métadonnées |
### `polymarket_get_series_by_id`
@@ -182,7 +176,7 @@ Récupérer une série spécifique (groupe de marché associé) par ID depuis Po
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées de la série |
| `output` | object | Données de série et métadonnées |
### `polymarket_get_orderbook`
@@ -199,7 +193,7 @@ Récupérer le résumé du carnet d'ordres pour un jeton spécifique
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées du carnet d'ordres |
| `output` | object | Données du carnet d'ordres et métadonnées |
### `polymarket_get_price`
@@ -217,7 +211,7 @@ Récupérer le prix du marché pour un jeton et un côté spécifiques
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de prix et métadonnées |
| `output` | object | Données de prix du marché et métadonnées |
### `polymarket_get_midpoint`
@@ -255,7 +249,7 @@ Récupérer les données historiques de prix pour un jeton de marché spécifiqu
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données d'historique de prix et métadonnées |
| `output` | object | Données d'historique des prix et métadonnées |
### `polymarket_get_last_trade_price`
@@ -272,7 +266,7 @@ Récupérer le dernier prix de transaction pour un jeton spécifique
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Dernier prix de transaction et métadonnées |
| `output` | object | Données du dernier prix d'échange et métadonnées |
### `polymarket_get_spread`
@@ -289,7 +283,7 @@ Récupérer l'écart entre l'offre et la demande pour un jeton spécifique
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données d'écart et métadonnées |
| `output` | object | Données d'écart achat-vente et métadonnées |
### `polymarket_get_tick_size`
@@ -306,7 +300,7 @@ Récupérer la taille minimale du tick pour un jeton spécifique
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Taille du tick et métadonnées |
| `output` | object | Données de taille minimale de tick et métadonnées |
### `polymarket_get_positions`
@@ -336,15 +330,14 @@ Récupérer l'historique des transactions depuis Polymarket
| --------- | ---- | ---------- | ----------- |
| `user` | string | Non | Adresse du portefeuille de l'utilisateur pour filtrer les transactions |
| `market` | string | Non | ID de marché pour filtrer les transactions |
| `limit` | string | Non | Nombre de résultats par page \(recommandé : 25-50\) |
| `limit` | string | Non | Nombre de résultats par page \(max 50\) |
| `offset` | string | Non | Décalage de pagination \(ignorer ce nombre de résultats\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données des transactions et métadonnées |
| `trades` | array | Tableau d'objets de transactions |
## Notes

View File

@@ -342,20 +342,31 @@ Supprimer un modèle d'e-mail de SendGrid
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `messageId` | chaîne | ID du message e-mail \(send_mail\) |
| `id` | chaîne | ID de la ressource |
| `jobId` | chaîne | ID de tâche pour les opérations asynchrones |
| `email` | chaîne | Adresse e-mail |
| `firstName` | chaîne | Prénom |
| `lastName` | chaîne | Nom de famille |
| `success` | boolean | Statut de réussite de l'opération |
| `message` | string | Message d'état ou de réussite |
| `messageId` | string | ID du message e-mail \(send_mail\) |
| `to` | string | Adresse e-mail du destinataire \(send_mail\) |
| `subject` | string | Objet de l'e-mail \(send_mail, create_template_version\) |
| `id` | string | ID de la ressource |
| `jobId` | string | ID de tâche pour les opérations asynchrones |
| `email` | string | Adresse e-mail du contact |
| `firstName` | string | Prénom du contact |
| `lastName` | string | Nom de famille du contact |
| `createdAt` | string | Horodatage de création |
| `updatedAt` | string | Horodatage de dernière mise à jour |
| `listIds` | json | Tableau des ID de listes auxquelles le contact appartient |
| `customFields` | json | Valeurs des champs personnalisés |
| `contacts` | json | Tableau de contacts |
| `contactCount` | nombre | Nombre de contacts |
| `contactCount` | number | Nombre de contacts |
| `lists` | json | Tableau de listes |
| `name` | string | Nom de la ressource |
| `templates` | json | Tableau de modèles |
| `message` | chaîne | Statut ou message de réussite |
| `name` | chaîne | Nom de la ressource |
| `generation` | chaîne | Génération du modèle |
| `generation` | string | Génération du modèle |
| `versions` | json | Tableau des versions du modèle |
| `templateId` | string | ID du modèle |
| `active` | boolean | Si la version du modèle est active |
| `htmlContent` | string | Contenu HTML |
| `plainContent` | string | Contenu en texte brut |
### `sendgrid_create_template_version`

View File

@@ -0,0 +1,183 @@
---
title: SFTP
description: Transférer des fichiers via SFTP (Protocole de transfert de fichiers SSH)
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="sftp"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}
[SFTP (Protocole de transfert de fichiers SSH)](https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol) est un protocole réseau sécurisé qui vous permet de téléverser, télécharger et gérer des fichiers sur des serveurs distants. SFTP fonctionne via SSH, ce qui en fait une solution idéale pour les transferts de fichiers automatisés et chiffrés, ainsi que pour la gestion de fichiers à distance dans les flux de travail modernes.
Grâce aux outils SFTP intégrés à Sim, vous pouvez facilement automatiser le déplacement de fichiers entre vos agents IA et des systèmes ou serveurs externes. Cela permet à vos agents de gérer les échanges de données critiques, les sauvegardes, la génération de documents et l'orchestration de systèmes distants, le tout avec une sécurité robuste.
**Fonctionnalités clés disponibles via les outils SFTP :**
- **Téléversement de fichiers :** Transférez facilement des fichiers de tout type depuis votre flux de travail vers un serveur distant, avec prise en charge de l'authentification par mot de passe et par clé privée SSH.
- **Téléchargement de fichiers :** Récupérez des fichiers depuis des serveurs SFTP distants directement pour traitement, archivage ou automatisation supplémentaire.
- **Liste et gestion des fichiers :** Énumérez les répertoires, supprimez ou créez des fichiers et dossiers, et gérez les permissions du système de fichiers à distance.
- **Authentification flexible :** Connectez-vous en utilisant soit des mots de passe traditionnels, soit des clés SSH, avec prise en charge des phrases secrètes et du contrôle des permissions.
- **Prise en charge des fichiers volumineux :** Gérez de manière programmatique les téléversements et téléchargements de fichiers volumineux, avec des limites de taille intégrées pour la sécurité.
En intégrant SFTP à Sim, vous pouvez automatiser les opérations de fichiers sécurisées dans le cadre de n'importe quel flux de travail, qu'il s'agisse de collecte de données, de rapports, de maintenance de systèmes distants ou d'échange dynamique de contenu entre plateformes.
Les sections ci-dessous décrivent les principaux outils SFTP disponibles :
- **sftp_upload :** Téléverser un ou plusieurs fichiers vers un serveur distant.
- **sftp_download :** Télécharger des fichiers depuis un serveur distant vers votre flux de travail.
- **sftp_list :** Lister le contenu des répertoires sur un serveur SFTP distant.
- **sftp_delete :** Supprimer des fichiers ou des répertoires d'un serveur distant.
- **sftp_create :** Créer de nouveaux fichiers sur un serveur SFTP distant.
- **sftp_mkdir :** Créer de nouveaux répertoires à distance.
Consultez la documentation de l'outil ci-dessous pour les paramètres d'entrée et de sortie détaillés pour chaque opération.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Téléchargez, téléchargez, listez et gérez des fichiers sur des serveurs distants via SFTP. Prend en charge l'authentification par mot de passe et par clé privée pour des transferts de fichiers sécurisés.
## Outils
### `sftp_upload`
Téléverser des fichiers vers un serveur SFTP distant
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Oui | Nom d'hôte ou adresse IP du serveur SFTP |
| `port` | number | Oui | Port du serveur SFTP \(par défaut : 22\) |
| `username` | string | Oui | Nom d'utilisateur SFTP |
| `password` | string | Non | Mot de passe pour l'authentification \(si vous n'utilisez pas de clé privée\) |
| `privateKey` | string | Non | Clé privée pour l'authentification \(format OpenSSH\) |
| `passphrase` | string | Non | Phrase secrète pour la clé privée chiffrée |
| `remotePath` | string | Oui | Répertoire de destination sur le serveur distant |
| `files` | file[] | Non | Fichiers à téléverser |
| `fileContent` | string | Non | Contenu direct du fichier à téléverser \(pour les fichiers texte\) |
| `fileName` | string | Non | Nom du fichier lors de l'utilisation du contenu direct |
| `overwrite` | boolean | Non | Écraser les fichiers existants \(par défaut : true\) |
| `permissions` | string | Non | Permissions du fichier \(ex. 0644\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Si le téléversement a réussi |
| `uploadedFiles` | json | Tableau des détails des fichiers téléversés \(nom, chemin distant, taille\) |
| `message` | string | Message d'état de l'opération |
### `sftp_download`
Télécharger un fichier depuis un serveur SFTP distant
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `host` | chaîne | Oui | Nom d'hôte ou adresse IP du serveur SFTP |
| `port` | nombre | Oui | Port du serveur SFTP \(par défaut : 22\) |
| `username` | chaîne | Oui | Nom d'utilisateur SFTP |
| `password` | chaîne | Non | Mot de passe pour l'authentification \(si vous n'utilisez pas de clé privée\) |
| `privateKey` | chaîne | Non | Clé privée pour l'authentification \(format OpenSSH\) |
| `passphrase` | chaîne | Non | Phrase secrète pour la clé privée chiffrée |
| `remotePath` | chaîne | Oui | Chemin vers le fichier sur le serveur distant |
| `encoding` | chaîne | Non | Encodage de sortie : utf-8 pour le texte, base64 pour le binaire \(par défaut : utf-8\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Indique si le téléchargement a réussi |
| `fileName` | chaîne | Nom du fichier téléchargé |
| `content` | chaîne | Contenu du fichier \(texte ou encodé en base64\) |
| `size` | nombre | Taille du fichier en octets |
| `encoding` | chaîne | Encodage du contenu \(utf-8 ou base64\) |
| `message` | chaîne | Message d'état de l'opération |
### `sftp_list`
Lister les fichiers et répertoires sur un serveur SFTP distant
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `host` | chaîne | Oui | Nom d'hôte ou adresse IP du serveur SFTP |
| `port` | nombre | Oui | Port du serveur SFTP \(par défaut : 22\) |
| `username` | chaîne | Oui | Nom d'utilisateur SFTP |
| `password` | chaîne | Non | Mot de passe pour l'authentification \(si vous n'utilisez pas de clé privée\) |
| `privateKey` | chaîne | Non | Clé privée pour l'authentification \(format OpenSSH\) |
| `passphrase` | chaîne | Non | Phrase secrète pour la clé privée chiffrée |
| `remotePath` | chaîne | Oui | Chemin du répertoire sur le serveur distant |
| `detailed` | booléen | Non | Inclure des informations détaillées sur les fichiers \(taille, permissions, date de modification\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si l'opération a réussi |
| `path` | string | Chemin du répertoire qui a été listé |
| `entries` | json | Tableau des entrées du répertoire avec nom, type, taille, permissions, modifiedAt |
| `count` | number | Nombre d'entrées dans le répertoire |
| `message` | string | Message d'état de l'opération |
### `sftp_delete`
Supprimer un fichier ou un répertoire sur un serveur SFTP distant
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `host` | string | Oui | Nom d'hôte ou adresse IP du serveur SFTP |
| `port` | number | Oui | Port du serveur SFTP \(par défaut : 22\) |
| `username` | string | Oui | Nom d'utilisateur SFTP |
| `password` | string | Non | Mot de passe pour l'authentification \(si vous n'utilisez pas de clé privée\) |
| `privateKey` | string | Non | Clé privée pour l'authentification \(format OpenSSH\) |
| `passphrase` | string | Non | Phrase secrète pour la clé privée chiffrée |
| `remotePath` | string | Oui | Chemin vers le fichier ou le répertoire à supprimer |
| `recursive` | boolean | Non | Supprimer les répertoires de façon récursive |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si la suppression a réussi |
| `deletedPath` | string | Chemin qui a été supprimé |
| `message` | string | Message d'état de l'opération |
### `sftp_mkdir`
Créer un répertoire sur un serveur SFTP distant
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `host` | chaîne | Oui | Nom d'hôte ou adresse IP du serveur SFTP |
| `port` | nombre | Oui | Port du serveur SFTP \(par défaut : 22\) |
| `username` | chaîne | Oui | Nom d'utilisateur SFTP |
| `password` | chaîne | Non | Mot de passe pour l'authentification \(si vous n'utilisez pas de clé privée\) |
| `privateKey` | chaîne | Non | Clé privée pour l'authentification \(format OpenSSH\) |
| `passphrase` | chaîne | Non | Phrase secrète pour la clé privée chiffrée |
| `remotePath` | chaîne | Oui | Chemin pour le nouveau répertoire |
| `recursive` | booléen | Non | Créer les répertoires parents s'ils n'existent pas |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Indique si le répertoire a été créé avec succès |
| `createdPath` | chaîne | Chemin du répertoire créé |
| `message` | chaîne | Message d'état de l'opération |
## Remarques
- Catégorie : `tools`
- Type : `sftp`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="smtp"
color="#4A5568"
color="#2D3748"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -36,8 +36,8 @@ Traite une réflexion/instruction fournie, la rendant disponible pour les étape
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `thought` | chaîne | Oui | Le processus de réflexion ou l'instruction fournie par l'utilisateur dans le bloc Étape de Réflexion. |
| --------- | ---- | -------- | ----------- |
| `thought` | chaîne | Oui | Votre raisonnement interne, analyse ou processus de réflexion. Utilisez ceci pour réfléchir au problème étape par étape avant de répondre. |
#### Sortie

View File

@@ -31,37 +31,30 @@ Intégrez Translate dans le flux de travail. Peut traduire du texte dans n'impor
## Outils
### `openai_chat`
### `llm_chat`
Envoyez une requête de complétion de chat à n'importe quel fournisseur de LLM pris en charge
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| --------- | ---- | ---------- | ----------- |
| `model` | chaîne | Oui | Le modèle à utiliser (ex. : gpt-4o, claude-sonnet-4-5, gemini-2.0-flash) |
| `systemPrompt` | chaîne | Non | Instruction système pour définir le comportement de l'assistant |
| `context` | chaîne | Oui | Le message utilisateur ou le contexte à envoyer au modèle |
| `apiKey` | chaîne | Non | Clé API pour le fournisseur (utilise la clé de plateforme si non fournie pour les modèles hébergés) |
| `temperature` | nombre | Non | Température pour la génération de réponse (0-2) |
| `maxTokens` | nombre | Non | Nombre maximum de tokens dans la réponse |
| `azureEndpoint` | chaîne | Non | URL du point de terminaison Azure OpenAI |
| `azureApiVersion` | chaîne | Non | Version de l'API Azure OpenAI |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Texte traduit |
| `model` | string | Modèle utilisé |
| `tokens` | json | Utilisation des tokens |
### `anthropic_chat`
### `google_chat`
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Texte traduit |
| `model` | string | Modèle utilisé |
| `tokens` | json | Utilisation des jetons |
| `content` | chaîne | Le contenu de la réponse générée |
| `model` | chaîne | Le modèle utilisé pour la génération |
| `tokens` | objet | Informations sur l'utilisation des tokens |
## Notes

View File

@@ -250,13 +250,13 @@ Télécharger un fichier média (image, vidéo, document) sur WordPress.com
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Oui | ID du site WordPress.com ou domaine \(ex., 12345678 ou monsite.wordpress.com\) |
| `file` | string | Oui | Données du fichier encodées en Base64 ou URL pour récupérer le fichier |
| `filename` | string | Oui | Nom du fichier avec extension \(ex., image.jpg\) |
| `title` | string | Non | Titre du média |
| `caption` | string | Non | Légende du média |
| `altText` | string | Non | Texte alternatif pour l'accessibilité |
| `description` | string | Non | Description du média |
| `siteId` | chaîne | Oui | ID du site WordPress.com ou domaine \(ex., 12345678 ou monsite.wordpress.com\) |
| `file` | fichier | Non | Fichier à télécharger \(objet UserFile\) |
| `filename` | chaîne | Non | Remplacement optionnel du nom de fichier \(ex., image.jpg\) |
| `title` | chaîne | Non | Titre du média |
| `caption` | chaîne | Non | Légende du média |
| `altText` | chaîne | Non | Texte alternatif pour l'accessibilité |
| `description` | chaîne | Non | Description du média |
#### Sortie

View File

@@ -170,25 +170,6 @@ Obtenir les vidéos d'une playlist YouTube.
| --------- | ---- | ----------- |
| `items` | tableau | Tableau de vidéos dans la playlist |
### `youtube_related_videos`
Trouver des vidéos liées à une vidéo YouTube spécifique.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `videoId` | chaîne | Oui | ID de la vidéo YouTube pour laquelle trouver des vidéos liées |
| `maxResults` | nombre | Non | Nombre maximum de vidéos liées à retourner \(1-50\) |
| `pageToken` | chaîne | Non | Jeton de page pour la pagination |
| `apiKey` | chaîne | Oui | Clé API YouTube |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `items` | tableau | Tableau de vidéos liées |
### `youtube_comments`
Obtenir les commentaires d'une vidéo YouTube.
@@ -207,7 +188,7 @@ Obtenir les commentaires d'une vidéo YouTube.
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `items` | tableau | Tableau de commentaires de la vidéo |
| `items` | tableau | Tableau des commentaires de la vidéo |
## Notes

View File

@@ -74,8 +74,9 @@ Récupérer une liste de tickets depuis Zendesk avec filtrage optionnel
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données et métadonnées des tickets |
| `tickets` | array | Tableau d'objets ticket |
| `paging` | object | Informations de pagination |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_get_ticket`
@@ -94,8 +95,8 @@ Obtenir un ticket unique par ID depuis Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données du ticket |
| `ticket` | object | Objet ticket |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_create_ticket`
@@ -123,8 +124,8 @@ Créer un nouveau ticket dans Zendesk avec prise en charge des champs personnali
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données du ticket créé |
| `ticket` | object | Objet ticket créé |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_create_tickets_bulk`
@@ -143,8 +144,8 @@ Créer plusieurs tickets dans Zendesk en une seule fois (max 100)
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Statut de la tâche de création en masse |
| `jobStatus` | object | Objet statut de la tâche |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_update_ticket`
@@ -172,8 +173,8 @@ Mettre à jour un ticket existant dans Zendesk avec prise en charge des champs p
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données du ticket mis à jour |
| `ticket` | object | Objet ticket mis à jour |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_update_tickets_bulk`
@@ -197,8 +198,8 @@ Mettre à jour plusieurs tickets dans Zendesk en une seule fois (max 100)
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Statut de la tâche de mise à jour groupée |
| `jobStatus` | object | Objet statut de la tâche |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_delete_ticket`
@@ -217,8 +218,8 @@ Supprimer un ticket de Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Confirmation de suppression |
| `deleted` | boolean | Succès de la suppression |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_merge_tickets`
@@ -239,8 +240,8 @@ Fusionner plusieurs tickets dans un ticket cible
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Statut de la tâche de fusion |
| `jobStatus` | object | Objet statut de la tâche |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_get_users`
@@ -262,8 +263,9 @@ Récupérer une liste d'utilisateurs de Zendesk avec filtrage optionnel
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données utilisateurs et métadonnées |
| `users` | array | Tableau d'objets utilisateur |
| `paging` | object | Informations de pagination |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_get_user`
@@ -282,8 +284,8 @@ Obtenir un utilisateur unique par ID depuis Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'utilisateur |
| `user` | object | Objet utilisateur |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_get_current_user`
@@ -301,8 +303,8 @@ Obtenir l'utilisateur actuellement authentifié depuis Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'utilisateur actuel |
| `user` | object | Objet de l'utilisateur actuel |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_search_users`
@@ -324,8 +326,9 @@ Rechercher des utilisateurs dans Zendesk à l'aide d'une chaîne de requête
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `output` | objet | Résultats de recherche d'utilisateurs |
| `users` | array | Tableau d'objets utilisateur |
| `paging` | object | Informations de pagination |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_create_user`
@@ -351,8 +354,8 @@ Créer un nouvel utilisateur dans Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'utilisateur créé |
| `user` | object | Objet utilisateur créé |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_create_users_bulk`
@@ -371,8 +374,8 @@ Créer plusieurs utilisateurs dans Zendesk en utilisant l'importation en masse
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Statut de la tâche de création en masse |
| `jobStatus` | object | Objet d'état de la tâche |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_update_user`
@@ -399,8 +402,8 @@ Mettre à jour un utilisateur existant dans Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données utilisateur mises à jour |
| `user` | object | Objet utilisateur mis à jour |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_update_users_bulk`
@@ -419,8 +422,8 @@ Mettre à jour plusieurs utilisateurs dans Zendesk en utilisant la mise à jour
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Statut de la tâche de mise à jour en masse |
| `jobStatus` | object | Objet d'état de la tâche |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_delete_user`
@@ -439,8 +442,8 @@ Supprimer un utilisateur de Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'utilisateur supprimé |
| `deleted` | boolean | Succès de la suppression |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_get_organizations`
@@ -460,8 +463,9 @@ Récupérer une liste d'organisations depuis Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `output` | objet | Données et métadonnées des organisations |
| `organizations` | array | Tableau d'objets d'organisation |
| `paging` | object | Informations de pagination |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_get_organization`
@@ -480,8 +484,8 @@ Obtenir une organisation unique par ID depuis Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Statut de réussite de l'opération |
| `output` | objet | Données de l'organisation |
| `organization` | object | Objet organisation |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_autocomplete_organizations`
@@ -502,8 +506,9 @@ Autocomplétion des organisations dans Zendesk par préfixe de nom (pour corresp
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Résultats de recherche des organisations |
| `organizations` | array | Tableau d'objets d'organisation |
| `paging` | object | Informations de pagination |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_create_organization`
@@ -527,8 +532,8 @@ Créer une nouvelle organisation dans Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'organisation créée |
| `organization` | object | Objet organisation créé |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_create_organizations_bulk`
@@ -547,8 +552,8 @@ Créer plusieurs organisations dans Zendesk en utilisant l'importation en masse
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Statut de la tâche de création en masse |
| `jobStatus` | object | Objet statut de la tâche |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_update_organization`
@@ -573,8 +578,8 @@ Mettre à jour une organisation existante dans Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'organisation mise à jour |
| `organization` | object | Objet organisation mis à jour |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_delete_organization`
@@ -593,8 +598,8 @@ Supprimer une organisation de Zendesk
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Données de l'organisation supprimée |
| `deleted` | boolean | Succès de la suppression |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_search`
@@ -617,8 +622,9 @@ Recherche unifiée à travers les tickets, utilisateurs et organisations dans Ze
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Résultats de recherche |
| `results` | array | Tableau d'objets résultats |
| `paging` | object | Informations de pagination |
| `metadata` | object | Métadonnées de l'opération |
### `zendesk_search_count`
@@ -637,8 +643,8 @@ Compter le nombre de résultats de recherche correspondant à une requête dans
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Statut de réussite de l'opération |
| `output` | object | Résultat du comptage de recherche |
| `count` | number | Nombre de résultats correspondants |
| `metadata` | object | Métadonnées de l'opération |
## Notes

View File

@@ -21,24 +21,28 @@ import { Image } from '@/components/ui/image'
Utilisez le bloc Démarrer pour tout ce qui provient de l'éditeur, du déploiement vers l'API ou des expériences de déploiement vers le chat. D'autres déclencheurs restent disponibles pour les flux de travail basés sur des événements :
<Cards>
<Card title="Démarrer" href="/triggers/start">
<Card title="Start" href="/triggers/start">
Point d'entrée unifié qui prend en charge les exécutions de l'éditeur, les déploiements d'API et les déploiements de chat
</Card>
<Card title="Webhook" href="/triggers/webhook">
Recevoir des charges utiles de webhook externes
</Card>
<Card title="Planification" href="/triggers/schedule">
<Card title="Schedule" href="/triggers/schedule">
Exécution basée sur cron ou intervalle
</Card>
<Card title="RSS Feed" href="/triggers/rss">
Surveiller les flux RSS et Atom pour du nouveau contenu
</Card>
</Cards>
## Comparaison rapide
| Déclencheur | Condition de démarrage |
|---------|-----------------|
| **Démarrer** | Exécutions de l'éditeur, requêtes de déploiement vers l'API ou messages de chat |
| **Planification** | Minuteur géré dans le bloc de planification |
| **Start** | Exécutions de l'éditeur, requêtes de déploiement d'API ou messages de chat |
| **Schedule** | Minuteur géré dans le bloc de planification |
| **Webhook** | Sur requête HTTP entrante |
| **RSS Feed** | Nouvel élément publié dans le flux |
> Le bloc Démarrer expose toujours les champs `input`, `conversationId` et `files`. Ajoutez des champs personnalisés au format d'entrée pour des données structurées supplémentaires.

View File

@@ -0,0 +1,49 @@
---
title: Flux RSS
---
import { Callout } from 'fumadocs-ui/components/callout'
import { Image } from '@/components/ui/image'
Le bloc Flux RSS surveille les flux RSS et Atom lorsque de nouveaux éléments sont publiés, votre workflow se déclenche automatiquement.
<div className="flex justify-center">
<Image
src="/static/blocks/rss.png"
alt="Bloc Flux RSS"
width={500}
height={400}
className="my-6"
/>
</div>
## Configuration
1. **Ajouter le bloc Flux RSS** - Faites glisser le bloc Flux RSS pour démarrer votre workflow
2. **Saisir l'URL du flux** - Collez l'URL de n'importe quel flux RSS ou Atom
3. **Déployer** - Déployez votre workflow pour activer l'interrogation
Une fois déployé, le flux est vérifié chaque minute pour détecter de nouveaux éléments.
## Champs de sortie
| Champ | Type | Description |
|-------|------|-------------|
| `title` | string | Titre de l'élément |
| `link` | string | Lien de l'élément |
| `pubDate` | string | Date de publication |
| `item` | object | Élément brut avec tous les champs |
| `feed` | object | Métadonnées brutes du flux |
Accédez directement aux champs mappés (`<rss.title>`) ou utilisez les objets bruts pour n'importe quel champ (`<rss.item.author>`, `<rss.feed.language>`).
## Cas d'utilisation
- **Surveillance de contenu** - Suivez les blogs, sites d'actualités ou mises à jour des concurrents
- **Automatisation de podcast** - Déclenchez des workflows lors de la sortie de nouveaux épisodes
- **Suivi des versions** - Surveillez les versions GitHub, les journaux de modifications ou les mises à jour de produits
- **Agrégation sociale** - Collectez du contenu à partir de plateformes qui exposent des flux RSS
<Callout>
Les déclencheurs RSS ne s'activent que pour les éléments publiés après l'enregistrement du déclencheur. Les éléments existants du flux ne sont pas traités.
</Callout>

View File

@@ -27,14 +27,16 @@ SimダッシュボードのユーザーセッティングからAPIキーを生
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60, // Max sync workflow executions per minute
"remaining": 58, // Remaining sync workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 60, // Sustained rate limit per minute
"maxBurst": 120, // Maximum burst capacity
"remaining": 118, // Current tokens available (up to maxBurst)
"resetAt": "..." // When tokens next refill
},
"async": {
"limit": 60, // Max async workflow executions per minute
"remaining": 59, // Remaining async workflow executions
"resetAt": "..." // When the window resets
"requestsPerMinute": 200, // Sustained rate limit per minute
"maxBurst": 400, // Maximum burst capacity
"remaining": 398, // Current tokens available
"resetAt": "..." // When tokens next refill
}
},
"usage": {
@@ -46,7 +48,7 @@ SimダッシュボードのユーザーセッティングからAPIキーを生
}
```
**注意** レスポンス本文のレート制限はワークフロー実行に関するものです。このAPIエンドポイントを呼び出すためのレート制限はレスポンスヘッダー`X-RateLimit-*`)にあります。
**注意:** レート制限はトークンバケットアルゴリズムを使用しています。最近の割り当てを完全に使用していない場合、`remaining`は`requestsPerMinute`を超えて`maxBurst`まで達することができ、バーストトラフィックを許可します。レスポンスボディのレート制限はワークフロー実行のためのものです。このAPIエンドポイントを呼び出すためのレート制限はレスポンスヘッダー`X-RateLimit-*`)にあります。
### ログの照会
@@ -110,13 +112,15 @@ SimダッシュボードのユーザーセッティングからAPIキーを生
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -190,13 +194,15 @@ SimダッシュボードのユーザーセッティングからAPIキーを生
"limits": {
"workflowExecutionRateLimit": {
"sync": {
"limit": 60,
"remaining": 58,
"requestsPerMinute": 60,
"maxBurst": 120,
"remaining": 118,
"resetAt": "2025-01-01T12:35:56.789Z"
},
"async": {
"limit": 60,
"remaining": 59,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 398,
"resetAt": "2025-01-01T12:35:56.789Z"
}
},
@@ -482,17 +488,25 @@ Webhookシークレットを設定した場合、署名を検証してWebhookが
## レート制限
APIは公平な使用を確保するためにレート制限を実装しています:
APIは**トークンバケットアルゴリズム**をレート制限に使用し、バーストトラフィックを許可しながら公平な使用を提供します:
- **無料プラン**: 1分あたり10リクエスト
- **プロプラン**: 1分あたり30リクエスト
- **チームプラン**: 1分あたり60リクエスト
- **エンタープライズプラン**: カスタム制限
| プラン | リクエスト/分 | バースト容量 |
|------|-----------------|----------------|
| 無料 | 10 | 20 |
| プロ | 30 | 60 |
| チーム | 60 | 120 |
| エンタープライズ | 120 | 240 |
**仕組み:**
- トークンは`requestsPerMinute`のレートで補充されます
- アイドル状態のとき、最大`maxBurst`トークンまで蓄積できます
- 各リクエストは1トークンを消費します
- バースト容量によりトラフィックスパイクの処理が可能になります
レート制限情報はレスポンスヘッダーに含まれています:
- `X-RateLimit-Limit`: ウィンドウあたりの最大リクエスト数
- `X-RateLimit-Remaining`: 現在のウィンドウで残っているリクエスト数
- `X-RateLimit-Reset`: ウィンドウがリセットされるISOタイムスタンプ
- `X-RateLimit-Limit`1分あたりのリクエスト数(補充レート)
- `X-RateLimit-Remaining`:現在利用可能なトークン
- `X-RateLimit-Reset`:トークンが次に補充されるISOタイムスタンプ
## 例:新しいログのポーリング
@@ -541,7 +555,7 @@ async function pollLogs() {
setInterval(pollLogs, 30000);
```
## 例:Webhookの処理
## 例:ウェブフックの処理
```javascript
import express from 'express';

View File

@@ -147,8 +147,20 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
{
"success": true,
"rateLimit": {
"sync": { "isLimited": false, "limit": 10, "remaining": 10, "resetAt": "2025-09-08T22:51:55.999Z" },
"async": { "isLimited": false, "limit": 50, "remaining": 50, "resetAt": "2025-09-08T22:51:56.155Z" },
"sync": {
"isLimited": false,
"requestsPerMinute": 25,
"maxBurst": 50,
"remaining": 50,
"resetAt": "2025-09-08T22:51:55.999Z"
},
"async": {
"isLimited": false,
"requestsPerMinute": 200,
"maxBurst": 400,
"remaining": 400,
"resetAt": "2025-09-08T22:51:56.155Z"
},
"authType": "api"
},
"usage": {
@@ -159,35 +171,40 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**レート制限フィールド:**
- `requestsPerMinute`:持続的なレート制限(トークンはこの速度で補充されます)
- `maxBurst`:蓄積できる最大トークン数(バースト容量)
- `remaining`:現在利用可能なトークン(最大で`maxBurst`まで)
**レスポンスフィールド:**
- `currentPeriodCost` は現在の請求期間の使用状況を反映します
- `limit` は個別の制限(無料/プロ)または組織のプール制限(チーム/エンタープライズ)から導出されます
- `plan` はユーザーに関連付けられた最優先のアクティブなプランです
- `currentPeriodCost`は現在の請求期間の使用状況を反映します
- `limit`は個別の制限(無料/プロ)または組織のプール制限(チーム/エンタープライズ)から派生します
- `plan`はユーザーに関連付けられた最優先のアクティブなプランです
## プラン制限
異なるサブスクリプションプランには異なる使用制限がります:
サブスクリプションプランによって使用制限が異なります:
| プラン | 月間使用制限 | レート制限(分あたり) |
|------|-------------------|-------------------------|
| **無料** | $10 | 5 同期、10 非同期 |
| **プロ** | $100 | 10 同期、50 非同期 |
| **チーム** | $500プール | 50 同期、100 非同期 |
| **無料** | $10 | 5同期、10非同期 |
| **プロ** | $100 | 10同期、50非同期 |
| **チーム** | $500プール | 50同期、100非同期 |
| **エンタープライズ** | カスタム | カスタム |
## 課金モデル
Simは**基本サブスクリプション + 超過分**の課金モデルを使用しています:
Simは**基本サブスクリプション+超過分**の課金モデルを使用しています:
### 仕組み
**プロプラン(月額$20**
- 月額サブスクリプションには$20分の使用量が含まれます
- 使用量が$20未満 → 追加料金なし
- 使用量が$20を超える → 月末に超過分を支払
- 使用量が$20を超える → 月末に超過分を支払
- 例:$35の使用量 = $20サブスクリプション+ $15超過分
**チームプラン(月額$40/シート**
**チームプラン(席あたり月額$40**
- チームメンバー全体でプールされた使用量
- チーム全体の使用量から超過分を計算
- 組織のオーナーが一括で請求を受ける
@@ -209,10 +226,10 @@ Simは**基本サブスクリプション + 超過分**の課金モデルを使
## コスト管理のベストプラクティス
1. **定期的な監視**: 予想外の事態を避けるため、使用状況ダッシュボードを頻繁に確認する
1. **定期的な監視**: 予期せぬ事態を避けるため、使用状況ダッシュボードを頻繁に確認する
2. **予算の設定**: プランの制限を支出のガードレールとして使用する
3. **ワークフローの最適化**: コストの高い実行を見直し、プロンプトやモデル選択を最適化する
4. **適切なモデルの使用**: タスクの要件に合わせてモデルの複雑さを調整す
4. **適切なモデルの使用**: タスクの要件にモデルの複雑さを合わせ
5. **類似タスクのバッチ処理**: 可能な場合は複数のリクエストを組み合わせてオーバーヘッドを削減する
## 次のステップ

View File

@@ -0,0 +1,63 @@
---
title: DuckDuckGo
description: DuckDuckGoで検索
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="duckduckgo"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[DuckDuckGo](https://duckduckgo.com/)は、プライバシーを重視したウェブ検索エンジンで、あなたやあなたの検索を追跡することなく、即時の回答、要約、関連トピックなどを提供します。DuckDuckGoを使えば、ユーザープロファイリングやターゲット広告なしで簡単に情報を見つけることができます。
SimでDuckDuckGoを使用すると、以下のことができます
- **ウェブ検索**: 特定の検索クエリに対して、回答、事実、概要を即座に見つける
- **直接的な回答を取得**: 計算、変換、事実に関するクエリに対して特定の回答を取得
- **要約にアクセス**: 検索トピックに関する短い要約や説明を受け取る
- **関連トピックを取得**: 検索に関連するリンクや参考情報を発見
- **出力をフィルタリング**: オプションでHTMLを削除したり、より明確な結果を得るために曖昧さ回避をスキップしたりする
これらの機能により、Simエージェントは最新のウェブ知識への自動アクセスを可能にします — ワークフローでの事実の表示から、最新情報によるドキュメントや分析の強化まで。DuckDuckGoのインスタントアンサーAPIはオープンでAPIキーを必要としないため、自動化されたビジネスプロセスにプライバシーを保ちながら簡単に統合できます。
{/* MANUAL-CONTENT-END */}
## 使用方法
DuckDuckGoインスタントアンサーAPIを使用してウェブを検索します。インスタントアンサー、要約、関連トピックなどを返します。APIキーなしで無料で使用できます。
## ツール
### `duckduckgo_search`
DuckDuckGoインスタントアンサーAPIを使用してウェブを検索します。クエリに対するインスタントアンサー、要約、関連トピックを返します。APIキーなしで無料で使用できます。
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `query` | string | はい | 実行する検索クエリ |
| `noHtml` | boolean | いいえ | 結果のテキストからHTMLを削除するデフォルト: true |
| `skipDisambig` | boolean | いいえ | 曖昧さ回避の結果をスキップする(デフォルト: false |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `heading` | string | インスタントアンサーの見出し/タイトル |
| `abstract` | string | トピックの短い要約 |
| `abstractText` | string | 要約のプレーンテキストバージョン |
| `abstractSource` | string | 要約の情報源Wikipedia |
| `abstractURL` | string | 要約の情報源へのURL |
| `image` | string | トピックに関連する画像へのURL |
| `answer` | string | 利用可能な場合は直接的な回答(例:計算の場合) |
| `answerType` | string | 回答のタイプcalc、ipなど |
| `type` | string | レスポンスタイプA記事、D曖昧さ回避、Cカテゴリ、N名前、E排他的 |
| `relatedTopics` | array | URLと説明を含む関連トピックの配列 |
## 注意事項
- カテゴリ: `tools`
- タイプ: `duckduckgo`

View File

@@ -46,11 +46,11 @@ Exa AIを使用してウェブを検索します。タイトル、URL、テキ
| `type` | string | いいえ | 検索タイプneural、keyword、auto、またはfastデフォルトauto |
| `includeDomains` | string | いいえ | 結果に含めるドメインのカンマ区切りリスト |
| `excludeDomains` | string | いいえ | 結果から除外するドメインのカンマ区切りリスト |
| `category` | string | いいえ | カテゴリによるフィルタリングcompany、research_paper、news_article、pdf、github、tweet、movie、song、personal_site |
| `category` | string | いいえ | カテゴリによるフィルタリングcompany、research paper、news、pdf、github、tweet、personal site、linkedin profile、financial report |
| `text` | boolean | いいえ | 結果に全文コンテンツを含めるデフォルトfalse |
| `highlights` | boolean | いいえ | 結果にハイライトされたスニペットを含めるデフォルトfalse |
| `summary` | boolean | いいえ | 結果にAI生成の要約を含めるデフォルトfalse |
| `livecrawl` | string | いいえ | ライブクロールモード:always、fallback、またはneverデフォルトnever |
| `livecrawl` | string | いいえ | ライブクロールモード:neverデフォルト、fallback、always、またはpreferred常にライブクロールを試み、失敗した場合はキャッシュにフォールバック |
| `apiKey` | string | はい | Exa AI APIキー |
#### 出力
@@ -68,12 +68,12 @@ Exa AIを使用してウェブページのコンテンツを取得します。
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `urls` | string | はい | コンテンツを取得するURLのカンマ区切りリスト |
| `text` | boolean | いいえ | trueの場合、デフォルト設定でページ全文を返します。falseの場合、テキスト返却を無効にします。 |
| `text` | boolean | いいえ | trueの場合、デフォルト設定で完全なページテキストを返します。falseの場合、テキスト返却を無効にします。 |
| `summaryQuery` | string | いいえ | 要約生成をガイドするクエリ |
| `subpages` | number | いいえ | 提供されたURLからクロールするサブページの数 |
| `subpageTarget` | string | いいえ | 特定のサブページを対象とするカンマ区切りキーワード(例:"docs,tutorial,about" |
| `subpageTarget` | string | いいえ | 特定のサブページをターゲットにするためのカンマ区切りキーワード(例:"docs,tutorial,about" |
| `highlights` | boolean | いいえ | 結果にハイライトされたスニペットを含めるデフォルトfalse |
| `livecrawl` | string | いいえ | ライブクロールモード:always、fallback、またはneverデフォルトnever |
| `livecrawl` | string | いいえ | ライブクロールモード:neverデフォルト、fallback、always、またはpreferred常にライブクロールを試み、失敗した場合はキャッシュにフォールバック |
| `apiKey` | string | はい | Exa AI APIキー |
#### 出力
@@ -96,10 +96,9 @@ Exa AIを使用して、指定されたURLに類似したウェブページを
| `includeDomains` | string | いいえ | 結果に含めるドメインのカンマ区切りリスト |
| `excludeDomains` | string | いいえ | 結果から除外するドメインのカンマ区切りリスト |
| `excludeSourceDomain` | boolean | いいえ | 結果からソースドメインを除外するデフォルトfalse |
| `category` | string | いいえ | カテゴリによるフィルタリングcompany、research_paper、news_article、pdf、github、tweet、movie、song、personal_site |
| `highlights` | boolean | いいえ | 結果にハイライトされたスニペットを含めるデフォルトfalse |
| `summary` | boolean | いいえ | 結果にAI生成の要約を含めるデフォルトfalse |
| `livecrawl` | string | いいえ | ライブクロールモード:always、fallback、またはneverデフォルトnever |
| `livecrawl` | string | いいえ | ライブクロールモード:neverデフォルト、fallback、always、またはpreferred常にライブクロールを試み、失敗した場合はキャッシュにフォールバック |
| `apiKey` | string | はい | Exa AI APIキー |
#### 出力

View File

@@ -49,8 +49,8 @@ Kalshiの予測市場をワークフローに統合します。市場一覧、
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 市場データとメタデータ |
| `markets` | array | 市場オブジェクトの配列 |
| `paging` | object | さらに結果を取得するためのページネーションカーソル |
### `kalshi_get_market`
@@ -66,8 +66,7 @@ Kalshiの予測市場をワークフローに統合します。市場一覧、
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 市場データとメタデータ |
| `market` | object | 詳細情報を含む市場オブジェクト |
### `kalshi_get_events`
@@ -87,8 +86,8 @@ Kalshiの予測市場をワークフローに統合します。市場一覧、
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | イベントデータとメタデータ |
| `events` | array | イベントオブジェクトの配列 |
| `paging` | object | さらに結果を取得するためのページネーションカーソル |
### `kalshi_get_event`
@@ -105,8 +104,7 @@ Kalshiの予測市場をワークフローに統合します。市場一覧、
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | イベントデータとメタデータ |
| `event` | object | 詳細情報を含むイベントオブジェクト |
### `kalshi_get_balance`
@@ -123,8 +121,10 @@ Kalshiからアカウント残高とポートフォリオ価値を取得
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 残高データとメタデータ |
| `balance` | number | セント単位のアカウント残高 |
| `portfolioValue` | number | セント単位のポートフォリオ価値 |
| `balanceDollars` | number | ドル単位のアカウント残高 |
| `portfolioValueDollars` | number | ドル単位のポートフォリオ価値 |
### `kalshi_get_positions`
@@ -146,8 +146,8 @@ Kalshiからオープンポジションを取得
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | ポジションデータとメタデータ |
| `positions` | array | ポジションオブジェクトの配列 |
| `paging` | object | さらに結果を取得するためのページネーションカーソル |
### `kalshi_get_orders`
@@ -169,8 +169,8 @@ Kalshiからオープンポジションを取得
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 注文データとメタデータ |
| `orders` | array | 注文オブジェクトの配列 |
| `paging` | object | さらに結果を取得するためのページネーションカーソル |
### `kalshi_get_order`
@@ -188,8 +188,7 @@ IDを指定してKalshiから特定の注文の詳細を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 注文データ |
| `order` | object | 詳細情報を含む注文オブジェクト |
### `kalshi_get_orderbook`
@@ -205,8 +204,7 @@ IDを指定してKalshiから特定の注文の詳細を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 注文板データとメタデータ |
| `orderbook` | object | yes/noの買い注文と売り注文を含むオーダーブック |
### `kalshi_get_trades`
@@ -223,8 +221,8 @@ IDを指定してKalshiから特定の注文の詳細を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 取引データとメタデータ |
| `trades` | array | 取引オブジェクトの配列 |
| `paging` | object | さらに結果を取得するためのページネーションカーソル |
### `kalshi_get_candlesticks`
@@ -244,8 +242,7 @@ IDを指定してKalshiから特定の注文の詳細を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | ローソク足データとメタデータ |
| `candlesticks` | array | OHLC始値・高値・安値・終値ローソク足データの配列 |
### `kalshi_get_fills`
@@ -268,8 +265,8 @@ IDを指定してKalshiから特定の注文の詳細を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 約定データとメタデータ |
| `fills` | array | 約定/取引オブジェクトの配列 |
| `paging` | object | さらに結果を取得するためのページネーションカーソル |
### `kalshi_get_series_by_ticker`
@@ -285,8 +282,7 @@ IDを指定してKalshiから特定の注文の詳細を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | シリーズデータとメタデータ |
| `series` | object | 詳細を含むシリーズオブジェクト |
### `kalshi_get_exchange_status`
@@ -301,8 +297,7 @@ Kalshi取引所の現在のステータス取引と取引所のアクティ
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 取引所ステータスデータとメタデータ |
| `status` | object | trading_activeとexchange_activeフラグを含む取引所ステータス |
### `kalshi_create_order`
@@ -336,8 +331,7 @@ Kalshi予測市場に新しい注文を作成する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 作成功ステータス |
| `output` | object | 作成された注文データ |
| `order` | object | 作成された注文オブジェクト |
### `kalshi_cancel_order`
@@ -355,8 +349,8 @@ Kalshiで既存の注文をキャンセルする
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | キャンセルされた注文データ |
| `order` | object | キャンセルされた注文オブジェクト |
| `reducedBy` | number | キャンセルされた契約数 |
### `kalshi_amend_order`
@@ -384,8 +378,7 @@ Kalshiで既存の注文の価格または数量を変更する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作成功ステータス |
| `output` | object | 変更された注文データ |
| `order` | object | 変更された注文オブジェクト |
## 注意事項

View File

@@ -91,11 +91,11 @@ Parallel AIを使用してウェブ全体で包括的な詳細調査を実施し
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `status` | string | タスクのステータス(実行中、完了、失敗) |
| `status` | string | タスクのステータス(完了、失敗) |
| `run_id` | string | この調査タスクの一意のID |
| `message` | string | ステータスメッセージ(実行中のタスク用) |
| `message` | string | ステータスメッセージ |
| `content` | object | 調査結果output_schemaに基づいて構造化 |
| `basis` | array | 引用と情報源(抜粋と信頼度レベルを含む) |
| `basis` | array | 引用と情報源(根拠と信頼度レベルを含む) |
## 注意事項

View File

@@ -51,8 +51,9 @@ Perplexity AIチャットモデルを使用して文章を生成する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作の成功ステータス |
| `output` | object | チャット生成結果 |
| `content` | string | 生成されたテキストコンテンツ |
| `model` | string | 生成に使用されたモデル |
| `usage` | object | トークン使用情報 |
### `perplexity_search`
@@ -76,8 +77,7 @@ Perplexityからランク付けされた検索結果を取得する
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 操作の成功ステータス |
| `output` | object | 検索結果 |
| `results` | array | 検索結果の配列 |
## 注意事項

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