Compare commits

...

73 Commits

Author SHA1 Message Date
Waleed
ebef5f3a27 v0.5.20: google slides, ui fixes, subflow resizing improvements 2025-12-06 15:36:09 -08:00
Waleed
7bfc6ebe48 fix(copilot): fixed copilot code component overflowing gutter (#2230) 2025-12-06 15:20:41 -08:00
Vikhyath Mondreti
23ef39de72 improvement(ui): revert settings > envvar ui (#2227) 2025-12-06 14:26:39 -08:00
Waleed
507fc112be feat(admin): added more billing, subscriptions, and organization admin API routes (#2225)
* feat(admin): added more billing, subscriptions, and organization admin API routes

* cleanup

* ack PR comments

* cleanup

* ack PR comment
2025-12-06 14:13:50 -08:00
Waleed
26670e289d fix(hosted): fixed hosted providers to exact string match model names rather than check provider names (#2228) 2025-12-06 13:33:34 -08:00
Waleed
e52bd575e7 feat(i18n): update translations (#2226)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-06 13:33:00 -08:00
Emir Karabeg
0b28128f25 feat(tools): google slides tool, terminal console virtualization, tool fixes (#2209)
* feat: google slides tool

* fix oauth for slides, add remaining endpoints, update docs

* optimize json dump viewer using react window

* change slides to use google drive credentials

* fix some tools

* ack PR comments

---------

Co-authored-by: waleed <walif6@gmail.com>
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-06 12:16:21 -08:00
Vikhyath Mondreti
a50edf8131 fix(autolayout): subflow calculation (#2223)
* fix(autolayout): subflow calculation

* cleanup code

* fix missing import

* add back missing import
2025-12-05 16:31:10 -08:00
Vikhyath Mondreti
12c4c2d44f v0.5.19: copilot fix 2025-12-05 15:27:31 -08:00
Siddharth Ganesan
656dfafb8f fix(copilot): fix function execute tool (#2222) 2025-12-05 15:19:39 -08:00
Siddharth Ganesan
9f604f379e fix(copilot): fix tool call flash (#2221)
* Fix copilot tool call flash

* Fix lint
2025-12-05 15:12:35 -08:00
Siddharth Ganesan
75da06adf8 fix(copilot): fix hanging tool calls (#2218) 2025-12-05 14:59:38 -08:00
Vikhyath Mondreti
929a352edb fix(build): added trigger.dev sdk mock to tests (#2216) 2025-12-05 14:26:50 -08:00
Vikhyath Mondreti
c7b473f55f fix(build): added trigger.dev sdk mock to tests (#2216) 2025-12-05 14:24:52 -08:00
Vikhyath Mondreti
6cd078b0fe v0.5.18: ui fixes, nextjs16, workspace notifications, admin APIs, loading improvements, new slack tools 2025-12-05 14:03:09 -08:00
Vikhyath Mondreti
fb4c9827f8 fix(custom-bot-slack): dependsOn incorrectly set for bot_token (#2214)
* fix(custom-bot-slack): dependsOn incorrectly set for bot_token"

* fix other references to be compatible

* fix dependsOn for things depending on authMethod"
2025-12-05 13:54:52 -08:00
Siddharth Ganesan
4fd5f0051f fix(copilot): validation (#2215)
* Fix validation error

* Fix lint
2025-12-05 13:46:50 -08:00
Waleed
002713ec4b feat(i18n): update translations (#2208)
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
2025-12-05 13:29:44 -08:00
Waleed
5d6c1f7b88 feat(tools): added more slack tools (#2212) 2025-12-05 13:22:35 -08:00
Siddharth Ganesan
7752beac01 fix(import): fix array errors on import/export (#2211)
* Fix import/export

* Remove copilot gdrive tools

* Null

* Fix lint

* Add copilot validation

* Fix validation
2025-12-05 13:07:01 -08:00
Emir Karabeg
7101dc58d4 improvement: loading, optimistic actions (#2193)
* improvement: loading, optimistic operations

* improvement: folders update

* fix usage indicator rounding + new tsconfig

* remove redundant checks

* fix hmr case for missing workflow loads

* add abstraction for zustand/react hybrid optimism

* remove comments

---------

Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-05 13:01:12 -08:00
Siddharth Ganesan
58251e28e6 feat(copilot): superagent (#2201)
* Superagent poc

* Checkpoint brokeN

* tool call rag

* Fix

* Fixes

* Improvements

* Creds stuff

* Fix

* Fix tools

* Fix stream

* Prompt

* Update sheets descriptions

* Better

* Copilot components

* Delete stuff

* Remove db migration

* Fix migrations

* Fix things

* Copilot side superagent

* Build workflow from chat

* Combine superagent into copilkot

* Render tools

* Function execution

* Max mode indicators

* Tool call confirmations

* Credential settings

* Remove betas

* Bump version

* Dropdown options in block metadata

* Copilot kb tools

* Fix lint

* Credentials modal

* Fix lint

* Cleanup

* Env var resolution in superagent tools

* Get id for workflow vars

* Fix insert into subflow

* Fix executor for while and do while loops

* Fix metadata for parallel

* Remove db migration

* Rebase

* Add migrations back

* Clean up code

* Fix executor logic issue

* Cleanup

* Diagram tool

* Fix tool naems

* Comment out g3p

* Remove popup option

* Hide o3

* Remove db migration

* Fix merge conflicts

* Fix lint

* Fix tests

* Remove webhook change

* Remove cb change

* Fix lint

* Fix

* Fix lint

* Fix build

* comment out gemini

* Add gemini back

* Remove bad test

* Fix

* Fix test

* Fix

* Nuke bad test

* Fix lint

---------

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-04 21:26:18 -08:00
Vikhyath Mondreti
8ef9a45125 fix(env-vars): refactor for workspace/personal env vars to work with server side execution correctly (#2197)
* fix(env-var-resolution): new executor env var resolution changes

* add sessionuser id"

* cleanup code

* add doc update

* fix build

* fix client session pass through"

* add type change

* fix env var with hitl

* fix types
2025-12-04 21:08:20 -08:00
Waleed
ca818a6503 feat(admin): added admin APIs for admin management (#2206) 2025-12-04 20:52:32 -08:00
Waleed
1b903f2db5 fix(images): updated helm charts with branding URL guidance, removed additional nextjs image optimizations (#2205) 2025-12-04 19:39:51 -08:00
Waleed
414a54c358 feat(i18n): update translations (#2204)
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
2025-12-04 19:03:03 -08:00
Vikhyath Mondreti
3b9f0f9ce2 feat(error-notifications): workspace-level configuration of slack, email, webhook notifications for workflow execution (#2157)
* feat(notification): slack, email, webhook notifications from logs

* retain search params for filters to link in notification

* add alerting rules

* update selector

* fix lint

* add limits on num of emails and notification triggers per workspace

* address greptile comments

* add search to combobox

* move notifications to react query

* fix lint

* fix email formatting

* add more alert types

* fix imports

* fix test route

* use emcn componentfor modal

* refactor: consolidate notification config fields into jsonb objects

* regen migration

* fix delete notif modal ui

* make them multiselect dropdowns

* update tag styling

* combobox font size with multiselect tags'
2025-12-04 18:29:22 -08:00
Waleed
dcbdcb43aa chore(deps): upgrade to nextjs 16 (#2203)
* chore(deps): upgrade to nextjs 16

* upgraded fumadocs

* ensure vercel uses bun

* fix build

* fix bui;d

* remove redundant vercel.json
2025-12-04 17:55:37 -08:00
Emir Karabeg
1642ed754b improvement: modal UI (#2202)
* fix: trigger-save delete modal

* improvement: old modal styling
2025-12-04 17:10:59 -08:00
Vikhyath Mondreti
d22b5783be fix(enterprise-plan): seats should be taken from metadata (#2200)
* fix(enterprise): seats need to be picked up from metadata not column

* fix env var access

* fix user avatar
2025-12-04 16:22:29 -08:00
Waleed
8e7d8c93e3 fix(profile-pics): remove sharp dependency for serving profile pics in settings (#2199) 2025-12-04 15:46:10 -08:00
Waleed
ca3eb5b5a5 fix(subscription): fixed text clipping on subscription panel (#2198) 2025-12-04 15:12:50 -08:00
Waleed
dc5a2b1ad1 fix(envvar): fix envvar dropdown positioning, remove dead code (#2196) 2025-12-04 14:35:25 -08:00
Waleed
3f84ed9b72 fix(settings): fix long description on wordpress integration (#2195) 2025-12-04 14:10:50 -08:00
Waleed
31874939ee v0.5.17: modals, billing fixes, bun update, zoom, dropbox, kalshi, polymarket, datadog, ahrefs, gitlab, shopify, ssh, wordpress integrations 2025-12-04 13:29:46 -08:00
Waleed
b54ca604b6 fix(chat): fix download & clear popover staying open after pressing in floating chat (#2192) 2025-12-04 13:03:12 -08:00
Waleed
e581608472 fix(copilot): fix code viewer in copilot user inp (#2191) 2025-12-04 12:50:11 -08:00
Emir Karabeg
a4d4dfaa32 fix: tooltip on env settings (#2190) 2025-12-04 12:39:37 -08:00
Waleed
099e86e3c1 fix(settings): fixed sso form validation (#2189) 2025-12-04 12:34:28 -08:00
Emir Karabeg
042de6a944 fix: modals, settings, panel (#2187) 2025-12-04 12:01:36 -08:00
Waleed
f44e7e34ec fix(input): allow test value if no real value provided for inputs in deployed executions (#2186)
* fix(input): allow test value if no real value provided for inputs in deployed executions

* ack PR comments
2025-12-04 11:41:08 -08:00
Waleed
6bfb643ef8 fix(polling): fixed gmail and outlook polling to respect disabled status (#2185) 2025-12-04 11:31:33 -08:00
Siddharth Ganesan
cd5d1c0958 fix(executor): nested error activation (#2184) 2025-12-04 10:55:26 -08:00
Waleed
9df87d9b88 fix(mcp): remove client-side cache and reduce server cache from 5m to 30s (#2182)
* fix(mcp): remove client-side cache and reduce server cache from 5m to 30s

* ack PR comments
2025-12-04 08:51:06 -08:00
Waleed
c864d17991 chore(deps): upgrade to bun v1.3 (#2181)
* chore(deps): upgrade to bun v1.3

* ack PR comments
2025-12-04 00:43:01 -08:00
Emir Karabeg
36c91f4ca9 feat: terminal serach; fix: delete-modal (#2176) 2025-12-04 00:41:38 -08:00
Waleed
6d4ba6d5cf chore(deps): upgrade from nextjs 15.4.1 to 15.4.8 and upgrade turborepo (#2180) 2025-12-04 00:20:50 -08:00
Waleed
5d791cd55f feat(i18n): update translations (#2178)
* feat(i18n): update translations

* memory optimizations

---------

Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-04 00:18:21 -08:00
Waleed
5630e133fd feat(tools): added zoom, elasticsearch, dropbox, kalshi, polymarket, datadog, ahrefs, gitlab, shopify, ssh, wordpress (#2175)
* feat(tools): added zoom, elasticsearch, dropbox, box, datadog, ahrefs, gitlab, shopify, ssh, wordpress

* added polymarket & kalshi, fixed ssh

* fix search modal bg instead of bgColor, added polymarket and kalshi new endpoints

* split up grafana

* update docs script & docs

* added more zoom endpoints

* remove unused box creds

* finished wordpress, shopify, kalshi

* cleanup

* revert envvar dropdown changes

* updated grafana endpoints
2025-12-03 20:09:27 -08:00
Emir Karabeg
08a11935af fix: commented out light mode (#2173) 2025-12-03 16:52:35 -08:00
Emir Karabeg
3158b62da8 feat: light, emcn, modals (#2104)
* feat: aligned current unassigned hex to old globals

* feat: emcn modal, help-modal; improvement(ui): emcn textarea, emcn combobox, messages-input

* improvement(modal): ui, transition

* improvement: terminal expand, variables styling; refactor(float): hooks

* improvement(invite-modal): emcn aligned

* feat(terminal): height memory

* improvement(invite-modal): skeleton ui

* improvement(invite-modal): badges UI

* feat: deploy-modal, emcn

* refactor: deleted duplicate dark styles

* feat: emcn, settings, light

* improvement: emcn, settings

* improvement: settings-modal, emcn

* improvement: SSO, light-mode

* improvement: EMCN, light

* fix issues, run lint

* fix: reverted mock data
2025-12-03 16:31:27 -08:00
Waleed
e157ce5fbc v0.5.16: MCP fixes, code refactors, jira fixes, new mistral models 2025-12-02 22:02:11 -08:00
Vikhyath Mondreti
7de721e090 fix(logs): logging with error issues for model costs (#2169)
* fix(async-execution): restore async executions

* fix schedules trace span collection'

* fix execution trace spans for schedules + cost tracking when workflow errors
2025-12-02 20:54:17 -08:00
Waleed
3e83fb398c fix(trace-spans): fix input/output token count in trace spans (#2168) 2025-12-02 20:36:16 -08:00
Waleed
a6e3c92c10 fix(jira): fixed incorrect dependsOn for jira project/issue subblcks (#2167) 2025-12-02 20:18:01 -08:00
Vikhyath Mondreti
9670d96eca fix(templates-page): loading issue due to loading extensive workflow block in preview for all listings (#2166)
* fix(templates-page): loading issue due to loading extensive workflow block in preview for all listings

* add more properties
2025-12-02 19:47:48 -08:00
Waleed
eb0d4cbd57 fix(templates): fixed verified creator status displaying & tooltip on templates (#2165) 2025-12-02 19:23:35 -08:00
Waleed
ffd12e1da4 fix(subblocks): update guardrails pii selector component to use emcn (#2164) 2025-12-02 18:36:34 -08:00
Waleed
84c2335a37 feat(i18n): update translations (#2163)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-02 16:37:30 -08:00
Waleed
2ab8cec8c3 fix(icons): fix mailgun, restore tts and smtp blocks (#2162)
* fix(icons): fix mailgun

* register smtp block that was missing
2025-12-02 16:21:43 -08:00
Waleed
bf54c88ae4 feat(models): added xai models and updated gemini pricing (#2161) 2025-12-02 14:31:23 -08:00
Waleed
41c068c023 improvement(lib): refactored lib/ to be more aligned with queries and api directory (#2160)
* fix(lib): consolidate into core dir in lib/

* refactored lib/
2025-12-02 14:17:41 -08:00
Waleed
6fda9bd72e feat(models): added latest mistral models (#2159) 2025-12-02 13:46:00 -08:00
Waleed
3b4f227e43 fix(mcp): reuse sessionID for consecutive MCP tool calls, fix dynamic args clearing, fix refreshing tools on save (#2158)
* fix(mcp): reuse sessionID for consecutive MCP tool calls, fix dynamic args clearing, fix refreshing tools on save

* prevent defaults

* fix subblock text area

* added placeholders in tool-inp for mcp dynamic args

* ack PR comments
2025-12-02 12:37:59 -08:00
Vikhyath Mondreti
774e5d585c v0.5.15: add tools, revert subblock prop change 2025-12-01 13:52:12 -08:00
Vikhyath Mondreti
54cc93743f v0.5.14: fix issue with teams, google selectors + cleanup code 2025-12-01 12:39:39 -08:00
Waleed
8c32ad4c0d v0.5.13: polling fixes, generic agent search tool, status page, smtp, sendgrid, linkedin, more tools (#2148)
* feat(tools): added smtp, sendgrid, mailgun, linkedin, fixed permissions in context menu (#2133)

* feat(tools): added twilio sendgrid integration

* feat(tools): added smtp, sendgrid, mailgun, fixed permissions in context menu

* added top level mocks for sporadically failing tests

* incr type safety

* fix(team-plans): track departed member usage so value not lost (#2118)

* fix(team-plans): track departed member usage so value not lost

* reset usage to 0 when they leave team

* prep merge with stagig

* regen migrations

* fix org invite + ws selection'

---------

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

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

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

* feat(creators): add verification for creators (#2135)

* feat(tools): added apify block/tools  (#2136)

* feat(tools): added apify

* cleanup

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

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

* feat(env): added more optional env var examples (#2138)

* feat(statuspage): added statuspage, updated list of tools in footer, renamed routes (#2139)

* feat(statuspage): added statuspage, updated list of tools in footer, renamed routes

* ack PR comments

* feat(tools): add generic search tool (#2140)

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

* fix(sdks): bump sdk versions (#2142)

* fix(webhooks): count test webhooks towards usage limit (#2143)

* fix(bill): add requestId to webhook processing (#2144)

* improvement(subflow): remove all associated edges when moving a block into a subflow (#2145)

* improvement(subflow): remove all associated edges when moving a block into a subflow

* ack PR comments

* fix(polling): mark webhook failed on webhook trigger errors (#2146)

* fix(deps): declare core transient deps explicitly (#2147)

* fix(deps): declare core transient deps explicitly

* ack PR comments

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-01 10:15:36 -08:00
Waleed
1d08796853 v0.5.12: memory optimizations, sentry, incidentio, posthog, zendesk, pylon, intercom, mailchimp, loading optimizations (#2132)
* fix(memory-util): fixed unbounded array of gmail/outlook pollers causing high memory util, added missing db indexes/removed unused ones, auto-disable schedules/webhooks after 10 consecutive failures (#2115)

* fix(memory-util): fixed unbounded array of gmail/outlook pollers causing high memory util, added missing db indexes/removed unused ones, auto-disable schedules/webhooks after 10 consecutive failures

* ack PR comments

* ack

* improvement(teams-plan): seats increase simplification + not triggering checkout session (#2117)

* improvement(teams-plan): seats increase simplification + not triggering checkout session

* cleanup via helper

* feat(tools): added sentry, incidentio, and posthog tools (#2116)

* feat(tools): added sentry, incidentio, and posthog tools

* update docs

* fixed docs to use native fumadocs for llms.txt and copy markdown, fixed tool issues

* cleanup

* enhance error extractor, fixed posthog tools

* docs enhancements, cleanup

* added more incident io ops, remove zustand/shallow in favor of zustand/react/shallow

* fix type errors

* remove unnecessary comments

* added vllm to docs

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

* feat(i18n): update translations

* fix build

---------

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

* improvement(workflow-execution): perf improvements to passing workflow state + decrypted env vars (#2119)

* improvement(execution): load workflow state once instead of 2-3 times

* decrypt only in get helper

* remove comments

* remove comments

* feat(models): host google gemini models (#2122)

* feat(models): host google gemini models

* remove unused primary key

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

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

* feat(tools): added zendesk, pylon, intercom, & mailchimp (#2126)

* feat(tools): added zendesk, pylon, intercom, & mailchimp

* finish zendesk and pylon

* updated docs

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

* feat(i18n): update translations

* fixed build

---------

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

* fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal (#2130)

* fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal

* fix failing test

* fix test

* cleanup

* fix(custom-tools): add composite index on custom tool names & workspace id (#2131)

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-11-28 16:08:06 -08:00
Waleed
ebcd243942 v0.5.11: stt, videogen, vllm, billing fixes, new models 2025-11-25 01:14:12 -08:00
Waleed
b7e814b721 v0.5.10: copilot upgrade, preprocessor, logs search, UI, code hygiene 2025-11-21 12:04:34 -08:00
Waleed
842ef27ed9 v0.5.9: add backwards compatibility for agent messages array 2025-11-20 11:19:42 -08:00
Vikhyath Mondreti
31c34b2ea3 v0.5.8: notifications, billing, ui changes, store loading state machine 2025-11-20 01:32:32 -08:00
Vikhyath Mondreti
8f0ef58056 v0.5.7: combobox selectors, usage indicator, workflow loading race condition, other improvements 2025-11-17 21:25:51 -08:00
1399 changed files with 117921 additions and 20141 deletions

View File

@@ -8,7 +8,7 @@ ENSURE that you use the logger.info and logger.warn and logger.error instead of
## Comments
You must use TSDOC for comments. Do not use ==== for comments to separate sections.
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

View File

@@ -1,4 +1,4 @@
FROM oven/bun:1.2.22-alpine
FROM oven/bun:1.3.3-alpine
# Install necessary packages for development
RUN apk add --no-cache \

View File

@@ -17,7 +17,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Setup Node
uses: actions/setup-node@v4

View File

@@ -26,7 +26,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Cache Bun dependencies
uses: actions/cache@v4
@@ -126,7 +126,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Cache Bun dependencies
uses: actions/cache@v4

View File

@@ -16,7 +16,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Cache Bun dependencies
uses: actions/cache@v4

View File

@@ -16,7 +16,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Setup Node.js for npm publishing
uses: actions/setup-node@v4

View File

@@ -16,7 +16,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Setup Node.js for npm publishing
uses: actions/setup-node@v4

View File

@@ -16,7 +16,7 @@ jobs:
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.22
bun-version: 1.3.3
- name: Setup Node
uses: actions/setup-node@v4

View File

@@ -1,4 +1,4 @@
import { findNeighbour } from 'fumadocs-core/server'
import { findNeighbour } from 'fumadocs-core/page-tree'
import defaultMdxComponents from 'fumadocs-ui/mdx'
import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page'
import { ChevronLeft, ChevronRight } from 'lucide-react'
@@ -186,9 +186,6 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
footer: <TOCFooter />,
single: false,
}}
article={{
className: 'scroll-smooth max-sm:pb-16',
}}
tableOfContentPopover={{
style: 'clerk',
enabled: true,

View File

@@ -1,7 +1,7 @@
'use client'
import { type ReactNode, useEffect, useState } from 'react'
import type { PageTree } from 'fumadocs-core/server'
import type { Folder, Item, Separator } from 'fumadocs-core/page-tree'
import { ChevronRight } from 'lucide-react'
import Link from 'next/link'
import { usePathname } from 'next/navigation'
@@ -11,7 +11,7 @@ function isActive(url: string, pathname: string, nested = true): boolean {
return url === pathname || (nested && pathname.startsWith(`${url}/`))
}
export function SidebarItem({ item }: { item: PageTree.Item }) {
export function SidebarItem({ item }: { item: Item }) {
const pathname = usePathname()
const active = isActive(item.url, pathname, false)
@@ -33,15 +33,7 @@ export function SidebarItem({ item }: { item: PageTree.Item }) {
)
}
export function SidebarFolder({
item,
level,
children,
}: {
item: PageTree.Folder
level: number
children: ReactNode
}) {
export function SidebarFolder({ item, children }: { item: Folder; children: ReactNode }) {
const pathname = usePathname()
const hasActiveChild = checkHasActiveChild(item, pathname)
const [open, setOpen] = useState(hasActiveChild)
@@ -112,7 +104,7 @@ export function SidebarFolder({
)
}
export function SidebarSeparator({ item }: { item: PageTree.Separator }) {
export function SidebarSeparator({ item }: { item: Separator }) {
return (
<p className='mt-4 mb-1.5 px-2.5 font-semibold text-[10px] text-gray-500/80 uppercase tracking-wide dark:text-gray-500'>
{item.name}
@@ -120,7 +112,7 @@ export function SidebarSeparator({ item }: { item: PageTree.Separator }) {
)
}
function checkHasActiveChild(node: PageTree.Folder, pathname: string): boolean {
function checkHasActiveChild(node: Folder, pathname: string): boolean {
if (node.index && isActive(node.index.url, pathname)) {
return true
}

View File

@@ -473,6 +473,30 @@ export function GithubIcon(props: SVGProps<SVGSVGElement>) {
)
}
export function GitLabIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'>
<path
d='M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z'
fill='#FC6D26'
/>
<path d='M12 22.13L16.05 9.67H7.95L12 22.13z' fill='#E24329' />
<path d='M12 22.13L7.95 9.67H1.69L12 22.13z' fill='#FC6D26' />
<path d='M1.69 9.67L.47 13.45a.84.84 0 0 0 .3.94L12 22.13 1.69 9.67z' fill='#FCA326' />
<path
d='M1.69 9.67H7.95L5.51 2.16A.42.42 0 0 0 4.93 2a.42.42 0 0 0-.11.18L1.69 9.67z'
fill='#E24329'
/>
<path d='M12 22.13L16.05 9.67H22.31L12 22.13z' fill='#FC6D26' />
<path d='M22.31 9.67L23.53 13.45a.84.84 0 0 1-.3.94L12 22.13 22.31 9.67z' fill='#FCA326' />
<path
d='M22.31 9.67H16.05l2.44-7.51A.42.42 0 0 1 19.07 2a.42.42 0 0 1 .11.18l3.13 7.49z'
fill='#E24329'
/>
</svg>
)
}
export function SerperIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg viewBox='0 0 654 600' xmlns='http://www.w3.org/2000/svg' {...props}>
@@ -649,6 +673,37 @@ export function GmailIcon(props: SVGProps<SVGSVGElement>) {
)
}
export function GrafanaIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
width='800px'
height='800px'
viewBox='0 0 16 16'
xmlns='http://www.w3.org/2000/svg'
fill='none'
>
<path
fill='url(#grafana-color-16__paint0_linear_2372_364)'
d='M13.985 7.175a4.408 4.408 0 00-.138-.802 5.035 5.035 0 00-1.054-1.998 2.96 2.96 0 00-.366-.393c.198-.787-.245-1.468-.245-1.468-.764-.046-1.237.227-1.42.363-.031-.015-.062-.03-.092-.03-.122-.046-.26-.106-.397-.137-.138-.045-.275-.075-.413-.12-.137-.031-.29-.061-.443-.092-.03 0-.046 0-.076-.015C9.005 1.44 8.058 1 8.058 1 7.004 1.666 6.79 2.604 6.79 2.604s0 .015-.016.06l-.183.046c-.076.03-.168.06-.244.076-.077.03-.168.06-.245.09-.153.076-.32.152-.473.228-.153.09-.306.181-.443.272-.016-.015-.03-.015-.03-.015-1.467-.545-2.766.136-2.766.136-.122 1.544.58 2.528.733 2.71-.03.09-.06.196-.091.287a8.104 8.104 0 00-.245 1.09c0 .06-.015.106-.015.166C1.397 8.386 1 9.748 1 9.748c1.13 1.287 2.46 1.377 2.46 1.377.167.303.366.575.58.848.092.106.183.212.29.318a3.014 3.014 0 00.061 2.149c1.268.045 2.093-.545 2.261-.681.122.045.26.076.382.106.382.106.78.151 1.176.181h.49c.595.848 1.634.954 1.634.954.748-.772.779-1.544.779-1.71v-.015-.03-.03c.153-.107.305-.228.443-.35a5.37 5.37 0 00.779-.892c.015-.03.046-.06.061-.09.84.045 1.436-.515 1.436-.515-.138-.863-.642-1.287-.749-1.378l-.015-.015h-.015s-.015 0-.015-.015c0-.045.015-.106.015-.151 0-.091.015-.182.015-.288V9.4v-.166-.076-.152l-.015-.075c-.015-.091-.03-.197-.061-.288a3.506 3.506 0 00-.428-1.044 3.856 3.856 0 00-.718-.848 3.784 3.784 0 00-.901-.575 3.347 3.347 0 00-.993-.272c-.168-.015-.336-.03-.504-.03H9.37 9.204c-.092.015-.169.015-.26.03-.336.06-.642.181-.932.348-.275.166-.52.363-.718.605a2.579 2.579 0 00-.459.757 2.63 2.63 0 00-.183.817v.393c.015.137.046.273.077.394.076.258.183.485.336.666.137.197.32.348.504.485.183.12.382.212.58.272.199.06.382.076.565.076h.244c.031 0 .047 0 .062-.015.015 0 .046-.015.061-.015.046-.016.076-.016.122-.03l.23-.092a.869.869 0 00.198-.12c.015-.016.03-.03.046-.03a.129.129 0 00.015-.198c-.046-.06-.122-.075-.183-.03-.015.015-.03.015-.046.03-.046.03-.107.046-.168.06l-.183.046c-.03 0-.061.015-.092.015H8.73a1.519 1.519 0 01-.825-.378 1.452 1.452 0 01-.306-.378 1.655 1.655 0 01-.168-.485c-.015-.09-.015-.166-.015-.257v-.106-.03c0-.046.015-.091.015-.136.061-.364.26-.727.55-1 .077-.075.153-.136.23-.181.076-.06.167-.106.259-.151.092-.046.183-.076.29-.106a.993.993 0 01.306-.046h.321c.107.015.229.03.336.046.214.045.427.12.626.242.397.212.733.56.947.969.107.211.183.423.214.65.015.06.015.121.015.167v.363c0 .06-.015.121-.015.182 0 .06-.015.12-.03.181l-.046.182c-.03.121-.077.242-.123.363a3.183 3.183 0 01-.366.666 3.002 3.002 0 01-1.91 1.18c-.122.016-.26.03-.382.046h-.198c-.061 0-.138 0-.199-.015a3.637 3.637 0 01-.81-.151 4.068 4.068 0 01-.748-.303 4.098 4.098 0 01-1.696-1.695 4.398 4.398 0 01-.29-.742c-.076-.257-.107-.514-.137-.772v-.302-.091c0-.136.015-.258.03-.394s.046-.272.061-.393c.03-.137.061-.258.092-.394a5.33 5.33 0 01.275-.741c.214-.47.504-.893.855-1.226.092-.091.184-.167.275-.243.092-.075.184-.136.29-.211a5.39 5.39 0 01.306-.182c.046-.03.107-.045.153-.076a.26.26 0 01.076-.03.26.26 0 01.077-.03c.107-.046.229-.091.336-.121.03-.015.06-.015.091-.03.03-.016.061-.016.092-.03.061-.016.122-.031.168-.046.03-.015.061-.015.092-.015.03 0 .06-.016.091-.016.03 0 .061-.015.092-.015l.046-.015h.046c.03 0 .06-.015.091-.015.03 0 .061-.015.107-.015.03 0 .077-.015.107-.015h.764c.23.015.443.03.657.075.428.076.84.212 1.207.394.366.182.702.393.977.636l.046.045.046.045c.03.03.061.061.107.091l.092.091.091.09c.123.122.23.258.336.394.199.258.367.515.49.772.014.015.014.03.03.046.015.015.015.03.015.045l.046.09.046.092.045.09c.046.122.092.228.123.333.06.167.107.318.137.455.015.045.061.09.122.075a.104.104 0 00.107-.106c.092-.227.092-.393.077-.575z'
/>
<defs>
<linearGradient
id='grafana-color-16__paint0_linear_2372_364'
x1='7.502'
x2='7.502'
y1='18.142'
y2='5.356'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#FFF200' />
<stop offset='1' stopColor='#F15A29' />
</linearGradient>
</defs>
</svg>
)
}
export function GoogleDriveIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
@@ -1029,6 +1084,27 @@ export function GoogleDocsIcon(props: SVGProps<SVGSVGElement>) {
)
}
export function GoogleSlidesIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 48 48'
width='96px'
height='96px'
>
<path
fill='#FFC107'
d='M37,45H11c-1.657,0-3-1.343-3-3V6c0-1.657,1.343-3,3-3h19l10,10v29C40,43.657,38.657,45,37,45z'
/>
<path fill='#FFECB3' d='M40 13L30 13 30 3z' />
<path fill='#FFA000' d='M30 13L40 23 40 13z' />
<path fill='#FFF8E1' d='M14 21H34V35H14z' />
<path fill='#FFA000' d='M16 23H32V26H16zM16 28H28V30H16z' />
</svg>
)
}
export function GoogleCalendarIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
@@ -1259,7 +1335,7 @@ export function ConfluenceIcon(props: SVGProps<SVGSVGElement>) {
export function TwilioIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'>
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 272 272'>
<path
fill='currentColor'
d='M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128 57.344 0 128 0zm0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792zm31.744 99.328c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm63.488-63.488c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624z'
@@ -1666,21 +1742,13 @@ export function ElevenLabsIcon(props: SVGProps<SVGSVGElement>) {
export function LinkupIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 24 24'
width='24'
height='24'
fill='none'
>
<path
d='M20.2 14.1c-.4-.3-1.6-.4-2.9-.2.5-1.4 1.3-3.9.1-5-.6-.5-1.5-.7-2.6-.5-.3 0-.6.1-1 .2-1.1-1.6-2.4-2.5-3.8-2.5-1.6 0-3.1 1-4.1 2.9-1.2 2.1-1.9 5.1-1.9 8.8v.03l.4.3c3-.9 7.5-2.3 10.7-2.9 0 .9.1 1.9.1 2.8v.03l.4.3c.1 0 5.4-1.7 5.3-3.3 0-.2-.1-.5-.3-.7zM19.9 14.7c.03.4-1.7 1.4-4 2.3.5-.7 1-1.6 1.3-2.5 1.4-.1 2.4-.1 2.7.2zM16.4 14.6c-.3.7-.7 1.4-1.2 2-.02-.6-.1-1.2-.2-1.8.4-.1.9-.1 1.4-.2zM16.5 9.4c.8.7.9 2.4.1 5.1-.5.1-1 .1-1.5.2-.3-2-.9-3.8-1.7-5.3.3-.1.6-.2.8-.2.9-.1 1.7.05 2.3.2zM9.5 6.8c1.2 0 2.3.7 3.2 2.1-2.8 1.1-5.9 3.4-8.4 7.8.2-5.1 1.9-9.9 5.2-9.9zM4.7 17c3.4-4.9 6.4-6.8 8.4-7.8.7 1.3 1.2 2.9 1.5 4.8-3.2.6-7.3 1.8-9.9 3z'
fill='currentColor'
stroke='currentColor'
strokeWidth='0.5'
strokeLinejoin='round'
/>
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
<g transform='translate(12, 12) scale(1.3) translate(-12, -12)'>
<path
d='M20.2 14.1c-.4-.3-1.6-.4-2.9-.2.5-1.4 1.3-3.9.1-5-.6-.5-1.5-.7-2.6-.5-.3 0-.6.1-1 .2-1.1-1.6-2.4-2.5-3.8-2.5-1.6 0-3.1 1-4.1 2.9-1.2 2.1-1.9 5.1-1.9 8.8v.03l.4.3c3-.9 7.5-2.3 10.7-2.9 0 .9.1 1.9.1 2.8v.03l.4.3c.1 0 5.4-1.7 5.3-3.3 0-.2-.1-.5-.3-.7zM19.9 14.7c.03.4-1.7 1.4-4 2.3.5-.7 1-1.6 1.3-2.5 1.4-.1 2.4-.1 2.7.2zM16.4 14.6c-.3.7-.7 1.4-1.2 2-.02-.6-.1-1.2-.2-1.8.4-.1.9-.1 1.4-.2zM16.5 9.4c.8.7.9 2.4.1 5.1-.5.1-1 .1-1.5.2-.3-2-.9-3.8-1.7-5.3.3-.1.6-.2.8-.2.9-.1 1.7.05 2.3.2zM9.5 6.8c1.2 0 2.3.7 3.2 2.1-2.8 1.1-5.9 3.4-8.4 7.8.2-5.1 1.9-9.9 5.2-9.9zM4.7 17c3.4-4.9 6.4-6.8 8.4-7.8.7 1.3 1.2 2.9 1.5 4.8-3.2.6-7.3 1.8-9.9 3z'
fill='#000000'
/>
</g>
</svg>
)
}
@@ -2710,111 +2778,19 @@ export function MicrosoftSharepointIcon(props: SVGProps<SVGSVGElement>) {
export function MicrosoftPlannerIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlnsXlink='http://www.w3.org/1999/xlink'
viewBox='0 0 24 24'
fill='none'
xmlns='http://www.w3.org/2000/svg'
>
<g clipPath='url(#msplanner_clip0)'>
<path
d='M8.25809 15.7412C7.22488 16.7744 5.54971 16.7744 4.5165 15.7412L0.774909 11.9996C-0.258303 10.9664 -0.258303 9.29129 0.774908 8.25809L4.5165 4.51655C5.54971 3.48335 7.22488 3.48335 8.25809 4.51655L11.9997 8.2581C13.0329 9.29129 13.0329 10.9664 11.9997 11.9996L8.25809 15.7412Z'
fill='url(#msplanner_paint0_linear)'
/>
<path
d='M8.25809 15.7412C7.22488 16.7744 5.54971 16.7744 4.5165 15.7412L0.774909 11.9996C-0.258303 10.9664 -0.258303 9.29129 0.774908 8.25809L4.5165 4.51655C5.54971 3.48335 7.22488 3.48335 8.25809 4.51655L11.9997 8.2581C13.0329 9.29129 13.0329 10.9664 11.9997 11.9996L8.25809 15.7412Z'
fill='url(#msplanner_paint1_linear)'
/>
<path
d='M0.774857 11.9999C1.80809 13.0331 3.48331 13.0331 4.51655 11.9999L15.7417 0.774926C16.7749 -0.258304 18.4501 -0.258309 19.4834 0.774914L23.225 4.51655C24.2583 5.54977 24.2583 7.22496 23.225 8.25819L11.9999 19.4832C10.9667 20.5164 9.29146 20.5164 8.25822 19.4832L0.774857 11.9999Z'
fill='url(#msplanner_paint2_linear)'
/>
<path
d='M0.774857 11.9999C1.80809 13.0331 3.48331 13.0331 4.51655 11.9999L15.7417 0.774926C16.7749 -0.258304 18.4501 -0.258309 19.4834 0.774914L23.225 4.51655C24.2583 5.54977 24.2583 7.22496 23.225 8.25819L11.9999 19.4832C10.9667 20.5164 9.29146 20.5164 8.25822 19.4832L0.774857 11.9999Z'
fill='url(#msplanner_paint3_linear)'
/>
<path
d='M4.51642 15.7413C5.54966 16.7746 7.22487 16.7746 8.25812 15.7413L15.7415 8.25803C16.7748 7.2248 18.45 7.2248 19.4832 8.25803L23.2249 11.9997C24.2582 13.0329 24.2582 14.7081 23.2249 15.7413L15.7415 23.2246C14.7083 24.2579 13.033 24.2579 11.9998 23.2246L4.51642 15.7413Z'
fill='url(#msplanner_paint4_linear)'
/>
<path
d='M4.51642 15.7413C5.54966 16.7746 7.22487 16.7746 8.25812 15.7413L15.7415 8.25803C16.7748 7.2248 18.45 7.2248 19.4832 8.25803L23.2249 11.9997C24.2582 13.0329 24.2582 14.7081 23.2249 15.7413L15.7415 23.2246C14.7083 24.2579 13.033 24.2579 11.9998 23.2246L4.51642 15.7413Z'
fill='url(#msplanner_paint5_linear)'
/>
</g>
<defs>
<linearGradient
id='msplanner_paint0_linear'
x1='6.38724'
y1='3.74167'
x2='2.15779'
y2='12.777'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#8752E0' />
<stop offset='1' stopColor='#541278' />
</linearGradient>
<linearGradient
id='msplanner_paint1_linear'
x1='8.38032'
y1='11.0696'
x2='4.94062'
y2='7.69244'
gradientUnits='userSpaceOnUse'
>
<stop offset='0.12172' stopColor='#3D0D59' />
<stop offset='1' stopColor='#7034B0' stopOpacity='0' />
</linearGradient>
<linearGradient
id='msplanner_paint2_linear'
x1='18.3701'
y1='-3.33385e-05'
x2='9.85717'
y2='20.4192'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#DB45E0' />
<stop offset='1' stopColor='#6C0F71' />
</linearGradient>
<linearGradient
id='msplanner_paint3_linear'
x1='18.3701'
y1='-3.33385e-05'
x2='9.85717'
y2='20.4192'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#DB45E0' />
<stop offset='0.677403' stopColor='#A829AE' />
<stop offset='1' stopColor='#8F28B3' />
</linearGradient>
<linearGradient
id='msplanner_paint4_linear'
x1='18.0002'
y1='7.49958'
x2='14.0004'
y2='23.9988'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#3DCBFF' />
<stop offset='1' stopColor='#00479E' />
</linearGradient>
<linearGradient
id='msplanner_paint5_linear'
x1='18.2164'
y1='7.92626'
x2='10.5237'
y2='22.9363'
gradientUnits='userSpaceOnUse'
>
<stop stopColor='#3DCBFF' />
<stop offset='1' stopColor='#4A40D4' />
</linearGradient>
<clipPath id='msplanner_clip0'>
<rect width='24' height='24' fill='white' />
</clipPath>
</defs>
<svg {...props} viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>
<path
d='M8.25809 15.7412C7.22488 16.7744 5.54971 16.7744 4.5165 15.7412L0.774909 11.9996C-0.258303 10.9664 -0.258303 9.29129 0.774908 8.25809L4.5165 4.51655C5.54971 3.48335 7.22488 3.48335 8.25809 4.51655L11.9997 8.2581C13.0329 9.29129 13.0329 10.9664 11.9997 11.9996L8.25809 15.7412Z'
fill='#185ABD'
/>
<path
d='M0.774857 11.9999C1.80809 13.0331 3.48331 13.0331 4.51655 11.9999L15.7417 0.774926C16.7749 -0.258304 18.4501 -0.258309 19.4834 0.774914L23.225 4.51655C24.2583 5.54977 24.2583 7.22496 23.225 8.25819L11.9999 19.4832C10.9667 20.5164 9.29146 20.5164 8.25822 19.4832L0.774857 11.9999Z'
fill='#41A5EE'
/>
<path
d='M4.51642 15.7413C5.54966 16.7746 7.22487 16.7746 8.25812 15.7413L15.7415 8.25803C16.7748 7.2248 18.45 7.2248 19.4832 8.25803L23.2249 11.9997C24.2582 13.0329 24.2582 14.7081 23.2249 15.7413L15.7415 23.2246C14.7083 24.2579 13.033 24.2579 11.9998 23.2246L4.51642 15.7413Z'
fill='#2B7CD3'
/>
</svg>
)
}
@@ -3297,29 +3273,10 @@ export function TrelloIcon(props: SVGProps<SVGSVGElement>) {
export function AsanaIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
width='24'
height='24'
viewBox='781.361 0 944.893 873.377'
>
<radialGradient
id='asana_radial_gradient'
cx='943.992'
cy='1221.416'
r='.663'
gradientTransform='matrix(944.8934 0 0 -873.3772 -890717.875 1067234.75)'
gradientUnits='userSpaceOnUse'
>
<stop offset='0' stopColor='#ffb900' />
<stop offset='.6' stopColor='#f95d8f' />
<stop offset='.999' stopColor='#f95353' />
</radialGradient>
<path
fill='url(#asana_radial_gradient)'
d='M1520.766 462.371c-113.508 0-205.508 92-205.508 205.488 0 113.499 92 205.518 205.508 205.518 113.489 0 205.488-92.019 205.488-205.518 0-113.488-91.999-205.488-205.488-205.488zm-533.907.01c-113.489.01-205.498 91.99-205.498 205.488 0 113.489 92.009 205.498 205.498 205.498 113.498 0 205.508-92.009 205.508-205.498 0-113.499-92.01-205.488-205.518-205.488h.01zm472.447-256.883c0 113.489-91.999 205.518-205.488 205.518-113.508 0-205.508-92.029-205.508-205.518S1140.31 0 1253.817 0c113.489 0 205.479 92.009 205.479 205.498h.01z'
/>
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>
<circle cx='18' cy='16' r='4' fill='#F06A6A' />
<circle cx='6' cy='16' r='4' fill='#F06A6A' />
<circle cx='12' cy='6.5' r='4' fill='#F06A6A' />
</svg>
)
}
@@ -3694,6 +3651,22 @@ export function ZendeskIcon(props: SVGProps<SVGSVGElement>) {
)
}
export function ZoomIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
fill='currentColor'
width='800px'
height='800px'
viewBox='0 0 32 32'
version='1.1'
xmlns='http://www.w3.org/2000/svg'
>
<path d='M19.283 17.4c-0.367 0.374-0.879 0.606-1.444 0.606-1.117 0-2.023-0.906-2.023-2.023s0.906-2.023 2.023-2.023c0.929 0 1.712 0.626 1.949 1.479l0.003 0.014c0.045 0.159 0.071 0.341 0.071 0.53 0 0.552-0.221 1.052-0.579 1.417l0-0zM15.471 13.586c-0.648 0.615-1.052 1.483-1.052 2.446 0 1.861 1.509 3.37 3.37 3.37s3.37-1.509 3.37-3.37c0-1.54-1.033-2.838-2.444-3.241l-0.024-0.006c-0.27-0.078-0.581-0.123-0.902-0.123-0.899 0-1.716 0.352-2.32 0.925l0.002-0.001zM28.296 12.601c-0.802 0.001-1.522 0.352-2.016 0.909l-0.002 0.003c-0.496-0.562-1.219-0.915-2.023-0.915-0.563 0-1.086 0.173-1.519 0.468l0.009-0.006c-0.316-0.278-0.73-0.451-1.184-0.462l-0.002-0v6.742l0.337-0.016c0.544-0.014 0.981-0.451 0.995-0.993l0-0.001 0.016-0.337v-2.361l0.017-0.337c0-0.001 0-0.002 0-0.003 0-0.245 0.061-0.477 0.169-0.679l-0.004 0.008c0.238-0.405 0.671-0.672 1.166-0.672s0.928 0.267 1.162 0.664l0.003 0.006c0.103 0.196 0.164 0.428 0.165 0.675v0l0.017 0.339v2.361l0.016 0.336c0.022 0.54 0.454 0.972 0.991 0.995l0.002 0 0.337 0.016v-3.708l0.015-0.337c0-0.001 0-0.002 0-0.003 0-0.247 0.062-0.48 0.171-0.683l-0.004 0.008c0.238-0.403 0.67-0.669 1.165-0.669 0.496 0 0.929 0.268 1.164 0.666l0.003 0.006c0.102 0.195 0.162 0.427 0.162 0.673 0 0.001 0 0.001 0 0.002v-0l0.019 0.337v2.361l0.016 0.336c0.020 0.541 0.454 0.975 0.993 0.995l0.002 0 0.337 0.016v-4.045c-0.001-1.488-1.208-2.694-2.697-2.694-0.001 0-0.002 0-0.003 0h0zM12.206 17.4c-0.37 0.393-0.894 0.638-1.475 0.638-1.117 0-2.023-0.906-2.023-2.023s0.906-2.023 2.023-2.023c0.924 0 1.703 0.619 1.945 1.465l0.004 0.014c0.047 0.163 0.075 0.351 0.075 0.544 0 0.536-0.209 1.024-0.549 1.386l0.001-0.001zM10.78 12.6h-0.005c-1.86 0.001-3.367 1.509-3.367 3.368s1.508 3.368 3.368 3.368 3.368-1.508 3.368-3.368c0-1.86-1.507-3.367-3.366-3.368h-0zM6.734 18.008l-0.337-0.015h-3.035l4.044-4.045-0.016-0.337c-0.013-0.544-0.451-0.982-0.994-0.995l-0.001-0-0.337-0.016h-5.052l0.018 0.337c0.026 0.538 0.455 0.967 0.99 0.995l0.002 0 0.337 0.016h3.037l-4.049 4.045 0.017 0.336c0.019 0.541 0.453 0.975 0.992 0.995l0.002 0 0.337 0.016h5.056l-0.018-0.337c-0.024-0.539-0.455-0.969-0.991-0.993l-0.002-0z' />
</svg>
)
}
export function PylonIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
@@ -3765,12 +3738,16 @@ export function MailgunIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
fill='currentColor'
version='1.1'
viewBox='0 0 1000 1000'
xmlns='http://www.w3.org/2000/svg'
xmlnsXlink='http://www.w3.org/1999/xlink'
xmlSpace='preserve'
viewBox='0 0 512 512'
>
<path d='M256.5 159.5c-53.5 0-97 43.5-97 97s43.5 97 97 97 97-43.5 97-97-43.5-97-97-97m-151.1 97c0-83.4 67.7-151.1 151.1-151.1s151.1 67.7 151.1 151.1c0 5.8-.5 11-1 16.3-1 14.7 9.4 25.7 24.1 25.7 24.7 0 27.3-32 27.3-42.5 0-111.7-90.2-202-202-202S54 144.3 54 256s90.2 202 202 202c59.3 0 112.3-25.7 149.5-66.1l41.4 34.6C400.3 479 332.1 512 256 512 114.4 512 0 397.1 0 256 0 114.4 114.9 0 256 0c141.6 0 256 114.9 256 256 0 56.7-27.3 102.8-81.3 102.8-24.1 0-38.3-11-46.7-23.1-26.8 43-74 71.3-128.5 71.3-82.4.6-150.1-67.1-150.1-150.5m151.1-44.6c24.7 0 44.6 19.9 44.6 44.1 0 24.7-19.9 44.6-44.6 44.6s-44.6-19.9-44.6-44.6c.6-24.1 20-44.1 44.6-44.1' />
<path
fill='#C12126'
d='M493,305.7c-88.9,0-161,72.1-161,161c0,88.9,72.1,161,161,161c88.9,0,161-72.1,161-161 C654,377.8,582,305.7,493,305.7z M242,466.7c0-138.7,112.4-251,251-251c138.7,0,251.1,112.4,251.1,251c0,9.2-0.5,18.2-1.4,27.1 c-1.9,24.5,16.1,43.2,40.4,43.2c41.3,0,45.7-53.2,45.7-70.3c0-185.4-150.3-335.6-335.6-335.6S157.4,281.4,157.4,466.7 c0,185.4,150.3,335.6,335.6,335.6c98.4,0,187-42.4,248.4-109.9l69,57.9c-77.9,87.1-191.3,142-317.4,142 c-235.1,0-425.7-190.6-425.7-425.7S257.9,41,493,41c235.1,0,425.7,190.6,425.7,425.7c0,94.5-45,171.2-135.4,171.2 c-39.8,0-64-18.2-77.2-38.6C661.9,670.5,583,717.8,493,717.8C354.4,717.8,242,605.4,242,466.7z M493,393.1c40.7,0,73.7,33,73.7,73.7 c0,40.7-33,73.7-73.7,73.7c-40.7,0-73.7-33-73.7-73.7S452.3,393.1,493,393.1z'
/>
</svg>
)
}
@@ -3797,6 +3774,30 @@ export function SmtpIcon(props: SVGProps<SVGSVGElement>) {
)
}
export function SshIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
width='24'
height='24'
viewBox='0 0 24 24'
fill='none'
stroke='currentColor'
strokeWidth='2'
strokeLinecap='round'
strokeLinejoin='round'
>
<rect x='2' y='4' width='20' height='16' rx='2' />
<path d='M6 8h.01' />
<path d='M10 8h.01' />
<path d='M14 8h8' />
<path d='M6 12l3 3-3 3' />
<path d='M12 18h6' />
</svg>
)
}
export function ApifyIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
@@ -3883,3 +3884,208 @@ export function DynamoDBIcon(props: SVGProps<SVGSVGElement>) {
</svg>
)
}
export function McpIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
width='16'
height='16'
viewBox='0 0 16 16'
fill='none'
xmlns='http://www.w3.org/2000/svg'
>
<g clipPath='url(#mcp-clip)'>
<path
fillRule='evenodd'
clipRule='evenodd'
d='M14.5572 7.87503L14.5022 7.92903L8.69824 13.62C8.68102 13.6368 8.66728 13.6569 8.65781 13.679C8.64834 13.7011 8.64332 13.7248 8.64304 13.7489C8.64276 13.773 8.64723 13.7968 8.65619 13.8192C8.66514 13.8415 8.67842 13.8618 8.69524 13.879L8.69824 13.882L9.89024 15.052C9.99431 15.1536 10.0539 15.2923 10.056 15.4378C10.058 15.5832 10.0024 15.7235 9.90124 15.828L9.89124 15.838C9.78385 15.9428 9.63977 16.0014 9.48974 16.0014C9.33972 16.0014 9.19564 15.9428 9.08824 15.838L7.89624 14.67C7.77347 14.5507 7.67588 14.408 7.60923 14.2503C7.54259 14.0927 7.50825 13.9232 7.50825 13.752C7.50825 13.5808 7.54259 13.4114 7.60923 13.2537C7.67588 13.096 7.77347 12.9533 7.89624 12.834L13.7012 7.14203C14.0139 6.83733 14.1928 6.42097 14.1986 5.98444C14.2044 5.54792 14.0367 5.12694 13.7322 4.81403L13.7012 4.78203L13.6672 4.75003C13.3455 4.43669 12.9143 4.26118 12.4651 4.2608C12.016 4.26043 11.5845 4.43522 11.2622 4.74803L6.48124 9.43803H6.47924L6.41424 9.50303C6.30685 9.60778 6.16277 9.66642 6.01274 9.66642C5.86272 9.66642 5.71864 9.60778 5.61124 9.50303C5.50731 9.40128 5.44791 9.26252 5.44604 9.11709C5.44417 8.97166 5.49997 8.83141 5.60124 8.72703L5.61124 8.71703L10.4602 3.96003C11.1102 3.32403 11.1232 2.28203 10.4872 1.63103L10.4582 1.60103C10.1362 1.28736 9.70433 1.11183 9.25474 1.11183C8.80516 1.11183 8.37333 1.28736 8.05124 1.60103L1.63524 7.89603C1.5279 8.00048 1.38403 8.05893 1.23424 8.05893C1.08446 8.05893 0.940591 8.00048 0.833243 7.89603C0.729179 7.79442 0.669597 7.65573 0.667536 7.5103C0.665474 7.36487 0.7211 7.22454 0.822243 7.12003L0.833243 7.11003L7.25024 0.814026C7.78698 0.291743 8.50633 -0.000488281 9.25524 -0.000488281C10.0042 -0.000488281 10.7235 0.291743 11.2602 0.814026C11.8902 1.42703 12.1892 2.30403 12.0632 3.17403C12.9432 3.04903 13.8332 3.34003 14.4692 3.96103L14.5032 3.99403C14.7616 4.24525 14.9679 4.54492 15.1104 4.87591C15.2529 5.2069 15.3287 5.56272 15.3337 5.92304C15.3386 6.28337 15.2725 6.64113 15.1391 6.97589C15.0057 7.31064 14.8076 7.61584 14.5562 7.87403M12.8652 6.32103C12.9692 6.21928 13.0286 6.08052 13.0304 5.93509C13.0323 5.78966 12.9765 5.64941 12.8752 5.54503L12.8652 5.53503C12.7578 5.43027 12.6138 5.37164 12.4637 5.37164C12.3137 5.37164 12.1696 5.43027 12.0622 5.53503L7.31724 10.19C6.99515 10.5037 6.56333 10.6792 6.11374 10.6792C5.66416 10.6792 5.23233 10.5037 4.91024 10.19C4.7552 10.0391 4.63143 9.85901 4.54601 9.66018C4.46058 9.46135 4.41518 9.24763 4.4124 9.03124C4.40961 8.81486 4.4495 8.60004 4.52977 8.39908C4.61005 8.19812 4.72914 8.01494 4.88024 7.86003L4.91124 7.82903L9.65824 3.17403C9.76231 3.07242 9.82189 2.93373 9.82395 2.7883C9.82601 2.64287 9.77039 2.50254 9.66924 2.39803L9.65824 2.38803C9.55085 2.28327 9.40677 2.22464 9.25674 2.22464C9.10672 2.22464 8.96264 2.28327 8.85524 2.38803L4.10824 7.04203C3.84537 7.29765 3.63642 7.60338 3.49374 7.94115C3.35107 8.27892 3.27755 8.64186 3.27755 9.00853C3.27755 9.37519 3.35107 9.73814 3.49374 10.0759C3.63642 10.4137 3.84537 10.7194 4.10824 10.975C4.64515 11.4974 5.36467 11.7896 6.11374 11.7896C6.86282 11.7896 7.58234 11.4974 8.11924 10.975L12.8652 6.32103Z'
fill='currentColor'
/>
</g>
<defs>
<clipPath id='mcp-clip'>
<rect width='16' height='16' fill='white' />
</clipPath>
</defs>
</svg>
)
}
export function WordpressIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25.925 25.925'>
<g fill='currentColor'>
<path d='M1.843,12.962c0,4.401,2.557,8.205,6.267,10.008L2.805,8.437C2.189,9.819,1.843,11.35,1.843,12.962z M20.469,12.4c0-1.374-0.493-2.326-0.917-3.066c-0.563-0.917-1.092-1.691-1.092-2.608c0-1.021,0.775-1.973,1.867-1.973c0.049,0,0.096,0.006,0.145,0.008c-1.979-1.813-4.615-2.919-7.509-2.919c-3.885,0-7.303,1.993-9.291,5.013c0.261,0.008,0.507,0.013,0.716,0.013c1.163,0,2.963-0.142,2.963-0.142c0.599-0.035,0.67,0.846,0.071,0.917c0,0-0.603,0.07-1.272,0.105l4.049,12.045l2.434-7.298l-1.732-4.747c-0.599-0.035-1.167-0.105-1.167-0.105c-0.6-0.036-0.529-0.953,0.07-0.917c0,0,1.836,0.142,2.928,0.142c1.163,0,2.964-0.142,2.964-0.142c0.6-0.035,0.67,0.846,0.071,0.917c0,0-0.604,0.07-1.272,0.105l4.018,11.953l1.11-3.706C20.187,14.55,20.469,13.353,20.469,12.4z M13.158,13.935l-3.337,9.694c0.997,0.293,2.05,0.453,3.142,0.453c1.294,0,2.537-0.224,3.693-0.63c-0.029-0.048-0.057-0.099-0.08-0.153L13.158,13.935z M22.72,7.627c0.049,0.354,0.075,0.734,0.075,1.144c0,1.128-0.212,2.396-0.846,3.982l-3.396,9.82c3.306-1.928,5.529-5.509,5.529-9.611C24.082,11.028,23.588,9.21,22.72,7.627z' />
<path d='M0,12.962c0,7.147,5.815,12.963,12.962,12.963c7.149,0,12.963-5.816,12.963-12.963S20.111,0,12.963,0S0,5.814,0,12.962z M0.594,12.962c0-6.819,5.548-12.368,12.368-12.368s12.369,5.549,12.369,12.368S19.782,25.33,12.963,25.33S0.594,19.781,0.594,12.962z' />
</g>
</svg>
)
}
export function AhrefsIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1065 1300'>
<path
fillRule='evenodd'
fill='#ff8800'
d='m111.3 0.7h953.4v1264.4h-256.9v-137.8h-21.2c-127 129.9-230.4 172.4-410.4 172.4-227.8 0-376.1-127.3-376.1-339.5v-58.3c0-288.9 121.8-392.4 511-421.5l241-18.6v-180.2h-640.8zm640.8 707.7l-193.4 18.6c-203.9 18.6-248.8 47.8-251.5 169.7-2.7 87.5 42.4 127.2 148.3 127.2 98 0 217.1-53 296.6-132.5z'
/>
</svg>
)
}
export function ShopifyIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 48 48'
width='48px'
height='48px'
>
<path
fill='#7cb342'
d='M37.216,11.78c-0.023-0.211-0.211-0.305-0.351-0.305s-3.21-0.234-3.21-0.234s-2.132-2.132-2.39-2.343 c-0.234-0.234-0.68-0.164-0.867-0.117c-0.023,0-0.469,0.141-1.195,0.375c-0.726-2.086-1.968-3.984-4.194-3.984h-0.211 C24.187,4.375,23.391,4,22.735,4c-5.155,0-7.639,6.444-8.412,9.725c-2.015,0.633-3.445,1.054-3.609,1.125 c-1.125,0.351-1.148,0.375-1.289,1.429c-0.117,0.797-3.046,23.456-3.046,23.456L29.179,44l12.373-2.671 C41.575,41.282,37.24,11.991,37.216,11.78z M27.937,9.483c-0.562,0.164-1.242,0.375-1.921,0.609V9.671 c0-1.265-0.164-2.296-0.469-3.117C26.718,6.695,27.445,7.984,27.937,9.483L27.937,9.483z M24.117,6.812 c0.305,0.797,0.516,1.922,0.516,3.468v0.234c-1.265,0.398-2.601,0.797-3.984,1.242C21.422,8.804,22.899,7.351,24.117,6.812 L24.117,6.812z M22.617,5.359c0.234,0,0.469,0.094,0.656,0.234c-1.664,0.773-3.421,2.718-4.148,6.655 c-1.101,0.351-2.156,0.656-3.163,0.984C16.806,10.233,18.915,5.359,22.617,5.359z'
/>
<path
fill='#558b2f'
d='M36.865,11.428c-0.141,0-3.21-0.234-3.21-0.234s-2.132-2.132-2.39-2.343 C31.17,8.757,31.053,8.71,30.96,8.71L29.249,44l12.373-2.671c0,0-4.335-29.338-4.359-29.549 C37.169,11.569,37.005,11.475,36.865,11.428z'
/>
<path
fill='#fff'
d='M24.792,18.593l-1.475,4.449c0,0-1.337-0.715-2.927-0.715c-2.374,0-2.489,1.498-2.489,1.867 c0,2.028,5.301,2.812,5.301,7.583c0,3.757-2.374,6.177-5.578,6.177c-3.872,0-5.808-2.397-5.808-2.397l1.037-3.411 c0,0,2.028,1.752,3.734,1.752c1.129,0,1.59-0.876,1.59-1.521c0-2.651-4.333-2.766-4.333-7.145c0-3.665,2.628-7.214,7.952-7.214 C23.777,17.994,24.792,18.593,24.792,18.593z'
/>
</svg>
)
}
export function BoxCompanyIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 41 22'>
<path
d='M39.7 19.2c.5.7.4 1.6-.2 2.1-.7.5-1.7.4-2.2-.2l-3.5-4.5-3.4 4.4c-.5.7-1.5.7-2.2.2-.7-.5-.8-1.4-.3-2.1l4-5.2-4-5.2c-.5-.7-.3-1.7.3-2.2.7-.5 1.7-.3 2.2.3l3.4 4.5L37.3 7c.5-.7 1.4-.8 2.2-.3.7.5.7 1.5.2 2.2L35.8 14l3.9 5.2zm-18.2-.6c-2.6 0-4.7-2-4.7-4.6 0-2.5 2.1-4.6 4.7-4.6s4.7 2.1 4.7 4.6c-.1 2.6-2.2 4.6-4.7 4.6zm-13.8 0c-2.6 0-4.7-2-4.7-4.6 0-2.5 2.1-4.6 4.7-4.6s4.7 2.1 4.7 4.6c0 2.6-2.1 4.6-4.7 4.6zM21.5 6.4c-2.9 0-5.5 1.6-6.8 4-1.3-2.4-3.9-4-6.9-4-1.8 0-3.4.6-4.7 1.5V1.5C3.1.7 2.4 0 1.6 0 .7 0 0 .7 0 1.5v12.6c.1 4.2 3.5 7.5 7.7 7.5 3 0 5.6-1.7 6.9-4.1 1.3 2.4 3.9 4.1 6.8 4.1 4.3 0 7.8-3.4 7.8-7.7.1-4.1-3.4-7.5-7.7-7.5z'
fill='currentColor'
/>
</svg>
)
}
export function DropboxIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 43 40'>
<path
d='m12.5 0l-12.5 8.1 8.7 7 12.5-7.8-8.7-7.3zm-12.5 21.9l12.5 8.2 8.7-7.3-12.5-7.7-8.7 6.8zm21.2 0.9l8.8 7.3 12.4-8.1-8.6-6.9-12.6 7.7zm21.2-14.7l-12.4-8.1-8.8 7.3 12.6 7.8 8.6-7zm-21.1 16.3l-8.8 7.3-3.7-2.5v2.8l12.5 7.5 12.5-7.5v-2.8l-3.8 2.5-8.7-7.3z'
fill='currentColor'
/>
</svg>
)
}
export function ElasticsearchIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'>
<path
fill='#343741'
d='M4 64c0 5.535.777 10.879 2.098 16H84c8.836 0 16-7.164 16-16s-7.164-16-16-16H6.098A63.738 63.738 0 0 0 4 64'
/>
<path
fill='#fec514'
d='M111.695 30.648A61.485 61.485 0 0 0 117.922 24C106.188 9.379 88.199 0 68 0 42.715 0 20.957 14.71 10.574 36H98.04a20.123 20.123 0 0 0 13.652-5.352'
/>
<path
fill='#00bfb3'
d='M98.04 92H10.577C20.961 113.29 42.715 128 68 128c20.2 0 38.188-9.383 49.922-24a61.1 61.1 0 0 0-6.227-6.648A20.133 20.133 0 0 0 98.04 92'
/>
</svg>
)
}
export function GitlabIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 380'>
<path
fill='#e24329'
d='M265.26416,174.37243l-.2134-.55822-21.19899-55.30908c-.4236-1.08359-1.18542-1.99642-2.17699-2.62689-.98837-.63373-2.14749-.93253-3.32305-.87014-1.1689.06239-2.29195.48925-3.20809,1.21821-.90957.73554-1.56629,1.73047-1.87493,2.85346l-14.31327,43.80662h-57.90965l-14.31327-43.80662c-.30864-1.12299-.96536-2.11791-1.87493-2.85346-.91614-.72895-2.03911-1.15582-3.20809-1.21821-1.17548-.06239-2.33468.23641-3.32297.87014-.99166.63047-1.75348,1.5433-2.17707,2.62689l-21.19891,55.31237-.21348.55493c-6.28158,16.38521-.92929,34.90803,13.05891,45.48782.02621.01641.04922.03611.07552.05582l.18719.14119,32.29094,24.17392,15.97151,12.09024,9.71951,7.34871c2.34117,1.77316,5.57877,1.77316,7.92002,0l9.71943-7.34871,15.96822-12.09024,32.48142-24.31511c.02958-.02299.05588-.04269.08538-.06568,13.97834-10.57977,19.32735-29.09604,13.04905-45.47796Z'
/>
<path
fill='#fc6d26'
d='M265.26416,174.37243l-.2134-.55822c-10.5174,2.16062-20.20405,6.6099-28.49844,12.81593-.1346.0985-25.20497,19.05805-46.55171,35.19699,15.84998,11.98517,29.6477,22.40405,29.6477,22.40405l32.48142-24.31511c.02958-.02299.05588-.04269.08538-.06568,13.97834-10.57977,19.32735-29.09604,13.04905-45.47796Z'
/>
<path
fill='#fca326'
d='M160.34962,244.23117l15.97151,12.09024,9.71951,7.34871c2.34117,1.77316,5.57877,1.77316,7.92002,0l9.71943-7.34871,15.96822-12.09024s-13.79772-10.41888-29.6477-22.40405c-15.85327,11.98517-29.65099,22.40405-29.65099,22.40405Z'
/>
<path
fill='#fc6d26'
d='M143.44561,186.63014c-8.29111-6.20274-17.97446-10.65531-28.49507-12.81264l-.21348.55493c-6.28158,16.38521-.92929,34.90803,13.05891,45.48782.02621.01641.04922.03611.07552.05582l.18719.14119,32.29094,24.17392s13.79772-10.41888,29.65099-22.40405c-21.34673-16.13894-46.42031-35.09848-46.55499-35.19699Z'
/>
</svg>
)
}
export function SSHIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 48 48'
width='48px'
height='48px'
>
<path
fill='#7cb342'
d='M37.216,11.78c-0.023-0.211-0.211-0.305-0.351-0.305s-3.21-0.234-3.21-0.234s-2.132-2.132-2.39-2.343 c-0.234-0.234-0.68-0.164-0.867-0.117c-0.023,0-0.469,0.141-1.195,0.375c-0.726-2.086-1.968-3.984-4.194-3.984h-0.211 C24.187,4.375,23.391,4,22.735,4c-5.155,0-7.639,6.444-8.412,9.725c-2.015,0.633-3.445,1.054-3.609,1.125 c-1.125,0.351-1.148,0.375-1.289,1.429c-0.117,0.797-3.046,23.456-3.046,23.456L29.179,44l12.373-2.671 C41.575,41.282,37.24,11.991,37.216,11.78z M27.937,9.483c-0.562,0.164-1.242,0.375-1.921,0.609V9.671 c0-1.265-0.164-2.296-0.469-3.117C26.718,6.695,27.445,7.984,27.937,9.483L27.937,9.483z M24.117,6.812 c0.305,0.797,0.516,1.922,0.516,3.468v0.234c-1.265,0.398-2.601,0.797-3.984,1.242C21.422,8.804,22.899,7.351,24.117,6.812 L24.117,6.812z M22.617,5.359c0.234,0,0.469,0.094,0.656,0.234c-1.664,0.773-3.421,2.718-4.148,6.655 c-1.101,0.351-2.156,0.656-3.163,0.984C16.806,10.233,18.915,5.359,22.617,5.359z'
/>
<path
fill='#558b2f'
d='M36.865,11.428c-0.141,0-3.21-0.234-3.21-0.234s-2.132-2.132-2.39-2.343 C31.17,8.757,31.053,8.71,30.96,8.71L29.249,44l12.373-2.671c0,0-4.335-29.338-4.359-29.549 C37.169,11.569,37.005,11.475,36.865,11.428z'
/>
<path
fill='#fff'
d='M24.792,18.593l-1.475,4.449c0,0-1.337-0.715-2.927-0.715c-2.374,0-2.489,1.498-2.489,1.867 c0,2.028,5.301,2.812,5.301,7.583c0,3.757-2.374,6.177-5.578,6.177c-3.872,0-5.808-2.397-5.808-2.397l1.037-3.411 c0,0,2.028,1.752,3.734,1.752c1.129,0,1.59-0.876,1.59-1.521c0-2.651-4.333-2.766-4.333-7.145c0-3.665,2.628-7.214,7.952-7.214 C23.777,17.994,24.792,18.593,24.792,18.593z'
/>
</svg>
)
}
export function DatadogIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'>
<g fill='currentColor'>
<path d='M57.705 33.717l1.575 20.1L31.4 58.82 29 38.72l3.983-.556c.648.278 1.112.37 1.853.556 1.204.278 2.594.648 4.63-.463.463-.278 1.482-1.112 1.853-1.667zm-43.073 23.9c-.463-.74-1.297-1.575-2.594-2.594-1.853-1.482-1.204-4.076-.093-5.65 1.4-2.686 8.707-6.206 8.337-10.56-.185-1.575-.37-3.613-1.853-5.095-.093.556 0 1.112 0 1.112s-.648-.74-.926-1.853c-.278-.37-.556-.556-.834-1.112-.185.648-.185 1.297-.185 1.297s-.463-1.204-.556-2.13c-.278.463-.37 1.297-.37 1.297s-.648-1.853-.463-2.87c-.278-.834-1.204-2.594-.926-6.484 1.575 1.112 5.095.834 6.484-1.204.463-.648.74-2.5-.185-6.114-.648-2.316-2.223-5.743-2.87-7.04l-.093.093c.37 1.02 1.02 3.242 1.297 4.354.74 3.242 1.02 4.354.648 5.836-.278 1.297-1.02 2.13-2.964 3.057-1.853.926-4.446-1.4-4.54-1.482-1.853-1.482-3.242-3.9-3.427-5.002-.185-1.297.74-2.038 1.204-3.057-.648.185-1.4.556-1.4.556s.834-.926 1.945-1.667a9.43 9.43 0 0 0 1.204-.834H10.28s1.112-.648 2.316-1.02H10.93l4.446-1.945c1.4-.556 2.686-.37 3.427.648 1.02 1.4 2.038 2.13 4.168 2.686 1.297-.556 1.76-.926 3.427-1.4 1.482-1.667 2.686-1.853 2.686-1.853s-.834.74-.926 1.575c.834-.648 1.76-1.204 1.76-1.204s-.37.463-.648 1.112l.093.093c1.02-.556 2.13-1.02 2.13-1.02s-.37.37-.74.926c.74 0 2.223 0 2.78.093 3.427.093 4.168-3.613 5.465-4.168 1.667-.556 2.408-.926 5.187 1.853 2.408 2.408 4.26 6.577 3.335 7.503-.74.74-2.316-.278-4.076-2.408-.926-1.112-1.575-2.5-1.945-4.168-.185-1.4-1.204-2.223-1.204-2.223s.648 1.4.648 2.594c0 .648.093 3.057 1.112 4.446-.093.185-.185 1.02-.278 1.112-1.204-1.482-3.9-2.5-4.26-2.87 1.482 1.204 4.817 3.9 6.114 6.484 1.204 2.5.463 4.724 1.112 5.28.185.185 2.594 3.15 3.057 4.724.834 2.686.093 5.465-1.02 7.132l-2.964.463a3.92 3.92 0 0 1-1.112-.371c.185-.37.648-1.297.648-1.482l-.185-.278c-.926 1.297-2.5 2.594-3.798 3.335-1.667.926-3.613.834-4.9.37-3.613-1.112-7.04-3.52-7.78-4.168 0 0 0 .463.093.648a28.07 28.07 0 0 0 5.002 4.168l-4.26.463 2.038 15.747c-.926.093-1.02.185-2.038.37-.834-3.057-2.5-5.002-4.354-6.206-1.575-1.02-3.798-1.297-5.928-.834l-.093.185c1.482-.185 3.242.093 5.002 1.204s3.15 3.983 3.705 5.65c.648 2.223 1.112 4.54-.648 7.04-1.297 1.76-5.002 2.78-7.966.648.834 1.297 1.853 2.316 3.335 2.5 2.13.278 4.168-.093 5.65-1.482 1.204-1.204 1.853-3.798 1.667-6.577l1.945-.278.648 4.9L62.06 56.7l-2.78-25.195-1.575.278L54.556 0 1.942 6.114l6.484 52.428z' />
<path d='M39.665 30.06c1.4 1.02 2.594 1.667 3.798 1.575.74-.093 1.482-1.297 1.945-2.408.37-.74.37-1.575-.185-1.853-.278-.093-1.4-.093-2.223 0-1.575.185-3.15.74-3.52 1.02-.556.37-.278 1.297.185 1.667m.37-10.84v.093l.093.185c.37.74.74 1.482 1.482 1.853.185 0 .37-.093.556-.093.648 0 1.02.093 1.297.185v-.556c-.093-.926.185-2.594-1.667-3.52-.74-.37-1.667-.185-2.038.185h.185c.463.185.185.37.093.556-.093.37-.185.463 0 1.112' />
<path d='M31.698 19.407c.463-.37-2.13-.926-4.168.37-1.482 1.02-1.482 3.15-.093 4.354a1.27 1.27 0 0 1 .37.278c.37-.185.926-.37 1.4-.556.926-.278 1.667-.463 2.316-.556.278-.37.648-.926.556-1.945-.093-1.4-1.204-1.112-.37-1.945m15.098 22.5l-4.446 7.4-5.187-1.575-4.54 6.947.185 2.223 24.825-4.54-1.482-15.47-4.076 8.522z' />
</g>
</svg>
)
}
export function KalshiIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 78 20' fill='currentColor' xmlns='http://www.w3.org/2000/svg'>
<path d='M40.1043 0H36.0332V19.9986H40.1043V0Z' />
<path d='M0.416887 0.0221237H4.73849V8.99348L12.818 0.0221237H18.0582L10.6468 8.24586L18.5384 20H13.3608L7.59868 11.5686L4.73849 14.7459V20H0.416887V0.0221237Z' />
<path
fillRule='evenodd'
clipRule='evenodd'
d='M34.4675 19.8117H32.4007C30.5426 19.8117 29.624 19.0017 29.6658 17.4027C29.1229 18.2334 28.4549 18.8771 27.6824 19.3132C26.8891 19.7494 25.9496 19.9778 24.8222 19.9778C23.1729 19.9778 21.8368 19.604 20.8138 18.8564C19.8117 18.088 19.3106 17.0289 19.3106 15.6582C19.3106 14.1007 19.8952 12.8962 21.0434 12.0656C22.2126 11.2141 23.9036 10.778 26.1166 10.778H29.0603V10.0719C29.0603 9.40737 28.8098 8.8882 28.3087 8.49362C27.8077 8.09905 27.1396 7.89138 26.2836 7.89138C25.532 7.89138 24.9266 8.05752 24.4464 8.36902C23.9662 8.70129 23.674 9.1374 23.5905 9.67734H19.6446C19.7699 8.18212 20.4589 7.01916 21.6697 6.18848C22.8806 5.3578 24.4882 4.92169 26.4924 4.92169C28.5801 4.92169 30.2086 5.37857 31.3359 6.29232C32.4842 7.20607 33.0688 8.53516 33.0688 10.2588V15.4298C33.0688 15.7828 33.1523 16.0321 33.2984 16.1774C33.4445 16.302 33.6951 16.3851 34.0291 16.3851H34.4675V19.8117ZM26.0749 13.4569C25.2398 13.4569 24.5717 13.6231 24.0915 13.9761C23.6322 14.3084 23.4026 14.7653 23.4026 15.3675C23.4026 15.8867 23.5905 16.2813 23.9871 16.5928C24.3838 16.9043 24.9266 17.0496 25.5947 17.0496C26.6594 17.0496 27.4945 16.7589 28.1 16.1567C28.7054 15.5544 29.0394 14.7445 29.0603 13.7269V13.4569H26.0749Z'
/>
<path d='M45.5115 14.9314C45.5741 15.5752 45.8873 16.0944 46.4718 16.5097C47.0564 16.9043 47.7871 17.112 48.6848 17.112C49.5408 17.112 50.2297 16.9874 50.7308 16.7174C51.2318 16.4266 51.4824 16.0321 51.4824 15.5129C51.4824 15.1391 51.3571 14.8483 51.1275 14.6614C50.8978 14.4745 50.5638 14.3292 50.1462 14.2669C49.7287 14.163 49.0397 14.0592 48.0794 13.9554C46.7641 13.7892 45.6785 13.5608 44.8225 13.2908C43.9665 13.0208 43.2567 12.6055 42.7557 12.024C42.2337 11.4426 41.9832 10.6949 41.9832 9.73966C41.9832 8.78438 42.2337 7.9537 42.7557 7.22685C43.2985 6.47924 44.0501 5.91853 45.0104 5.50319C45.9708 5.10861 47.0773 4.90094 48.3299 4.90094C50.355 4.92171 51.9625 5.35782 53.1943 6.1885C54.4469 7.01918 55.115 8.18213 55.2194 9.67736H51.3571C51.2945 9.11665 51.0022 8.68054 50.4594 8.3275C49.9374 7.97446 49.2694 7.78756 48.4343 7.78756C47.6618 7.78756 47.0355 7.93293 46.5553 8.22367C46.096 8.5144 45.8664 8.88821 45.8664 9.36585C45.8664 9.71889 45.9916 9.9681 46.2422 10.1342C46.4927 10.3004 46.8267 10.425 47.2234 10.508C47.6201 10.5911 48.309 10.6742 49.2485 10.7572C51.2527 10.9857 52.7768 11.4218 53.8206 12.0448C54.9062 12.647 55.4282 13.7062 55.4282 15.2222C55.4282 16.1774 55.1359 17.0081 54.5722 17.735C54.0085 18.4618 53.2361 19.0225 52.2131 19.4171C51.211 19.7909 50.0418 19.9986 48.7266 19.9986C46.6806 19.9986 44.9895 19.5417 43.716 18.6487C42.4216 17.735 41.7535 16.4889 41.67 14.9314H45.5115Z' />
<path d='M69.7503 6.72852C68.623 5.6694 67.2033 5.12946 65.4496 5.12946C63.6333 5.12946 62.1719 5.794 61.0654 7.12309V0H56.9943V19.9986H61.0654V12.4602C61.0654 11.1934 61.3368 10.2174 61.9213 9.5113C62.5059 8.80522 63.3201 8.45218 64.364 8.45218C65.3661 8.45218 66.1177 8.78445 66.6187 9.42823C67.1198 10.0512 67.3703 10.965 67.3703 12.1902V19.9986H71.4414V12.0241C71.4414 9.55283 70.8777 7.78763 69.7503 6.72852Z' />
<path d='M73.0068 5.29551H77.0779V19.9778H73.0068V5.29551Z' />
<path d='M76.473 0.581477C76.0972 0.20767 75.617 0 75.0324 0C74.4688 0 73.9677 0.20767 73.571 0.581477C73.1952 0.955283 72.9865 1.41216 72.9865 1.97287C72.9865 2.53358 73.1952 3.01122 73.571 3.38503C73.9677 3.75883 74.4688 3.9665 75.0324 3.9665C75.5961 3.9665 76.0972 3.7796 76.473 3.38503C76.8488 2.99045 77.0575 2.53358 77.0575 1.97287C77.0575 1.41216 76.8488 0.934516 76.473 0.581477Z' />
</svg>
)
}
export function PolymarketIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='51 209 123 155'>
<path
fill='currentColor'
d='M173.2,363.2L51.1,328.3v-83.7l122.1-34.9V363.2z M161.4,296.2l-89.8,25.6l89.8,25.6L161.4,296.2z M62.9,260.8v51.3l89.8-25.6L62.9,260.8z M161.4,225.3L71.6,251l89.8,25.6L161.4,225.3z'
/>
</svg>
)
}

View File

@@ -4,6 +4,7 @@
import type { ComponentType, SVGProps } from 'react'
import {
AhrefsIcon,
AirtableIcon,
ApifyIcon,
ApolloIcon,
@@ -14,14 +15,18 @@ import {
CalendlyIcon,
ClayIcon,
ConfluenceIcon,
DatadogIcon,
DiscordIcon,
DocumentIcon,
DropboxIcon,
DynamoDBIcon,
ElasticsearchIcon,
ElevenLabsIcon,
ExaAIIcon,
EyeIcon,
FirecrawlIcon,
GithubIcon,
GitLabIcon,
GmailIcon,
GoogleCalendarIcon,
GoogleDocsIcon,
@@ -29,7 +34,9 @@ import {
GoogleFormsIcon,
GoogleIcon,
GoogleSheetsIcon,
GoogleSlidesIcon,
GoogleVaultIcon,
GrafanaIcon,
HubspotIcon,
HuggingFaceIcon,
HunterIOIcon,
@@ -38,6 +45,7 @@ import {
IntercomIcon,
JinaAIIcon,
JiraIcon,
KalshiIcon,
LinearIcon,
LinkedInIcon,
LinkupIcon,
@@ -61,6 +69,7 @@ import {
PerplexityIcon,
PineconeIcon,
PipedriveIcon,
PolymarketIcon,
PostgresIcon,
PosthogIcon,
PylonIcon,
@@ -74,8 +83,10 @@ import {
SendgridIcon,
SentryIcon,
SerperIcon,
ShopifyIcon,
SlackIcon,
SmtpIcon,
SshIcon,
STTIcon,
StagehandIcon,
StripeIcon,
@@ -92,19 +103,23 @@ import {
WebflowIcon,
WhatsAppIcon,
WikipediaIcon,
WordpressIcon,
xIcon,
YouTubeIcon,
ZendeskIcon,
ZepIcon,
ZoomIcon,
} from '@/components/icons'
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
export const blockTypeToIconMap: Record<string, IconComponent> = {
zoom: ZoomIcon,
zep: ZepIcon,
zendesk: ZendeskIcon,
youtube: YouTubeIcon,
x: xIcon,
wordpress: WordpressIcon,
wikipedia: WikipediaIcon,
whatsapp: WhatsAppIcon,
webflow: WebflowIcon,
@@ -125,8 +140,10 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
stripe: StripeIcon,
stagehand_agent: StagehandIcon,
stagehand: StagehandIcon,
ssh: SshIcon,
smtp: SmtpIcon,
slack: SlackIcon,
shopify: ShopifyIcon,
sharepoint: MicrosoftSharepointIcon,
serper: SerperIcon,
sentry: SentryIcon,
@@ -141,6 +158,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
pylon: PylonIcon,
posthog: PosthogIcon,
postgresql: PostgresIcon,
polymarket: PolymarketIcon,
pipedrive: PipedriveIcon,
pinecone: PineconeIcon,
perplexity: PerplexityIcon,
@@ -164,6 +182,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
linkedin: LinkedInIcon,
linear: LinearIcon,
knowledge: PackageSearchIcon,
kalshi: KalshiIcon,
jira: JiraIcon,
jina: JinaAIIcon,
intercom: IntercomIcon,
@@ -172,7 +191,9 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
hunter: HunterIOIcon,
huggingface: HuggingFaceIcon,
hubspot: HubspotIcon,
grafana: GrafanaIcon,
google_vault: GoogleVaultIcon,
google_slides: GoogleSlidesIcon,
google_sheets: GoogleSheetsIcon,
google_forms: GoogleFormsIcon,
google_drive: GoogleDriveIcon,
@@ -180,13 +201,17 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
google_calendar: GoogleCalendarIcon,
google_search: GoogleIcon,
gmail: GmailIcon,
gitlab: GitLabIcon,
github: GithubIcon,
firecrawl: FirecrawlIcon,
file: DocumentIcon,
exa: ExaAIIcon,
elevenlabs: ElevenLabsIcon,
elasticsearch: ElasticsearchIcon,
dynamodb: DynamoDBIcon,
dropbox: DropboxIcon,
discord: DiscordIcon,
datadog: DatadogIcon,
confluence: ConfluenceIcon,
clay: ClayIcon,
calendly: CalendlyIcon,
@@ -196,4 +221,5 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
apollo: ApolloIcon,
apify: ApifyIcon,
airtable: AirtableIcon,
ahrefs: AhrefsIcon,
}

View File

@@ -251,32 +251,78 @@ Rufen Sie Ausführungsdetails einschließlich des Workflow-Zustandsschnappschuss
</Tab>
</Tabs>
## Webhook-Abonnements
## Benachrichtigungen
Erhalten Sie Echtzeitbenachrichtigungen, wenn Workflow-Ausführungen abgeschlossen werden. Webhooks werden über die Sim-Benutzeroberfläche im Workflow-Editor konfiguriert.
Erhalten Sie Echtzeit-Benachrichtigungen, wenn Workflow-Ausführungen abgeschlossen sind, per Webhook, E-Mail oder Slack. Benachrichtigungen werden auf Workspace-Ebene von der Protokollseite aus konfiguriert.
### Konfiguration
Webhooks können für jeden Workflow über die Benutzeroberfläche des Workflow-Editors konfiguriert werden. Klicken Sie auf das Webhook-Symbol in der Kontrollleiste, um Ihre Webhook-Abonnements einzurichten.
Konfigurieren Sie Benachrichtigungen von der Protokollseite aus, indem Sie auf die Menütaste klicken und "Benachrichtigungen konfigurieren" auswählen.
<div className="mx-auto w-full overflow-hidden rounded-lg">
<Video src="configure-webhook.mp4" width={700} height={450} />
</div>
**Benachrichtigungskanäle:**
- **Webhook**: Senden Sie HTTP POST-Anfragen an Ihren Endpunkt
- **E-Mail**: Erhalten Sie E-Mail-Benachrichtigungen mit Ausführungsdetails
- **Slack**: Posten Sie Nachrichten in einen Slack-Kanal
**Verfügbare Konfigurationsoptionen:**
**Workflow-Auswahl:**
- Wählen Sie bestimmte Workflows zur Überwachung aus
- Oder wählen Sie "Alle Workflows", um aktuelle und zukünftige Workflows einzubeziehen
**Filteroptionen:**
- `levelFilter`: Zu empfangende Protokollebenen (`info`, `error`)
- `triggerFilter`: Zu empfangende Auslösertypen (`api`, `webhook`, `schedule`, `manual`, `chat`)
**Optionale Daten:**
- `includeFinalOutput`: Schließt die endgültige Ausgabe des Workflows ein
- `includeTraceSpans`: Schließt detaillierte Ausführungs-Trace-Spans ein
- `includeRateLimits`: Schließt Informationen zum Ratenlimit ein (Sync/Async-Limits und verbleibende)
- `includeUsageData`: Schließt Abrechnungszeitraum-Nutzung und -Limits ein
### Alarmregeln
Anstatt Benachrichtigungen für jede Ausführung zu erhalten, konfigurieren Sie Alarmregeln, um nur bei erkannten Problemen benachrichtigt zu werden:
**Aufeinanderfolgende Fehler**
- Alarm nach X aufeinanderfolgenden fehlgeschlagenen Ausführungen (z.B. 3 Fehler in Folge)
- Wird zurückgesetzt, wenn eine Ausführung erfolgreich ist
**Fehlerrate**
- Alarm, wenn die Fehlerrate X% in den letzten Y Stunden überschreitet
- Erfordert mindestens 5 Ausführungen im Zeitfenster
- Wird erst nach Ablauf des vollständigen Zeitfensters ausgelöst
**Latenz-Schwellenwert**
- Alarm, wenn eine Ausführung länger als X Sekunden dauert
- Nützlich zum Erkennen langsamer oder hängender Workflows
**Latenz-Spitze**
- Alarm, wenn die Ausführung X% langsamer als der Durchschnitt ist
- Vergleicht mit der durchschnittlichen Dauer über das konfigurierte Zeitfenster
- Erfordert mindestens 5 Ausführungen, um eine Baseline zu etablieren
**Kostenschwelle**
- Alarmierung, wenn eine einzelne Ausführung mehr als $X kostet
- Nützlich, um teure LLM-Aufrufe zu erkennen
**Keine Aktivität**
- Alarmierung, wenn innerhalb von X Stunden keine Ausführungen stattfinden
- Nützlich zur Überwachung geplanter Workflows, die regelmäßig ausgeführt werden sollten
**Fehlerzählung**
- Alarmierung, wenn die Fehleranzahl X innerhalb eines Zeitfensters überschreitet
- Erfasst die Gesamtfehler, nicht aufeinanderfolgende
Alle Alarmtypen beinhalten eine Abklingzeit von 1 Stunde, um Benachrichtigungsspam zu vermeiden.
### Webhook-Konfiguration
Für Webhooks stehen zusätzliche Optionen zur Verfügung:
- `url`: Ihre Webhook-Endpunkt-URL
- `secret`: Optionales Geheimnis für die HMAC-Signaturverifizierung
- `includeFinalOutput`: Die endgültige Ausgabe des Workflows in die Nutzlast einschließen
- `includeTraceSpans`: Detaillierte Ausführungs-Trace-Spans einschließen
- `includeRateLimits`: Informationen zum Ratelimit des Workflow-Besitzers einschließen
- `includeUsageData`: Nutzungs- und Abrechnungsdaten des Workflow-Besitzers einschließen
- `levelFilter`: Array von Log-Ebenen, die empfangen werden sollen (`info`, `error`)
- `triggerFilter`: Array von Auslösertypen, die empfangen werden sollen (`api`, `webhook`, `schedule`, `manual`, `chat`)
- `active`: Webhook-Abonnement aktivieren/deaktivieren
- `secret`: Optionales Geheimnis für HMAC-Signaturverifizierung
### Webhook-Nutzlast
### Payload-Struktur
Wenn eine Workflow-Ausführung abgeschlossen ist, sendet Sim eine POST-Anfrage an Ihre Webhook-URL:
Wenn eine Workflow-Ausführung abgeschlossen ist, sendet Sim die folgende Payload (über Webhook POST, E-Mail oder Slack):
```json
{
@@ -327,17 +373,17 @@ Wenn eine Workflow-Ausführung abgeschlossen ist, sendet Sim eine POST-Anfrage a
### Webhook-Header
Jede Webhook-Anfrage enthält diese Header:
Jede Webhook-Anfrage enthält diese Header (nur Webhook-Kanal):
- `sim-event`: Ereignistyp (immer `workflow.execution.completed`)
- `sim-timestamp`: Unix-Zeitstempel in Millisekunden
- `sim-delivery-id`: Eindeutige Lieferungs-ID für Idempotenz
- `sim-signature`: HMAC-SHA256-Signatur zur Verifizierung (falls Secret konfiguriert)
- `Idempotency-Key`: Identisch mit der Lieferungs-ID zur Erkennung von Duplikaten
- `sim-delivery-id`: Eindeutige Zustell-ID für Idempotenz
- `sim-signature`: HMAC-SHA256-Signatur zur Verifizierung (falls Geheimnis konfiguriert)
- `Idempotency-Key`: Gleich wie Zustell-ID zur Erkennung von Duplikaten
### Signaturverifizierung
Wenn Sie ein Webhook-Secret konfigurieren, überprüfen Sie die Signatur, um sicherzustellen, dass der Webhook von Sim stammt:
Wenn Sie ein Webhook-Geheimnis konfigurieren, überprüfen Sie die Signatur, um sicherzustellen, dass der Webhook von Sim stammt:
<Tabs items={['Node.js', 'Python']}>
<Tab value="Node.js">
@@ -414,7 +460,7 @@ Fehlgeschlagene Webhook-Zustellungen werden mit exponentiellem Backoff und Jitte
- Maximale Versuche: 5
- Wiederholungsverzögerungen: 5 Sekunden, 15 Sekunden, 1 Minute, 3 Minuten, 10 Minuten
- Jitter: Bis zu 10% zusätzliche Verzögerung, um Überlastungen zu vermeiden
- Jitter: Bis zu 10% zusätzliche Verzögerung, um Überlastung zu vermeiden
- Nur HTTP 5xx und 429 Antworten lösen Wiederholungen aus
- Zustellungen haben ein Timeout nach 30 Sekunden
@@ -424,15 +470,15 @@ Fehlgeschlagene Webhook-Zustellungen werden mit exponentiellem Backoff und Jitte
## Best Practices
1. **Polling-Strategie**: Verwenden Sie beim Abfragen von Logs die cursorbasierte Paginierung mit `order=asc` und `startDate`, um neue Logs effizient abzurufen.
1. **Polling-Strategie**: Verwende bei der Abfrage von Logs eine cursor-basierte Paginierung mit `order=asc` und `startDate`, um neue Logs effizient abzurufen.
2. **Webhook-Sicherheit**: Konfigurieren Sie immer ein Webhook-Secret und überprüfen Sie Signaturen, um sicherzustellen, dass Anfragen von Sim stammen.
2. **Webhook-Sicherheit**: Konfiguriere immer ein Webhook-Secret und überprüfe Signaturen, um sicherzustellen, dass Anfragen von Sim stammen.
3. **Idempotenz**: Verwenden Sie den `Idempotency-Key`Header, um doppelte Webhook-Zustellungen zu erkennen und zu behandeln.
3. **Idempotenz**: Verwende den `Idempotency-Key`Header, um doppelte Webhook-Zustellungen zu erkennen und zu behandeln.
4. **Datenschutz**: Standardmäßig werden `finalOutput` und `traceSpans` von den Antworten ausgeschlossen. Aktivieren Sie diese nur, wenn Sie die Daten benötigen und die Datenschutzauswirkungen verstehen.
4. **Datenschutz**: Standardmäßig werden `finalOutput` und `traceSpans` aus den Antworten ausgeschlossen. Aktiviere diese nur, wenn du die Daten benötigst und die Datenschutzauswirkungen verstehst.
5. **Rate-Limiting**: Implementieren Sie exponentielles Backoff, wenn Sie 429-Antworten erhalten. Überprüfen Sie den `Retry-After`Header für die empfohlene Wartezeit.
5. **Rate-Limiting**: Implementiere exponentielles Backoff, wenn du 429-Antworten erhältst. Überprüfe den `Retry-After`Header für die empfohlene Wartezeit.
## Rate-Limiting
@@ -443,7 +489,7 @@ Die API implementiert Rate-Limiting, um eine faire Nutzung zu gewährleisten:
- **Team-Plan**: 60 Anfragen pro Minute
- **Enterprise-Plan**: Individuelle Limits
Informationen zum Rate-Limit sind in den Antwort-Headern enthalten:
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
@@ -495,7 +541,7 @@ async function pollLogs() {
setInterval(pollLogs, 30000);
```
## Beispiel: Verarbeitung von Webhooks
## Beispiel: Verarbeiten von Webhooks
```javascript
import express from 'express';

View File

@@ -147,4 +147,4 @@ Der Snapshot bietet:
- Erfahren Sie mehr über die [Kostenberechnung](/execution/costs), um die Preisgestaltung von Workflows zu verstehen
- Erkunden Sie die [externe API](/execution/api) für programmatischen Zugriff auf Protokolle
- Richten Sie [Webhook-Benachrichtigungen](/execution/api#webhook-subscriptions) für Echtzeit-Warnungen ein
- Richten Sie [Benachrichtigungen](/execution/api#notifications) für Echtzeit-Warnungen per Webhook, E-Mail oder Slack ein

View File

@@ -0,0 +1,200 @@
---
title: Ahrefs
description: SEO-Analyse mit Ahrefs
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ahrefs"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Ahrefs](https://ahrefs.com/) ist ein führendes SEO-Toolset zur Analyse von Websites, Verfolgung von Rankings, Überwachung von Backlinks und Keyword-Recherche. Es bietet detaillierte Einblicke in Ihre eigene Website sowie in die Ihrer Wettbewerber und hilft Ihnen, datengestützte Entscheidungen zur Verbesserung Ihrer Sichtbarkeit in Suchmaschinen zu treffen.
Mit der Ahrefs-Integration in Sim können Sie:
- **Domain Rating & Autorität analysieren**: Überprüfen Sie sofort die Domain Rating (DR) und den Ahrefs Rank jeder Website, um deren Autorität einzuschätzen.
- **Backlinks abrufen**: Rufen Sie eine Liste von Backlinks ab, die auf eine Website oder eine bestimmte URL verweisen, mit Details wie Ankertext, DR der verweisenden Seite und mehr.
- **Backlink-Statistiken erhalten**: Greifen Sie auf Metriken zu Backlink-Typen (dofollow, nofollow, Text, Bild, Weiterleitung usw.) für eine Domain oder URL zu.
- **Organische Keywords erkunden** *(geplant)*: Sehen Sie, für welche Keywords eine Domain rankt und welche Positionen sie in den Google-Suchergebnissen einnimmt.
- **Top-Seiten entdecken** *(geplant)*: Identifizieren Sie die leistungsstärksten Seiten nach organischem Traffic und Links.
Diese Tools ermöglichen es Ihren Agenten, SEO-Recherchen zu automatisieren, Wettbewerber zu überwachen und Berichte zu erstellen alles als Teil Ihrer Workflow-Automatisierungen. Um die Ahrefs-Integration zu nutzen, benötigen Sie ein Ahrefs Enterprise-Abonnement mit API-Zugang.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integrieren Sie Ahrefs SEO-Tools in Ihren Workflow. Analysieren Sie Domain-Ratings, Backlinks, organische Keywords, Top-Seiten und mehr. Erfordert einen Ahrefs Enterprise-Plan mit API-Zugang.
## Tools
### `ahrefs_domain_rating`
Erhalten Sie die Domain Rating (DR) und den Ahrefs Rank für eine Zieldomain. Die Domain Rating zeigt die Stärke einer Website
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomäne (z.B. example.com) |
| `date` | string | Nein | Datum für historische Daten im Format YYYY-MM-DD (standardmäßig heute) |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `domainRating` | number | Domain Rating Score (0-100) |
| `ahrefsRank` | number | Ahrefs Rank - globales Ranking basierend auf der Stärke des Backlink-Profils |
### `ahrefs_backlinks`
Erhalte eine Liste von Backlinks, die auf eine Zieldomäne oder URL verweisen. Liefert Details zu jedem Backlink, einschließlich Quell-URL, Ankertext und Domain Rating.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomäne oder URL |
| `mode` | string | Nein | Analysemodus: domain (gesamte Domäne), prefix (URL-Präfix), subdomains (alle Subdomänen einschließen), exact (exakte URL-Übereinstimmung) |
| `date` | string | Nein | Datum für historische Daten im Format YYYY-MM-DD (standardmäßig heute) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 100) |
| `offset` | number | Nein | Anzahl der zu überspringenden Ergebnisse für Paginierung |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `backlinks` | array | Liste der Backlinks, die auf das Ziel verweisen |
### `ahrefs_backlinks_stats`
Ruft Backlink-Statistiken für eine Zieldomäne oder URL ab. Gibt Gesamtwerte für verschiedene Backlink-Typen zurück, einschließlich Dofollow-, Nofollow-, Text-, Bild- und Weiterleitungslinks.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomäne oder URL |
| `mode` | string | Nein | Analysemodus: domain \(gesamte Domäne\), prefix \(URL-Präfix\), subdomains \(alle Subdomänen einschließen\), exact \(exakte URL-Übereinstimmung\) |
| `date` | string | Nein | Datum für historische Daten im Format JJJJ-MM-TT \(standardmäßig heute\) |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `stats` | object | Zusammenfassung der Backlink-Statistiken |
### `ahrefs_referring_domains`
Ruft eine Liste von Domänen ab, die auf eine Zieldomäne oder URL verlinken. Gibt eindeutige verweisende Domänen mit ihrem Domain-Rating, Backlink-Anzahl und Entdeckungsdaten zurück.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomäne oder URL |
| `mode` | string | Nein | Analysemodus: domain \(gesamte Domäne\), prefix \(URL-Präfix\), subdomains \(alle Subdomänen einschließen\), exact \(exakte URL-Übereinstimmung\) |
| `date` | string | Nein | Datum für historische Daten im Format JJJJ-MM-TT \(standardmäßig heute\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse \(Standard: 100\) |
| `offset` | number | Nein | Anzahl der zu überspringenden Ergebnisse für die Paginierung |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `referringDomains` | array | Liste der Domains, die auf das Ziel verlinken |
### `ahrefs_organic_keywords`
Erhalte organische Keywords, für die eine Zieldomain oder URL in den Google-Suchergebnissen rankt. Liefert Keyword-Details einschließlich Suchvolumen, Ranking-Position und geschätztem Traffic.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomain oder URL |
| `country` | string | Nein | Ländercode für Suchergebnisse \(z.B. us, gb, de\). Standard: us |
| `mode` | string | Nein | Analysemodus: domain \(gesamte Domain\), prefix \(URL-Präfix\), subdomains \(alle Subdomains einschließen\), exact \(exakte URL-Übereinstimmung\) |
| `date` | string | Nein | Datum für historische Daten im Format JJJJ-MM-TT \(standardmäßig heute\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse \(Standard: 100\) |
| `offset` | number | Nein | Anzahl der zu überspringenden Ergebnisse für Paginierung |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `keywords` | array | Liste der organischen Keywords, für die das Ziel rankt |
### `ahrefs_top_pages`
Erhalte die Top-Seiten einer Zieldomain, sortiert nach organischem Traffic. Liefert Seiten-URLs mit ihrem Traffic, Keyword-Anzahl und geschätztem Traffic-Wert.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomäne |
| `country` | string | Nein | Ländercode für Verkehrsdaten \(z.B. us, gb, de\). Standard: us |
| `mode` | string | Nein | Analysemodus: domain \(gesamte Domäne\), prefix \(URL-Präfix\), subdomains \(alle Subdomänen einschließen\) |
| `date` | string | Nein | Datum für historische Daten im Format JJJJ-MM-TT \(standardmäßig heute\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse \(Standard: 100\) |
| `offset` | number | Nein | Anzahl der zu überspringenden Ergebnisse für Paginierung |
| `select` | string | Nein | Kommagetrennte Liste der zurückzugebenden Felder \(z.B. url,traffic,keywords,top_keyword,value\). Standard: url,traffic,keywords,top_keyword,value |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pages` | array | Liste der Top-Seiten nach organischem Traffic |
### `ahrefs_keyword_overview`
Erhalten Sie detaillierte Metriken für ein Keyword, einschließlich Suchvolumen, Keyword-Schwierigkeit, CPC, Klicks und Traffic-Potenzial.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyword` | string | Ja | Das zu analysierende Keyword |
| `country` | string | Nein | Ländercode für Keyword-Daten \(z.B. us, gb, de\). Standard: us |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `overview` | object | Keyword-Metriken Übersicht |
### `ahrefs_broken_backlinks`
Erhalte eine Liste defekter Backlinks, die auf eine Zieldomäne oder URL verweisen. Nützlich zur Identifizierung von Möglichkeiten zur Link-Wiederherstellung.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `target` | string | Ja | Die zu analysierende Zieldomäne oder URL |
| `mode` | string | Nein | Analysemodus: domain \(gesamte Domäne\), prefix \(URL-Präfix\), subdomains \(alle Subdomänen einschließen\), exact \(exakte URL-Übereinstimmung\) |
| `date` | string | Nein | Datum für historische Daten im Format JJJJ-MM-TT \(standardmäßig heute\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse \(Standard: 100\) |
| `offset` | number | Nein | Anzahl der zu überspringenden Ergebnisse für Paginierung |
| `apiKey` | string | Ja | Ahrefs API-Schlüssel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `brokenBacklinks` | array | Liste defekter Backlinks |
## Hinweise
- Kategorie: `tools`
- Typ: `ahrefs`

View File

@@ -0,0 +1,302 @@
---
title: Datadog
description: Überwachen Sie Infrastruktur, Anwendungen und Logs mit Datadog
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="datadog"
color="#632CA6"
/>
{/* MANUAL-CONTENT-START:intro */}
[Datadog](https://datadoghq.com/) ist eine umfassende Überwachungs- und Analyseplattform für Infrastruktur, Anwendungen, Logs und mehr. Sie ermöglicht Organisationen Echtzeit-Einblicke in den Zustand und die Leistung von Systemen, erkennt Anomalien und automatisiert die Reaktion auf Vorfälle.
Mit Datadog können Sie:
- **Metriken überwachen**: Sammeln, visualisieren und analysieren Sie Metriken von Servern, Cloud-Diensten und benutzerdefinierten Anwendungen.
- **Zeitreihendaten abfragen**: Führen Sie erweiterte Abfragen zu Leistungsmetriken für Trendanalysen und Berichte durch.
- **Monitore und Ereignisse verwalten**: Richten Sie Monitore ein, um Probleme zu erkennen, Warnungen auszulösen und Ereignisse für die Beobachtbarkeit zu erstellen.
- **Ausfallzeiten verwalten**: Planen und programmieren Sie geplante Ausfallzeiten, um Warnungen während der Wartung zu unterdrücken.
- **Logs und Traces analysieren** *(mit zusätzlicher Einrichtung in Datadog)*: Zentralisieren und untersuchen Sie Logs oder verteilte Traces für eine tiefere Fehlerbehebung.
Die Datadog-Integration von Sim ermöglicht es Ihren Agenten, diese Vorgänge zu automatisieren und programmatisch mit Ihrem Datadog-Konto zu interagieren. Verwenden Sie sie, um benutzerdefinierte Metriken zu übermitteln, Zeitreihendaten abzufragen, Monitore zu verwalten, Ereignisse zu erstellen und Ihre Überwachungsabläufe direkt innerhalb von Sim-Automatisierungen zu optimieren.
{/* MANUAL-CONTENT-END */}
## Gebrauchsanweisung
Integrieren Sie Datadog-Überwachung in Workflows. Übermitteln Sie Metriken, verwalten Sie Monitore, fragen Sie Logs ab, erstellen Sie Ereignisse, handhaben Sie Ausfallzeiten und mehr.
## Tools
### `datadog_submit_metrics`
Übermitteln Sie benutzerdefinierte Metriken an Datadog. Verwenden Sie diese zur Verfolgung der Anwendungsleistung, Geschäftsmetriken oder benutzerdefinierten Überwachungsdaten.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `series` | string | Ja | JSON-Array von Metrikserien zur Übermittlung. Jede Serie sollte den Metriknamen, Typ \(gauge/rate/count\), Punkte \(Zeitstempel/Wert-Paare\) und optionale Tags enthalten. |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `site` | string | Nein | Datadog-Site/Region \(Standard: datadoghq.com\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob die Metriken erfolgreich übermittelt wurden |
| `errors` | array | Alle Fehler, die während der Übermittlung aufgetreten sind |
### `datadog_query_timeseries`
Abfrage von Metrik-Zeitreihendaten aus Datadog. Verwenden Sie dies zur Analyse von Trends, zur Erstellung von Berichten oder zum Abrufen von Metrikwerten.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Datadog-Metrikabfrage (z.B. "avg:system.cpu.user\{*\}") |
| `from` | number | Ja | Startzeit als Unix-Zeitstempel in Sekunden |
| `to` | number | Ja | Endzeit als Unix-Zeitstempel in Sekunden |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog-Site/Region (Standard: datadoghq.com) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `series` | array | Array von Zeitreihendaten mit Metrikname, Tags und Datenpunkten |
| `status` | string | Abfragestatus |
### `datadog_create_event`
Veröffentlichen Sie ein Ereignis im Datadog-Ereignisstrom. Verwenden Sie dies für Deployment-Benachrichtigungen, Warnungen oder andere wichtige Vorkommnisse.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `title` | string | Ja | Ereignistitel |
| `text` | string | Ja | Ereignistext/Beschreibung. Unterstützt Markdown. |
| `alertType` | string | Nein | Warnungstyp: error, warning, info, success, user_update, recommendation oder snapshot |
| `priority` | string | Nein | Ereignispriorität: normal oder low |
| `host` | string | Nein | Hostname, der mit diesem Ereignis verknüpft werden soll |
| `tags` | string | Nein | Kommagetrennte Liste von Tags (z.B. "env:production,service:api") |
| `aggregationKey` | string | Nein | Schlüssel zum Zusammenfassen von Ereignissen |
| `sourceTypeName` | string | Nein | Quelltypname für das Ereignis |
| `dateHappened` | number | Nein | Unix-Zeitstempel, wann das Ereignis aufgetreten ist (standardmäßig jetzt) |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `site` | string | Nein | Datadog-Site/Region (Standard: datadoghq.com) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `event` | object | Die Details des erstellten Events |
### `datadog_create_monitor`
Erstellen Sie einen neuen Monitor/Alert in Datadog. Monitore können Metriken, Service-Checks, Events und mehr überwachen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `name` | string | Ja | Name des Monitors |
| `type` | string | Ja | Monitor-Typ: metric alert, service check, event alert, process alert, log alert, query alert, composite, synthetics alert, slo alert |
| `query` | string | Ja | Monitor-Abfrage (z.B. `avg(last_5m):avg:system.cpu.idle{*} < 20`) |
| `message` | string | Nein | Nachricht, die bei Benachrichtigungen enthalten sein soll. Kann @-Erwähnungen und Markdown enthalten. |
| `tags` | string | Nein | Kommagetrennte Liste von Tags |
| `priority` | number | Nein | Monitor-Priorität (1-5, wobei 1 die höchste ist) |
| `options` | string | Nein | JSON-String mit Monitor-Optionen (Schwellenwerte, notify_no_data, renotify_interval, usw.) |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog Site/Region (Standard: datadoghq.com) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `monitor` | object | Die Details des erstellten Monitors |
### `datadog_get_monitor`
Rufen Sie Details eines bestimmten Monitors anhand seiner ID ab.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `monitorId` | string | Ja | Die ID des abzurufenden Monitors |
| `groupStates` | string | Nein | Kommagetrennte Gruppenzustände, die einbezogen werden sollen: alert, warn, no data, ok |
| `withDowntimes` | boolean | Nein | Downtime-Daten mit dem Monitor einbeziehen |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog Site/Region (Standard: datadoghq.com) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `monitor` | object | Die Monitor-Details |
### `datadog_list_monitors`
Listet alle Monitore in Datadog auf, mit optionaler Filterung nach Namen, Tags oder Status.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `groupStates` | string | Nein | Kommagetrennte Gruppenstatus zur Filterung: alert, warn, no data, ok |
| `name` | string | Nein | Filtert Monitore nach Namen \(teilweise Übereinstimmung\) |
| `tags` | string | Nein | Kommagetrennte Liste von Tags zur Filterung |
| `monitorTags` | string | Nein | Kommagetrennte Liste von Monitor-Tags zur Filterung |
| `withDowntimes` | boolean | Nein | Downtime-Daten mit Monitoren einbeziehen |
| `page` | number | Nein | Seitennummer für Paginierung \(0-indiziert\) |
| `pageSize` | number | Nein | Anzahl der Monitore pro Seite \(max. 1000\) |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog Site/Region \(Standard: datadoghq.com\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `monitors` | array | Liste der Monitore |
### `datadog_mute_monitor`
Stummschalten eines Monitors, um Benachrichtigungen vorübergehend zu unterdrücken.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `monitorId` | string | Ja | Die ID des stummzuschaltenden Monitors |
| `scope` | string | Nein | Bereich zum Stummschalten \(z.B. "host:myhost"\). Wenn nicht angegeben, werden alle Bereiche stummgeschaltet. |
| `end` | number | Nein | Unix-Zeitstempel, wann die Stummschaltung enden soll. Wenn nicht angegeben, wird auf unbestimmte Zeit stummgeschaltet. |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog Site/Region \(Standard: datadoghq.com\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Gibt an, ob der Monitor erfolgreich stummgeschaltet wurde |
### `datadog_query_logs`
Suchen und abrufen von Logs aus Datadog. Verwenden Sie dies zur Fehlerbehebung, Analyse oder Überwachung.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Log-Suchabfrage (z.B. "service:web-app status:error") |
| `from` | string | Ja | Startzeit im ISO-8601-Format oder relativ (z.B. "now-1h") |
| `to` | string | Ja | Endzeit im ISO-8601-Format oder relativ (z.B. "now") |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Logs (Standard: 50, max: 1000) |
| `sort` | string | Nein | Sortierreihenfolge: timestamp (älteste zuerst) oder -timestamp (neueste zuerst) |
| `indexes` | string | Nein | Kommagetrennte Liste der zu durchsuchenden Log-Indizes |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog Site/Region (Standard: datadoghq.com) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `logs` | array | Liste der Log-Einträge |
### `datadog_send_logs`
Senden von Log-Einträgen an Datadog für zentralisiertes Logging und Analyse.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `logs` | string | Ja | JSON-Array von Log-Einträgen. Jeder Eintrag sollte message und optional ddsource, ddtags, hostname, service enthalten. |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `site` | string | Nein | Datadog Site/Region (Standard: datadoghq.com) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob die Logs erfolgreich gesendet wurden |
### `datadog_create_downtime`
Planen Sie eine Ausfallzeit, um Monitor-Benachrichtigungen während Wartungsfenstern zu unterdrücken.
#### Input
| Parameter | Type | Required | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `scope` | string | Yes | Bereich, auf den die Ausfallzeit angewendet werden soll (z.B. "host:myhost", "env:production" oder "*" für alle) |
| `message` | string | No | Nachricht, die während der Ausfallzeit angezeigt werden soll |
| `start` | number | No | Unix-Zeitstempel für den Beginn der Ausfallzeit (standardmäßig jetzt) |
| `end` | number | No | Unix-Zeitstempel für das Ende der Ausfallzeit |
| `timezone` | string | No | Zeitzone für die Ausfallzeit (z.B. "America/New_York") |
| `monitorId` | string | No | Spezifische Monitor-ID, die stummgeschaltet werden soll |
| `monitorTags` | string | No | Kommagetrennte Monitor-Tags zur Übereinstimmung (z.B. "team:backend,priority:high") |
| `muteFirstRecoveryNotification` | boolean | No | Die erste Wiederherstellungsbenachrichtigung stummschalten |
| `apiKey` | string | Yes | Datadog API-Schlüssel |
| `applicationKey` | string | Yes | Datadog Anwendungsschlüssel |
| `site` | string | No | Datadog Site/Region (Standard: datadoghq.com) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `downtime` | object | Die Details der erstellten Ausfallzeit |
### `datadog_list_downtimes`
Listet alle geplanten Ausfallzeiten in Datadog auf.
#### Input
| Parameter | Type | Required | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `currentOnly` | boolean | No | Nur aktuell aktive Ausfallzeiten zurückgeben |
| `monitorId` | string | No | Nach Monitor-ID filtern |
| `apiKey` | string | Yes | Datadog API-Schlüssel |
| `applicationKey` | string | Yes | Datadog Anwendungsschlüssel |
| `site` | string | No | Datadog Site/Region (Standard: datadoghq.com) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `downtimes` | array | Liste der Ausfallzeiten |
### `datadog_cancel_downtime`
Eine geplante Ausfallzeit abbrechen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `downtimeId` | string | Ja | Die ID der abzubrechenden Ausfallzeit |
| `apiKey` | string | Ja | Datadog API-Schlüssel |
| `applicationKey` | string | Ja | Datadog Anwendungsschlüssel |
| `site` | string | Nein | Datadog Site/Region \(Standard: datadoghq.com\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob die Ausfallzeit erfolgreich abgebrochen wurde |
## Hinweise
- Kategorie: `tools`
- Typ: `datadog`

View File

@@ -0,0 +1,219 @@
---
title: Dropbox
description: Dateien in Dropbox hochladen, herunterladen, teilen und verwalten
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="dropbox"
color="#0061FF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Dropbox](https://dropbox.com/) ist eine beliebte Cloud-Speicher- und Kollaborationsplattform, die es Einzelpersonen und Teams ermöglicht, Dateien sicher zu speichern, darauf zuzugreifen und sie von überall aus zu teilen. Dropbox ist für einfache Dateiverwaltung, Synchronisierung und leistungsstarke Zusammenarbeit konzipiert, egal ob Sie allein oder in einer Gruppe arbeiten.
Mit Dropbox in Sim können Sie:
- **Dateien hoch- und herunterladen**: Laden Sie jede Datei nahtlos in Ihre Dropbox hoch oder rufen Sie Inhalte bei Bedarf ab
- **Ordnerinhalte auflisten**: Durchsuchen Sie die Dateien und Ordner in jedem Dropbox-Verzeichnis
- **Neue Ordner erstellen**: Organisieren Sie Ihre Dateien, indem Sie programmgesteuert neue Ordner in Ihrer Dropbox erstellen
- **Dateien und Ordner suchen**: Finden Sie Dokumente, Bilder oder andere Elemente nach Namen oder Inhalt
- **Geteilte Links generieren**: Erstellen Sie schnell teilbare öffentliche oder private Links für Dateien und Ordner
- **Dateien verwalten**: Verschieben, löschen oder benennen Sie Dateien und Ordner im Rahmen automatisierter Workflows um
Diese Funktionen ermöglichen es Ihren Sim-Agenten, Dropbox-Operationen direkt in Ihren Workflows zu automatisieren vom Sichern wichtiger Dateien bis hin zur Verteilung von Inhalten und der Pflege organisierter Ordner. Verwenden Sie Dropbox sowohl als Quelle als auch als Ziel für Dateien und ermöglichen Sie so eine nahtlose Cloud-Speicherverwaltung als Teil Ihrer Geschäftsprozesse.
{/* MANUAL-CONTENT-END */}
## Nutzungsanweisungen
Integrieren Sie Dropbox in Ihren Workflow für Dateiverwaltung, Freigabe und Zusammenarbeit. Laden Sie Dateien hoch, laden Sie Inhalte herunter, erstellen Sie Ordner, verwalten Sie freigegebene Links und mehr.
## Tools
### `dropbox_upload`
Eine Datei zu Dropbox hochladen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad in Dropbox, wo die Datei gespeichert werden soll \(z.B. /ordner/dokument.pdf\) |
| `fileContent` | string | Ja | Der base64-kodierte Inhalt der hochzuladenden Datei |
| `fileName` | string | Nein | Optionaler Dateiname \(wird verwendet, wenn der Pfad ein Ordner ist\) |
| `mode` | string | Nein | Schreibmodus: add \(Standard\) oder overwrite |
| `autorename` | boolean | Nein | Wenn true, wird die Datei umbenannt, falls ein Konflikt besteht |
| `mute` | boolean | Nein | Wenn true, wird der Benutzer nicht über diesen Upload benachrichtigt |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `file` | object | Die Metadaten der hochgeladenen Datei |
### `dropbox_download`
Eine Datei von Dropbox herunterladen und einen temporären Link erhalten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad der herunterzuladenden Datei (z.B. /ordner/dokument.pdf) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `file` | object | Die Metadaten der Datei |
### `dropbox_list_folder`
Den Inhalt eines Ordners in Dropbox auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad des aufzulistenden Ordners (verwende "" für das Stammverzeichnis) |
| `recursive` | boolean | Nein | Wenn true, Inhalte rekursiv auflisten |
| `includeDeleted` | boolean | Nein | Wenn true, gelöschte Dateien/Ordner einbeziehen |
| `includeMediaInfo` | boolean | Nein | Wenn true, Medieninfos für Fotos/Videos einbeziehen |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 500) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `entries` | array | Liste der Dateien und Ordner im Verzeichnis |
### `dropbox_create_folder`
Einen neuen Ordner in Dropbox erstellen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad, an dem der Ordner erstellt werden soll (z.B. /neuer-ordner) |
| `autorename` | boolean | Nein | Wenn true, den Ordner umbenennen, falls ein Konflikt besteht |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `folder` | object | Die Metadaten des erstellten Ordners |
### `dropbox_delete`
Eine Datei oder einen Ordner in Dropbox löschen (wird in den Papierkorb verschoben)
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad der zu löschenden Datei oder des zu löschenden Ordners |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `metadata` | object | Metadaten des gelöschten Elements |
### `dropbox_copy`
Eine Datei oder einen Ordner in Dropbox kopieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `fromPath` | string | Ja | Der Quellpfad der zu kopierenden Datei oder des zu kopierenden Ordners |
| `toPath` | string | Ja | Der Zielpfad für die kopierte Datei oder den kopierten Ordner |
| `autorename` | boolean | Nein | Wenn true, wird die Datei umbenannt, falls am Zielort ein Konflikt besteht |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `metadata` | object | Metadaten des kopierten Elements |
### `dropbox_move`
Eine Datei oder einen Ordner in Dropbox verschieben oder umbenennen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `fromPath` | string | Ja | Der Quellpfad der zu verschiebenden Datei oder des zu verschiebenden Ordners |
| `toPath` | string | Ja | Der Zielpfad für die verschobene Datei oder den verschobenen Ordner |
| `autorename` | boolean | Nein | Wenn true, wird die Datei umbenannt, falls am Zielort ein Konflikt besteht |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `metadata` | object | Metadaten des verschobenen Elements |
### `dropbox_get_metadata`
Metadaten für eine Datei oder einen Ordner in Dropbox abrufen
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad der Datei oder des Ordners, für die/den Metadaten abgerufen werden sollen |
| `includeMediaInfo` | boolean | Nein | Wenn true, werden Medieninformationen für Fotos/Videos einbezogen |
| `includeDeleted` | boolean | Nein | Wenn true, werden gelöschte Dateien in den Ergebnissen einbezogen |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `metadata` | object | Metadaten für die Datei oder den Ordner |
### `dropbox_create_shared_link`
Einen teilbaren Link für eine Datei oder einen Ordner in Dropbox erstellen
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `path` | string | Ja | Der Pfad der Datei oder des Ordners, der geteilt werden soll |
| `requestedVisibility` | string | Nein | Sichtbarkeit: public, team_only oder password |
| `linkPassword` | string | Nein | Passwort für den geteilten Link \(nur wenn die Sichtbarkeit password ist\) |
| `expires` | string | Nein | Ablaufdatum im ISO 8601-Format \(z.B. 2025-12-31T23:59:59Z\) |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `sharedLink` | object | Der erstellte geteilte Link |
### `dropbox_search`
Suche nach Dateien und Ordnern in Dropbox
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Die Suchanfrage |
| `path` | string | Nein | Suche auf einen bestimmten Ordnerpfad beschränken |
| `fileExtensions` | string | Nein | Kommagetrennte Liste von Dateierweiterungen zur Filterung \(z.B. pdf,xlsx\) |
| `maxResults` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse \(Standard: 100\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `matches` | array | Suchergebnisse |
## Hinweise
- Kategorie: `tools`
- Typ: `dropbox`

View File

@@ -0,0 +1,365 @@
---
title: Elasticsearch
description: Suchen, indexieren und verwalten Sie Daten in Elasticsearch
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="elasticsearch"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Elasticsearch](https://www.elastic.co/elasticsearch/) ist eine leistungsstarke verteilte Such- und Analysemaschine, die es Ihnen ermöglicht, große Datenmengen in Echtzeit zu indexieren, zu durchsuchen und zu analysieren. Sie wird häufig für Suchfunktionen, Log- und Ereignisdatenanalysen, Beobachtbarkeit und mehr eingesetzt.
Mit Elasticsearch in Sim erhalten Sie programmatischen Zugriff auf die Kernfunktionen von Elasticsearch, darunter:
- **Dokumente durchsuchen**: Führen Sie erweiterte Suchen in strukturiertem oder unstrukturiertem Text mit Query DSL durch, mit Unterstützung für Sortierung, Paginierung und Feldauswahl.
- **Dokumente indexieren**: Fügen Sie neue Dokumente hinzu oder aktualisieren Sie bestehende in jedem Elasticsearch-Index für sofortigen Abruf und Analyse.
- **Dokumente abrufen, aktualisieren oder löschen**: Rufen Sie bestimmte Dokumente nach ID ab, ändern oder entfernen Sie sie.
- **Massenoperationen**: Führen Sie mehrere Indexierungs- oder Aktualisierungsaktionen in einer einzigen Anfrage für Datenverarbeitung mit hohem Durchsatz aus.
- **Indizes verwalten**: Erstellen, löschen oder rufen Sie Details zu Indizes als Teil Ihrer Workflow-Automatisierung ab.
- **Cluster-Überwachung**: Überprüfen Sie den Zustand und die Statistiken Ihrer Elasticsearch-Bereitstellung.
Sims Elasticsearch-Tools funktionieren sowohl mit selbst gehosteten als auch mit Elastic Cloud-Umgebungen. Integrieren Sie Elasticsearch in Ihre Agent-Workflows, um die Datenaufnahme zu automatisieren, große Datensätze zu durchsuchen, Berichte zu erstellen oder benutzerdefinierte, suchgestützte Anwendungen zu erstellen alles ohne manuelle Eingriffe.
{/* MANUAL-CONTENT-END */}
## Nutzungsanweisungen
Integrieren Sie Elasticsearch in Workflows für leistungsstarke Suche, Indexierung und Datenverwaltung. Unterstützt CRUD-Operationen für Dokumente, erweiterte Suchabfragen, Massenoperationen, Indexverwaltung und Cluster-Überwachung. Funktioniert sowohl mit selbst gehosteten als auch mit Elastic Cloud-Bereitstellungen.
## Tools
### `elasticsearch_search`
Durchsuche Dokumente in Elasticsearch mit Query DSL. Gibt übereinstimmende Dokumente mit Scores und Metadaten zurück.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL (für self-hosted) |
| `cloudId` | string | Nein | Elastic Cloud ID (für Cloud-Bereitstellungen) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic Auth |
| `password` | string | Nein | Passwort für Basic Auth |
| `index` | string | Ja | Indexname für die Suche |
| `query` | string | Nein | Query DSL als JSON-String |
| `from` | number | Nein | Startoffset für Paginierung (Standard: 0) |
| `size` | number | Nein | Anzahl der zurückzugebenden Ergebnisse (Standard: 10) |
| `sort` | string | Nein | Sortierungsspezifikation als JSON-String |
| `sourceIncludes` | string | Nein | Kommagetrennte Liste von Feldern, die in _source eingeschlossen werden sollen |
| `sourceExcludes` | string | Nein | Kommagetrennte Liste von Feldern, die aus _source ausgeschlossen werden sollen |
| `trackTotalHits` | boolean | Nein | Genaue Gesamttrefferanzahl verfolgen (Standard: true) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `took` | number | Zeit in Millisekunden, die die Suche gedauert hat |
| `timed_out` | boolean | Ob die Suche ein Timeout hatte |
| `hits` | object | Suchergebnisse mit Gesamtanzahl und übereinstimmenden Dokumenten |
| `aggregations` | json | Aggregationsergebnisse, falls vorhanden |
### `elasticsearch_index_document`
Dokument in Elasticsearch indexieren (erstellen oder aktualisieren).
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Zielindexname |
| `documentId` | string | Nein | Dokument-ID \(wird automatisch generiert, wenn nicht angegeben\) |
| `document` | string | Ja | Dokumentinhalt als JSON-String |
| `refresh` | string | Nein | Aktualisierungsrichtlinie: true, false oder wait_for |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `_index` | string | Index, in dem das Dokument gespeichert wurde |
| `_id` | string | Dokument-ID |
| `_version` | number | Dokumentversion |
| `result` | string | Operationsergebnis \(erstellt oder aktualisiert\) |
### `elasticsearch_get_document`
Dokument anhand der ID aus Elasticsearch abrufen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Indexname |
| `documentId` | string | Ja | Abzurufende Dokument-ID |
| `sourceIncludes` | string | Nein | Kommagetrennte Liste der einzuschließenden Felder |
| `sourceExcludes` | string | Nein | Kommagetrennte Liste der auszuschließenden Felder |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `_index` | string | Indexname |
| `_id` | string | Dokument-ID |
| `_version` | number | Dokumentversion |
| `found` | boolean | Ob das Dokument gefunden wurde |
| `_source` | json | Dokumentinhalt |
### `elasticsearch_update_document`
Teilweise Aktualisierung eines Dokuments in Elasticsearch mittels Doc-Merge.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL (für self-hosted) |
| `cloudId` | string | Nein | Elastic Cloud ID (für Cloud-Bereitstellungen) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic Auth |
| `password` | string | Nein | Passwort für Basic Auth |
| `index` | string | Ja | Indexname |
| `documentId` | string | Ja | Zu aktualisierende Dokument-ID |
| `document` | string | Ja | Teilweise Dokument zum Zusammenführen als JSON-String |
| `retryOnConflict` | number | Nein | Anzahl der Wiederholungen bei Versionskonflikten |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `_index` | string | Indexname |
| `_id` | string | Dokument-ID |
| `_version` | number | Neue Dokumentversion |
| `result` | string | Operationsergebnis (updated oder noop) |
### `elasticsearch_delete_document`
Löschen eines Dokuments aus Elasticsearch anhand der ID.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Index-Name |
| `documentId` | string | Ja | Dokument-ID zum Löschen |
| `refresh` | string | Nein | Aktualisierungsrichtlinie: true, false oder wait_for |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `_index` | string | Index-Name |
| `_id` | string | Dokument-ID |
| `_version` | number | Dokumentversion |
| `result` | string | Operationsergebnis \(deleted oder not_found\) |
### `elasticsearch_bulk`
Führen Sie mehrere Index-, Erstellungs-, Lösch- oder Aktualisierungsoperationen in einer einzigen Anfrage für hohe Leistung durch.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Nein | Standardindex für Operationen, die keinen angeben |
| `operations` | string | Ja | Massenoperationen als NDJSON-String \(zeilenweise abgegrenztes JSON\) |
| `refresh` | string | Nein | Aktualisierungsrichtlinie: true, false oder wait_for |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `took` | number | Zeit in Millisekunden, die der Massenvorgang gedauert hat |
| `errors` | boolean | Ob ein Vorgang einen Fehler hatte |
| `items` | array | Ergebnisse für jeden Vorgang |
### `elasticsearch_count`
Zählt Dokumente, die einer Abfrage in Elasticsearch entsprechen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Indexname, in dem Dokumente gezählt werden sollen |
| `query` | string | Nein | Optionale Abfrage zum Filtern von Dokumenten \(JSON-String\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `count` | number | Anzahl der Dokumente, die der Abfrage entsprechen |
| `_shards` | object | Shard-Statistiken |
### `elasticsearch_create_index`
Erstellt einen neuen Index mit optionalen Einstellungen und Mappings.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Zu erstellender Indexname |
| `settings` | string | Nein | Indexeinstellungen als JSON-String |
| `mappings` | string | Nein | Index-Mappings als JSON-String |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Ob die Anfrage bestätigt wurde |
| `shards_acknowledged` | boolean | Ob die Shards bestätigt wurden |
| `index` | string | Name des erstellten Index |
### `elasticsearch_delete_index`
Löscht einen Index und alle seine Dokumente. Dieser Vorgang ist nicht rückgängig zu machen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Name des zu löschenden Index |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Ob die Löschung bestätigt wurde |
### `elasticsearch_get_index`
Ruft Indexinformationen ab, einschließlich Einstellungen, Mappings und Aliase.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `index` | string | Ja | Name des Index, für den Informationen abgerufen werden sollen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `index` | json | Indexinformationen einschließlich Aliase, Mappings und Einstellungen |
### `elasticsearch_cluster_health`
Ruft den Gesundheitsstatus des Elasticsearch-Clusters ab.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
| `waitForStatus` | string | Nein | Warten bis der Cluster diesen Status erreicht: green, yellow oder red |
| `timeout` | string | Nein | Timeout für den Wartevorgang \(z.B. 30s, 1m\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `cluster_name` | string | Name des Clusters |
| `status` | string | Cluster-Gesundheitsstatus: green, yellow oder red |
| `number_of_nodes` | number | Gesamtzahl der Knoten im Cluster |
| `number_of_data_nodes` | number | Anzahl der Datenknoten |
| `active_shards` | number | Anzahl der aktiven Shards |
| `unassigned_shards` | number | Anzahl der nicht zugewiesenen Shards |
### `elasticsearch_cluster_stats`
Erhalte umfassende Statistiken über den Elasticsearch-Cluster.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Ja | Bereitstellungstyp: self_hosted oder cloud |
| `host` | string | Nein | Elasticsearch-Host-URL \(für self-hosted\) |
| `cloudId` | string | Nein | Elastic Cloud ID \(für Cloud-Bereitstellungen\) |
| `authMethod` | string | Ja | Authentifizierungsmethode: api_key oder basic_auth |
| `apiKey` | string | Nein | Elasticsearch API-Schlüssel |
| `username` | string | Nein | Benutzername für Basic-Auth |
| `password` | string | Nein | Passwort für Basic-Auth |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `cluster_name` | string | Name des Clusters |
| `status` | string | Cluster-Gesundheitsstatus |
| `nodes` | object | Knotenstatistiken einschließlich Anzahl und Versionen |
| `indices` | object | Indexstatistiken einschließlich Dokumentanzahl und Speichergröße |
## Hinweise
- Kategorie: `tools`
- Typ: `elasticsearch`

View File

@@ -0,0 +1,429 @@
---
title: GitLab
description: Interagiere mit GitLab-Projekten, Issues, Merge Requests und Pipelines
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="gitlab"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[GitLab](https://gitlab.com/) ist eine umfassende DevOps-Plattform, die Teams ermöglicht, ihren Software-Entwicklungszyklus zu verwalten, zusammenzuarbeiten und zu automatisieren. Mit GitLab kannst du mühelos Quellcodeverwaltung, CI/CD, Reviews und Zusammenarbeit in einer einzigen Anwendung handhaben.
Mit GitLab in Sim kannst du:
- **Projekte und Repositories verwalten**: Liste und rufe deine GitLab-Projekte ab, greife auf Details zu und organisiere deine Repositories
- **Mit Issues arbeiten**: Issues auflisten, erstellen und kommentieren, um Arbeit zu verfolgen und effektiv zusammenzuarbeiten
- **Merge Requests bearbeiten**: Überprüfe, erstelle und verwalte Merge Requests für Codeänderungen und Peer-Reviews
- **CI/CD-Pipelines automatisieren**: Starte, überwache und interagiere mit GitLab-Pipelines als Teil deiner Automatisierungsabläufe
- **Mit Kommentaren zusammenarbeiten**: Füge Kommentare zu Issues oder Merge Requests hinzu für eine effiziente Kommunikation innerhalb deines Teams
Mit Sims GitLab-Integration können deine Agenten programmatisch mit deinen GitLab-Projekten interagieren. Automatisiere Projektverwaltung, Issue-Tracking, Code-Reviews und Pipeline-Operationen nahtlos in deinen Workflows, optimiere deinen Software-Entwicklungsprozess und verbessere die Zusammenarbeit in deinem Team.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integriere GitLab in den Workflow. Kann Projekte, Issues, Merge Requests, Pipelines verwalten und Kommentare hinzufügen. Unterstützt alle grundlegenden GitLab DevOps-Operationen.
## Tools
### `gitlab_list_projects`
GitLab-Projekte auflisten, auf die der authentifizierte Benutzer Zugriff hat
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `owned` | boolean | Nein | Beschränkung auf Projekte, die dem aktuellen Benutzer gehören |
| `membership` | boolean | Nein | Beschränkung auf Projekte, in denen der aktuelle Benutzer Mitglied ist |
| `search` | string | Nein | Projekte nach Namen durchsuchen |
| `visibility` | string | Nein | Nach Sichtbarkeit filtern \(public, internal, private\) |
| `orderBy` | string | Nein | Nach Feld sortieren \(id, name, path, created_at, updated_at, last_activity_at\) |
| `sort` | string | Nein | Sortierrichtung \(asc, desc\) |
| `perPage` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard 20, max 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `projects` | array | Liste der GitLab-Projekte |
| `total` | number | Gesamtanzahl der Projekte |
### `gitlab_get_project`
Details zu einem bestimmten GitLab-Projekt abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad \(z.B. "namespace/project"\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `project` | object | Die GitLab-Projektdetails |
### `gitlab_list_issues`
Issues in einem GitLab-Projekt auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `state` | string | Nein | Nach Status filtern \(opened, closed, all\) |
| `labels` | string | Nein | Kommagetrennte Liste von Label-Namen |
| `assigneeId` | number | Nein | Nach Bearbeiter-Benutzer-ID filtern |
| `milestoneTitle` | string | Nein | Nach Meilenstein-Titel filtern |
| `search` | string | Nein | Issues nach Titel und Beschreibung durchsuchen |
| `orderBy` | string | Nein | Sortieren nach Feld \(created_at, updated_at\) |
| `sort` | string | Nein | Sortierrichtung \(asc, desc\) |
| `perPage` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard 20, max 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `issues` | array | Liste der GitLab-Issues |
| `total` | number | Gesamtanzahl der Issues |
### `gitlab_get_issue`
Details zu einem bestimmten GitLab-Issue abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `issueIid` | number | Ja | Issue-Nummer innerhalb des Projekts \(die # in der GitLab-UI angezeigt\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `issue` | object | Die GitLab-Issue-Details |
### `gitlab_create_issue`
Ein neues Issue in einem GitLab-Projekt erstellen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `title` | string | Ja | Issue-Titel |
| `description` | string | Nein | Issue-Beschreibung \(Markdown unterstützt\) |
| `labels` | string | Nein | Kommagetrennte Liste von Label-Namen |
| `assigneeIds` | array | Nein | Array von Benutzer-IDs für die Zuweisung |
| `milestoneId` | number | Nein | Meilenstein-ID für die Zuweisung |
| `dueDate` | string | Nein | Fälligkeitsdatum im Format JJJJ-MM-TT |
| `confidential` | boolean | Nein | Ob das Issue vertraulich ist |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `issue` | object | Das erstellte GitLab-Issue |
### `gitlab_update_issue`
Ein bestehendes Issue in einem GitLab-Projekt aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `issueIid` | number | Ja | Interne Issue-ID (IID) |
| `title` | string | Nein | Neuer Issue-Titel |
| `description` | string | Nein | Neue Issue-Beschreibung (Markdown unterstützt) |
| `stateEvent` | string | Nein | Status-Event (close oder reopen) |
| `labels` | string | Nein | Kommagetrennte Liste von Label-Namen |
| `assigneeIds` | array | Nein | Array von Benutzer-IDs für die Zuweisung |
| `milestoneId` | number | Nein | Meilenstein-ID für die Zuweisung |
| `dueDate` | string | Nein | Fälligkeitsdatum im Format JJJJ-MM-TT |
| `confidential` | boolean | Nein | Ob das Issue vertraulich ist |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `issue` | object | Das aktualisierte GitLab-Issue |
### `gitlab_delete_issue`
Ein Issue aus einem GitLab-Projekt löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `issueIid` | number | Ja | Interne Issue-ID (IID) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob das Issue erfolgreich gelöscht wurde |
### `gitlab_create_issue_note`
Einen Kommentar zu einem GitLab-Issue hinzufügen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `issueIid` | number | Ja | Interne Issue-ID (IID) |
| `body` | string | Ja | Kommentartext (Markdown unterstützt) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `note` | object | Der erstellte Kommentar |
### `gitlab_list_merge_requests`
Merge-Requests in einem GitLab-Projekt auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `state` | string | Nein | Nach Status filtern (opened, closed, merged, all) |
| `labels` | string | Nein | Kommagetrennte Liste von Label-Namen |
| `sourceBranch` | string | Nein | Nach Quell-Branch filtern |
| `targetBranch` | string | Nein | Nach Ziel-Branch filtern |
| `orderBy` | string | Nein | Sortieren nach Feld (created_at, updated_at) |
| `sort` | string | Nein | Sortierrichtung (asc, desc) |
| `perPage` | number | Nein | Anzahl der Ergebnisse pro Seite (Standard 20, max 100) |
| `page` | number | Nein | Seitennummer für Paginierung |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `mergeRequests` | array | Liste der GitLab Merge-Requests |
| `total` | number | Gesamtanzahl der Merge-Requests |
### `gitlab_get_merge_request`
Details zu einem bestimmten GitLab Merge-Request abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `mergeRequestIid` | number | Ja | Interne ID des Merge-Requests \(IID\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `mergeRequest` | object | Die Details des GitLab Merge-Requests |
### `gitlab_create_merge_request`
Einen neuen Merge-Request in einem GitLab-Projekt erstellen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `sourceBranch` | string | Ja | Name des Quellbranches |
| `targetBranch` | string | Ja | Name des Zielbranches |
| `title` | string | Ja | Titel des Merge-Requests |
| `description` | string | Nein | Beschreibung des Merge-Requests \(Markdown unterstützt\) |
| `labels` | string | Nein | Kommagetrennte Liste von Label-Namen |
| `assigneeIds` | array | Nein | Array von Benutzer-IDs für die Zuweisung |
| `milestoneId` | number | Nein | Meilenstein-ID für die Zuweisung |
| `removeSourceBranch` | boolean | Nein | Quellbranch nach dem Merge löschen |
| `squash` | boolean | Nein | Commits beim Merge zusammenfassen |
| `draft` | boolean | Nein | Als Entwurf markieren \(in Bearbeitung\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `mergeRequest` | object | Der erstellte GitLab Merge Request |
### `gitlab_update_merge_request`
Einen bestehenden Merge Request in einem GitLab-Projekt aktualisieren
#### Input
| Parameter | Type | Required | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Projekt-ID oder URL-kodierter Pfad |
| `mergeRequestIid` | number | Yes | Interne ID des Merge Requests \(IID\) |
| `title` | string | No | Neuer Titel des Merge Requests |
| `description` | string | No | Neue Beschreibung des Merge Requests |
| `stateEvent` | string | No | Status-Event \(close oder reopen\) |
| `labels` | string | No | Kommagetrennte Liste von Label-Namen |
| `assigneeIds` | array | No | Array von Benutzer-IDs für die Zuweisung |
| `milestoneId` | number | No | Meilenstein-ID für die Zuweisung |
| `targetBranch` | string | No | Neuer Ziel-Branch |
| `removeSourceBranch` | boolean | No | Quell-Branch nach dem Merge löschen |
| `squash` | boolean | No | Commits beim Merge zusammenfassen |
| `draft` | boolean | No | Als Entwurf markieren \(work in progress\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `mergeRequest` | object | Der aktualisierte GitLab Merge Request |
### `gitlab_merge_merge_request`
Einen Merge Request in einem GitLab-Projekt zusammenführen
#### Input
| Parameter | Type | Required | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Projekt-ID oder URL-kodierter Pfad |
| `mergeRequestIid` | number | Yes | Interne ID des Merge Requests \(IID\) |
| `mergeCommitMessage` | string | No | Benutzerdefinierte Merge-Commit-Nachricht |
| `squashCommitMessage` | string | No | Benutzerdefinierte Squash-Commit-Nachricht |
| `squash` | boolean | No | Commits vor dem Merge zusammenfassen |
| `shouldRemoveSourceBranch` | boolean | No | Quell-Branch nach dem Merge löschen |
| `mergeWhenPipelineSucceeds` | boolean | No | Merge durchführen, wenn Pipeline erfolgreich ist |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `mergeRequest` | object | Der zusammengeführte GitLab Merge Request |
### `gitlab_create_merge_request_note`
Einen Kommentar zu einem GitLab Merge Request hinzufügen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-kodierter Pfad |
| `mergeRequestIid` | number | Ja | Interne ID des Merge Requests \(IID\) |
| `body` | string | Ja | Kommentartext \(Markdown wird unterstützt\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `note` | object | Der erstellte Kommentar |
### `gitlab_list_pipelines`
Pipelines in einem GitLab-Projekt auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-kodierter Pfad |
| `ref` | string | Nein | Nach Ref filtern \(Branch oder Tag\) |
| `status` | string | Nein | Nach Status filtern \(created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled\) |
| `orderBy` | string | Nein | Sortieren nach Feld \(id, status, ref, updated_at, user_id\) |
| `sort` | string | Nein | Sortierrichtung \(asc, desc\) |
| `perPage` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard 20, max 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pipelines` | array | Liste der GitLab-Pipelines |
| `total` | number | Gesamtanzahl der Pipelines |
### `gitlab_get_pipeline`
Details zu einer bestimmten GitLab-Pipeline abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `pipelineId` | number | Ja | Pipeline-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pipeline` | object | Die GitLab-Pipeline-Details |
### `gitlab_create_pipeline`
Eine neue Pipeline in einem GitLab-Projekt auslösen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `ref` | string | Ja | Branch oder Tag, auf dem die Pipeline ausgeführt werden soll |
| `variables` | array | Nein | Array von Variablen für die Pipeline \(jede mit key, value und optionalem variable_type\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pipeline` | object | Die erstellte GitLab-Pipeline |
### `gitlab_retry_pipeline`
Eine fehlgeschlagene GitLab-Pipeline wiederholen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `pipelineId` | number | Ja | Pipeline-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pipeline` | object | Die wiederholte GitLab-Pipeline |
### `gitlab_cancel_pipeline`
Eine laufende GitLab-Pipeline abbrechen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Projekt-ID oder URL-codierter Pfad |
| `pipelineId` | number | Ja | Pipeline-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pipeline` | object | Die abgebrochene GitLab-Pipeline |
## Hinweise
- Kategorie: `tools`
- Typ: `gitlab`

View File

@@ -38,14 +38,14 @@ Erstellt ein neues Ereignis in Google Kalender
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `calendarId` | string | Nein | Kalender-ID \(standardmäßig primary\) |
| `calendarId` | string | Nein | Kalender-ID (standardmäßig primary) |
| `summary` | string | Ja | Ereignistitel/Zusammenfassung |
| `description` | string | Nein | Ereignisbeschreibung |
| `location` | string | Nein | Ereignisort |
| `startDateTime` | string | Ja | Startdatum und -uhrzeit \(RFC3339-Format, z.B. 2025-06-03T10:00:00-08:00\) |
| `endDateTime` | string | Ja | Enddatum und -uhrzeit \(RFC3339-Format, z.B. 2025-06-03T11:00:00-08:00\) |
| `timeZone` | string | Nein | Zeitzone \(z.B. America/Los_Angeles\) |
| `attendees` | array | Nein | Array mit E-Mail-Adressen der Teilnehmer |
| `startDateTime` | string | Ja | Startdatum und -uhrzeit. MUSS Zeitzonen-Offset enthalten (z.B. 2025-06-03T10:00:00-08:00) ODER timeZone-Parameter bereitstellen |
| `endDateTime` | string | Ja | Enddatum und -uhrzeit. MUSS Zeitzonen-Offset enthalten (z.B. 2025-06-03T11:00:00-08:00) ODER timeZone-Parameter bereitstellen |
| `timeZone` | string | Nein | Zeitzone (z.B. America/Los_Angeles). Erforderlich, wenn datetime keinen Offset enthält. Standardmäßig America/Los_Angeles, wenn nicht angegeben. |
| `attendees` | array | Nein | Array von E-Mail-Adressen der Teilnehmer |
| `sendUpdates` | string | Nein | Wie Updates an Teilnehmer gesendet werden: all, externalOnly oder none |
#### Ausgabe

View File

@@ -108,10 +108,10 @@ Dateien und Ordner in Google Drive auflisten
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `folderSelector` | string | Nein | Den Ordner auswählen, aus dem Dateien aufgelistet werden sollen |
| `folderSelector` | string | Nein | Wählen Sie den Ordner aus, aus dem Dateien aufgelistet werden sollen |
| `folderId` | string | Nein | Die ID des Ordners, aus dem Dateien aufgelistet werden sollen (interne Verwendung) |
| `query` | string | Nein | Eine Abfrage zum Filtern der Dateien |
| `pageSize` | number | Nein | Die Anzahl der zurückzugebenden Dateien |
| `query` | string | Nein | Suchbegriff, um Dateien nach Namen zu filtern (z.B. "budget" findet Dateien mit "budget" im Namen). Verwenden Sie hier KEINE Google Drive-Abfragesyntax - geben Sie einfach einen einfachen Suchbegriff ein. |
| `pageSize` | number | Nein | Die maximale Anzahl der zurückzugebenden Dateien (Standard: 100) |
| `pageToken` | string | Nein | Das Seitentoken für die Paginierung |
#### Ausgabe

View File

@@ -88,8 +88,8 @@ Daten aus einer Google Sheets-Tabelle lesen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Ja | Die ID der Tabelle, aus der gelesen werden soll |
| `range` | string | Nein | Der Zellbereich, aus dem gelesen werden soll |
| `spreadsheetId` | string | Ja | Die ID der Tabelle \(zu finden in der URL: docs.google.com/spreadsheets/d/\{SPREADSHEET_ID\}/edit\). |
| `range` | string | Nein | Der A1-Notationsbereich zum Lesen \(z.B. "Sheet1!A1:D10", "A1:B5"\). Standardmäßig wird das erste Tabellenblatt A1:Z1000 verwendet, wenn nicht angegeben. |
#### Ausgabe
@@ -106,9 +106,9 @@ Daten in eine Google Sheets-Tabelle schreiben
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Ja | Die ID der Tabelle, in die geschrieben werden soll |
| `range` | string | Nein | Der Zellbereich, in den geschrieben werden soll |
| `values` | array | Ja | Die Daten, die in die Tabelle geschrieben werden sollen |
| `spreadsheetId` | string | Ja | Die ID der Tabelle |
| `range` | string | Nein | Der A1-Notationsbereich, in den geschrieben werden soll \(z.B. "Sheet1!A1:D10", "A1:B5"\) |
| `values` | array | Ja | Die zu schreibenden Daten als 2D-Array \(z.B. \[\["Name", "Alter"\], \["Alice", 30\], \["Bob", 25\]\]\) oder Array von Objekten. |
| `valueInputOption` | string | Nein | Das Format der zu schreibenden Daten |
| `includeValuesInResponse` | boolean | Nein | Ob die geschriebenen Werte in der Antwort enthalten sein sollen |
@@ -131,8 +131,8 @@ Daten in einer Google Sheets-Tabelle aktualisieren
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Ja | Die ID der zu aktualisierenden Tabelle |
| `range` | string | Nein | Der Bereich der zu aktualisierenden Zellen |
| `values` | array | Ja | Die Daten, die in der Tabelle aktualisiert werden sollen |
| `range` | string | Nein | Der A1-Notationsbereich, der aktualisiert werden soll \(z.B. "Sheet1!A1:D10", "A1:B5"\) |
| `values` | array | Ja | Die zu aktualisierenden Daten als 2D-Array \(z.B. \[\["Name", "Alter"\], \["Alice", 30\]\]\) oder Array von Objekten. |
| `valueInputOption` | string | Nein | Das Format der zu aktualisierenden Daten |
| `includeValuesInResponse` | boolean | Nein | Ob die aktualisierten Werte in der Antwort enthalten sein sollen |
@@ -155,10 +155,10 @@ Daten am Ende einer Google Sheets-Tabelle anhängen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Ja | Die ID der Tabelle, an die angehängt werden soll |
| `range` | string | Nein | Der Bereich der Zellen, nach dem angehängt werden soll |
| `values` | array | Ja | Die Daten, die an die Tabelle angehängt werden sollen |
| `range` | string | Nein | Der A1-Notationsbereich, an den angehängt werden soll (z.B. "Sheet1", "Sheet1!A:D") |
| `values` | array | Ja | Die anzuhängenden Daten als 2D-Array (z.B. [["Alice", 30], ["Bob", 25]]) oder Array von Objekten |
| `valueInputOption` | string | Nein | Das Format der anzuhängenden Daten |
| `insertDataOption` | string | Nein | Wie die Daten eingefügt werden sollen \(OVERWRITE oder INSERT_ROWS\) |
| `insertDataOption` | string | Nein | Wie die Daten eingefügt werden sollen (OVERWRITE oder INSERT_ROWS) |
| `includeValuesInResponse` | boolean | Nein | Ob die angehängten Werte in der Antwort enthalten sein sollen |
#### Ausgabe

View File

@@ -0,0 +1,180 @@
---
title: Google Slides
description: Präsentationen lesen, schreiben und erstellen
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="google_slides"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Google Slides](https://slides.google.com) ist eine dynamische cloudbasierte Präsentationsanwendung, mit der Benutzer in Echtzeit Präsentationen erstellen, bearbeiten, gemeinsam daran arbeiten und präsentieren können. Als Teil der Google-Produktivitätssuite bietet Google Slides eine flexible Plattform zum Gestalten ansprechender Präsentationen, zur Zusammenarbeit mit anderen und zum nahtlosen Teilen von Inhalten über die Cloud.
Erfahren Sie, wie Sie die Google Slides-Tools in Sim integrieren können, um Präsentationen mühelos als Teil Ihrer automatisierten Workflows zu verwalten. Mit Sim können Sie Google Slides-Präsentationen direkt über Ihre Agenten und automatisierten Prozesse lesen, schreiben, erstellen und aktualisieren, wodurch es einfach wird, aktuelle Informationen zu liefern, benutzerdefinierte Berichte zu generieren oder Marken-Präsentationen programmatisch zu erstellen.
Mit Google Slides können Sie:
- **Präsentationen erstellen und bearbeiten**: Gestalten Sie visuell ansprechende Folien mit Designs, Layouts und Multimedia-Inhalten
- **In Echtzeit zusammenarbeiten**: Arbeiten Sie gleichzeitig mit Teammitgliedern, kommentieren Sie, weisen Sie Aufgaben zu und erhalten Sie Live-Feedback zu Präsentationen
- **Überall präsentieren**: Zeigen Sie Präsentationen online oder offline an, teilen Sie Links oder veröffentlichen Sie im Web
- **Bilder und umfangreiche Inhalte hinzufügen**: Fügen Sie Bilder, Grafiken, Diagramme und Videos ein, um Ihre Präsentationen ansprechend zu gestalten
- **Mit anderen Diensten integrieren**: Verbinden Sie sich nahtlos mit Google Drive, Docs, Sheets und anderen Drittanbieter-Tools
- **Von jedem Gerät aus zugreifen**: Nutzen Sie Google Slides auf Desktop-Computern, Laptops, Tablets und mobilen Geräten für maximale Flexibilität
In Sim ermöglicht die Google Slides-Integration Ihren Agenten, direkt programmatisch mit Präsentationsdateien zu interagieren. Automatisieren Sie Aufgaben wie das Lesen von Folieninhalten, das Einfügen neuer Folien oder Bilder, das Ersetzen von Text in einer gesamten Präsentation, das Erstellen neuer Präsentationen und das Abrufen von Folien-Miniaturansichten. Dies ermöglicht Ihnen, die Inhaltserstellung zu skalieren, Präsentationen aktuell zu halten und sie in automatisierte Dokumenten-Workflows einzubetten. Durch die Verbindung von Sim mit Google Slides ermöglichen Sie KI-gestütztes Präsentationsmanagement so wird es einfach, Präsentationen ohne manuellen Aufwand zu generieren, zu aktualisieren oder Informationen daraus zu extrahieren.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integrieren Sie Google Slides in den Workflow. Kann Präsentationen lesen, schreiben, erstellen, Text ersetzen, Folien hinzufügen, Bilder einfügen und Vorschaubilder abrufen.
## Tools
### `google_slides_read`
Inhalte aus einer Google Slides-Präsentation lesen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Ja | Die ID der zu lesenden Präsentation |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `slides` | json | Array von Folien mit ihren Inhalten |
| `metadata` | json | Präsentationsmetadaten einschließlich ID, Titel und URL |
### `google_slides_write`
Inhalte in einer Google Slides-Präsentation schreiben oder aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Ja | Die ID der Präsentation, in die geschrieben werden soll |
| `content` | string | Ja | Der Inhalt, der in die Folie geschrieben werden soll |
| `slideIndex` | number | Nein | Der Index der Folie, in die geschrieben werden soll \(standardmäßig die erste Folie\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `updatedContent` | boolean | Gibt an, ob der Präsentationsinhalt erfolgreich aktualisiert wurde |
| `metadata` | json | Aktualisierte Präsentationsmetadaten einschließlich ID, Titel und URL |
### `google_slides_create`
Eine neue Google Slides-Präsentation erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `title` | string | Ja | Der Titel der zu erstellenden Präsentation |
| `content` | string | Nein | Der Inhalt, der zur ersten Folie hinzugefügt werden soll |
| `folderSelector` | string | Nein | Wählen Sie den Ordner aus, in dem die Präsentation erstellt werden soll |
| `folderId` | string | Nein | Die ID des Ordners, in dem die Präsentation erstellt werden soll \(interne Verwendung\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `metadata` | json | Metadaten der erstellten Präsentation einschließlich ID, Titel und URL |
### `google_slides_replace_all_text`
Suchen und ersetzen aller Textvorkommen in einer Google Slides-Präsentation
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Ja | Die ID der Präsentation |
| `findText` | string | Ja | Der zu suchende Text (z.B. \{\{placeholder\}\}) |
| `replaceText` | string | Ja | Der Text, durch den ersetzt werden soll |
| `matchCase` | boolean | Nein | Ob die Suche Groß-/Kleinschreibung berücksichtigen soll (Standard: true) |
| `pageObjectIds` | string | Nein | Kommagetrennte Liste von Folienobjekt-IDs, um Ersetzungen auf bestimmte Folien zu beschränken (leer lassen für alle Folien) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `occurrencesChanged` | number | Anzahl der Textvorkommen, die ersetzt wurden |
| `metadata` | json | Operationsmetadaten einschließlich Präsentations-ID und URL |
### `google_slides_add_slide`
Eine neue Folie mit einem bestimmten Layout zu einer Google Slides-Präsentation hinzufügen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Ja | Die ID der Präsentation |
| `layout` | string | Nein | Das vordefinierte Layout für die Folie (BLANK, TITLE, TITLE_AND_BODY, TITLE_ONLY, SECTION_HEADER, usw.). Standard ist BLANK. |
| `insertionIndex` | number | Nein | Der optionale nullbasierte Index, der angibt, wo die Folie eingefügt werden soll. Wenn nicht angegeben, wird die Folie am Ende hinzugefügt. |
| `placeholderIdMappings` | string | Nein | JSON-Array von Platzhalter-Zuordnungen, um Platzhaltern benutzerdefinierte Objekt-IDs zuzuweisen. Format: \[\{"layoutPlaceholder":\{"type":"TITLE"\},"objectId":"custom_title_id"\}\] |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `slideId` | string | Die Objekt-ID der neu erstellten Folie |
| `metadata` | json | Operationsmetadaten einschließlich Präsentations-ID, Layout und URL |
### `google_slides_add_image`
Ein Bild in eine bestimmte Folie einer Google Slides-Präsentation einfügen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Ja | Die ID der Präsentation |
| `pageObjectId` | string | Ja | Die Objekt-ID der Folie/Seite, zu der das Bild hinzugefügt werden soll |
| `imageUrl` | string | Ja | Die öffentlich zugängliche URL des Bildes \(muss PNG, JPEG oder GIF sein, max. 50MB\) |
| `width` | number | Nein | Breite des Bildes in Punkten \(Standard: 300\) |
| `height` | number | Nein | Höhe des Bildes in Punkten \(Standard: 200\) |
| `positionX` | number | Nein | X-Position vom linken Rand in Punkten \(Standard: 100\) |
| `positionY` | number | Nein | Y-Position vom oberen Rand in Punkten \(Standard: 100\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `imageId` | string | Die Objekt-ID des neu erstellten Bildes |
| `metadata` | json | Operationsmetadaten einschließlich Präsentations-ID und Bild-URL |
### `google_slides_get_thumbnail`
Ein Vorschaubild einer bestimmten Folie in einer Google Slides-Präsentation generieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Ja | Die ID der Präsentation |
| `pageObjectId` | string | Ja | Die Objekt-ID der Folie/Seite, für die ein Thumbnail erstellt werden soll |
| `thumbnailSize` | string | Nein | Die Größe des Thumbnails: SMALL \(200px\), MEDIUM \(800px\) oder LARGE \(1600px\). Standardmäßig MEDIUM. |
| `mimeType` | string | Nein | Der MIME-Typ des Thumbnail-Bildes: PNG oder GIF. Standardmäßig PNG. |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `contentUrl` | string | URL zum Thumbnail-Bild \(gültig für 30 Minuten\) |
| `width` | number | Breite des Thumbnails in Pixeln |
| `height` | number | Höhe des Thumbnails in Pixeln |
| `metadata` | json | Operationsmetadaten einschließlich Präsentations-ID und Seitenobjekt-ID |
## Hinweise
- Kategorie: `tools`
- Typ: `google_slides`

View File

@@ -0,0 +1,494 @@
---
title: Grafana
description: Interagiere mit Grafana-Dashboards, Alarmen und Anmerkungen
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grafana"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grafana](https://grafana.com/) ist eine führende Open-Source-Plattform für Monitoring, Observability und Visualisierung. Sie ermöglicht Benutzern, Daten aus verschiedenen Quellen abzufragen, zu visualisieren, zu überwachen und zu analysieren, was sie zu einem wesentlichen Werkzeug für Infrastruktur- und Anwendungsmonitoring macht.
Mit Grafana kannst du:
- **Daten visualisieren**: Dashboards erstellen und anpassen, um Metriken, Logs und Traces in Echtzeit anzuzeigen
- **Gesundheit und Status überwachen**: Den Zustand deiner Grafana-Instanz und verbundener Datenquellen überprüfen
- **Alarme und Anmerkungen verwalten**: Alarmregeln einrichten, Benachrichtigungen verwalten und Dashboards mit wichtigen Ereignissen versehen
- **Inhalte organisieren**: Dashboards und Datenquellen in Ordnern organisieren für besseres Zugriffsmanagement
In Sim ermöglicht die Grafana-Integration deinen Agenten, direkt über die API mit deiner Grafana-Instanz zu interagieren, was Aktionen wie folgende ermöglicht:
- Überprüfung des Gesundheitsstatus von Grafana-Server, Datenbank und Datenquellen
- Abrufen, Auflisten und Verwalten von Dashboards, Alarmregeln, Anmerkungen, Datenquellen und Ordnern
- Automatisierung der Überwachung deiner Infrastruktur durch Integration von Grafana-Daten und Alarmen in deine Workflow-Automatisierungen
Diese Fähigkeiten ermöglichen es Sim-Agenten, Systeme zu überwachen, proaktiv auf Alarme zu reagieren und die Zuverlässigkeit und Sichtbarkeit deiner Dienste zu gewährleisten alles als Teil deiner automatisierten Workflows.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integriere Grafana in Workflows. Verwalte Dashboards, Alarme, Anmerkungen, Datenquellen, Ordner und überwache den Gesundheitsstatus.
## Tools
### `grafana_get_dashboard`
Ein Dashboard anhand seiner UID abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `dashboardUid` | string | Ja | Die UID des abzurufenden Dashboards |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `dashboard` | json | Das vollständige Dashboard-JSON-Objekt |
| `meta` | json | Dashboard-Metadaten \(Version, Berechtigungen usw.\) |
### `grafana_list_dashboards`
Suchen und auflisten aller Dashboards
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `query` | string | Nein | Suchanfrage zum Filtern von Dashboards nach Titel |
| `tag` | string | Nein | Nach Tag filtern \(kommagetrennt für mehrere Tags\) |
| `folderIds` | string | Nein | Nach Ordner-IDs filtern \(kommagetrennt\) |
| `starred` | boolean | Nein | Nur mit Stern markierte Dashboards zurückgeben |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Dashboards |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `dashboards` | array | Liste der Dashboard-Suchergebnisse |
### `grafana_create_dashboard`
Ein neues Dashboard erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `title` | string | Ja | Der Titel des neuen Dashboards |
| `folderUid` | string | Nein | Die UID des Ordners, in dem das Dashboard erstellt werden soll |
| `tags` | string | Nein | Kommagetrennte Liste von Tags |
| `timezone` | string | Nein | Dashboard-Zeitzone \(z.B. browser, utc\) |
| `refresh` | string | Nein | Auto-Aktualisierungsintervall \(z.B. 5s, 1m, 5m\) |
| `panels` | string | Nein | JSON-Array von Panel-Konfigurationen |
| `overwrite` | boolean | Nein | Vorhandenes Dashboard mit gleichem Titel überschreiben |
| `message` | string | Nein | Commit-Nachricht für die Dashboard-Version |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `id` | number | Die numerische ID des erstellten Dashboards |
| `uid` | string | Die UID des erstellten Dashboards |
| `url` | string | Der URL-Pfad zum Dashboard |
| `status` | string | Status der Operation \(success\) |
| `version` | number | Die Versionsnummer des Dashboards |
| `slug` | string | URL-freundlicher Slug des Dashboards |
### `grafana_update_dashboard`
Aktualisiert ein bestehendes Dashboard. Ruft das aktuelle Dashboard ab und führt Ihre Änderungen zusammen.
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `dashboardUid` | string | Ja | Die UID des zu aktualisierenden Dashboards |
| `title` | string | Nein | Neuer Titel für das Dashboard |
| `folderUid` | string | Nein | Neue Ordner-UID, um das Dashboard zu verschieben |
| `tags` | string | Nein | Kommagetrennte Liste neuer Tags |
| `timezone` | string | Nein | Dashboard-Zeitzone \(z.B. browser, utc\) |
| `refresh` | string | Nein | Auto-Refresh-Intervall \(z.B. 5s, 1m, 5m\) |
| `panels` | string | Nein | JSON-Array von Panel-Konfigurationen |
| `overwrite` | boolean | Nein | Überschreiben auch bei Versionskonflikten |
| `message` | string | Nein | Commit-Nachricht für diese Version |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `id` | number | Die numerische ID des aktualisierten Dashboards |
| `uid` | string | Die UID des aktualisierten Dashboards |
| `url` | string | Der URL-Pfad zum Dashboard |
| `status` | string | Status der Operation \(success\) |
| `version` | number | Die neue Versionsnummer des Dashboards |
| `slug` | string | URL-freundlicher Slug des Dashboards |
### `grafana_delete_dashboard`
Löschen eines Dashboards anhand seiner UID
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `dashboardUid` | string | Ja | Die UID des zu löschenden Dashboards |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `title` | string | Der Titel des gelöschten Dashboards |
| `message` | string | Bestätigungsnachricht |
| `id` | number | Die ID des gelöschten Dashboards |
### `grafana_list_alert_rules`
Alle Alarmregeln in der Grafana-Instanz auflisten
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `rules` | array | Liste der Alarmregeln |
### `grafana_get_alert_rule`
Eine bestimmte Alarmregel anhand ihrer UID abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `alertRuleUid` | string | Ja | Die UID der abzurufenden Alarmregel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `uid` | string | Alarmregel-UID |
| `title` | string | Alarmregel-Titel |
| `condition` | string | Alarmbedingung |
| `data` | json | Alarmregel-Abfragedaten |
| `folderUID` | string | Übergeordnete Ordner-UID |
| `ruleGroup` | string | Regelgruppenname |
| `noDataState` | string | Status, wenn keine Daten zurückgegeben werden |
| `execErrState` | string | Status bei Ausführungsfehler |
| `annotations` | json | Alarmanmerkungen |
| `labels` | json | Alarmlabels |
### `grafana_create_alert_rule`
Eine neue Alarmregel erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `title` | string | Ja | Der Titel der Alarmregel |
| `folderUid` | string | Ja | Die UID des Ordners, in dem der Alarm erstellt werden soll |
| `ruleGroup` | string | Ja | Der Name der Regelgruppe |
| `condition` | string | Ja | Die refId der Abfrage oder des Ausdrucks, der als Alarmbedingung verwendet werden soll |
| `data` | string | Ja | JSON-Array von Abfrage-/Ausdrucksdatenobjekten |
| `forDuration` | string | Nein | Wartezeit vor dem Auslösen \(z.B. 5m, 1h\) |
| `noDataState` | string | Nein | Status, wenn keine Daten zurückgegeben werden \(NoData, Alerting, OK\) |
| `execErrState` | string | Nein | Status bei Ausführungsfehler \(Alerting, OK\) |
| `annotations` | string | Nein | JSON-Objekt von Anmerkungen |
| `labels` | string | Nein | JSON-Objekt von Labels |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `uid` | string | Die UID der erstellten Alarmregel |
| `title` | string | Titel der Alarmregel |
| `folderUID` | string | UID des übergeordneten Ordners |
| `ruleGroup` | string | Name der Regelgruppe |
### `grafana_update_alert_rule`
Aktualisiert eine bestehende Alarmregel. Ruft die aktuelle Regel ab und führt Ihre Änderungen zusammen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service-Account-Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL (z.B. https://your-grafana.com) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `alertRuleUid` | string | Ja | Die UID der zu aktualisierenden Alarmregel |
| `title` | string | Nein | Neuer Titel für die Alarmregel |
| `folderUid` | string | Nein | Neue Ordner-UID, um den Alarm zu verschieben |
| `ruleGroup` | string | Nein | Neuer Name der Regelgruppe |
| `condition` | string | Nein | Neue Bedingung refId |
| `data` | string | Nein | Neues JSON-Array von Abfrage-/Ausdrucksdatenobjekten |
| `forDuration` | string | Nein | Wartezeit vor dem Auslösen (z.B. 5m, 1h) |
| `noDataState` | string | Nein | Status, wenn keine Daten zurückgegeben werden (NoData, Alerting, OK) |
| `execErrState` | string | Nein | Status bei Ausführungsfehler (Alerting, OK) |
| `annotations` | string | Nein | JSON-Objekt von Anmerkungen |
| `labels` | string | Nein | JSON-Objekt von Labels |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `uid` | string | Die UID der aktualisierten Alarmregel |
| `title` | string | Titel der Alarmregel |
| `folderUID` | string | UID des übergeordneten Ordners |
| `ruleGroup` | string | Name der Regelgruppe |
### `grafana_delete_alert_rule`
Löschen einer Alarmregel anhand ihrer UID
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service-Account-Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `alertRuleUid` | string | Ja | Die UID der zu löschenden Alarmregel |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `message` | string | Bestätigungsnachricht |
### `grafana_list_contact_points`
Alle Alarmbenachrichtigungs-Kontaktpunkte auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service-Account-Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `contactPoints` | array | Liste der Kontaktpunkte |
### `grafana_create_annotation`
Eine Anmerkung auf einem Dashboard oder als globale Anmerkung erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `text` | string | Ja | Der Textinhalt der Anmerkung |
| `tags` | string | Nein | Kommagetrennte Liste von Tags |
| `dashboardUid` | string | Nein | UID des Dashboards, zu dem die Anmerkung hinzugefügt werden soll \(optional für globale Anmerkungen\) |
| `panelId` | number | Nein | ID des Panels, zu dem die Anmerkung hinzugefügt werden soll |
| `time` | number | Nein | Startzeit in Epochenmillisekunden \(standardmäßig jetzt\) |
| `timeEnd` | number | Nein | Endzeit in Epochenmillisekunden \(für Bereichsanmerkungen\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `id` | number | Die ID der erstellten Anmerkung |
| `message` | string | Bestätigungsnachricht |
### `grafana_list_annotations`
Anmerkungen nach Zeitraum, Dashboard oder Tags abfragen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `from` | number | Nein | Startzeit in Epochenmillisekunden |
| `to` | number | Nein | Endzeit in Epochenmillisekunden |
| `dashboardUid` | string | Nein | Nach Dashboard-UID filtern |
| `panelId` | number | Nein | Nach Panel-ID filtern |
| `tags` | string | Nein | Kommagetrennte Liste von Tags, nach denen gefiltert werden soll |
| `type` | string | Nein | Nach Typ filtern \(alert oder annotation\) |
| `limit` | number | Nein | Maximale Anzahl von zurückzugebenden Anmerkungen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `annotations` | array | Liste der Anmerkungen |
### `grafana_update_annotation`
Eine vorhandene Anmerkung aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service-Account-Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `annotationId` | number | Ja | Die ID der zu aktualisierenden Anmerkung |
| `text` | string | Ja | Neuer Textinhalt für die Anmerkung |
| `tags` | string | Nein | Kommagetrennte Liste neuer Tags |
| `time` | number | Nein | Neue Startzeit in Epochenmillisekunden |
| `timeEnd` | number | Nein | Neue Endzeit in Epochenmillisekunden |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `id` | number | Die ID der aktualisierten Anmerkung |
| `message` | string | Bestätigungsnachricht |
### `grafana_delete_annotation`
Eine Anmerkung anhand ihrer ID löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service-Account-Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `annotationId` | number | Ja | Die ID der zu löschenden Anmerkung |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `message` | string | Bestätigungsnachricht |
### `grafana_list_data_sources`
Alle in Grafana konfigurierten Datenquellen auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `dataSources` | array | Liste der Datenquellen |
### `grafana_get_data_source`
Eine Datenquelle anhand ihrer ID oder UID abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Multi-Org-Grafana-Instanzen |
| `dataSourceId` | string | Ja | Die ID oder UID der abzurufenden Datenquelle |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `id` | number | Datenquellen-ID |
| `uid` | string | Datenquellen-UID |
| `name` | string | Name der Datenquelle |
| `type` | string | Typ der Datenquelle |
| `url` | string | Verbindungs-URL der Datenquelle |
| `database` | string | Datenbankname \(falls zutreffend\) |
| `isDefault` | boolean | Ob dies die Standard-Datenquelle ist |
| `jsonData` | json | Zusätzliche Konfiguration der Datenquelle |
### `grafana_list_folders`
Alle Ordner in Grafana auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Grafana-Instanzen mit mehreren Organisationen |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ordner |
| `page` | number | Nein | Seitennummer für Paginierung |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `folders` | array | Liste der Ordner |
### `grafana_create_folder`
Einen neuen Ordner in Grafana erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grafana Service Account Token |
| `baseUrl` | string | Ja | Grafana-Instanz-URL \(z.B. https://your-grafana.com\) |
| `organizationId` | string | Nein | Organisations-ID für Grafana-Instanzen mit mehreren Organisationen |
| `title` | string | Ja | Der Titel des neuen Ordners |
| `uid` | string | Nein | Optionale UID für den Ordner \(wird automatisch generiert, wenn nicht angegeben\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `id` | number | Die numerische ID des erstellten Ordners |
| `uid` | string | Die UID des erstellten Ordners |
| `title` | string | Der Titel des erstellten Ordners |
| `url` | string | Der URL-Pfad zum Ordner |
## Notizen
- Kategorie: `tools`
- Typ: `grafana`

View File

@@ -361,6 +361,8 @@ Einen bestehenden Zeitplan in incident.io aktualisieren
| `id` | string | Ja | Die ID des zu aktualisierenden Zeitplans |
| `name` | string | Nein | Neuer Name für den Zeitplan |
| `timezone` | string | Nein | Neue Zeitzone für den Zeitplan \(z.B. America/New_York\) |
| `config` | string | Nein | Zeitplankonfiguration als JSON-String mit Rotationen. Beispiel: \{"rotations": \[\{"name": "Primary", "users": \[\{"id": "user_id"\}\], "handover_start_at": "2024-01-01T09:00:00Z", "handovers": \[\{"interval": 1, "interval_type": "weekly"\}\]\}\]\} |
| `Example` | string | Nein | Keine Beschreibung |
#### Ausgabe

View File

@@ -167,7 +167,7 @@ Ein Unternehmen in Intercom erstellen oder aktualisieren
| `plan` | string | Nein | Der Unternehmensplan |
| `size` | number | Nein | Die Anzahl der Mitarbeiter im Unternehmen |
| `industry` | string | Nein | Die Branche, in der das Unternehmen tätig ist |
| `monthly_spend` | number | Nein | Wie viel Umsatz das Unternehmen für Ihr Geschäft generiert |
| `monthly_spend` | number | Nein | Wie viel Umsatz das Unternehmen für Ihr Geschäft generiert. Hinweis: Dieses Feld kürzt Dezimalzahlen auf ganze Zahlen \(z.B. wird aus 155,98 die Zahl 155\) |
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt |
#### Ausgabe
@@ -196,7 +196,7 @@ Ein einzelnes Unternehmen anhand der ID von Intercom abrufen
### `intercom_list_companies`
Alle Unternehmen von Intercom mit Paginierungsunterstützung auflisten
Listet alle Unternehmen von Intercom mit Paginierungsunterstützung auf. Hinweis: Dieser Endpunkt hat ein Limit von 10.000 Unternehmen, die über Paginierung zurückgegeben werden können. Für Datensätze mit mehr als 10.000 Unternehmen verwenden Sie stattdessen die Scroll-API.
#### Eingabe
@@ -259,8 +259,8 @@ Als Administrator auf eine Konversation in Intercom antworten
| `conversationId` | string | Ja | Konversations-ID, auf die geantwortet werden soll |
| `message_type` | string | Ja | Nachrichtentyp: "comment" oder "note" |
| `body` | string | Ja | Der Textinhalt der Antwort |
| `admin_id` | string | Ja | Die ID des Administrators, der die Antwort verfasst |
| `attachment_urls` | string | Nein | Kommagetrennte Liste von Bild-URLs (max. 10) |
| `admin_id` | string | Nein | Die ID des Administrators, der die Antwort verfasst. Wenn nicht angegeben, wird ein Standard-Administrator \(Operator/Fin\) verwendet. |
| `attachment_urls` | string | Nein | Kommagetrennte Liste von Bild-URLs \(max. 10\) |
#### Ausgabe

View File

@@ -0,0 +1,393 @@
---
title: Kalshi
description: Zugriff auf Prognosemärkte und Handel auf Kalshi
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="kalshi"
color="#09C285"
/>
{/* MANUAL-CONTENT-START:intro */}
[Kalshi](https://kalshi.com) ist eine bundesweit regulierte Börse, an der Nutzer direkt mit den Ergebnissen zukünftiger Ereignisse handeln können Prognosemärkte. Kalshis robuste API und Sim-Integration ermöglichen es Agenten und Workflows, programmatisch auf alle Aspekte der Plattform zuzugreifen und unterstützen alles von Forschung und Analyse bis hin zu automatisiertem Handel und Überwachung.
Mit Kalshis Integration in Sim können Sie:
- **Markt- & Ereignisdaten:** Echtzeit- und historische Daten für Märkte und Ereignisse suchen, filtern und abrufen; detaillierte Informationen zum Marktstatus, Serien, Ereignisgruppierungen und mehr abrufen.
- **Konto- & Guthaben-Management:** Zugriff auf Kontostände, verfügbare Mittel und Überwachung von Echtzeit-Positionen.
- **Auftrags- & Handelsmanagement:** Neue Aufträge platzieren, bestehende stornieren, offene Aufträge einsehen, ein Live-Orderbuch abrufen und auf vollständige Handelshistorien zugreifen.
- **Ausführungsanalyse:** Abruf von aktuellen Trades, historischen Ausführungen und Candlestick-Daten für Backtesting oder Marktstrukturforschung.
- **Überwachung:** Börsenweiten oder serienspezifischen Status prüfen, Echtzeit-Updates über Marktänderungen oder Handelsunterbrechungen erhalten und Reaktionen automatisieren.
- **Automatisierungsbereit:** Entwicklung von End-to-End automatisierten Agenten und Dashboards, die Wahrscheinlichkeiten von Ereignissen in der realen Welt konsumieren, analysieren und damit handeln.
Durch die Nutzung dieser einheitlichen Tools und Endpunkte können Sie Kalshis Prognosemärkte, Live-Handelsfunktionen und umfangreiche Ereignisdaten nahtlos in Ihre KI-gestützten Anwendungen, Dashboards und Workflows integrieren und so eine anspruchsvolle, automatisierte Entscheidungsfindung ermöglichen, die an reale Ergebnisse gekoppelt ist.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integrieren Sie Kalshi-Prognosemärkte in den Workflow. Kann Märkte, Markt, Ereignisse, Ereignis, Kontostand, Positionen, Aufträge, Orderbuch, Trades, Candlesticks, Ausführungen, Serien, Börsenstatus abrufen und Trades platzieren/stornieren/ändern.
## Tools
### `kalshi_get_markets`
Rufe eine Liste von Prognosemärkten von Kalshi mit optionaler Filterung ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `status` | string | Nein | Nach Status filtern \(unopened, open, closed, settled\) |
| `seriesTicker` | string | Nein | Nach Serien-Ticker filtern |
| `eventTicker` | string | Nein | Nach Event-Ticker filtern |
| `limit` | string | Nein | Anzahl der Ergebnisse \(1-1000, standard: 100\) |
| `cursor` | string | Nein | Paginierungscursor für die nächste Seite |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Marktdaten und Metadaten |
### `kalshi_get_market`
Rufe Details eines bestimmten Prognosemarkts nach Ticker ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | Ja | Der Markt-Ticker \(z.B. "KXBTC-24DEC31"\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Marktdaten und Metadaten |
### `kalshi_get_events`
Rufe eine Liste von Events von Kalshi mit optionaler Filterung ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `status` | string | Nein | Nach Status filtern \(open, closed, settled\) |
| `seriesTicker` | string | Nein | Nach Serien-Ticker filtern |
| `withNestedMarkets` | string | Nein | Verschachtelte Märkte in der Antwort einschließen \(true/false\) |
| `limit` | string | Nein | Anzahl der Ergebnisse \(1-200, standard: 200\) |
| `cursor` | string | Nein | Paginierungscursor für die nächste Seite |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ereignisdaten und Metadaten |
### `kalshi_get_event`
Details eines bestimmten Ereignisses anhand des Tickers abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `eventTicker` | string | Ja | Der Ereignis-Ticker |
| `withNestedMarkets` | string | Nein | Verschachtelte Märkte in die Antwort einbeziehen \(true/false\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ereignisdaten und Metadaten |
### `kalshi_get_balance`
Kontostand und Portfoliowert von Kalshi abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Kontostandsdaten und Metadaten |
### `kalshi_get_positions`
Offene Positionen von Kalshi abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `ticker` | string | Nein | Nach Markt-Ticker filtern |
| `eventTicker` | string | Nein | Nach Ereignis-Ticker filtern \(max. 10 durch Komma getrennt\) |
| `settlementStatus` | string | Nein | Nach Abrechnungsstatus filtern \(all, unsettled, settled\). Standard: unsettled |
| `limit` | string | Nein | Anzahl der Ergebnisse \(1-1000, Standard: 100\) |
| `cursor` | string | Nein | Paginierungscursor für die nächste Seite |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Positionsdaten und Metadaten |
### `kalshi_get_orders`
Rufen Sie Ihre Bestellungen von Kalshi mit optionaler Filterung ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `ticker` | string | Nein | Nach Markt-Ticker filtern |
| `eventTicker` | string | Nein | Nach Event-Ticker filtern \(maximal 10 durch Komma getrennt\) |
| `status` | string | Nein | Nach Status filtern \(resting, canceled, executed\) |
| `limit` | string | Nein | Anzahl der Ergebnisse \(1-200, Standard: 100\) |
| `cursor` | string | Nein | Paginierungscursor für die nächste Seite |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Bestelldaten und Metadaten |
### `kalshi_get_order`
Rufen Sie Details zu einem bestimmten Auftrag anhand der ID von Kalshi ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `orderId` | string | Ja | Die abzurufende Auftrags-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Auftragsdaten |
### `kalshi_get_orderbook`
Rufen Sie das Orderbuch (Ja- und Nein-Gebote) für einen bestimmten Markt ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | Ja | Markt-Ticker \(z.B. KXBTC-24DEC31\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Orderbuch-Daten und Metadaten |
### `kalshi_get_trades`
Rufen Sie aktuelle Trades über alle Märkte hinweg ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Nein | Anzahl der Ergebnisse \(1-1000, Standard: 100\) |
| `cursor` | string | Nein | Paginierungscursor für die nächste Seite |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Handelsdaten und Metadaten |
### `kalshi_get_candlesticks`
OHLC-Kerzendaten für einen bestimmten Markt abrufen
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | Ja | Serien-Ticker |
| `ticker` | string | Ja | Markt-Ticker \(z.B. KXBTC-24DEC31\) |
| `startTs` | number | Ja | Startzeitstempel \(Unix-Sekunden\) |
| `endTs` | number | Ja | Endzeitstempel \(Unix-Sekunden\) |
| `periodInterval` | number | Ja | Periodenintervall: 1 \(1min\), 60 \(1Stunde\) oder 1440 \(1Tag\) |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Kerzendaten und Metadaten |
### `kalshi_get_fills`
Ihr Portfolio abrufen
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `ticker` | string | Nein | Nach Markt-Ticker filtern |
| `orderId` | string | Nein | Nach Bestell-ID filtern |
| `minTs` | number | Nein | Minimaler Zeitstempel \(Unix-Millisekunden\) |
| `maxTs` | number | Nein | Maximaler Zeitstempel \(Unix-Millisekunden\) |
| `limit` | string | Nein | Anzahl der Ergebnisse \(1-1000, Standard: 100\) |
| `cursor` | string | Nein | Paginierungscursor für die nächste Seite |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Ausführungsdaten und Metadaten |
### `kalshi_get_series_by_ticker`
Details einer bestimmten Marktserie nach Ticker abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | Ja | Serien-Ticker |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Seriendaten und Metadaten |
### `kalshi_get_exchange_status`
Den aktuellen Status der Kalshi-Börse abrufen (Handel und Börsenaktivität)
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Börsenstatus-Daten und Metadaten |
### `kalshi_create_order`
Eine neue Order auf einem Kalshi-Prognosemarkt erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `ticker` | string | Ja | Markt-Ticker \(z.B. KXBTC-24DEC31\) |
| `side` | string | Ja | Seite der Order: 'yes' oder 'no' |
| `action` | string | Ja | Aktionstyp: 'buy' oder 'sell' |
| `count` | string | Ja | Anzahl der Kontrakte \(mindestens 1\) |
| `type` | string | Nein | Ordertyp: 'limit' oder 'market' \(Standard: limit\) |
| `yesPrice` | string | Nein | Yes-Preis in Cent \(1-99\) |
| `noPrice` | string | Nein | No-Preis in Cent \(1-99\) |
| `yesPriceDollars` | string | Nein | Yes-Preis in Dollar \(z.B. "0.56"\) |
| `noPriceDollars` | string | Nein | No-Preis in Dollar \(z.B. "0.56"\) |
| `clientOrderId` | string | Nein | Benutzerdefinierte Order-ID |
| `expirationTs` | string | Nein | Unix-Zeitstempel für Order-Ablauf |
| `timeInForce` | string | Nein | Gültigkeitsdauer: 'fill_or_kill', 'good_till_canceled', 'immediate_or_cancel' |
| `buyMaxCost` | string | Nein | Maximale Kosten in Cent \(aktiviert automatisch fill_or_kill\) |
| `postOnly` | string | Nein | Auf 'true' setzen für Maker-Only-Orders |
| `reduceOnly` | string | Nein | Auf 'true' setzen für ausschließliche Positionsreduzierung |
| `selfTradePreventionType` | string | Nein | Selbsthandel-Prävention: 'taker_at_cross' oder 'maker' |
| `orderGroupId` | string | Nein | Zugehörige Ordergruppen-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Erstellte Auftragsdaten |
### `kalshi_cancel_order`
Einen bestehenden Auftrag auf Kalshi stornieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `orderId` | string | Ja | Die zu stornierende Auftrags-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Stornierte Auftragsdaten |
### `kalshi_amend_order`
Preis oder Menge eines bestehenden Auftrags auf Kalshi ändern
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Ja | Ihre Kalshi API-Schlüssel-ID |
| `privateKey` | string | Ja | Ihr RSA Private Key \(PEM-Format\) |
| `orderId` | string | Ja | Die zu ändernde Auftrags-ID |
| `ticker` | string | Ja | Markt-Ticker |
| `side` | string | Ja | Seite des Auftrags: 'yes' oder 'no' |
| `action` | string | Ja | Aktionstyp: 'buy' oder 'sell' |
| `clientOrderId` | string | Ja | Die ursprüngliche vom Kunden angegebene Auftrags-ID |
| `updatedClientOrderId` | string | Ja | Die neue vom Kunden angegebene Auftrags-ID nach der Änderung |
| `count` | string | Nein | Aktualisierte Menge für den Auftrag |
| `yesPrice` | string | Nein | Aktualisierter Ja-Preis in Cent \(1-99\) |
| `noPrice` | string | Nein | Aktualisierter Nein-Preis in Cent \(1-99\) |
| `yesPriceDollars` | string | Nein | Aktualisierter Ja-Preis in Dollar \(z.B. "0.56"\) |
| `noPriceDollars` | string | Nein | Aktualisierter Nein-Preis in Dollar \(z.B. "0.56"\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Geänderte Auftragsdaten |
## Hinweise
- Kategorie: `tools`
- Typ: `kalshi`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="mailgun"
color="#F06248"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -0,0 +1,352 @@
---
title: Polymarket
description: Zugriff auf Prognosemarktdaten von Polymarket
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="polymarket"
color="#4C82FB"
/>
{/* MANUAL-CONTENT-START:intro */}
[Polymarket](https://polymarket.com) ist eine dezentralisierte Plattform für Prognosemärkte, auf der Nutzer mit Blockchain-Technologie auf den Ausgang zukünftiger Ereignisse handeln können. Polymarket bietet eine umfassende API, die Entwicklern und Agenten den Zugriff auf Live-Marktdaten, Ereignislisten, Preisinformationen und Orderbuch-Statistiken ermöglicht, um datengesteuerte Workflows und KI-Automatisierungen zu unterstützen.
Mit der API von Polymarket und der Sim-Integration können Sie Agenten befähigen, programmatisch Informationen zu Prognosemärkten abzurufen, offene Märkte und zugehörige Ereignisse zu erkunden, historische Preisdaten zu analysieren und auf Orderbücher und Markt-Mittelwerte zuzugreifen. Dies schafft neue Möglichkeiten für Recherchen, automatisierte Analysen und die Entwicklung intelligenter Agenten, die auf Echtzeit-Ereigniswahrscheinlichkeiten reagieren, die aus Marktpreisen abgeleitet werden.
Zu den wichtigsten Funktionen der Polymarket-Integration gehören:
- **Marktlisting & Filterung:** Auflistung aller aktuellen oder historischen Prognosemärkte, Filterung nach Tags, Sortierung und Seitenweise Durchblättern der Ergebnisse.
- **Marktdetails:** Abrufen von Details für einen einzelnen Markt anhand der Markt-ID oder des Slugs, einschließlich seiner Ergebnisse und Status.
- **Ereignislisten:** Zugriff auf Listen von Polymarket-Ereignissen und detaillierte Ereignisinformationen.
- **Orderbuch- & Preisdaten:** Analyse des Orderbuchs, Abruf der aktuellen Marktpreise, Einsicht in den Mittelwert oder Erhalt historischer Preisinformationen für jeden Markt.
- **Automatisierungsbereit:** Erstellen von Agenten oder Tools, die programmatisch auf Marktentwicklungen, sich ändernde Quoten oder bestimmte Ereignisausgänge reagieren.
Durch die Nutzung dieser dokumentierten API-Endpunkte können Sie die umfangreichen On-Chain-Prognosemarktdaten von Polymarket nahtlos in Ihre eigenen KI-Workflows, Dashboards, Recherchetools und Handelsautomatisierungen integrieren.
{/* MANUAL-CONTENT-END */}
## Nutzungsanweisungen
Integrieren Sie Polymarket-Prognosemärkte in den Workflow. Kann Märkte, Markt, Ereignisse, Ereignis, Tags, Serien, Orderbuch, Preis, Mittelpunkt, Preisverlauf, letzten Handelspreis, Spread, Tick-Größe, Positionen, Trades und Suche abrufen.
## Tools
### `polymarket_get_markets`
Rufen Sie eine Liste von Prognosemärkten von Polymarket mit optionaler Filterung ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `closed` | string | Nein | Nach geschlossenem Status filtern \(true/false\). Verwenden Sie false für nur aktive Märkte. |
| `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\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Marktdaten und Metadaten |
### `polymarket_get_market`
Rufen Sie Details eines bestimmten Prognosemarktes nach ID oder Slug ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `marketId` | string | Nein | Die Markt-ID. Erforderlich, wenn Slug nicht angegeben wird. |
| `slug` | string | Nein | Der Markt-Slug \(z.B. "will-trump-win"\). Erforderlich, wenn marketId nicht angegeben wird. |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Marktdaten und Metadaten |
### `polymarket_get_events`
Ruft eine Liste von Events von Polymarket mit optionaler Filterung ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `closed` | string | Nein | Nach geschlossenem Status filtern \(true/false\). Verwenden Sie false für nur aktive Events. |
| `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\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Event-Daten und Metadaten |
### `polymarket_get_event`
Ruft Details eines bestimmten Events nach ID oder Slug ab
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `eventId` | string | Nein | Die Event-ID. Erforderlich, wenn kein Slug angegeben wird. |
| `slug` | string | Nein | Der Event-Slug \(z.B. "2024-presidential-election"\). Erforderlich, wenn keine eventId angegeben wird. |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Ereignisdaten und Metadaten |
### `polymarket_get_tags`
Verfügbare Tags zum Filtern von Märkten von Polymarket abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Tag-Daten und Metadaten |
### `polymarket_search`
Nach Märkten, Ereignissen und Profilen auf Polymarket suchen
#### Input
| Parameter | Type | 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\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Suchergebnisse und Metadaten |
### `polymarket_get_series`
Serien (verwandte Marktgruppen) von Polymarket abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `limit` | string | Nein | Anzahl der Ergebnisse pro Seite \(empfohlen: 25-50\) |
| `offset` | string | Nein | Paginierungsoffset \(überspringe diese Anzahl an Ergebnissen\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Seriendaten und Metadaten |
### `polymarket_get_series_by_id`
Eine bestimmte Serie (zugehörige Marktgruppe) anhand der ID von Polymarket abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `seriesId` | string | Ja | Die Serien-ID |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Seriendaten und Metadaten |
### `polymarket_get_orderbook`
Die Orderbuch-Zusammenfassung für einen bestimmten Token abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID (aus den clobTokenIds des Marktes) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Orderbuch-Daten und Metadaten |
### `polymarket_get_price`
Den Marktpreis für einen bestimmten Token und eine bestimmte Seite abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID (aus den clobTokenIds des Marktes) |
| `side` | string | Ja | Orderseite: buy oder sell |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Preisdaten und Metadaten |
### `polymarket_get_midpoint`
Abrufen des Mittelpreises für einen bestimmten Token
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID (aus market clobTokenIds) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Mittelpreisdaten und Metadaten |
### `polymarket_get_price_history`
Abrufen historischer Preisdaten für einen bestimmten Markttoken
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID (aus market clobTokenIds) |
| `interval` | string | Nein | Zeitraum, der zum aktuellen Zeitpunkt endet (1m, 1h, 6h, 1d, 1w, max). Schließt sich gegenseitig mit startTs/endTs aus. |
| `fidelity` | number | Nein | Datenauflösung in Minuten (z.B. 60 für stündlich) |
| `startTs` | number | Nein | Startzeitstempel (Unix-Sekunden UTC) |
| `endTs` | number | Nein | Endzeitstempel (Unix-Sekunden UTC) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Preisverlaufsdaten und Metadaten |
### `polymarket_get_last_trade_price`
Den letzten Handelspreis für einen bestimmten Token abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID \(aus market clobTokenIds\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Letzter Handelspreis und Metadaten |
### `polymarket_get_spread`
Die Geld-Brief-Spanne für einen bestimmten Token abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID \(aus market clobTokenIds\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Spread-Daten und Metadaten |
### `polymarket_get_tick_size`
Die minimale Tickgröße für einen bestimmten Token abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Ja | Die CLOB-Token-ID \(aus market clobTokenIds\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Status des Operationserfolgs |
| `output` | object | Tickgröße und Metadaten |
### `polymarket_get_positions`
Benutzerpositionen von Polymarket abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `user` | string | Ja | Wallet-Adresse des Benutzers |
| `market` | string | Nein | Optionale Markt-ID zum Filtern von Positionen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Positionsdaten und Metadaten |
### `polymarket_get_trades`
Handelshistorie von Polymarket abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `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\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Erfolgsstatus der Operation |
| `output` | object | Handelsdaten und Metadaten |
## Hinweise
- Kategorie: `tools`
- Typ: `polymarket`

View File

@@ -83,10 +83,17 @@ Ein neues Anliegen mit bestimmten Eigenschaften erstellen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Ja | Pylon API-Token |
| `title` | string | Ja | Titel des Anliegens |
| `bodyHtml` | string | Ja | Inhalt des Anliegens im HTML-Format |
| `accountId` | string | Nein | Konto-ID, die mit dem Anliegen verknüpft werden soll |
| `assigneeId` | string | Nein | Benutzer-ID, der das Anliegen zugewiesen werden soll |
| `title` | string | Ja | Titel des Problems |
| `bodyHtml` | string | Ja | Inhalt des Problems im HTML-Format |
| `accountId` | string | Nein | Konto-ID, die mit dem Problem verknüpft werden soll |
| `assigneeId` | string | Nein | Benutzer-ID, der das Problem zugewiesen werden soll |
| `teamId` | string | Nein | Team-ID, dem das Problem zugewiesen werden soll |
| `requesterId` | string | Nein | Anforderer-Benutzer-ID \(Alternative zu requester_email\) |
| `requesterEmail` | string | Nein | E-Mail-Adresse des Anforderers \(Alternative zu requester_id\) |
| `priority` | string | Nein | Priorität des Problems |
| `tags` | string | Nein | Durch Komma getrennte Tag-IDs |
| `customFields` | string | Nein | Benutzerdefinierte Felder als JSON-Objekt |
| `attachmentUrls` | string | Nein | Durch Komma getrennte Anhang-URLs |
#### Output
@@ -119,15 +126,18 @@ Aktualisiert ein bestehendes Issue
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Ja | Pylon API-Token |
| `issueId` | string | Ja | Die ID des zu aktualisierenden Issues |
| `state` | string | Nein | Issue-Status |
| `assigneeId` | string | Nein | Benutzer-ID, der das Issue zugewiesen werden soll |
| `teamId` | string | Nein | Team-ID, dem das Issue zugewiesen werden soll |
| `tags` | string | Nein | Kommagetrennte Tag-IDs |
| `issueId` | string | Ja | Die ID des zu aktualisierenden Problems |
| `state` | string | Nein | Status des Problems |
| `assigneeId` | string | Nein | Benutzer-ID, der das Problem zugewiesen werden soll |
| `teamId` | string | Nein | Team-ID, dem das Problem zugewiesen werden soll |
| `tags` | string | Nein | Durch Komma getrennte Tag-IDs |
| `customFields` | string | Nein | Benutzerdefinierte Felder als JSON-Objekt |
| `customerPortalVisible` | boolean | Nein | Ob das Problem im Kundenportal sichtbar ist |
| `requesterId` | string | Nein | Anforderer-Benutzer-ID |
| `accountId` | string | Nein | Konto-ID, die mit dem Problem verknüpft werden soll |
#### Output

View File

@@ -0,0 +1,444 @@
---
title: Shopify
description: Verwalte Produkte, Bestellungen, Kunden und Lagerbestand in deinem Shopify-Shop
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="shopify"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Shopify](https://www.shopify.com/) ist eine führende E-Commerce-Plattform, die entwickelt wurde, um Händlern beim Aufbau, Betrieb und Wachstum ihrer Online-Shops zu helfen. Shopify macht es einfach, jeden Aspekt deines Shops zu verwalten, von Produkten und Lagerbestand bis hin zu Bestellungen und Kunden.
Mit Shopify in Sim können deine Agenten:
- **Produkte erstellen und verwalten**: Neue Produkte hinzufügen, Produktdetails aktualisieren und Produkte aus deinem Shop entfernen.
- **Bestellungen auflisten und abrufen**: Informationen über Kundenbestellungen erhalten, einschließlich Filterung und Bestellverwaltung.
- **Kunden verwalten**: Auf Kundendetails zugreifen und diese aktualisieren oder neue Kunden zu deinem Shop hinzufügen.
- **Lagerbestände anpassen**: Produktbestände programmatisch ändern, um deinen Lagerbestand genau zu halten.
Nutze Sims Shopify-Integration, um gängige Shop-Management-Workflows zu automatisieren wie Lagerbestandssynchronisierung, Auftragsabwicklung oder Angebotsverwaltung direkt aus deinen Automatisierungen heraus. Ermögliche deinen Agenten, auf alle deine Shop-Daten zuzugreifen, sie zu aktualisieren und zu organisieren, mit einfachen, programmatischen Tools.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integriere Shopify in deinen Workflow. Verwalte Produkte, Bestellungen, Kunden und Lagerbestand. Erstelle, lese, aktualisiere und lösche Produkte. Liste und verwalte Bestellungen. Bearbeite Kundendaten und passe Lagerbestände an.
## Tools
### `shopify_create_product`
Erstelle ein neues Produkt in deinem Shopify-Shop
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Deine Shopify-Shop-Domain \(z.B. meinshop.myshopify.com\) |
| `title` | string | Ja | Produkttitel |
| `descriptionHtml` | string | Nein | Produktbeschreibung \(HTML\) |
| `vendor` | string | Nein | Produktanbieter/Marke |
| `productType` | string | Nein | Produkttyp/Kategorie |
| `tags` | array | Nein | Produkt-Tags |
| `status` | string | Nein | Produktstatus \(ACTIVE, DRAFT, ARCHIVED\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `product` | object | Das erstellte Produkt |
### `shopify_get_product`
Ein einzelnes Produkt anhand der ID aus Ihrem Shopify-Shop abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `productId` | string | Ja | Produkt-ID \(gid://shopify/Product/123456789\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `product` | object | Die Produktdetails |
### `shopify_list_products`
Produkte aus Ihrem Shopify-Shop mit optionaler Filterung auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `first` | number | Nein | Anzahl der zurückzugebenden Produkte \(Standard: 50, max: 250\) |
| `query` | string | Nein | Suchanfrage zum Filtern von Produkten \(z.B. "title:shirt" oder "vendor:Nike" oder "status:active"\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `products` | array | Liste der Produkte |
| `pageInfo` | object | Paginierungsinformationen |
### `shopify_update_product`
Ein bestehendes Produkt in Ihrem Shopify-Shop aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `productId` | string | Ja | Zu aktualisierende Produkt-ID \(gid://shopify/Product/123456789\) |
| `title` | string | Nein | Neuer Produkttitel |
| `descriptionHtml` | string | Nein | Neue Produktbeschreibung \(HTML\) |
| `vendor` | string | Nein | Neuer Produktanbieter/Marke |
| `productType` | string | Nein | Neuer Produkttyp/Kategorie |
| `tags` | array | Nein | Neue Produkt-Tags |
| `status` | string | Nein | Neuer Produktstatus \(ACTIVE, DRAFT, ARCHIVED\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `product` | object | Das aktualisierte Produkt |
### `shopify_delete_product`
Ein Produkt aus Ihrem Shopify-Shop löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `productId` | string | Ja | Produkt-ID zum Löschen \(gid://shopify/Product/123456789\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `deletedId` | string | Die ID des gelöschten Produkts |
### `shopify_get_order`
Eine einzelne Bestellung anhand der ID aus Ihrem Shopify-Shop abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `orderId` | string | Ja | Bestell-ID \(gid://shopify/Order/123456789\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `order` | object | Die Bestelldetails |
### `shopify_list_orders`
Bestellungen aus Ihrem Shopify-Shop mit optionaler Filterung auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `first` | number | Nein | Anzahl der zurückzugebenden Bestellungen \(Standard: 50, max: 250\) |
| `status` | string | Nein | Nach Bestellstatus filtern \(open, closed, cancelled, any\) |
| `query` | string | Nein | Suchanfrage zum Filtern von Bestellungen \(z.B. "financial_status:paid" oder "fulfillment_status:unfulfilled" oder "email:customer@example.com"\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `orders` | array | Liste der Bestellungen |
| `pageInfo` | object | Paginierungsinformationen |
### `shopify_update_order`
Aktualisieren einer bestehenden Bestellung in Ihrem Shopify-Shop (Hinweis, Tags, E-Mail)
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `orderId` | string | Ja | Zu aktualisierende Bestell-ID \(gid://shopify/Order/123456789\) |
| `note` | string | Nein | Neuer Bestellhinweis |
| `tags` | array | Nein | Neue Bestell-Tags |
| `email` | string | Nein | Neue Kunden-E-Mail für die Bestellung |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `order` | object | Die aktualisierte Bestellung |
### `shopify_cancel_order`
Stornieren einer Bestellung in Ihrem Shopify-Shop
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `orderId` | string | Ja | Zu stornierende Bestell-ID \(gid://shopify/Order/123456789\) |
| `reason` | string | Ja | Stornierungsgrund \(CUSTOMER, DECLINED, FRAUD, INVENTORY, STAFF, OTHER\) |
| `notifyCustomer` | boolean | Nein | Ob der Kunde über die Stornierung benachrichtigt werden soll |
| `refund` | boolean | Nein | Ob die Bestellung erstattet werden soll |
| `restock` | boolean | Nein | Ob der Bestand wieder aufgefüllt werden soll |
| `staffNote` | string | Nein | Ein Hinweis zur Stornierung für Mitarbeiter |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `order` | object | Das Stornierungsergebnis |
### `shopify_create_customer`
Einen neuen Kunden in Ihrem Shopify-Shop erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `email` | string | Nein | E-Mail-Adresse des Kunden |
| `firstName` | string | Nein | Vorname des Kunden |
| `lastName` | string | Nein | Nachname des Kunden |
| `phone` | string | Nein | Telefonnummer des Kunden |
| `note` | string | Nein | Notiz zum Kunden |
| `tags` | array | Nein | Kundentags |
| `addresses` | array | Nein | Kundenanschriften |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `customer` | object | Der erstellte Kunde |
### `shopify_get_customer`
Einen einzelnen Kunden anhand der ID aus Ihrem Shopify-Shop abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain \(z.B. mystore.myshopify.com\) |
| `customerId` | string | Ja | Kunden-ID \(gid://shopify/Customer/123456789\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `customer` | object | Die Kundendetails |
### `shopify_list_customers`
Kunden aus deinem Shopify-Shop mit optionaler Filterung auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Deine Shopify-Shop-Domain \(z.B. meinshop.myshopify.com\) |
| `first` | number | Nein | Anzahl der zurückzugebenden Kunden \(Standard: 50, max: 250\) |
| `query` | string | Nein | Suchanfrage zum Filtern von Kunden \(z.B. "first_name:John" oder "last_name:Smith" oder "email:*@gmail.com" oder "tag:vip"\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `customers` | array | Liste der Kunden |
| `pageInfo` | object | Paginierungsinformationen |
### `shopify_update_customer`
Einen bestehenden Kunden in deinem Shopify-Shop aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Deine Shopify-Shop-Domain \(z.B. meinshop.myshopify.com\) |
| `customerId` | string | Ja | Kunden-ID zum Aktualisieren \(gid://shopify/Customer/123456789\) |
| `email` | string | Nein | Neue E-Mail-Adresse des Kunden |
| `firstName` | string | Nein | Neuer Vorname des Kunden |
| `lastName` | string | Nein | Neuer Nachname des Kunden |
| `phone` | string | Nein | Neue Telefonnummer des Kunden |
| `note` | string | Nein | Neue Notiz über den Kunden |
| `tags` | array | Nein | Neue Kunden-Tags |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `customer` | object | Der aktualisierte Kunde |
### `shopify_delete_customer`
Einen Kunden aus Ihrem Shopify-Shop löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain (z.B. meinshop.myshopify.com) |
| `customerId` | string | Ja | Kunden-ID zum Löschen (gid://shopify/Customer/123456789) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `deletedId` | string | Die ID des gelöschten Kunden |
### `shopify_list_inventory_items`
Bestandsartikel aus Ihrem Shopify-Shop auflisten. Verwenden Sie dies, um Bestandsartikel-IDs anhand der SKU zu finden.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain (z.B. meinshop.myshopify.com) |
| `first` | number | Nein | Anzahl der zurückzugebenden Bestandsartikel (Standard: 50, max: 250) |
| `query` | string | Nein | Suchanfrage zum Filtern von Bestandsartikeln (z.B. "sku:ABC123") |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `inventoryItems` | array | Liste der Bestandsartikel mit ihren IDs, SKUs und Lagerbeständen |
| `pageInfo` | object | Paginierungsinformationen |
### `shopify_get_inventory_level`
Bestandsmenge für eine Produktvariante an einem bestimmten Standort abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Shop-Domain (z.B. meinshop.myshopify.com) |
| `inventoryItemId` | string | Ja | Bestandsartikel-ID (gid://shopify/InventoryItem/123456789) |
| `locationId` | string | Nein | Standort-ID zum Filtern (optional) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `inventoryLevel` | object | Die Details zum Bestandsniveau |
### `shopify_adjust_inventory`
Bestandsmenge für eine Produktvariante an einem bestimmten Standort anpassen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Store-Domain (z.B. mystore.myshopify.com) |
| `inventoryItemId` | string | Ja | Inventar-Element-ID (gid://shopify/InventoryItem/123456789) |
| `locationId` | string | Ja | Standort-ID (gid://shopify/Location/123456789) |
| `delta` | number | Ja | Anzahl der Anpassung (positiv für Erhöhung, negativ für Verringerung) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `inventoryLevel` | object | Das Ergebnis der Bestandsanpassung |
### `shopify_list_locations`
Listet Bestandsstandorte aus Ihrem Shopify-Store auf. Verwenden Sie dies, um Standort-IDs zu finden, die für Bestandsoperationen benötigt werden.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Store-Domain (z.B. mystore.myshopify.com) |
| `first` | number | Nein | Anzahl der zurückzugebenden Standorte (Standard: 50, max: 250) |
| `includeInactive` | boolean | Nein | Ob deaktivierte Standorte einbezogen werden sollen (Standard: false) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `locations` | array | Liste der Standorte mit ihren IDs, Namen und Adressen |
| `pageInfo` | object | Paginierungsinformationen |
### `shopify_create_fulfillment`
Erstelle eine Fulfillment-Anfrage, um Bestellartikel als versendet zu markieren. Erfordert eine Fulfillment-Auftrags-ID (diese findest du in den Bestelldetails).
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Deine Shopify-Store-Domain \(z.B. meinshop.myshopify.com\) |
| `fulfillmentOrderId` | string | Ja | Die Fulfillment-Auftrags-ID \(z.B. gid://shopify/FulfillmentOrder/123456789\) |
| `trackingNumber` | string | Nein | Sendungsverfolgungsnummer |
| `trackingCompany` | string | Nein | Name des Versanddienstleisters \(z.B. UPS, FedEx, USPS, DHL\) |
| `trackingUrl` | string | Nein | URL zur Sendungsverfolgung |
| `notifyCustomer` | boolean | Nein | Ob eine Versandbestätigungs-E-Mail an den Kunden gesendet werden soll \(Standard: true\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `fulfillment` | object | Das erstellte Fulfillment mit Tracking-Informationen und erfüllten Artikeln |
### `shopify_list_collections`
Liste Produktkollektionen aus deinem Shopify-Shop auf. Filtere nach Titel, Typ (benutzerdefiniert/smart) oder Handle.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Deine Shopify-Store-Domain \(z.B. meinshop.myshopify.com\) |
| `first` | number | Nein | Anzahl der zurückzugebenden Kollektionen \(Standard: 50, max: 250\) |
| `query` | string | Nein | Suchanfrage zum Filtern von Kollektionen \(z.B. "title:Sommer" oder "collection_type:smart"\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `collections` | array | Liste der Kollektionen mit ihren IDs, Titeln und Produktanzahlen |
| `pageInfo` | object | Paginierungsinformationen |
### `shopify_get_collection`
Rufen Sie eine bestimmte Kollektion anhand ihrer ID ab, einschließlich ihrer Produkte. Verwenden Sie dies, um Produkte innerhalb einer Kollektion abzurufen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Ja | Ihre Shopify-Store-Domain \(z.B. mystore.myshopify.com\) |
| `collectionId` | string | Ja | Die Kollektions-ID \(z.B. gid://shopify/Collection/123456789\) |
| `productsFirst` | number | Nein | Anzahl der Produkte, die aus dieser Kollektion zurückgegeben werden sollen \(Standard: 50, max: 250\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `collection` | object | Die Kollektionsdetails einschließlich ihrer Produkte |
## Hinweise
- Kategorie: `tools`
- Typ: `shopify`

View File

@@ -120,6 +120,82 @@ Lesen Sie die neuesten Nachrichten aus Slack-Kanälen. Rufen Sie den Konversatio
| --------- | ---- | ----------- |
| `messages` | array | Array von Nachrichtenobjekten aus dem Kanal |
### `slack_list_channels`
Listet alle Kanäle in einem Slack-Workspace auf. Gibt öffentliche und private Kanäle zurück, auf die der Bot Zugriff hat.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `includePrivate` | boolean | Nein | Private Kanäle einschließen, in denen der Bot Mitglied ist \(Standard: true\) |
| `excludeArchived` | boolean | Nein | Archivierte Kanäle ausschließen \(Standard: true\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Kanäle \(Standard: 100, max: 200\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `channels` | array | Array von Kanalobjekten aus dem Workspace |
### `slack_list_members`
Listet alle Mitglieder (Benutzer-IDs) in einem Slack-Kanal auf. Verwenden Sie diese Funktion mit Get User Info, um IDs in Namen aufzulösen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `channel` | string | Ja | Kanal-ID, aus der Mitglieder aufgelistet werden sollen |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Mitglieder \(Standard: 100, max: 200\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `members` | array | Array von Benutzer-IDs, die Mitglieder des Kanals sind \(z.B. U1234567890\) |
### `slack_list_users`
Listet alle Benutzer in einem Slack-Workspace auf. Gibt Benutzerprofile mit Namen und Avataren zurück.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `includeDeleted` | boolean | Nein | Deaktivierte/gelöschte Benutzer einbeziehen \(Standard: false\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Benutzer \(Standard: 100, max: 200\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `users` | array | Array von Benutzerobjekten aus dem Workspace |
### `slack_get_user`
Ruft detaillierte Informationen über einen bestimmten Slack-Benutzer anhand seiner Benutzer-ID ab.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `userId` | string | Ja | Zu suchende Benutzer-ID \(z.B. U1234567890\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `user` | object | Detaillierte Benutzerinformationen |
### `slack_download`
Eine Datei von Slack herunterladen
@@ -148,7 +224,7 @@ Eine zuvor vom Bot in Slack gesendete Nachricht aktualisieren
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für Custom Bot |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `channel` | string | Ja | Kanal-ID, in dem die Nachricht gepostet wurde \(z.B. C1234567890\) |
| `timestamp` | string | Ja | Zeitstempel der zu aktualisierenden Nachricht \(z.B. 1405894322.002768\) |
| `text` | string | Ja | Neuer Nachrichtentext \(unterstützt Slack mrkdwn-Formatierung\) |
@@ -159,7 +235,7 @@ Eine zuvor vom Bot in Slack gesendete Nachricht aktualisieren
| --------- | ---- | ----------- |
| `message` | object | Vollständiges aktualisiertes Nachrichtenobjekt mit allen von Slack zurückgegebenen Eigenschaften |
| `content` | string | Erfolgsmeldung |
| `metadata` | object | Metadaten der aktualisierten Nachricht |
| `metadata` | object | Aktualisierte Nachrichtenmetadaten |
### `slack_delete_message`
@@ -170,7 +246,7 @@ Eine zuvor vom Bot in Slack gesendete Nachricht löschen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für Custom Bot |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `channel` | string | Ja | Kanal-ID, in dem die Nachricht gepostet wurde \(z.B. C1234567890\) |
| `timestamp` | string | Ja | Zeitstempel der zu löschenden Nachricht \(z.B. 1405894322.002768\) |
@@ -183,7 +259,7 @@ Eine zuvor vom Bot in Slack gesendete Nachricht löschen
### `slack_add_reaction`
Emoji-Reaktion zu einer Slack-Nachricht hinzufügen
Eine Emoji-Reaktion zu einer Slack-Nachricht hinzufügen
#### Eingabe

View File

@@ -0,0 +1,394 @@
---
title: SSH
description: Verbindung zu Remote-Servern über SSH herstellen
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ssh"
color="#000000"
/>
{/* MANUAL-CONTENT-START:intro */}
[SSH (Secure Shell)](https://en.wikipedia.org/wiki/Secure_Shell) ist ein weit verbreitetes Protokoll für die sichere Verbindung zu Remote-Servern, das es ermöglicht, Befehle auszuführen, Dateien zu übertragen und Systeme über verschlüsselte Kanäle zu verwalten.
Mit SSH-Unterstützung in Sim können Ihre Agenten:
- **Remote-Befehle ausführen**: Shell-Befehle auf jedem SSH-zugänglichen Server ausführen
- **Skripte hochladen und ausführen**: Einfaches Übertragen und Ausführen von mehrzeiligen Skripten für erweiterte Automatisierung
- **Dateien sicher übertragen**: Hoch- und Herunterladen von Dateien als Teil Ihrer Workflows (demnächst oder per Befehl)
- **Serververwaltung automatisieren**: Programmatische Durchführung von Updates, Wartung, Überwachung, Bereitstellungen und Konfigurationsaufgaben
- **Flexible Authentifizierung nutzen**: Verbindung mit Passwort- oder Private-Key-Authentifizierung, einschließlich Unterstützung für verschlüsselte Schlüssel
Die folgenden Sim SSH-Tools ermöglichen es Ihren Agenten, mit Servern als Teil größerer Automatisierungen zu interagieren:
- `ssh_execute_command`: Führt einen einzelnen Shell-Befehl remote aus und erfasst Ausgabe, Status und Fehler.
- `ssh_execute_script`: Lädt ein vollständiges mehrzeiliges Skript hoch und führt es auf dem Remote-System aus.
- (Weitere Tools wie Dateiübertragung kommen in Kürze.)
Durch die Integration von SSH in Ihre Agenten-Workflows können Sie sicheren Zugriff, Remote-Operationen und Server-Orchestrierung automatisieren und so DevOps, IT-Automatisierung und benutzerdefinierte Remote-Verwaltung rationalisieren, alles innerhalb von Sim.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Führen Sie Befehle aus, übertragen Sie Dateien und verwalten Sie Remote-Server über SSH. Unterstützt Passwort- und Private-Key-Authentifizierung für sicheren Serverzugriff.
## Tools
### `ssh_execute_command`
Einen Shell-Befehl auf einem Remote-SSH-Server ausführen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `command` | string | Ja | Shell-Befehl, der auf dem Remote-Server ausgeführt werden soll |
| `workingDirectory` | string | Nein | Arbeitsverzeichnis für die Befehlsausführung |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `stdout` | string | Standardausgabe des Befehls |
| `stderr` | string | Standardfehlerausgabe |
| `exitCode` | number | Exit-Code des Befehls |
| `success` | boolean | Ob der Befehl erfolgreich war (Exit-Code 0) |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_execute_script`
Ein mehrzeiliges Skript auf einem entfernten SSH-Server hochladen und ausführen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port (Standard: 22) |
| `username` | string | Ja | SSH-Benutzername |
| `password` | string | Nein | Passwort für die Authentifizierung (falls 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 |
| `script` | string | Ja | Skriptinhalt zur Ausführung (bash, python, etc.) |
| `interpreter` | string | Nein | Skript-Interpreter (Standard: /bin/bash) |
| `workingDirectory` | string | Nein | Arbeitsverzeichnis für die Skriptausführung |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `stdout` | string | Standardausgabe des Skripts |
| `stderr` | string | Standardfehlerausgabe |
| `exitCode` | number | Exit-Code des Skripts |
| `success` | boolean | Ob das Skript erfolgreich war (Exit-Code 0) |
| `scriptPath` | string | Temporärer Pfad, wohin das Skript hochgeladen wurde |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_check_command_exists`
Überprüfen, ob ein Befehl/Programm auf dem entfernten SSH-Server existiert
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `commandName` | string | Ja | Zu überprüfender Befehlsname \(z.B. docker, git, python3\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `commandExists` | boolean | Ob der Befehl existiert |
| `commandPath` | string | Vollständiger Pfad zum Befehl \(falls gefunden\) |
| `version` | string | Versionsinformation des Befehls \(falls zutreffend\) |
| `message` | string | Statusmeldung der Operation |
### `ssh_upload_file`
Eine Datei auf einen entfernten SSH-Server hochladen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `fileContent` | string | Ja | Hochzuladender Dateiinhalt \(base64-kodiert für Binärdateien\) |
| `fileName` | string | Ja | Name der hochzuladenden Datei |
| `remotePath` | string | Ja | Zielpfad auf dem entfernten Server |
| `permissions` | string | Nein | Dateiberechtigungen \(z.B. 0644\) |
| `overwrite` | boolean | Nein | Ob bestehende Dateien überschrieben werden sollen \(Standard: true\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `uploaded` | boolean | Ob die Datei erfolgreich hochgeladen wurde |
| `remotePath` | string | Endgültiger Pfad auf dem Remote-Server |
| `size` | number | Dateigröße in Bytes |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_download_file`
Eine Datei von einem Remote-SSH-Server herunterladen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 der Datei auf dem Remote-Server |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `downloaded` | boolean | Ob die Datei erfolgreich heruntergeladen wurde |
| `fileContent` | string | Dateiinhalt \(base64-kodiert für Binärdateien\) |
| `fileName` | string | Name der heruntergeladenen Datei |
| `remotePath` | string | Quellpfad auf dem Remote-Server |
| `size` | number | Dateigröße in Bytes |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_list_directory`
Dateien und Verzeichnisse in einem Remote-Verzeichnis auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `path` | string | Ja | Remote-Verzeichnispfad zum Auflisten |
| `detailed` | boolean | Nein | Dateidetails einschließen \(Größe, Berechtigungen, Änderungsdatum\) |
| `recursive` | boolean | Nein | Unterverzeichnisse rekursiv auflisten \(Standard: false\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `entries` | array | Array von Datei- und Verzeichniseinträgen |
### `ssh_check_file_exists`
Überprüfen, ob eine Datei oder ein Verzeichnis auf dem Remote-SSH-Server existiert
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `path` | string | Ja | Remote-Datei- oder Verzeichnispfad zur Überprüfung |
| `type` | string | Nein | Erwarteter Typ: Datei, Verzeichnis oder beliebig \(Standard: beliebig\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `exists` | boolean | Ob der Pfad existiert |
| `type` | string | Typ des Pfads (Datei, Verzeichnis, Symlink, nicht_gefunden) |
| `size` | number | Dateigröße, wenn es eine Datei ist |
| `permissions` | string | Dateiberechtigungen (z.B. 0755) |
| `modified` | string | Zeitstempel der letzten Änderung |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_create_directory`
Erstellt ein Verzeichnis auf dem entfernten SSH-Server
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port (Standard: 22) |
| `username` | string | Ja | SSH-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 |
| `path` | string | Ja | Verzeichnispfad zum Erstellen |
| `recursive` | boolean | Nein | Übergeordnete Verzeichnisse erstellen, wenn sie nicht existieren (Standard: true) |
| `permissions` | string | Nein | Verzeichnisberechtigungen (Standard: 0755) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `created` | boolean | Ob das Verzeichnis erfolgreich erstellt wurde |
| `remotePath` | string | Erstellter Verzeichnispfad |
| `alreadyExists` | boolean | Ob das Verzeichnis bereits existierte |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_delete_file`
Löschen einer Datei oder eines Verzeichnisses vom entfernten SSH-Server
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `path` | string | Ja | Zu löschender Pfad |
| `recursive` | boolean | Nein | Verzeichnisse rekursiv löschen \(Standard: false\) |
| `force` | boolean | Nein | Löschen ohne Bestätigung erzwingen \(Standard: false\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `deleted` | boolean | Ob der Pfad erfolgreich gelöscht wurde |
| `remotePath` | string | Gelöschter Pfad |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_move_rename`
Verschieben oder umbenennen einer Datei oder eines Verzeichnisses auf dem entfernten SSH-Server
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `sourcePath` | string | Ja | Aktueller Pfad der Datei oder des Verzeichnisses |
| `destinationPath` | string | Ja | Neuer Pfad für die Datei oder das Verzeichnis |
| `overwrite` | boolean | Nein | Ziel überschreiben, falls es existiert \(Standard: false\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `moved` | boolean | Ob der Vorgang erfolgreich war |
| `sourcePath` | string | Ursprünglicher Pfad |
| `destinationPath` | string | Neuer Pfad |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_get_system_info`
Systeminformationen vom entfernten SSH-Server abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `hostname` | string | Server-Hostname |
| `os` | string | Betriebssystem \(z.B. Linux, Darwin\) |
| `architecture` | string | CPU-Architektur \(z.B. x64, arm64\) |
| `uptime` | number | Systemlaufzeit in Sekunden |
| `memory` | json | Speicherinformationen \(gesamt, frei, verwendet\) |
| `diskSpace` | json | Festplattenplatzinformationen \(gesamt, frei, verwendet\) |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_read_file_content`
Inhalt einer entfernten Datei lesen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `path` | string | Ja | Pfad zur entfernten Datei, die gelesen werden soll |
| `encoding` | string | Nein | Dateikodierung \(Standard: utf-8\) |
| `maxSize` | number | Nein | Maximale zu lesende Dateigröße in MB \(Standard: 10\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `content` | string | Dateiinhalt als Zeichenfolge |
| `size` | number | Dateigröße in Bytes |
| `lines` | number | Anzahl der Zeilen in der Datei |
| `remotePath` | string | Pfad zur entfernten Datei |
| `message` | string | Statusmeldung des Vorgangs |
### `ssh_write_file_content`
Inhalt in eine entfernte Datei schreiben oder anhängen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `host` | string | Ja | SSH-Server-Hostname oder IP-Adresse |
| `port` | number | Ja | SSH-Server-Port \(Standard: 22\) |
| `username` | string | Ja | SSH-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 |
| `path` | string | Ja | Pfad zur entfernten Datei, in die geschrieben werden soll |
| `content` | string | Ja | Inhalt, der in die Datei geschrieben werden soll |
| `mode` | string | Nein | Schreibmodus: überschreiben, anhängen oder erstellen \(Standard: überschreiben\) |
| `permissions` | string | Nein | Dateiberechtigungen \(z.B. 0644\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `written` | boolean | Ob die Datei erfolgreich geschrieben wurde |
| `remotePath` | string | Dateipfad |
| `size` | number | Endgültige Dateigröße in Bytes |
| `message` | string | Statusmeldung der Operation |
## Hinweise
- Kategorie: `tools`
- Typ: `ssh`

View File

@@ -0,0 +1,566 @@
---
title: WordPress
description: WordPress-Inhalte verwalten
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="wordpress"
color="#21759B"
/>
{/* MANUAL-CONTENT-START:intro */}
[WordPress](https://wordpress.org/) ist das weltweit führende Open-Source-Content-Management-System, das es einfach macht, Websites, Blogs und alle Arten von Online-Inhalten zu veröffentlichen und zu verwalten. Mit WordPress können Sie Beiträge oder Seiten erstellen und aktualisieren, Ihre Inhalte mit Kategorien und Schlagwörtern organisieren, Mediendateien verwalten, Kommentare moderieren und Benutzerkonten verwalten so können Sie alles von persönlichen Blogs bis hin zu komplexen Unternehmenswebsites betreiben.
Die Integration von Sim mit WordPress ermöglicht es Ihren Agenten, wesentliche Website-Aufgaben zu automatisieren. Sie können programmatisch neue Blogbeiträge mit spezifischen Titeln, Inhalten, Kategorien, Schlagwörtern und Hauptbildern erstellen. Das Aktualisieren bestehender Beiträge wie das Ändern von Inhalten, Titeln oder Veröffentlichungsstatus ist unkompliziert. Sie können Inhalte auch veröffentlichen oder als Entwürfe speichern, statische Seiten verwalten, mit Medien-Uploads arbeiten, Kommentare überwachen und Inhalte relevanten Organisationstaxonomien zuweisen.
Durch die Verbindung von WordPress mit Ihren Automatisierungen ermöglicht Sim Ihren Agenten, die Veröffentlichung von Inhalten, redaktionelle Arbeitsabläufe und die tägliche Website-Verwaltung zu optimieren so bleibt Ihre Website ohne manuellen Aufwand aktuell, organisiert und sicher.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integrieren Sie WordPress, um Beiträge, Seiten, Medien, Kommentare, Kategorien, Schlagwörter und Benutzer zu erstellen, zu aktualisieren und zu verwalten. Unterstützt WordPress.com-Websites über OAuth und selbst gehostete WordPress-Websites mit Anwendungspasswort-Authentifizierung.
## Tools
### `wordpress_create_post`
Einen neuen Blogbeitrag in WordPress.com erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder meineseite.wordpress.com\) |
| `title` | string | Ja | Beitragstitel |
| `content` | string | Nein | Beitragsinhalt \(HTML oder Klartext\) |
| `status` | string | Nein | Beitragsstatus: publish, draft, pending, private oder future |
| `excerpt` | string | Nein | Beitragsauszug |
| `categories` | string | Nein | Kommagetrennte Kategorie-IDs |
| `tags` | string | Nein | Kommagetrennte Schlagwort-IDs |
| `featuredMedia` | number | Nein | Medien-ID des Hauptbildes |
| `slug` | string | Nein | URL-Slug für den Beitrag |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `post` | object | Der erstellte Beitrag |
### `wordpress_update_post`
Aktualisieren eines vorhandenen Blog-Beitrags in WordPress.com
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `postId` | number | Ja | Die ID des zu aktualisierenden Beitrags |
| `title` | string | Nein | Beitragstitel |
| `content` | string | Nein | Beitragsinhalt \(HTML oder Klartext\) |
| `status` | string | Nein | Beitragsstatus: publish, draft, pending, private oder future |
| `excerpt` | string | Nein | Beitragsauszug |
| `categories` | string | Nein | Kommagetrennte Kategorie-IDs |
| `tags` | string | Nein | Kommagetrennte Tag-IDs |
| `featuredMedia` | number | Nein | Medien-ID des Beitragsbilds |
| `slug` | string | Nein | URL-Slug für den Beitrag |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `post` | object | Der aktualisierte Beitrag |
### `wordpress_delete_post`
Löschen eines Blog-Beitrags von WordPress.com
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `postId` | number | Ja | Die ID des zu löschenden Beitrags |
| `force` | boolean | Nein | Papierkorb umgehen und dauerhaft löschen erzwingen |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `deleted` | boolean | Gibt an, ob der Beitrag gelöscht wurde |
| `post` | object | Der gelöschte Beitrag |
### `wordpress_get_post`
Einen einzelnen Blog-Beitrag von WordPress.com anhand der ID abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `postId` | number | Ja | Die ID des abzurufenden Beitrags |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `post` | object | Der abgerufene Beitrag |
### `wordpress_list_posts`
Blog-Beiträge von WordPress.com mit optionalen Filtern auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Beiträge pro Seite \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
| `status` | string | Nein | Beitragsstatus-Filter: publish, draft, pending, private |
| `author` | number | Nein | Nach Autor-ID filtern |
| `categories` | string | Nein | Kommagetrennte Kategorie-IDs zum Filtern |
| `tags` | string | Nein | Kommagetrennte Tag-IDs zum Filtern |
| `search` | string | Nein | Suchbegriff zum Filtern von Beiträgen |
| `orderBy` | string | Nein | Sortieren nach Feld: date, id, title, slug, modified |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `posts` | array | Liste der Beiträge |
### `wordpress_create_page`
Eine neue Seite in WordPress.com erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder meinseite.wordpress.com\) |
| `title` | string | Ja | Seitentitel |
| `content` | string | Nein | Seiteninhalt \(HTML oder Klartext\) |
| `status` | string | Nein | Seitenstatus: publish, draft, pending, private |
| `excerpt` | string | Nein | Seitenauszug |
| `parent` | number | Nein | Übergeordnete Seiten-ID für hierarchische Seiten |
| `menuOrder` | number | Nein | Reihenfolge im Seitenmenü |
| `featuredMedia` | number | Nein | Medien-ID des Beitragsbilds |
| `slug` | string | Nein | URL-Slug für die Seite |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `page` | object | Die erstellte Seite |
### `wordpress_update_page`
Eine bestehende Seite in WordPress.com aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder meinseite.wordpress.com\) |
| `pageId` | number | Ja | Die ID der zu aktualisierenden Seite |
| `title` | string | Nein | Seitentitel |
| `content` | string | Nein | Seiteninhalt \(HTML oder Klartext\) |
| `status` | string | Nein | Seitenstatus: publish, draft, pending, private |
| `excerpt` | string | Nein | Seitenauszug |
| `parent` | number | Nein | Übergeordnete Seiten-ID für hierarchische Seiten |
| `menuOrder` | number | Nein | Reihenfolge im Seitenmenü |
| `featuredMedia` | number | Nein | Medien-ID des Beitragsbilds |
| `slug` | string | Nein | URL-Slug für die Seite |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `page` | object | Die aktualisierte Seite |
### `wordpress_delete_page`
Eine Seite von WordPress.com löschen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `pageId` | number | Ja | Die ID der zu löschenden Seite |
| `force` | boolean | Nein | Papierkorb umgehen und dauerhaft löschen erzwingen |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `deleted` | boolean | Ob die Seite gelöscht wurde |
| `page` | object | Die gelöschte Seite |
### `wordpress_get_page`
Eine einzelne Seite von WordPress.com anhand der ID abrufen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `pageId` | number | Ja | Die ID der abzurufenden Seite |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `page` | object | Die abgerufene Seite |
### `wordpress_list_pages`
Seiten von WordPress.com mit optionalen Filtern auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Seiten pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
| `status` | string | Nein | Seitenstatus-Filter: publish, draft, pending, private |
| `parent` | number | Nein | Nach übergeordneter Seiten-ID filtern |
| `search` | string | Nein | Suchbegriff zum Filtern von Seiten |
| `orderBy` | string | Nein | Sortieren nach Feld: date, id, title, slug, modified, menu_order |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `pages` | array | Liste der Seiten |
### `wordpress_upload_media`
Eine Mediendatei (Bild, Video, Dokument) zu WordPress.com hochladen
#### Eingabe
| 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\) |
| `title` | string | Nein | Medientitel |
| `caption` | string | Nein | Medienunterschrift |
| `altText` | string | Nein | Alternativer Text für Barrierefreiheit |
| `description` | string | Nein | Medienbeschreibung |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `media` | object | Das hochgeladene Medienelement |
### `wordpress_get_media`
Ein einzelnes Medienelement von WordPress.com anhand der ID abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Website-ID oder Domain \(z.B. 12345678 oder meinwebsite.wordpress.com\) |
| `mediaId` | number | Ja | Die ID des abzurufenden Medienelements |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `media` | object | Das abgerufene Medienelement |
### `wordpress_list_media`
Medienelemente aus der WordPress.com-Medienbibliothek auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Medienelemente pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitenzahl für Paginierung |
| `search` | string | Nein | Suchbegriff zum Filtern von Medien |
| `mediaType` | string | Nein | Nach Medientyp filtern: image, video, audio, application |
| `mimeType` | string | Nein | Nach spezifischem MIME-Typ filtern \(z.B. image/jpeg\) |
| `orderBy` | string | Nein | Sortieren nach Feld: date, id, title, slug |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `media` | array | Liste der Medienelemente |
### `wordpress_delete_media`
Ein Medienelement von WordPress.com löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `mediaId` | number | Ja | Die ID des zu löschenden Medienelements |
| `force` | boolean | Nein | Erzwungenes Löschen \(Medien haben keinen Papierkorb, daher ist das Löschen permanent\) |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `deleted` | boolean | Ob das Medium gelöscht wurde |
| `media` | object | Das gelöschte Medienelement |
### `wordpress_create_comment`
Einen neuen Kommentar zu einem WordPress.com-Beitrag erstellen
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `postId` | number | Ja | Die ID des Beitrags, der kommentiert werden soll |
| `content` | string | Ja | Kommentarinhalt |
| `parent` | number | Nein | Übergeordnete Kommentar-ID für Antworten |
| `authorName` | string | Nein | Anzeigename des Kommentarautors |
| `authorEmail` | string | Nein | E-Mail des Kommentarautors |
| `authorUrl` | string | Nein | URL des Kommentarautors |
#### Output
| Parameter | Type | Beschreibung |
| --------- | ---- | ----------- |
| `comment` | object | Der erstellte Kommentar |
### `wordpress_list_comments`
Kommentare von WordPress.com mit optionalen Filtern auflisten
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Kommentare pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitenzahl für Paginierung |
| `postId` | number | Nein | Nach Beitrags-ID filtern |
| `status` | string | Nein | Nach Kommentarstatus filtern: approved, hold, spam, trash |
| `search` | string | Nein | Suchbegriff zum Filtern von Kommentaren |
| `orderBy` | string | Nein | Sortieren nach Feld: date, id, parent |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `comments` | array | Liste der Kommentare |
### `wordpress_update_comment`
Aktualisieren eines Kommentars in WordPress.com (Inhalt oder Status)
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `commentId` | number | Ja | Die ID des zu aktualisierenden Kommentars |
| `content` | string | Nein | Aktualisierter Kommentarinhalt |
| `status` | string | Nein | Kommentarstatus: approved, hold, spam, trash |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `comment` | object | Der aktualisierte Kommentar |
### `wordpress_delete_comment`
Löschen eines Kommentars von WordPress.com
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `commentId` | number | Ja | Die ID des zu löschenden Kommentars |
| `force` | boolean | Nein | Papierkorb umgehen und dauerhaft löschen erzwingen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `deleted` | boolean | Ob der Kommentar gelöscht wurde |
| `comment` | object | Der gelöschte Kommentar |
### `wordpress_create_category`
Erstellen einer neuen Kategorie in WordPress.com
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder meinseite.wordpress.com\) |
| `name` | string | Ja | Kategoriename |
| `description` | string | Nein | Kategoriebeschreibung |
| `parent` | number | Nein | Übergeordnete Kategorie-ID für hierarchische Kategorien |
| `slug` | string | Nein | URL-Slug für die Kategorie |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `category` | object | Die erstellte Kategorie |
### `wordpress_list_categories`
Kategorien von WordPress.com auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder meinseite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Kategorien pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitenzahl für Paginierung |
| `search` | string | Nein | Suchbegriff zum Filtern von Kategorien |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `categories` | array | Liste der Kategorien |
### `wordpress_create_tag`
Einen neuen Tag in WordPress.com erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder meinseite.wordpress.com\) |
| `name` | string | Ja | Tag-Name |
| `description` | string | Nein | Tag-Beschreibung |
| `slug` | string | Nein | URL-Slug für den Tag |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `tag` | object | Der erstellte Tag |
### `wordpress_list_tags`
Tags von WordPress.com auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Tags pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
| `search` | string | Nein | Suchbegriff zum Filtern von Tags |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `tags` | array | Liste der Tags |
### `wordpress_get_current_user`
Informationen über den aktuell authentifizierten WordPress.com-Benutzer abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `user` | object | Der aktuelle Benutzer |
### `wordpress_list_users`
Benutzer von WordPress.com auflisten (erfordert Administratorrechte)
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `perPage` | number | Nein | Anzahl der Benutzer pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitennummer für Paginierung |
| `search` | string | Nein | Suchbegriff zum Filtern von Benutzern |
| `roles` | string | Nein | Kommagetrennte Rollennamen zum Filtern |
| `order` | string | Nein | Sortierrichtung: asc oder desc |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `users` | array | Liste der Benutzer |
### `wordpress_get_user`
Einen bestimmten Benutzer von WordPress.com anhand der ID abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `userId` | number | Ja | Die ID des abzurufenden Benutzers |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `user` | object | Der abgerufene Benutzer |
### `wordpress_search_content`
Suche über alle Inhaltstypen in WordPress.com (Beiträge, Seiten, Medien)
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Ja | WordPress.com-Site-ID oder Domain \(z.B. 12345678 oder mysite.wordpress.com\) |
| `query` | string | Ja | Suchanfrage |
| `perPage` | number | Nein | Anzahl der Ergebnisse pro Anfrage \(Standard: 10, max: 100\) |
| `page` | number | Nein | Seitenzahl für Paginierung |
| `type` | string | Nein | Nach Inhaltstyp filtern: post, page, attachment |
| `subtype` | string | Nein | Nach Beitragstyp-Slug filtern \(z.B. post, page\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `results` | array | Suchergebnisse |
## Notizen
- Kategorie: `tools`
- Typ: `wordpress`

View File

@@ -109,11 +109,14 @@ Ein neues Ticket in Zendesk erstellen mit Unterstützung für benutzerdefinierte
| `subdomain` | string | Ja | Ihre Zendesk-Subdomain |
| `subject` | string | Nein | Ticket-Betreff \(optional - wird automatisch generiert, wenn nicht angegeben\) |
| `description` | string | Ja | Ticket-Beschreibung \(erster Kommentar\) |
| `priority` | string | Nein | Priorität \(niedrig, normal, hoch, dringend\) |
| `status` | string | Nein | Status \(neu, offen, ausstehend, angehalten, gelöst, geschlossen\) |
| `type` | string | Nein | Typ \(problem, vorfall, frage, aufgabe\) |
| `priority` | string | Nein | Priorität \(low, normal, high, urgent\) |
| `status` | string | Nein | Status \(new, open, pending, hold, solved, closed\) |
| `type` | string | Nein | Typ \(problem, incident, question, task\) |
| `tags` | string | Nein | Kommagetrennte Tags |
| `assigneeId` | string | Nein | Bearbeiter-Benutzer-ID |
| `groupId` | string | Nein | Gruppen-ID |
| `requesterId` | string | Nein | Anforderer-Benutzer-ID |
| `customFields` | string | Nein | Benutzerdefinierte Felder als JSON-Objekt \(z.B. \{"field_id": "value"\}\) |
#### Output

View File

@@ -0,0 +1,250 @@
---
title: Zoom
description: Zoom-Meetings und -Aufzeichnungen erstellen und verwalten
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="zoom"
color="#2D8CFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Zoom](https://zoom.us/) ist eine führende cloudbasierte Kommunikationsplattform für Videomeetings, Webinare und Online-Zusammenarbeit. Sie ermöglicht Benutzern und Organisationen, Meetings einfach zu planen, zu hosten und zu verwalten und bietet Tools für Bildschirmfreigabe, Chat, Aufzeichnungen und mehr.
Mit Zoom können Sie:
- **Meetings planen und verwalten**: Sofortige oder geplante Meetings erstellen, einschließlich wiederkehrender Termine
- **Meeting-Optionen konfigurieren**: Meeting-Passwörter festlegen, Warteräume aktivieren und Video/Audio der Teilnehmer steuern
- **Einladungen versenden und Details teilen**: Meeting-Einladungen und Informationen zum einfachen Teilen abrufen
- **Meeting-Daten abrufen und aktualisieren**: Auf Meeting-Details zugreifen, bestehende Meetings ändern und Einstellungen programmgesteuert verwalten
In Sim ermöglicht die Zoom-Integration Ihren Agenten die Automatisierung der Planung und Meeting-Verwaltung. Verwenden Sie Tool-Aktionen, um:
- Neue Meetings mit benutzerdefinierten Einstellungen programmgesteuert zu erstellen
- Alle Meetings für einen bestimmten Benutzer (oder sich selbst) aufzulisten
- Details oder Einladungen für jedes Meeting abzurufen
- Bestehende Meetings direkt aus Ihren Automatisierungen zu aktualisieren oder zu löschen
Diese Funktionen ermöglichen es Ihnen, die Remote-Zusammenarbeit zu optimieren, wiederkehrende Videositzungen zu automatisieren und die Zoom-Umgebung Ihrer Organisation als Teil Ihrer Workflows zu verwalten.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Integrieren Sie Zoom in Workflows. Erstellen, listen, aktualisieren und löschen Sie Zoom-Meetings. Rufen Sie Meeting-Details, Einladungen, Aufzeichnungen und Teilnehmer ab. Verwalten Sie Cloud-Aufzeichnungen programmgesteuert.
## Tools
### `zoom_create_meeting`
Ein neues Zoom-Meeting erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Ja | Die Benutzer-ID oder E-Mail-Adresse. Verwenden Sie "me" für den authentifizierten Benutzer. |
| `topic` | string | Ja | Meeting-Thema |
| `type` | number | Nein | Meeting-Typ: 1=sofort, 2=geplant, 3=wiederkehrend ohne feste Zeit, 8=wiederkehrend mit fester Zeit |
| `startTime` | string | Nein | Meeting-Startzeit im ISO 8601-Format \(z.B. 2025-06-03T10:00:00Z\) |
| `duration` | number | Nein | Meeting-Dauer in Minuten |
| `timezone` | string | Nein | Zeitzone für das Meeting \(z.B. Europe/Berlin\) |
| `password` | string | Nein | Meeting-Passwort |
| `agenda` | string | Nein | Meeting-Agenda |
| `hostVideo` | boolean | Nein | Mit eingeschaltetem Host-Video starten |
| `participantVideo` | boolean | Nein | Mit eingeschaltetem Teilnehmer-Video starten |
| `joinBeforeHost` | boolean | Nein | Teilnehmern erlauben, vor dem Host beizutreten |
| `muteUponEntry` | boolean | Nein | Teilnehmer beim Betreten stummschalten |
| `waitingRoom` | boolean | Nein | Warteraum aktivieren |
| `autoRecording` | string | Nein | Automatische Aufzeichnungseinstellung: local, cloud oder none |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `meeting` | object | Das erstellte Meeting mit allen seinen Eigenschaften |
### `zoom_list_meetings`
Alle Meetings eines Zoom-Benutzers auflisten
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Ja | Die Benutzer-ID oder E-Mail-Adresse. Verwenden Sie "me" für den authentifizierten Benutzer. |
| `type` | string | Nein | Meeting-Typ-Filter: scheduled, live, upcoming, upcoming_meetings oder previous_meetings |
| `pageSize` | number | Nein | Anzahl der Datensätze pro Seite (max. 300) |
| `nextPageToken` | string | Nein | Token für Paginierung, um die nächste Ergebnisseite zu erhalten |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `meetings` | array | Liste der Meetings |
| `pageInfo` | object | Paginierungsinformationen |
### `zoom_get_meeting`
Details eines bestimmten Zoom-Meetings abrufen
#### Input
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die Meeting-ID |
| `occurrenceId` | string | Nein | Vorkommnis-ID für wiederkehrende Meetings |
| `showPreviousOccurrences` | boolean | Nein | Frühere Vorkommnisse für wiederkehrende Meetings anzeigen |
#### Output
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `meeting` | object | Die Meeting-Details |
### `zoom_update_meeting`
Ein bestehendes Zoom-Meeting aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die zu aktualisierende Meeting-ID |
| `topic` | string | Nein | Meeting-Thema |
| `type` | number | Nein | Meeting-Typ: 1=sofort, 2=geplant, 3=wiederkehrend ohne feste Zeit, 8=wiederkehrend mit fester Zeit |
| `startTime` | string | Nein | Meeting-Startzeit im ISO 8601-Format \(z.B. 2025-06-03T10:00:00Z\) |
| `duration` | number | Nein | Meeting-Dauer in Minuten |
| `timezone` | string | Nein | Zeitzone für das Meeting \(z.B. America/Los_Angeles\) |
| `password` | string | Nein | Meeting-Passwort |
| `agenda` | string | Nein | Meeting-Agenda |
| `hostVideo` | boolean | Nein | Mit eingeschalteter Host-Kamera starten |
| `participantVideo` | boolean | Nein | Mit eingeschalteter Teilnehmer-Kamera starten |
| `joinBeforeHost` | boolean | Nein | Teilnehmern erlauben, vor dem Host beizutreten |
| `muteUponEntry` | boolean | Nein | Teilnehmer beim Betreten stummschalten |
| `waitingRoom` | boolean | Nein | Warteraum aktivieren |
| `autoRecording` | string | Nein | Automatische Aufzeichnungseinstellung: local, cloud oder none |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob das Meeting erfolgreich aktualisiert wurde |
### `zoom_delete_meeting`
Ein Zoom-Meeting löschen oder abbrechen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die zu löschende Meeting-ID |
| `occurrenceId` | string | Nein | Vorkommnis-ID zum Löschen eines bestimmten Vorkommnisses eines wiederkehrenden Meetings |
| `scheduleForReminder` | boolean | Nein | Erinnerungs-E-Mail zur Stornierung an Teilnehmer senden |
| `cancelMeetingReminder` | boolean | Nein | Stornierungsmail an Teilnehmer und alternative Hosts senden |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob das Meeting erfolgreich gelöscht wurde |
### `zoom_get_meeting_invitation`
Abrufen des Einladungstextes für ein Zoom-Meeting
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die Meeting-ID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `invitation` | string | Der Einladungstext für das Meeting |
### `zoom_list_recordings`
Alle Cloud-Aufzeichnungen für einen Zoom-Benutzer auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Ja | Die Benutzer-ID oder E-Mail-Adresse. Verwenden Sie "me" für den authentifizierten Benutzer. |
| `from` | string | Nein | Startdatum im Format jjjj-mm-tt \(innerhalb der letzten 6 Monate\) |
| `to` | string | Nein | Enddatum im Format jjjj-mm-tt |
| `pageSize` | number | Nein | Anzahl der Datensätze pro Seite \(max. 300\) |
| `nextPageToken` | string | Nein | Token für die Paginierung, um die nächste Ergebnisseite zu erhalten |
| `trash` | boolean | Nein | Auf true setzen, um Aufzeichnungen aus dem Papierkorb aufzulisten |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `recordings` | array | Liste der Aufzeichnungen |
| `pageInfo` | object | Paginierungsinformationen |
### `zoom_get_meeting_recordings`
Alle Aufzeichnungen für ein bestimmtes Zoom-Meeting abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die Meeting-ID oder Meeting-UUID |
| `includeFolderItems` | boolean | Nein | Elemente innerhalb eines Ordners einschließen |
| `ttl` | number | Nein | Gültigkeitsdauer für Download-URLs in Sekunden \(max 604800\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `recording` | object | Die Meeting-Aufzeichnung mit allen Dateien |
### `zoom_delete_recording`
Cloud-Aufzeichnungen für ein Zoom-Meeting löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die Meeting-ID oder Meeting-UUID |
| `recordingId` | string | Nein | Spezifische Aufzeichnungsdatei-ID zum Löschen. Wenn nicht angegeben, werden alle Aufzeichnungen gelöscht. |
| `action` | string | Nein | Löschaktion: "trash" \(in Papierkorb verschieben\) oder "delete" \(dauerhaft löschen\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob die Aufzeichnung erfolgreich gelöscht wurde |
### `zoom_list_past_participants`
Teilnehmer eines vergangenen Zoom-Meetings auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Ja | Die vergangene Meeting-ID oder UUID |
| `pageSize` | number | Nein | Anzahl der Datensätze pro Seite \(max 300\) |
| `nextPageToken` | string | Nein | Token für Paginierung, um die nächste Ergebnisseite zu erhalten |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `participants` | array | Liste der Besprechungsteilnehmer |
| `pageInfo` | object | Paginierungsinformationen |
## Hinweise
- Kategorie: `tools`
- Typ: `zoom`

View File

@@ -66,16 +66,16 @@ Um Umgebungsvariablen in Ihren Workflows zu referenzieren, verwenden Sie die `{{
height={350}
/>
## Variablen-Präzedenz
## Wie Variablen aufgelöst werden
Wenn Sie sowohl persönliche als auch Workspace-Variablen mit demselben Namen haben:
**Workspace-Variablen haben immer Vorrang** vor persönlichen Variablen, unabhängig davon, wer den Workflow ausführt.
1. **Workspace-Variablen haben Vorrang** vor persönlichen Variablen
2. Dies verhindert Namenskonflikte und gewährleistet ein konsistentes Verhalten in Team-Workflows
3. Wenn eine Workspace-Variable existiert, wird die persönliche Variable mit demselben Namen ignoriert
Wenn keine Workspace-Variable für einen Schlüssel existiert, werden persönliche Variablen verwendet:
- **Manuelle Ausführungen (UI)**: Ihre persönlichen Variablen
- **Automatisierte Ausführungen (API, Webhook, Zeitplan, bereitgestellter Chat)**: Persönliche Variablen des Workflow-Besitzers
<Callout type="warning">
Wählen Sie Variablennamen sorgfältig, um unbeabsichtigte Überschreibungen zu vermeiden. Erwägen Sie, persönliche Variablen mit Ihren Initialen oder Workspace-Variablen mit dem Projektnamen zu versehen.
<Callout type="info">
Persönliche Variablen eignen sich am besten zum Testen. Verwenden Sie Workspace-Variablen für Produktions-Workflows.
</Callout>
## Sicherheits-Best-Practices

View File

@@ -240,32 +240,78 @@ Retrieve execution details including the workflow state snapshot.
</Tab>
</Tabs>
## Webhook Subscriptions
## Notifications
Get real-time notifications when workflow executions complete. Webhooks are configured through the Sim UI in the workflow editor.
Get real-time notifications when workflow executions complete via webhook, email, or Slack. Notifications are configured at the workspace level from the Logs page.
### Configuration
Webhooks can be configured for each workflow through the workflow editor UI. Click the webhook icon in the control bar to set up your webhook subscriptions.
Configure notifications from the Logs page by clicking the menu button and selecting "Configure Notifications".
<div className="mx-auto w-full overflow-hidden rounded-lg">
<Video src="configure-webhook.mp4" width={700} height={450} />
</div>
**Notification Channels:**
- **Webhook**: Send HTTP POST requests to your endpoint
- **Email**: Receive email notifications with execution details
- **Slack**: Post messages to a Slack channel
**Available Configuration Options:**
**Workflow Selection:**
- Select specific workflows to monitor
- Or choose "All Workflows" to include current and future workflows
**Filtering Options:**
- `levelFilter`: Log levels to receive (`info`, `error`)
- `triggerFilter`: Trigger types to receive (`api`, `webhook`, `schedule`, `manual`, `chat`)
**Optional Data:**
- `includeFinalOutput`: Include the workflow's final output
- `includeTraceSpans`: Include detailed execution trace spans
- `includeRateLimits`: Include rate limit information (sync/async limits and remaining)
- `includeUsageData`: Include billing period usage and limits
### Alert Rules
Instead of receiving notifications for every execution, configure alert rules to be notified only when issues are detected:
**Consecutive Failures**
- Alert after X consecutive failed executions (e.g., 3 failures in a row)
- Resets when an execution succeeds
**Failure Rate**
- Alert when failure rate exceeds X% over the last Y hours
- Requires minimum 5 executions in the window
- Only triggers after the full time window has elapsed
**Latency Threshold**
- Alert when any execution takes longer than X seconds
- Useful for catching slow or hanging workflows
**Latency Spike**
- Alert when execution is X% slower than the average
- Compares against the average duration over the configured time window
- Requires minimum 5 executions to establish baseline
**Cost Threshold**
- Alert when a single execution costs more than $X
- Useful for catching expensive LLM calls
**No Activity**
- Alert when no executions occur within X hours
- Useful for monitoring scheduled workflows that should run regularly
**Error Count**
- Alert when error count exceeds X within a time window
- Tracks total errors, not consecutive
All alert types include a 1-hour cooldown to prevent notification spam.
### Webhook Configuration
For webhooks, additional options are available:
- `url`: Your webhook endpoint URL
- `secret`: Optional secret for HMAC signature verification
- `includeFinalOutput`: Include the workflow's final output in the payload
- `includeTraceSpans`: Include detailed execution trace spans
- `includeRateLimits`: Include the workflow owner's rate limit information
- `includeUsageData`: Include the workflow owner's usage and billing data
- `levelFilter`: Array of log levels to receive (`info`, `error`)
- `triggerFilter`: Array of trigger types to receive (`api`, `webhook`, `schedule`, `manual`, `chat`)
- `active`: Enable/disable the webhook subscription
### Webhook Payload
### Payload Structure
When a workflow execution completes, Sim sends a POST request to your webhook URL:
When a workflow execution completes, Sim sends the following payload (via webhook POST, email, or Slack):
```json
{
@@ -316,7 +362,7 @@ When a workflow execution completes, Sim sends a POST request to your webhook UR
### Webhook Headers
Each webhook request includes these headers:
Each webhook request includes these headers (webhook channel only):
- `sim-event`: Event type (always `workflow.execution.completed`)
- `sim-timestamp`: Unix timestamp in milliseconds

View File

@@ -147,4 +147,4 @@ The snapshot provides:
- Learn about [Cost Calculation](/execution/costs) to understand workflow pricing
- Explore the [External API](/execution/api) for programmatic log access
- Set up [Webhook notifications](/execution/api#webhook-subscriptions) for real-time alerts
- Set up [Notifications](/execution/api#notifications) for real-time alerts via webhook, email, or Slack

View File

@@ -0,0 +1,205 @@
---
title: Ahrefs
description: SEO analysis with Ahrefs
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ahrefs"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Ahrefs](https://ahrefs.com/) is a leading SEO toolset for analyzing websites, tracking rankings, monitoring backlinks, and researching keywords. It provides detailed insights into your own website as well as your competitors, helping you make data-driven decisions to improve your search visibility.
With the Ahrefs integration in Sim, you can:
- **Analyze Domain Rating & Authority**: Instantly check the Domain Rating (DR) and Ahrefs Rank of any website to gauge its authority.
- **Fetch Backlinks**: Retrieve a list of backlinks pointing to a site or specific URL, with details like anchor text, referring page DR, and more.
- **Get Backlink Statistics**: Access metrics on backlink types (dofollow, nofollow, text, image, redirect, etc.) for a domain or URL.
- **Explore Organic Keywords** *(planned)*: View keywords a domain ranks for and their positions in Google search results.
- **Discover Top Pages** *(planned)*: Identify the highest-performing pages by organic traffic and links.
These tools let your agents automate SEO research, monitor competitors, and generate reports—all as part of your workflow automations. To use the Ahrefs integration, youll need an Ahrefs Enterprise subscription with API access.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Ahrefs SEO tools into your workflow. Analyze domain ratings, backlinks, organic keywords, top pages, and more. Requires an Ahrefs Enterprise plan with API access.
## Tools
### `ahrefs_domain_rating`
Get the Domain Rating (DR) and Ahrefs Rank for a target domain. Domain Rating shows the strength of a website
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain to analyze \(e.g., example.com\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `domainRating` | number | Domain Rating score \(0-100\) |
| `ahrefsRank` | number | Ahrefs Rank - global ranking based on backlink profile strength |
### `ahrefs_backlinks`
Get a list of backlinks pointing to a target domain or URL. Returns details about each backlink including source URL, anchor text, and domain rating.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain or URL to analyze |
| `mode` | string | No | Analysis mode: domain \(entire domain\), prefix \(URL prefix\), subdomains \(include all subdomains\), exact \(exact URL match\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `limit` | number | No | Maximum number of results to return \(default: 100\) |
| `offset` | number | No | Number of results to skip for pagination |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `backlinks` | array | List of backlinks pointing to the target |
### `ahrefs_backlinks_stats`
Get backlink statistics for a target domain or URL. Returns totals for different backlink types including dofollow, nofollow, text, image, and redirect links.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain or URL to analyze |
| `mode` | string | No | Analysis mode: domain \(entire domain\), prefix \(URL prefix\), subdomains \(include all subdomains\), exact \(exact URL match\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `stats` | object | Backlink statistics summary |
### `ahrefs_referring_domains`
Get a list of domains that link to a target domain or URL. Returns unique referring domains with their domain rating, backlink counts, and discovery dates.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain or URL to analyze |
| `mode` | string | No | Analysis mode: domain \(entire domain\), prefix \(URL prefix\), subdomains \(include all subdomains\), exact \(exact URL match\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `limit` | number | No | Maximum number of results to return \(default: 100\) |
| `offset` | number | No | Number of results to skip for pagination |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `referringDomains` | array | List of domains linking to the target |
### `ahrefs_organic_keywords`
Get organic keywords that a target domain or URL ranks for in Google search results. Returns keyword details including search volume, ranking position, and estimated traffic.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain or URL to analyze |
| `country` | string | No | Country code for search results \(e.g., us, gb, de\). Default: us |
| `mode` | string | No | Analysis mode: domain \(entire domain\), prefix \(URL prefix\), subdomains \(include all subdomains\), exact \(exact URL match\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `limit` | number | No | Maximum number of results to return \(default: 100\) |
| `offset` | number | No | Number of results to skip for pagination |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `keywords` | array | List of organic keywords the target ranks for |
### `ahrefs_top_pages`
Get the top pages of a target domain sorted by organic traffic. Returns page URLs with their traffic, keyword counts, and estimated traffic value.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain to analyze |
| `country` | string | No | Country code for traffic data \(e.g., us, gb, de\). Default: us |
| `mode` | string | No | Analysis mode: domain \(entire domain\), prefix \(URL prefix\), subdomains \(include all subdomains\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `limit` | number | No | Maximum number of results to return \(default: 100\) |
| `offset` | number | No | Number of results to skip for pagination |
| `select` | string | No | Comma-separated list of fields to return \(e.g., url,traffic,keywords,top_keyword,value\). Default: url,traffic,keywords,top_keyword,value |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pages` | array | List of top pages by organic traffic |
### `ahrefs_keyword_overview`
Get detailed metrics for a keyword including search volume, keyword difficulty, CPC, clicks, and traffic potential.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyword` | string | Yes | The keyword to analyze |
| `country` | string | No | Country code for keyword data \(e.g., us, gb, de\). Default: us |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `overview` | object | Keyword metrics overview |
### `ahrefs_broken_backlinks`
Get a list of broken backlinks pointing to a target domain or URL. Useful for identifying link reclamation opportunities.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Yes | The target domain or URL to analyze |
| `mode` | string | No | Analysis mode: domain \(entire domain\), prefix \(URL prefix\), subdomains \(include all subdomains\), exact \(exact URL match\) |
| `date` | string | No | Date for historical data in YYYY-MM-DD format \(defaults to today\) |
| `limit` | number | No | Maximum number of results to return \(default: 100\) |
| `offset` | number | No | Number of results to skip for pagination |
| `apiKey` | string | Yes | Ahrefs API Key |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `brokenBacklinks` | array | List of broken backlinks |
## Notes
- Category: `tools`
- Type: `ahrefs`

View File

@@ -0,0 +1,307 @@
---
title: Datadog
description: Monitor infrastructure, applications, and logs with Datadog
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="datadog"
color="#632CA6"
/>
{/* MANUAL-CONTENT-START:intro */}
[Datadog](https://datadoghq.com/) is a comprehensive monitoring and analytics platform for infrastructure, applications, logs, and more. It enables organizations to gain real-time visibility into the health and performance of systems, detect anomalies, and automate incident response.
With Datadog, you can:
- **Monitor metrics**: Collect, visualize, and analyze metrics from servers, cloud services, and custom applications.
- **Query time series data**: Run advanced queries on performance metrics for trend analysis and reporting.
- **Manage monitors and events**: Set up monitors to detect issues, trigger alerts, and create events for observability.
- **Handle downtimes**: Schedule and programmatically manage planned downtimes to suppress alerts during maintenance.
- **Analyze logs and traces** *(with additional setup in Datadog)*: Centralize and inspect logs or distributed traces for deeper troubleshooting.
Sims Datadog integration lets your agents automate these operations and interact with your Datadog account programmatically. Use it to submit custom metrics, query timeseries data, manage monitors, create events, and streamline your monitoring workflows directly within Sim automations.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Datadog monitoring into workflows. Submit metrics, manage monitors, query logs, create events, handle downtimes, and more.
## Tools
### `datadog_submit_metrics`
Submit custom metrics to Datadog. Use for tracking application performance, business metrics, or custom monitoring data.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `series` | string | Yes | JSON array of metric series to submit. Each series should include metric name, type \(gauge/rate/count\), points \(timestamp/value pairs\), and optional tags. |
| `apiKey` | string | Yes | Datadog API key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the metrics were submitted successfully |
| `errors` | array | Any errors that occurred during submission |
### `datadog_query_timeseries`
Query metric timeseries data from Datadog. Use for analyzing trends, creating reports, or retrieving metric values.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | Datadog metrics query \(e.g., "avg:system.cpu.user\{*\}"\) |
| `from` | number | Yes | Start time as Unix timestamp in seconds |
| `to` | number | Yes | End time as Unix timestamp in seconds |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `series` | array | Array of timeseries data with metric name, tags, and data points |
| `status` | string | Query status |
### `datadog_create_event`
Post an event to the Datadog event stream. Use for deployment notifications, alerts, or any significant occurrences.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `title` | string | Yes | Event title |
| `text` | string | Yes | Event body/description. Supports markdown. |
| `alertType` | string | No | Alert type: error, warning, info, success, user_update, recommendation, or snapshot |
| `priority` | string | No | Event priority: normal or low |
| `host` | string | No | Host name to associate with this event |
| `tags` | string | No | Comma-separated list of tags \(e.g., "env:production,service:api"\) |
| `aggregationKey` | string | No | Key to aggregate events together |
| `sourceTypeName` | string | No | Source type name for the event |
| `dateHappened` | number | No | Unix timestamp when the event occurred \(defaults to now\) |
| `apiKey` | string | Yes | Datadog API key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `event` | object | The created event details |
### `datadog_create_monitor`
Create a new monitor/alert in Datadog. Monitors can track metrics, service checks, events, and more.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `name` | string | Yes | Monitor name |
| `type` | string | Yes | Monitor type: metric alert, service check, event alert, process alert, log alert, query alert, composite, synthetics alert, slo alert |
| `query` | string | Yes | Monitor query \(e.g., "avg\(last_5m\):avg:system.cpu.idle\{*\} &lt; 20"\) |
| `message` | string | No | Message to include with notifications. Can include @-mentions and markdown. |
| `tags` | string | No | Comma-separated list of tags |
| `priority` | number | No | Monitor priority \(1-5, where 1 is highest\) |
| `options` | string | No | JSON string of monitor options \(thresholds, notify_no_data, renotify_interval, etc.\) |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `monitor` | object | The created monitor details |
### `datadog_get_monitor`
Retrieve details of a specific monitor by ID.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `monitorId` | string | Yes | The ID of the monitor to retrieve |
| `groupStates` | string | No | Comma-separated group states to include: alert, warn, no data, ok |
| `withDowntimes` | boolean | No | Include downtime data with the monitor |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `monitor` | object | The monitor details |
### `datadog_list_monitors`
List all monitors in Datadog with optional filtering by name, tags, or state.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `groupStates` | string | No | Comma-separated group states to filter by: alert, warn, no data, ok |
| `name` | string | No | Filter monitors by name \(partial match\) |
| `tags` | string | No | Comma-separated list of tags to filter by |
| `monitorTags` | string | No | Comma-separated list of monitor tags to filter by |
| `withDowntimes` | boolean | No | Include downtime data with monitors |
| `page` | number | No | Page number for pagination \(0-indexed\) |
| `pageSize` | number | No | Number of monitors per page \(max 1000\) |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `monitors` | array | List of monitors |
### `datadog_mute_monitor`
Mute a monitor to temporarily suppress notifications.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `monitorId` | string | Yes | The ID of the monitor to mute |
| `scope` | string | No | Scope to mute \(e.g., "host:myhost"\). If not specified, mutes all scopes. |
| `end` | number | No | Unix timestamp when the mute should end. If not specified, mutes indefinitely. |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the monitor was successfully muted |
### `datadog_query_logs`
Search and retrieve logs from Datadog. Use for troubleshooting, analysis, or monitoring.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | Log search query \(e.g., "service:web-app status:error"\) |
| `from` | string | Yes | Start time in ISO-8601 format or relative \(e.g., "now-1h"\) |
| `to` | string | Yes | End time in ISO-8601 format or relative \(e.g., "now"\) |
| `limit` | number | No | Maximum number of logs to return \(default: 50, max: 1000\) |
| `sort` | string | No | Sort order: timestamp \(oldest first\) or -timestamp \(newest first\) |
| `indexes` | string | No | Comma-separated list of log indexes to search |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `logs` | array | List of log entries |
### `datadog_send_logs`
Send log entries to Datadog for centralized logging and analysis.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `logs` | string | Yes | JSON array of log entries. Each entry should have message and optionally ddsource, ddtags, hostname, service. |
| `apiKey` | string | Yes | Datadog API key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the logs were sent successfully |
### `datadog_create_downtime`
Schedule a downtime to suppress monitor notifications during maintenance windows.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `scope` | string | Yes | Scope to apply downtime to \(e.g., "host:myhost", "env:production", or "*" for all\) |
| `message` | string | No | Message to display during downtime |
| `start` | number | No | Unix timestamp for downtime start \(defaults to now\) |
| `end` | number | No | Unix timestamp for downtime end |
| `timezone` | string | No | Timezone for the downtime \(e.g., "America/New_York"\) |
| `monitorId` | string | No | Specific monitor ID to mute |
| `monitorTags` | string | No | Comma-separated monitor tags to match \(e.g., "team:backend,priority:high"\) |
| `muteFirstRecoveryNotification` | boolean | No | Mute the first recovery notification |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `downtime` | object | The created downtime details |
### `datadog_list_downtimes`
List all scheduled downtimes in Datadog.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `currentOnly` | boolean | No | Only return currently active downtimes |
| `monitorId` | string | No | Filter by monitor ID |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `downtimes` | array | List of downtimes |
### `datadog_cancel_downtime`
Cancel a scheduled downtime.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `downtimeId` | string | Yes | The ID of the downtime to cancel |
| `apiKey` | string | Yes | Datadog API key |
| `applicationKey` | string | Yes | Datadog Application key |
| `site` | string | No | Datadog site/region \(default: datadoghq.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the downtime was successfully canceled |
## Notes
- Category: `tools`
- Type: `datadog`

View File

@@ -0,0 +1,224 @@
---
title: Dropbox
description: Upload, download, share, and manage files in Dropbox
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="dropbox"
color="#0061FF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Dropbox](https://dropbox.com/) is a popular cloud storage and collaboration platform that enables individuals and teams to securely store, access, and share files from anywhere. Dropbox is designed for easy file management, syncing, and powerful collaboration, whether you're working solo or with a group.
With Dropbox in Sim, you can:
- **Upload and download files**: Seamlessly upload any file to your Dropbox or retrieve content on demand
- **List folder contents**: Browse the files and folders within any Dropbox directory
- **Create new folders**: Organize your files by programmatically creating new folders in your Dropbox
- **Search files and folders**: Locate documents, images, or other items by name or content
- **Generate shared links**: Quickly create shareable public or private links for files and folders
- **Manage files**: Move, delete, or rename files and folders as part of automated workflows
These capabilities allow your Sim agents to automate Dropbox operations directly within your workflows — from backing up important files to distributing content and maintaining organized folders. Use Dropbox as both a source and destination for files, enabling seamless cloud storage management as part of your business processes.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Dropbox into your workflow for file management, sharing, and collaboration. Upload files, download content, create folders, manage shared links, and more.
## Tools
### `dropbox_upload`
Upload a file to Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path in Dropbox where the file should be saved \(e.g., /folder/document.pdf\) |
| `fileContent` | string | Yes | The base64 encoded content of the file to upload |
| `fileName` | string | No | Optional filename \(used if path is a folder\) |
| `mode` | string | No | Write mode: add \(default\) or overwrite |
| `autorename` | boolean | No | If true, rename the file if there is a conflict |
| `mute` | boolean | No | If true, don't notify the user about this upload |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `file` | object | The uploaded file metadata |
### `dropbox_download`
Download a file from Dropbox and get a temporary link
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path of the file to download \(e.g., /folder/document.pdf\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `file` | object | The file metadata |
### `dropbox_list_folder`
List the contents of a folder in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path of the folder to list \(use "" for root\) |
| `recursive` | boolean | No | If true, list contents recursively |
| `includeDeleted` | boolean | No | If true, include deleted files/folders |
| `includeMediaInfo` | boolean | No | If true, include media info for photos/videos |
| `limit` | number | No | Maximum number of results to return \(default: 500\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `entries` | array | List of files and folders in the directory |
### `dropbox_create_folder`
Create a new folder in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path where the folder should be created \(e.g., /new-folder\) |
| `autorename` | boolean | No | If true, rename the folder if there is a conflict |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `folder` | object | The created folder metadata |
### `dropbox_delete`
Delete a file or folder in Dropbox (moves to trash)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path of the file or folder to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | object | Metadata of the deleted item |
### `dropbox_copy`
Copy a file or folder in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `fromPath` | string | Yes | The source path of the file or folder to copy |
| `toPath` | string | Yes | The destination path for the copied file or folder |
| `autorename` | boolean | No | If true, rename the file if there is a conflict at destination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | object | Metadata of the copied item |
### `dropbox_move`
Move or rename a file or folder in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `fromPath` | string | Yes | The source path of the file or folder to move |
| `toPath` | string | Yes | The destination path for the moved file or folder |
| `autorename` | boolean | No | If true, rename the file if there is a conflict at destination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | object | Metadata of the moved item |
### `dropbox_get_metadata`
Get metadata for a file or folder in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path of the file or folder to get metadata for |
| `includeMediaInfo` | boolean | No | If true, include media info for photos/videos |
| `includeDeleted` | boolean | No | If true, include deleted files in results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | object | Metadata for the file or folder |
### `dropbox_create_shared_link`
Create a shareable link for a file or folder in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Yes | The path of the file or folder to share |
| `requestedVisibility` | string | No | Visibility: public, team_only, or password |
| `linkPassword` | string | No | Password for the shared link \(only if visibility is password\) |
| `expires` | string | No | Expiration date in ISO 8601 format \(e.g., 2025-12-31T23:59:59Z\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `sharedLink` | object | The created shared link |
### `dropbox_search`
Search for files and folders in Dropbox
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Yes | The search query |
| `path` | string | No | Limit search to a specific folder path |
| `fileExtensions` | string | No | Comma-separated list of file extensions to filter by \(e.g., pdf,xlsx\) |
| `maxResults` | number | No | Maximum number of results to return \(default: 100\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `matches` | array | Search results |
## Notes
- Category: `tools`
- Type: `dropbox`

View File

@@ -0,0 +1,370 @@
---
title: Elasticsearch
description: Search, index, and manage data in Elasticsearch
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="elasticsearch"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Elasticsearch](https://www.elastic.co/elasticsearch/) is a powerful distributed search and analytics engine that enables you to index, search, and analyze large volumes of data in real time. Its widely used for powering search features, log and event data analytics, observability, and more.
With Elasticsearch in Sim, you gain programmatic access to core Elasticsearch capabilities, including:
- **Search documents**: Perform advanced searches on structured or unstructured text using Query DSL, with support for sorting, pagination, and field selection.
- **Index documents**: Add new documents or update existing ones in any Elasticsearch index for immediate retrieval and analysis.
- **Get, update, or delete documents**: Retrieve, modify, or remove specific documents by ID.
- **Bulk operations**: Execute multiple indexing or update actions in a single request for high-throughput data processing.
- **Manage indexes**: Create, delete, or get details about indexes as part of your workflow automation.
- **Cluster monitoring**: Check the health and stats of your Elasticsearch deployment.
Sim's Elasticsearch tools work with both self-hosted and Elastic Cloud environments. Integrate Elasticsearch into your agent workflows to automate data ingestion, search across vast datasets, run reporting, or build custom search-powered applications all without manual intervention.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Elasticsearch into workflows for powerful search, indexing, and data management. Supports document CRUD operations, advanced search queries, bulk operations, index management, and cluster monitoring. Works with both self-hosted and Elastic Cloud deployments.
## Tools
### `elasticsearch_search`
Search documents in Elasticsearch using Query DSL. Returns matching documents with scores and metadata.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name to search |
| `query` | string | No | Query DSL as JSON string |
| `from` | number | No | Starting offset for pagination \(default: 0\) |
| `size` | number | No | Number of results to return \(default: 10\) |
| `sort` | string | No | Sort specification as JSON string |
| `sourceIncludes` | string | No | Comma-separated list of fields to include in _source |
| `sourceExcludes` | string | No | Comma-separated list of fields to exclude from _source |
| `trackTotalHits` | boolean | No | Track accurate total hit count \(default: true\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `took` | number | Time in milliseconds the search took |
| `timed_out` | boolean | Whether the search timed out |
| `hits` | object | Search results with total count and matching documents |
| `aggregations` | json | Aggregation results if any |
### `elasticsearch_index_document`
Index (create or update) a document in Elasticsearch.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Target index name |
| `documentId` | string | No | Document ID \(auto-generated if not provided\) |
| `document` | string | Yes | Document body as JSON string |
| `refresh` | string | No | Refresh policy: true, false, or wait_for |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Index where the document was stored |
| `_id` | string | Document ID |
| `_version` | number | Document version |
| `result` | string | Operation result \(created or updated\) |
### `elasticsearch_get_document`
Retrieve a document by ID from Elasticsearch.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name |
| `documentId` | string | Yes | Document ID to retrieve |
| `sourceIncludes` | string | No | Comma-separated list of fields to include |
| `sourceExcludes` | string | No | Comma-separated list of fields to exclude |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Index name |
| `_id` | string | Document ID |
| `_version` | number | Document version |
| `found` | boolean | Whether the document was found |
| `_source` | json | Document content |
### `elasticsearch_update_document`
Partially update a document in Elasticsearch using doc merge.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name |
| `documentId` | string | Yes | Document ID to update |
| `document` | string | Yes | Partial document to merge as JSON string |
| `retryOnConflict` | number | No | Number of retries on version conflict |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Index name |
| `_id` | string | Document ID |
| `_version` | number | New document version |
| `result` | string | Operation result \(updated or noop\) |
### `elasticsearch_delete_document`
Delete a document from Elasticsearch by ID.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name |
| `documentId` | string | Yes | Document ID to delete |
| `refresh` | string | No | Refresh policy: true, false, or wait_for |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Index name |
| `_id` | string | Document ID |
| `_version` | number | Document version |
| `result` | string | Operation result \(deleted or not_found\) |
### `elasticsearch_bulk`
Perform multiple index, create, delete, or update operations in a single request for high performance.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | No | Default index for operations that do not specify one |
| `operations` | string | Yes | Bulk operations as NDJSON string \(newline-delimited JSON\) |
| `refresh` | string | No | Refresh policy: true, false, or wait_for |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `took` | number | Time in milliseconds the bulk operation took |
| `errors` | boolean | Whether any operation had an error |
| `items` | array | Results for each operation |
### `elasticsearch_count`
Count documents matching a query in Elasticsearch.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name to count documents in |
| `query` | string | No | Optional query to filter documents \(JSON string\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `count` | number | Number of documents matching the query |
| `_shards` | object | Shard statistics |
### `elasticsearch_create_index`
Create a new index with optional settings and mappings.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name to create |
| `settings` | string | No | Index settings as JSON string |
| `mappings` | string | No | Index mappings as JSON string |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Whether the request was acknowledged |
| `shards_acknowledged` | boolean | Whether the shards were acknowledged |
| `index` | string | Created index name |
### `elasticsearch_delete_index`
Delete an index and all its documents. This operation is irreversible.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Whether the deletion was acknowledged |
### `elasticsearch_get_index`
Retrieve index information including settings, mappings, and aliases.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `index` | string | Yes | Index name to retrieve info for |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `index` | json | Index information including aliases, mappings, and settings |
### `elasticsearch_cluster_health`
Get the health status of the Elasticsearch cluster.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
| `waitForStatus` | string | No | Wait until cluster reaches this status: green, yellow, or red |
| `timeout` | string | No | Timeout for the wait operation \(e.g., 30s, 1m\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `cluster_name` | string | Name of the cluster |
| `status` | string | Cluster health status: green, yellow, or red |
| `number_of_nodes` | number | Total number of nodes in the cluster |
| `number_of_data_nodes` | number | Number of data nodes |
| `active_shards` | number | Number of active shards |
| `unassigned_shards` | number | Number of unassigned shards |
### `elasticsearch_cluster_stats`
Get comprehensive statistics about the Elasticsearch cluster.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Yes | Deployment type: self_hosted or cloud |
| `host` | string | No | Elasticsearch host URL \(for self-hosted\) |
| `cloudId` | string | No | Elastic Cloud ID \(for cloud deployments\) |
| `authMethod` | string | Yes | Authentication method: api_key or basic_auth |
| `apiKey` | string | No | Elasticsearch API key |
| `username` | string | No | Username for basic auth |
| `password` | string | No | Password for basic auth |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `cluster_name` | string | Name of the cluster |
| `status` | string | Cluster health status |
| `nodes` | object | Node statistics including count and versions |
| `indices` | object | Index statistics including document count and store size |
## Notes
- Category: `tools`
- Type: `elasticsearch`

View File

@@ -0,0 +1,434 @@
---
title: GitLab
description: Interact with GitLab projects, issues, merge requests, and pipelines
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="gitlab"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[GitLab](https://gitlab.com/) is a comprehensive DevOps platform that allows teams to manage, collaborate on, and automate their software development lifecycle. With GitLab, you can effortlessly handle source code management, CI/CD, reviews, and collaboration in a single application.
With GitLab in Sim, you can:
- **Manage projects and repositories**: List and retrieve your GitLab projects, access details, and organize your repositories
- **Work with issues**: List, create, and comment on issues to track work and collaborate effectively
- **Handle merge requests**: Review, create, and manage merge requests for code changes and peer reviews
- **Automate CI/CD pipelines**: Trigger, monitor, and interact with GitLab pipelines as part of your automation flows
- **Collaborate with comments**: Add comments to issues or merge requests for efficient communication within your team
Using Sims GitLab integration, your agents can programmatically interact with your GitLab projects. Automate project management, issue tracking, code reviews, and pipeline operations seamlessly in your workflows, optimizing your software development process and enhancing collaboration across your team.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate GitLab into the workflow. Can manage projects, issues, merge requests, pipelines, and add comments. Supports all core GitLab DevOps operations.
## Tools
### `gitlab_list_projects`
List GitLab projects accessible to the authenticated user
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `owned` | boolean | No | Limit to projects owned by the current user |
| `membership` | boolean | No | Limit to projects the current user is a member of |
| `search` | string | No | Search projects by name |
| `visibility` | string | No | Filter by visibility \(public, internal, private\) |
| `orderBy` | string | No | Order by field \(id, name, path, created_at, updated_at, last_activity_at\) |
| `sort` | string | No | Sort direction \(asc, desc\) |
| `perPage` | number | No | Number of results per page \(default 20, max 100\) |
| `page` | number | No | Page number for pagination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `projects` | array | List of GitLab projects |
| `total` | number | Total number of projects |
### `gitlab_get_project`
Get details of a specific GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path \(e.g., "namespace/project"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `project` | object | The GitLab project details |
### `gitlab_list_issues`
List issues in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `state` | string | No | Filter by state \(opened, closed, all\) |
| `labels` | string | No | Comma-separated list of label names |
| `assigneeId` | number | No | Filter by assignee user ID |
| `milestoneTitle` | string | No | Filter by milestone title |
| `search` | string | No | Search issues by title and description |
| `orderBy` | string | No | Order by field \(created_at, updated_at\) |
| `sort` | string | No | Sort direction \(asc, desc\) |
| `perPage` | number | No | Number of results per page \(default 20, max 100\) |
| `page` | number | No | Page number for pagination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `issues` | array | List of GitLab issues |
| `total` | number | Total number of issues |
### `gitlab_get_issue`
Get details of a specific GitLab issue
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `issueIid` | number | Yes | Issue number within the project \(the # shown in GitLab UI\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `issue` | object | The GitLab issue details |
### `gitlab_create_issue`
Create a new issue in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `title` | string | Yes | Issue title |
| `description` | string | No | Issue description \(Markdown supported\) |
| `labels` | string | No | Comma-separated list of label names |
| `assigneeIds` | array | No | Array of user IDs to assign |
| `milestoneId` | number | No | Milestone ID to assign |
| `dueDate` | string | No | Due date in YYYY-MM-DD format |
| `confidential` | boolean | No | Whether the issue is confidential |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `issue` | object | The created GitLab issue |
### `gitlab_update_issue`
Update an existing issue in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `issueIid` | number | Yes | Issue internal ID \(IID\) |
| `title` | string | No | New issue title |
| `description` | string | No | New issue description \(Markdown supported\) |
| `stateEvent` | string | No | State event \(close or reopen\) |
| `labels` | string | No | Comma-separated list of label names |
| `assigneeIds` | array | No | Array of user IDs to assign |
| `milestoneId` | number | No | Milestone ID to assign |
| `dueDate` | string | No | Due date in YYYY-MM-DD format |
| `confidential` | boolean | No | Whether the issue is confidential |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `issue` | object | The updated GitLab issue |
### `gitlab_delete_issue`
Delete an issue from a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `issueIid` | number | Yes | Issue internal ID \(IID\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the issue was deleted successfully |
### `gitlab_create_issue_note`
Add a comment to a GitLab issue
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `issueIid` | number | Yes | Issue internal ID \(IID\) |
| `body` | string | Yes | Comment body \(Markdown supported\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `note` | object | The created comment |
### `gitlab_list_merge_requests`
List merge requests in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `state` | string | No | Filter by state \(opened, closed, merged, all\) |
| `labels` | string | No | Comma-separated list of label names |
| `sourceBranch` | string | No | Filter by source branch |
| `targetBranch` | string | No | Filter by target branch |
| `orderBy` | string | No | Order by field \(created_at, updated_at\) |
| `sort` | string | No | Sort direction \(asc, desc\) |
| `perPage` | number | No | Number of results per page \(default 20, max 100\) |
| `page` | number | No | Page number for pagination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequests` | array | List of GitLab merge requests |
| `total` | number | Total number of merge requests |
### `gitlab_get_merge_request`
Get details of a specific GitLab merge request
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `mergeRequestIid` | number | Yes | Merge request internal ID \(IID\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | object | The GitLab merge request details |
### `gitlab_create_merge_request`
Create a new merge request in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `sourceBranch` | string | Yes | Source branch name |
| `targetBranch` | string | Yes | Target branch name |
| `title` | string | Yes | Merge request title |
| `description` | string | No | Merge request description \(Markdown supported\) |
| `labels` | string | No | Comma-separated list of label names |
| `assigneeIds` | array | No | Array of user IDs to assign |
| `milestoneId` | number | No | Milestone ID to assign |
| `removeSourceBranch` | boolean | No | Delete source branch after merge |
| `squash` | boolean | No | Squash commits on merge |
| `draft` | boolean | No | Mark as draft \(work in progress\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | object | The created GitLab merge request |
### `gitlab_update_merge_request`
Update an existing merge request in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `mergeRequestIid` | number | Yes | Merge request internal ID \(IID\) |
| `title` | string | No | New merge request title |
| `description` | string | No | New merge request description |
| `stateEvent` | string | No | State event \(close or reopen\) |
| `labels` | string | No | Comma-separated list of label names |
| `assigneeIds` | array | No | Array of user IDs to assign |
| `milestoneId` | number | No | Milestone ID to assign |
| `targetBranch` | string | No | New target branch |
| `removeSourceBranch` | boolean | No | Delete source branch after merge |
| `squash` | boolean | No | Squash commits on merge |
| `draft` | boolean | No | Mark as draft \(work in progress\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | object | The updated GitLab merge request |
### `gitlab_merge_merge_request`
Merge a merge request in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `mergeRequestIid` | number | Yes | Merge request internal ID \(IID\) |
| `mergeCommitMessage` | string | No | Custom merge commit message |
| `squashCommitMessage` | string | No | Custom squash commit message |
| `squash` | boolean | No | Squash commits before merging |
| `shouldRemoveSourceBranch` | boolean | No | Delete source branch after merge |
| `mergeWhenPipelineSucceeds` | boolean | No | Merge when pipeline succeeds |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | object | The merged GitLab merge request |
### `gitlab_create_merge_request_note`
Add a comment to a GitLab merge request
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `mergeRequestIid` | number | Yes | Merge request internal ID \(IID\) |
| `body` | string | Yes | Comment body \(Markdown supported\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `note` | object | The created comment |
### `gitlab_list_pipelines`
List pipelines in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `ref` | string | No | Filter by ref \(branch or tag\) |
| `status` | string | No | Filter by status \(created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled\) |
| `orderBy` | string | No | Order by field \(id, status, ref, updated_at, user_id\) |
| `sort` | string | No | Sort direction \(asc, desc\) |
| `perPage` | number | No | Number of results per page \(default 20, max 100\) |
| `page` | number | No | Page number for pagination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pipelines` | array | List of GitLab pipelines |
| `total` | number | Total number of pipelines |
### `gitlab_get_pipeline`
Get details of a specific GitLab pipeline
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `pipelineId` | number | Yes | Pipeline ID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | object | The GitLab pipeline details |
### `gitlab_create_pipeline`
Trigger a new pipeline in a GitLab project
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `ref` | string | Yes | Branch or tag to run the pipeline on |
| `variables` | array | No | Array of variables for the pipeline \(each with key, value, and optional variable_type\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | object | The created GitLab pipeline |
### `gitlab_retry_pipeline`
Retry a failed GitLab pipeline
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `pipelineId` | number | Yes | Pipeline ID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | object | The retried GitLab pipeline |
### `gitlab_cancel_pipeline`
Cancel a running GitLab pipeline
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Project ID or URL-encoded path |
| `pipelineId` | number | Yes | Pipeline ID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | object | The cancelled GitLab pipeline |
## Notes
- Category: `tools`
- Type: `gitlab`

View File

@@ -45,9 +45,9 @@ Create a new event in Google Calendar
| `summary` | string | Yes | Event title/summary |
| `description` | string | No | Event description |
| `location` | string | No | Event location |
| `startDateTime` | string | Yes | Start date and time \(RFC3339 format, e.g., 2025-06-03T10:00:00-08:00\) |
| `endDateTime` | string | Yes | End date and time \(RFC3339 format, e.g., 2025-06-03T11:00:00-08:00\) |
| `timeZone` | string | No | Time zone \(e.g., America/Los_Angeles\) |
| `startDateTime` | string | Yes | Start date and time. MUST include timezone offset \(e.g., 2025-06-03T10:00:00-08:00\) OR provide timeZone parameter |
| `endDateTime` | string | Yes | End date and time. MUST include timezone offset \(e.g., 2025-06-03T11:00:00-08:00\) OR provide timeZone parameter |
| `timeZone` | string | No | Time zone \(e.g., America/Los_Angeles\). Required if datetime does not include offset. Defaults to America/Los_Angeles if not provided. |
| `attendees` | array | No | Array of attendee email addresses |
| `sendUpdates` | string | No | How to send updates to attendees: all, externalOnly, or none |

View File

@@ -113,8 +113,8 @@ List files and folders in Google Drive
| --------- | ---- | -------- | ----------- |
| `folderSelector` | string | No | Select the folder to list files from |
| `folderId` | string | No | The ID of the folder to list files from \(internal use\) |
| `query` | string | No | A query to filter the files |
| `pageSize` | number | No | The number of files to return |
| `query` | string | No | Search term to filter files by name \(e.g. "budget" finds files with "budget" in the name\). Do NOT use Google Drive query syntax here - just provide a plain search term. |
| `pageSize` | number | No | The maximum number of files to return \(default: 100\) |
| `pageToken` | string | No | The page token to use for pagination |
#### Output

View File

@@ -91,8 +91,8 @@ Read data from a Google Sheets spreadsheet
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to read from |
| `range` | string | No | The range of cells to read from |
| `spreadsheetId` | string | Yes | The ID of the spreadsheet \(found in the URL: docs.google.com/spreadsheets/d/\{SPREADSHEET_ID\}/edit\). |
| `range` | string | No | The A1 notation range to read \(e.g. "Sheet1!A1:D10", "A1:B5"\). Defaults to first sheet A1:Z1000 if not specified. |
#### Output
@@ -109,9 +109,9 @@ Write data to a Google Sheets spreadsheet
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to write to |
| `range` | string | No | The range of cells to write to |
| `values` | array | Yes | The data to write to the spreadsheet |
| `spreadsheetId` | string | Yes | The ID of the spreadsheet |
| `range` | string | No | The A1 notation range to write to \(e.g. "Sheet1!A1:D10", "A1:B5"\) |
| `values` | array | Yes | The data to write as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
| `valueInputOption` | string | No | The format of the data to write |
| `includeValuesInResponse` | boolean | No | Whether to include the written values in the response |
@@ -134,8 +134,8 @@ Update data in a Google Sheets spreadsheet
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to update |
| `range` | string | No | The range of cells to update |
| `values` | array | Yes | The data to update in the spreadsheet |
| `range` | string | No | The A1 notation range to update \(e.g. "Sheet1!A1:D10", "A1:B5"\) |
| `values` | array | Yes | The data to update as a 2D array \(e.g. \[\["Name", "Age"\], \["Alice", 30\]\]\) or array of objects. |
| `valueInputOption` | string | No | The format of the data to update |
| `includeValuesInResponse` | boolean | No | Whether to include the updated values in the response |
@@ -158,8 +158,8 @@ Append data to the end of a Google Sheets spreadsheet
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Yes | The ID of the spreadsheet to append to |
| `range` | string | No | The range of cells to append after |
| `values` | array | Yes | The data to append to the spreadsheet |
| `range` | string | No | The A1 notation range to append after \(e.g. "Sheet1", "Sheet1!A:D"\) |
| `values` | array | Yes | The data to append as a 2D array \(e.g. \[\["Alice", 30\], \["Bob", 25\]\]\) or array of objects. |
| `valueInputOption` | string | No | The format of the data to append |
| `insertDataOption` | string | No | How to insert the data \(OVERWRITE or INSERT_ROWS\) |
| `includeValuesInResponse` | boolean | No | Whether to include the appended values in the response |

View File

@@ -0,0 +1,185 @@
---
title: Google Slides
description: Read, write, and create presentations
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="google_slides"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Google Slides](https://slides.google.com) is a dynamic cloud-based presentation application that allows users to create, edit, collaborate on, and present slideshows in real-time. As part of Google's productivity suite, Google Slides offers a flexible platform for designing engaging presentations, collaborating with others, and sharing content seamlessly through the cloud.
Learn how to integrate the Google Slides tools in Sim to effortlessly manage presentations as part of your automated workflows. With Sim, you can read, write, create, and update Google Slides presentations directly through your agents and automated processes, making it easy to deliver up-to-date information, generate custom reports, or produce branded decks programmatically.
With Google Slides, you can:
- **Create and edit presentations**: Design visually appealing slides with themes, layouts, and multimedia content
- **Collaborate in real-time**: Work simultaneously with teammates, comment, assign tasks, and receive live feedback on presentations
- **Present anywhere**: Display presentations online or offline, share links, or publish to the web
- **Add images and rich content**: Insert images, graphics, charts, and videos to make your presentations engaging
- **Integrate with other services**: Connect seamlessly with Google Drive, Docs, Sheets, and other third-party tools
- **Access from any device**: Use Google Slides on desktops, laptops, tablets, and mobile devices for maximum flexibility
In Sim, the Google Slides integration enables your agents to interact directly with presentation files programmatically. Automate tasks like reading slide content, inserting new slides or images, replacing text throughout a deck, generating new presentations, and retrieving slide thumbnails. This empowers you to scale content creation, keep presentations up-to-date, and embed them into automated document workflows. By connecting Sim with Google Slides, you facilitate AI-driven presentation management—making it easy to generate, update, or extract information from presentations without manual effort.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Google Slides into the workflow. Can read, write, create presentations, replace text, add slides, add images, and get thumbnails.
## Tools
### `google_slides_read`
Read content from a Google Slides presentation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Yes | The ID of the presentation to read |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `slides` | json | Array of slides with their content |
| `metadata` | json | Presentation metadata including ID, title, and URL |
### `google_slides_write`
Write or update content in a Google Slides presentation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Yes | The ID of the presentation to write to |
| `content` | string | Yes | The content to write to the slide |
| `slideIndex` | number | No | The index of the slide to write to \(defaults to first slide\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `updatedContent` | boolean | Indicates if presentation content was updated successfully |
| `metadata` | json | Updated presentation metadata including ID, title, and URL |
### `google_slides_create`
Create a new Google Slides presentation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `title` | string | Yes | The title of the presentation to create |
| `content` | string | No | The content to add to the first slide |
| `folderSelector` | string | No | Select the folder to create the presentation in |
| `folderId` | string | No | The ID of the folder to create the presentation in \(internal use\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | json | Created presentation metadata including ID, title, and URL |
### `google_slides_replace_all_text`
Find and replace all occurrences of text throughout a Google Slides presentation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Yes | The ID of the presentation |
| `findText` | string | Yes | The text to find \(e.g., \{\{placeholder\}\}\) |
| `replaceText` | string | Yes | The text to replace with |
| `matchCase` | boolean | No | Whether the search should be case-sensitive \(default: true\) |
| `pageObjectIds` | string | No | Comma-separated list of slide object IDs to limit replacements to specific slides \(leave empty for all slides\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `occurrencesChanged` | number | Number of text occurrences that were replaced |
| `metadata` | json | Operation metadata including presentation ID and URL |
### `google_slides_add_slide`
Add a new slide to a Google Slides presentation with a specified layout
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Yes | The ID of the presentation |
| `layout` | string | No | The predefined layout for the slide \(BLANK, TITLE, TITLE_AND_BODY, TITLE_ONLY, SECTION_HEADER, etc.\). Defaults to BLANK. |
| `insertionIndex` | number | No | The optional zero-based index indicating where to insert the slide. If not specified, the slide is added at the end. |
| `placeholderIdMappings` | string | No | JSON array of placeholder mappings to assign custom object IDs to placeholders. Format: \[\{"layoutPlaceholder":\{"type":"TITLE"\},"objectId":"custom_title_id"\}\] |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `slideId` | string | The object ID of the newly created slide |
| `metadata` | json | Operation metadata including presentation ID, layout, and URL |
### `google_slides_add_image`
Insert an image into a specific slide in a Google Slides presentation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Yes | The ID of the presentation |
| `pageObjectId` | string | Yes | The object ID of the slide/page to add the image to |
| `imageUrl` | string | Yes | The publicly accessible URL of the image \(must be PNG, JPEG, or GIF, max 50MB\) |
| `width` | number | No | Width of the image in points \(default: 300\) |
| `height` | number | No | Height of the image in points \(default: 200\) |
| `positionX` | number | No | X position from the left edge in points \(default: 100\) |
| `positionY` | number | No | Y position from the top edge in points \(default: 100\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `imageId` | string | The object ID of the newly created image |
| `metadata` | json | Operation metadata including presentation ID and image URL |
### `google_slides_get_thumbnail`
Generate a thumbnail image of a specific slide in a Google Slides presentation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Yes | The ID of the presentation |
| `pageObjectId` | string | Yes | The object ID of the slide/page to get a thumbnail for |
| `thumbnailSize` | string | No | The size of the thumbnail: SMALL \(200px\), MEDIUM \(800px\), or LARGE \(1600px\). Defaults to MEDIUM. |
| `mimeType` | string | No | The MIME type of the thumbnail image: PNG or GIF. Defaults to PNG. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `contentUrl` | string | URL to the thumbnail image \(valid for 30 minutes\) |
| `width` | number | Width of the thumbnail in pixels |
| `height` | number | Height of the thumbnail in pixels |
| `metadata` | json | Operation metadata including presentation ID and page object ID |
## Notes
- Category: `tools`
- Type: `google_slides`

View File

@@ -0,0 +1,499 @@
---
title: Grafana
description: Interact with Grafana dashboards, alerts, and annotations
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grafana"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grafana](https://grafana.com/) is a leading open-source platform for monitoring, observability, and visualization. It allows users to query, visualize, alert on, and analyze data from a variety of sources, making it an essential tool for infrastructure and application monitoring.
With Grafana, you can:
- **Visualize data**: Build and customize dashboards to display metrics, logs, and traces in real time
- **Monitor health and status**: Check the health of your Grafana instance and connected data sources
- **Manage alerts and annotations**: Set up alert rules, manage notifications, and annotate dashboards with important events
- **Organize content**: Organize dashboards and data sources into folders for better access management
In Sim, the Grafana integration empowers your agents to interact directly with your Grafana instance via API, enabling actions such as:
- Checking the Grafana server, database, and data source health status
- Retrieving, listing, and managing dashboards, alert rules, annotations, data sources, and folders
- Automating the monitoring of your infrastructure by integrating Grafana data and alerts into your workflow automations
These capabilities enable Sim agents to monitor systems, proactively respond to alerts, and help ensure the reliability and visibility of your services — all as part of your automated workflows.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Grafana into workflows. Manage dashboards, alerts, annotations, data sources, folders, and monitor health status.
## Tools
### `grafana_get_dashboard`
Get a dashboard by its UID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `dashboardUid` | string | Yes | The UID of the dashboard to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `dashboard` | json | The full dashboard JSON object |
| `meta` | json | Dashboard metadata \(version, permissions, etc.\) |
### `grafana_list_dashboards`
Search and list all dashboards
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `query` | string | No | Search query to filter dashboards by title |
| `tag` | string | No | Filter by tag \(comma-separated for multiple tags\) |
| `folderIds` | string | No | Filter by folder IDs \(comma-separated\) |
| `starred` | boolean | No | Only return starred dashboards |
| `limit` | number | No | Maximum number of dashboards to return |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `dashboards` | array | List of dashboard search results |
### `grafana_create_dashboard`
Create a new dashboard
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `title` | string | Yes | The title of the new dashboard |
| `folderUid` | string | No | The UID of the folder to create the dashboard in |
| `tags` | string | No | Comma-separated list of tags |
| `timezone` | string | No | Dashboard timezone \(e.g., browser, utc\) |
| `refresh` | string | No | Auto-refresh interval \(e.g., 5s, 1m, 5m\) |
| `panels` | string | No | JSON array of panel configurations |
| `overwrite` | boolean | No | Overwrite existing dashboard with same title |
| `message` | string | No | Commit message for the dashboard version |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | The numeric ID of the created dashboard |
| `uid` | string | The UID of the created dashboard |
| `url` | string | The URL path to the dashboard |
| `status` | string | Status of the operation \(success\) |
| `version` | number | The version number of the dashboard |
| `slug` | string | URL-friendly slug of the dashboard |
### `grafana_update_dashboard`
Update an existing dashboard. Fetches the current dashboard and merges your changes.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `dashboardUid` | string | Yes | The UID of the dashboard to update |
| `title` | string | No | New title for the dashboard |
| `folderUid` | string | No | New folder UID to move the dashboard to |
| `tags` | string | No | Comma-separated list of new tags |
| `timezone` | string | No | Dashboard timezone \(e.g., browser, utc\) |
| `refresh` | string | No | Auto-refresh interval \(e.g., 5s, 1m, 5m\) |
| `panels` | string | No | JSON array of panel configurations |
| `overwrite` | boolean | No | Overwrite even if there is a version conflict |
| `message` | string | No | Commit message for this version |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | The numeric ID of the updated dashboard |
| `uid` | string | The UID of the updated dashboard |
| `url` | string | The URL path to the dashboard |
| `status` | string | Status of the operation \(success\) |
| `version` | number | The new version number of the dashboard |
| `slug` | string | URL-friendly slug of the dashboard |
### `grafana_delete_dashboard`
Delete a dashboard by its UID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `dashboardUid` | string | Yes | The UID of the dashboard to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `title` | string | The title of the deleted dashboard |
| `message` | string | Confirmation message |
| `id` | number | The ID of the deleted dashboard |
### `grafana_list_alert_rules`
List all alert rules in the Grafana instance
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `rules` | array | List of alert rules |
### `grafana_get_alert_rule`
Get a specific alert rule by its UID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `alertRuleUid` | string | Yes | The UID of the alert rule to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `uid` | string | Alert rule UID |
| `title` | string | Alert rule title |
| `condition` | string | Alert condition |
| `data` | json | Alert rule query data |
| `folderUID` | string | Parent folder UID |
| `ruleGroup` | string | Rule group name |
| `noDataState` | string | State when no data is returned |
| `execErrState` | string | State on execution error |
| `annotations` | json | Alert annotations |
| `labels` | json | Alert labels |
### `grafana_create_alert_rule`
Create a new alert rule
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `title` | string | Yes | The title of the alert rule |
| `folderUid` | string | Yes | The UID of the folder to create the alert in |
| `ruleGroup` | string | Yes | The name of the rule group |
| `condition` | string | Yes | The refId of the query or expression to use as the alert condition |
| `data` | string | Yes | JSON array of query/expression data objects |
| `forDuration` | string | No | Duration to wait before firing \(e.g., 5m, 1h\) |
| `noDataState` | string | No | State when no data is returned \(NoData, Alerting, OK\) |
| `execErrState` | string | No | State on execution error \(Alerting, OK\) |
| `annotations` | string | No | JSON object of annotations |
| `labels` | string | No | JSON object of labels |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `uid` | string | The UID of the created alert rule |
| `title` | string | Alert rule title |
| `folderUID` | string | Parent folder UID |
| `ruleGroup` | string | Rule group name |
### `grafana_update_alert_rule`
Update an existing alert rule. Fetches the current rule and merges your changes.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `alertRuleUid` | string | Yes | The UID of the alert rule to update |
| `title` | string | No | New title for the alert rule |
| `folderUid` | string | No | New folder UID to move the alert to |
| `ruleGroup` | string | No | New rule group name |
| `condition` | string | No | New condition refId |
| `data` | string | No | New JSON array of query/expression data objects |
| `forDuration` | string | No | Duration to wait before firing \(e.g., 5m, 1h\) |
| `noDataState` | string | No | State when no data is returned \(NoData, Alerting, OK\) |
| `execErrState` | string | No | State on execution error \(Alerting, OK\) |
| `annotations` | string | No | JSON object of annotations |
| `labels` | string | No | JSON object of labels |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `uid` | string | The UID of the updated alert rule |
| `title` | string | Alert rule title |
| `folderUID` | string | Parent folder UID |
| `ruleGroup` | string | Rule group name |
### `grafana_delete_alert_rule`
Delete an alert rule by its UID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `alertRuleUid` | string | Yes | The UID of the alert rule to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `message` | string | Confirmation message |
### `grafana_list_contact_points`
List all alert notification contact points
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `contactPoints` | array | List of contact points |
### `grafana_create_annotation`
Create an annotation on a dashboard or as a global annotation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `text` | string | Yes | The text content of the annotation |
| `tags` | string | No | Comma-separated list of tags |
| `dashboardUid` | string | No | UID of the dashboard to add the annotation to \(optional for global annotations\) |
| `panelId` | number | No | ID of the panel to add the annotation to |
| `time` | number | No | Start time in epoch milliseconds \(defaults to now\) |
| `timeEnd` | number | No | End time in epoch milliseconds \(for range annotations\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | The ID of the created annotation |
| `message` | string | Confirmation message |
### `grafana_list_annotations`
Query annotations by time range, dashboard, or tags
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `from` | number | No | Start time in epoch milliseconds |
| `to` | number | No | End time in epoch milliseconds |
| `dashboardUid` | string | No | Filter by dashboard UID |
| `panelId` | number | No | Filter by panel ID |
| `tags` | string | No | Comma-separated list of tags to filter by |
| `type` | string | No | Filter by type \(alert or annotation\) |
| `limit` | number | No | Maximum number of annotations to return |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `annotations` | array | List of annotations |
### `grafana_update_annotation`
Update an existing annotation
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `annotationId` | number | Yes | The ID of the annotation to update |
| `text` | string | Yes | New text content for the annotation |
| `tags` | string | No | Comma-separated list of new tags |
| `time` | number | No | New start time in epoch milliseconds |
| `timeEnd` | number | No | New end time in epoch milliseconds |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | The ID of the updated annotation |
| `message` | string | Confirmation message |
### `grafana_delete_annotation`
Delete an annotation by its ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `annotationId` | number | Yes | The ID of the annotation to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `message` | string | Confirmation message |
### `grafana_list_data_sources`
List all data sources configured in Grafana
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `dataSources` | array | List of data sources |
### `grafana_get_data_source`
Get a data source by its ID or UID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `dataSourceId` | string | Yes | The ID or UID of the data source to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | Data source ID |
| `uid` | string | Data source UID |
| `name` | string | Data source name |
| `type` | string | Data source type |
| `url` | string | Data source connection URL |
| `database` | string | Database name \(if applicable\) |
| `isDefault` | boolean | Whether this is the default data source |
| `jsonData` | json | Additional data source configuration |
### `grafana_list_folders`
List all folders in Grafana
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `limit` | number | No | Maximum number of folders to return |
| `page` | number | No | Page number for pagination |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `folders` | array | List of folders |
### `grafana_create_folder`
Create a new folder in Grafana
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grafana Service Account Token |
| `baseUrl` | string | Yes | Grafana instance URL \(e.g., https://your-grafana.com\) |
| `organizationId` | string | No | Organization ID for multi-org Grafana instances |
| `title` | string | Yes | The title of the new folder |
| `uid` | string | No | Optional UID for the folder \(auto-generated if not provided\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | The numeric ID of the created folder |
| `uid` | string | The UID of the created folder |
| `title` | string | The title of the created folder |
| `url` | string | The URL path to the folder |
## Notes
- Category: `tools`
- Type: `grafana`

View File

@@ -364,6 +364,8 @@ Update an existing schedule in incident.io
| `id` | string | Yes | The ID of the schedule to update |
| `name` | string | No | New name for the schedule |
| `timezone` | string | No | New timezone for the schedule \(e.g., America/New_York\) |
| `config` | string | No | Schedule configuration as JSON string with rotations. Example: \{"rotations": \[\{"name": "Primary", "users": \[\{"id": "user_id"\}\], "handover_start_at": "2024-01-01T09:00:00Z", "handovers": \[\{"interval": 1, "interval_type": "weekly"\}\]\}\]\} |
| `Example` | string | No | No description |
#### Output

View File

@@ -170,7 +170,7 @@ Create or update a company in Intercom
| `plan` | string | No | The company plan name |
| `size` | number | No | The number of employees in the company |
| `industry` | string | No | The industry the company operates in |
| `monthly_spend` | number | No | How much revenue the company generates for your business |
| `monthly_spend` | number | No | How much revenue the company generates for your business. Note: This field truncates floats to whole integers \(e.g., 155.98 becomes 155\) |
| `custom_attributes` | string | No | Custom attributes as JSON object |
#### Output
@@ -199,7 +199,7 @@ Retrieve a single company by ID from Intercom
### `intercom_list_companies`
List all companies from Intercom with pagination support
List all companies from Intercom with pagination support. Note: This endpoint has a limit of 10,000 companies that can be returned using pagination. For datasets larger than 10,000 companies, use the Scroll API instead.
#### Input
@@ -262,7 +262,7 @@ Reply to a conversation as an admin in Intercom
| `conversationId` | string | Yes | Conversation ID to reply to |
| `message_type` | string | Yes | Message type: "comment" or "note" |
| `body` | string | Yes | The text body of the reply |
| `admin_id` | string | Yes | The ID of the admin authoring the reply |
| `admin_id` | string | No | The ID of the admin authoring the reply. If not provided, a default admin \(Operator/Fin\) will be used. |
| `attachment_urls` | string | No | Comma-separated list of image URLs \(max 10\) |
#### Output

View File

@@ -0,0 +1,398 @@
---
title: Kalshi
description: Access prediction markets and trade on Kalshi
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="kalshi"
color="#09C285"
/>
{/* MANUAL-CONTENT-START:intro */}
[Kalshi](https://kalshi.com) is a federally regulated exchange where users can trade directly on the outcomes of future events—prediction markets. Kalshis robust API and Sim integration enable agents and workflows to programmatically access all aspects of the platform, supporting everything from research and analytics to automated trading and monitoring.
With Kalshis integration in Sim, you can:
- **Market & Event Data:** Search, filter, and retrieve real-time and historical data for markets and events; fetch granular details on market status, series, event groupings, and more.
- **Account & Balance Management:** Access account balances, available funds, and monitor real-time open positions.
- **Order & Trade Management:** Place new orders, cancel existing ones, view open orders, retrieve a live orderbook, and access complete trade histories.
- **Execution Analysis:** Fetch recent trades, historical fills, and candlestick data for backtesting or market structure research.
- **Monitoring:** Check exchange-wide or series-level status, receive real-time updates about market changes or trading halts, and automate responses.
- **Automation Ready:** Build end-to-end automated agents and dashboards that consume, analyze, and trade on real-world event probabilities.
By using these unified tools and endpoints, you can seamlessly incorporate Kalshis prediction markets, live trading capabilities, and deep event data into your AI-powered applications, dashboards, and workflows—enabling sophisticated, automated decision-making tied to real-world outcomes.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Kalshi prediction markets into the workflow. Can get markets, market, events, event, balance, positions, orders, orderbook, trades, candlesticks, fills, series, exchange status, and place/cancel/amend trades.
## Tools
### `kalshi_get_markets`
Retrieve a list of prediction markets from Kalshi with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `status` | string | No | Filter by status \(unopened, open, closed, settled\) |
| `seriesTicker` | string | No | Filter by series ticker |
| `eventTicker` | string | No | Filter by event ticker |
| `limit` | string | No | Number of results \(1-1000, default: 100\) |
| `cursor` | string | No | Pagination cursor for next page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Markets data and metadata |
### `kalshi_get_market`
Retrieve details of a specific prediction market by ticker
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | Yes | The market ticker \(e.g., "KXBTC-24DEC31"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Market data and metadata |
### `kalshi_get_events`
Retrieve a list of events from Kalshi with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `status` | string | No | Filter by status \(open, closed, settled\) |
| `seriesTicker` | string | No | Filter by series ticker |
| `withNestedMarkets` | string | No | Include nested markets in response \(true/false\) |
| `limit` | string | No | Number of results \(1-200, default: 200\) |
| `cursor` | string | No | Pagination cursor for next page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Events data and metadata |
### `kalshi_get_event`
Retrieve details of a specific event by ticker
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `eventTicker` | string | Yes | The event ticker |
| `withNestedMarkets` | string | No | Include nested markets in response \(true/false\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Event data and metadata |
### `kalshi_get_balance`
Retrieve your account balance and portfolio value from Kalshi
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Balance data and metadata |
### `kalshi_get_positions`
Retrieve your open positions from Kalshi
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `ticker` | string | No | Filter by market ticker |
| `eventTicker` | string | No | Filter by event ticker \(max 10 comma-separated\) |
| `settlementStatus` | string | No | Filter by settlement status \(all, unsettled, settled\). Default: unsettled |
| `limit` | string | No | Number of results \(1-1000, default: 100\) |
| `cursor` | string | No | Pagination cursor for next page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Positions data and metadata |
### `kalshi_get_orders`
Retrieve your orders from Kalshi with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `ticker` | string | No | Filter by market ticker |
| `eventTicker` | string | No | Filter by event ticker \(max 10 comma-separated\) |
| `status` | string | No | Filter by status \(resting, canceled, executed\) |
| `limit` | string | No | Number of results \(1-200, default: 100\) |
| `cursor` | string | No | Pagination cursor for next page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Orders data and metadata |
### `kalshi_get_order`
Retrieve details of a specific order by ID from Kalshi
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `orderId` | string | Yes | The order ID to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Order data |
### `kalshi_get_orderbook`
Retrieve the orderbook (yes and no bids) for a specific market
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | Yes | Market ticker \(e.g., KXBTC-24DEC31\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Orderbook data and metadata |
### `kalshi_get_trades`
Retrieve recent trades across all markets
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Number of results \(1-1000, default: 100\) |
| `cursor` | string | No | Pagination cursor for next page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Trades data and metadata |
### `kalshi_get_candlesticks`
Retrieve OHLC candlestick data for a specific market
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | Yes | Series ticker |
| `ticker` | string | Yes | Market ticker \(e.g., KXBTC-24DEC31\) |
| `startTs` | number | Yes | Start timestamp \(Unix seconds\) |
| `endTs` | number | Yes | End timestamp \(Unix seconds\) |
| `periodInterval` | number | Yes | Period interval: 1 \(1min\), 60 \(1hour\), or 1440 \(1day\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Candlestick data and metadata |
### `kalshi_get_fills`
Retrieve your portfolio
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `ticker` | string | No | Filter by market ticker |
| `orderId` | string | No | Filter by order ID |
| `minTs` | number | No | Minimum timestamp \(Unix milliseconds\) |
| `maxTs` | number | No | Maximum timestamp \(Unix milliseconds\) |
| `limit` | string | No | Number of results \(1-1000, default: 100\) |
| `cursor` | string | No | Pagination cursor for next page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Fills data and metadata |
### `kalshi_get_series_by_ticker`
Retrieve details of a specific market series by ticker
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | Yes | Series ticker |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Series data and metadata |
### `kalshi_get_exchange_status`
Retrieve the current status of the Kalshi exchange (trading and exchange activity)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Exchange status data and metadata |
### `kalshi_create_order`
Create a new order on a Kalshi prediction market
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `ticker` | string | Yes | Market ticker \(e.g., KXBTC-24DEC31\) |
| `side` | string | Yes | Side of the order: 'yes' or 'no' |
| `action` | string | Yes | Action type: 'buy' or 'sell' |
| `count` | string | Yes | Number of contracts \(minimum 1\) |
| `type` | string | No | Order type: 'limit' or 'market' \(default: limit\) |
| `yesPrice` | string | No | Yes price in cents \(1-99\) |
| `noPrice` | string | No | No price in cents \(1-99\) |
| `yesPriceDollars` | string | No | Yes price in dollars \(e.g., "0.56"\) |
| `noPriceDollars` | string | No | No price in dollars \(e.g., "0.56"\) |
| `clientOrderId` | string | No | Custom order identifier |
| `expirationTs` | string | No | Unix timestamp for order expiration |
| `timeInForce` | string | No | Time in force: 'fill_or_kill', 'good_till_canceled', 'immediate_or_cancel' |
| `buyMaxCost` | string | No | Maximum cost in cents \(auto-enables fill_or_kill\) |
| `postOnly` | string | No | Set to 'true' for maker-only orders |
| `reduceOnly` | string | No | Set to 'true' for position reduction only |
| `selfTradePreventionType` | string | No | Self-trade prevention: 'taker_at_cross' or 'maker' |
| `orderGroupId` | string | No | Associated order group ID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Created order data |
### `kalshi_cancel_order`
Cancel an existing order on Kalshi
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `orderId` | string | Yes | The order ID to cancel |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Canceled order data |
### `kalshi_amend_order`
Modify the price or quantity of an existing order on Kalshi
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Yes | Your Kalshi API Key ID |
| `privateKey` | string | Yes | Your RSA Private Key \(PEM format\) |
| `orderId` | string | Yes | The order ID to amend |
| `ticker` | string | Yes | Market ticker |
| `side` | string | Yes | Side of the order: 'yes' or 'no' |
| `action` | string | Yes | Action type: 'buy' or 'sell' |
| `clientOrderId` | string | Yes | The original client-specified order ID |
| `updatedClientOrderId` | string | Yes | The new client-specified order ID after amendment |
| `count` | string | No | Updated quantity for the order |
| `yesPrice` | string | No | Updated yes price in cents \(1-99\) |
| `noPrice` | string | No | Updated no price in cents \(1-99\) |
| `yesPriceDollars` | string | No | Updated yes price in dollars \(e.g., "0.56"\) |
| `noPriceDollars` | string | No | Updated no price in dollars \(e.g., "0.56"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Amended order data |
## Notes
- Category: `tools`
- Type: `kalshi`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="mailgun"
color="#F06248"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -1,6 +1,7 @@
{
"pages": [
"index",
"ahrefs",
"airtable",
"apify",
"apollo",
@@ -10,13 +11,17 @@
"calendly",
"clay",
"confluence",
"datadog",
"discord",
"dropbox",
"dynamodb",
"elasticsearch",
"elevenlabs",
"exa",
"file",
"firecrawl",
"github",
"gitlab",
"gmail",
"google_calendar",
"google_docs",
@@ -24,7 +29,9 @@
"google_forms",
"google_search",
"google_sheets",
"google_slides",
"google_vault",
"grafana",
"hubspot",
"huggingface",
"hunter",
@@ -33,6 +40,7 @@
"intercom",
"jina",
"jira",
"kalshi",
"knowledge",
"linear",
"linkedin",
@@ -56,6 +64,7 @@
"perplexity",
"pinecone",
"pipedrive",
"polymarket",
"postgresql",
"posthog",
"pylon",
@@ -70,8 +79,10 @@
"sentry",
"serper",
"sharepoint",
"shopify",
"slack",
"smtp",
"ssh",
"stagehand",
"stagehand_agent",
"stripe",
@@ -92,9 +103,11 @@
"webflow",
"whatsapp",
"wikipedia",
"wordpress",
"x",
"youtube",
"zendesk",
"zep"
"zep",
"zoom"
]
}

View File

@@ -0,0 +1,357 @@
---
title: Polymarket
description: Access prediction markets data from Polymarket
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="polymarket"
color="#4C82FB"
/>
{/* MANUAL-CONTENT-START:intro */}
[Polymarket](https://polymarket.com) is a decentralized prediction markets platform where users can trade on the outcome of future events using blockchain technology. Polymarket provides a comprehensive API, enabling developers and agents to access live market data, event listings, price information, and orderbook statistics to power data-driven workflows and AI automations.
With Polymarkets API and Sim integration, you can enable agents to programmatically retrieve prediction market information, explore open markets and associated events, analyze historical price data, and access orderbooks and market midpoints. This creates new possibilities for research, automated analysis, and developing intelligent agents that react to real-time event probabilities derived from market prices.
Key features of the Polymarket integration include:
- **Market Listing & Filtering:** List all current or historical prediction markets, filter by tag, sort, and paginate through results.
- **Market Detail:** Retrieve details for a single market by market ID or slug, including its outcomes and status.
- **Event Listings:** Access lists of Polymarket events and detailed event information.
- **Orderbook & Price Data:** Analyze the orderbook, get the latest market prices, view the midpoint, or obtain historical price information for any market.
- **Automation Ready:** Build agents or tools that react programmatically to market developments, changing odds, or specific event outcomes.
By using these documented API endpoints, you can seamlessly integrate Polymarkets rich on-chain prediction market data into your own AI workflows, dashboards, research tools, and trading automations.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Polymarket prediction markets into the workflow. Can get markets, market, events, event, tags, series, orderbook, price, midpoint, price history, last trade price, spread, tick size, positions, trades, and search.
## Tools
### `polymarket_get_markets`
Retrieve a list of prediction markets from Polymarket with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `closed` | string | No | Filter by closed status \(true/false\). Use false for active markets only. |
| `order` | string | No | Sort field \(e.g., volumeNum, liquidityNum, startDate, endDate, createdAt\) |
| `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\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Markets data and metadata |
### `polymarket_get_market`
Retrieve details of a specific prediction market by ID or slug
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `marketId` | string | No | The market ID. Required if slug is not provided. |
| `slug` | string | No | The market slug \(e.g., "will-trump-win"\). Required if marketId is not provided. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Market data and metadata |
### `polymarket_get_events`
Retrieve a list of events from Polymarket with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `closed` | string | No | Filter by closed status \(true/false\). Use false for active events only. |
| `order` | string | No | Sort field \(e.g., volume, liquidity, startDate, endDate, createdAt\) |
| `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\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Events data and metadata |
### `polymarket_get_event`
Retrieve details of a specific event by ID or slug
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `eventId` | string | No | The event ID. Required if slug is not provided. |
| `slug` | string | No | The event slug \(e.g., "2024-presidential-election"\). Required if eventId is not provided. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Event data and metadata |
### `polymarket_get_tags`
Retrieve available tags for filtering markets from Polymarket
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Number of results per page \(recommended: 25-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 |
### `polymarket_search`
Search for markets, events, and profiles on Polymarket
#### Input
| 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\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Search results and metadata |
### `polymarket_get_series`
Retrieve series (related market groups) from Polymarket
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Number of results per page \(recommended: 25-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 |
### `polymarket_get_series_by_id`
Retrieve a specific series (related market group) by ID from Polymarket
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `seriesId` | string | Yes | The series ID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Series data and metadata |
### `polymarket_get_orderbook`
Retrieve the order book summary for a specific token
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Orderbook data and metadata |
### `polymarket_get_price`
Retrieve the market price for a specific token and side
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
| `side` | string | Yes | Order side: buy or sell |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Price data and metadata |
### `polymarket_get_midpoint`
Retrieve the midpoint price for a specific token
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Midpoint price data and metadata |
### `polymarket_get_price_history`
Retrieve historical price data for a specific market token
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
| `interval` | string | No | Duration ending at current time \(1m, 1h, 6h, 1d, 1w, max\). Mutually exclusive with startTs/endTs. |
| `fidelity` | number | No | Data resolution in minutes \(e.g., 60 for hourly\) |
| `startTs` | number | No | Start timestamp \(Unix seconds UTC\) |
| `endTs` | number | No | End timestamp \(Unix seconds UTC\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Price history data and metadata |
### `polymarket_get_last_trade_price`
Retrieve the last trade price for a specific token
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Last trade price and metadata |
### `polymarket_get_spread`
Retrieve the bid-ask spread for a specific token
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Spread data and metadata |
### `polymarket_get_tick_size`
Retrieve the minimum tick size for a specific token
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Yes | The CLOB token ID \(from market clobTokenIds\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Tick size and metadata |
### `polymarket_get_positions`
Retrieve user positions from Polymarket
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `user` | string | Yes | User wallet address |
| `market` | string | No | Optional market ID to filter positions |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Positions data and metadata |
### `polymarket_get_trades`
Retrieve trade history from Polymarket
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `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\) |
| `offset` | string | No | Pagination offset \(skip this many results\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Operation success status |
| `output` | object | Trades data and metadata |
## Notes
- Category: `tools`
- Type: `polymarket`

View File

@@ -89,6 +89,13 @@ Create a new issue with specified properties
| `bodyHtml` | string | Yes | Issue body in HTML format |
| `accountId` | string | No | Account ID to associate with issue |
| `assigneeId` | string | No | User ID to assign issue to |
| `teamId` | string | No | Team ID to assign issue to |
| `requesterId` | string | No | Requester user ID \(alternative to requester_email\) |
| `requesterEmail` | string | No | Requester email address \(alternative to requester_id\) |
| `priority` | string | No | Issue priority |
| `tags` | string | No | Comma-separated tag IDs |
| `customFields` | string | No | Custom fields as JSON object |
| `attachmentUrls` | string | No | Comma-separated attachment URLs |
#### Output
@@ -130,6 +137,9 @@ Update an existing issue
| `teamId` | string | No | Team ID to assign issue to |
| `tags` | string | No | Comma-separated tag IDs |
| `customFields` | string | No | Custom fields as JSON object |
| `customerPortalVisible` | boolean | No | Whether issue is visible in customer portal |
| `requesterId` | string | No | Requester user ID |
| `accountId` | string | No | Account ID to associate with issue |
#### Output

View File

@@ -0,0 +1,449 @@
---
title: Shopify
description: Manage products, orders, customers, and inventory in your Shopify store
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="shopify"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Shopify](https://www.shopify.com/) is a leading e-commerce platform designed to help merchants build, run, and grow their online stores. Shopify makes it easy to manage every aspect of your store, from products and inventory to orders and customers.
With Shopify in Sim, your agents can:
- **Create and manage products**: Add new products, update product details, and remove products from your store.
- **List and retrieve orders**: Get information about customer orders, including filtering and order management.
- **Manage customers**: Access and update customer details, or add new customers to your store.
- **Adjust inventory levels**: Programmatically change product stock levels to keep your inventory accurate.
Use Sim's Shopify integration to automate common store management workflows—such as syncing inventory, fulfilling orders, or managing listings—directly from your automations. Empower your agents to access, update, and organize all your store data using simple, programmatic tools.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Shopify into your workflow. Manage products, orders, customers, and inventory. Create, read, update, and delete products. List and manage orders. Handle customer data and adjust inventory levels.
## Tools
### `shopify_create_product`
Create a new product in your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `title` | string | Yes | Product title |
| `descriptionHtml` | string | No | Product description \(HTML\) |
| `vendor` | string | No | Product vendor/brand |
| `productType` | string | No | Product type/category |
| `tags` | array | No | Product tags |
| `status` | string | No | Product status \(ACTIVE, DRAFT, ARCHIVED\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `product` | object | The created product |
### `shopify_get_product`
Get a single product by ID from your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `productId` | string | Yes | Product ID \(gid://shopify/Product/123456789\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `product` | object | The product details |
### `shopify_list_products`
List products from your Shopify store with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `first` | number | No | Number of products to return \(default: 50, max: 250\) |
| `query` | string | No | Search query to filter products \(e.g., "title:shirt" or "vendor:Nike" or "status:active"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `products` | array | List of products |
| `pageInfo` | object | Pagination information |
### `shopify_update_product`
Update an existing product in your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `productId` | string | Yes | Product ID to update \(gid://shopify/Product/123456789\) |
| `title` | string | No | New product title |
| `descriptionHtml` | string | No | New product description \(HTML\) |
| `vendor` | string | No | New product vendor/brand |
| `productType` | string | No | New product type/category |
| `tags` | array | No | New product tags |
| `status` | string | No | New product status \(ACTIVE, DRAFT, ARCHIVED\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `product` | object | The updated product |
### `shopify_delete_product`
Delete a product from your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `productId` | string | Yes | Product ID to delete \(gid://shopify/Product/123456789\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deletedId` | string | The ID of the deleted product |
### `shopify_get_order`
Get a single order by ID from your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `orderId` | string | Yes | Order ID \(gid://shopify/Order/123456789\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `order` | object | The order details |
### `shopify_list_orders`
List orders from your Shopify store with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `first` | number | No | Number of orders to return \(default: 50, max: 250\) |
| `status` | string | No | Filter by order status \(open, closed, cancelled, any\) |
| `query` | string | No | Search query to filter orders \(e.g., "financial_status:paid" or "fulfillment_status:unfulfilled" or "email:customer@example.com"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `orders` | array | List of orders |
| `pageInfo` | object | Pagination information |
### `shopify_update_order`
Update an existing order in your Shopify store (note, tags, email)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `orderId` | string | Yes | Order ID to update \(gid://shopify/Order/123456789\) |
| `note` | string | No | New order note |
| `tags` | array | No | New order tags |
| `email` | string | No | New customer email for the order |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `order` | object | The updated order |
### `shopify_cancel_order`
Cancel an order in your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `orderId` | string | Yes | Order ID to cancel \(gid://shopify/Order/123456789\) |
| `reason` | string | Yes | Cancellation reason \(CUSTOMER, DECLINED, FRAUD, INVENTORY, STAFF, OTHER\) |
| `notifyCustomer` | boolean | No | Whether to notify the customer about the cancellation |
| `refund` | boolean | No | Whether to refund the order |
| `restock` | boolean | No | Whether to restock the inventory |
| `staffNote` | string | No | A note about the cancellation for staff reference |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `order` | object | The cancellation result |
### `shopify_create_customer`
Create a new customer in your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `email` | string | No | Customer email address |
| `firstName` | string | No | Customer first name |
| `lastName` | string | No | Customer last name |
| `phone` | string | No | Customer phone number |
| `note` | string | No | Note about the customer |
| `tags` | array | No | Customer tags |
| `addresses` | array | No | Customer addresses |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `customer` | object | The created customer |
### `shopify_get_customer`
Get a single customer by ID from your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `customerId` | string | Yes | Customer ID \(gid://shopify/Customer/123456789\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `customer` | object | The customer details |
### `shopify_list_customers`
List customers from your Shopify store with optional filtering
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `first` | number | No | Number of customers to return \(default: 50, max: 250\) |
| `query` | string | No | Search query to filter customers \(e.g., "first_name:John" or "last_name:Smith" or "email:*@gmail.com" or "tag:vip"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `customers` | array | List of customers |
| `pageInfo` | object | Pagination information |
### `shopify_update_customer`
Update an existing customer in your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `customerId` | string | Yes | Customer ID to update \(gid://shopify/Customer/123456789\) |
| `email` | string | No | New customer email address |
| `firstName` | string | No | New customer first name |
| `lastName` | string | No | New customer last name |
| `phone` | string | No | New customer phone number |
| `note` | string | No | New note about the customer |
| `tags` | array | No | New customer tags |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `customer` | object | The updated customer |
### `shopify_delete_customer`
Delete a customer from your Shopify store
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `customerId` | string | Yes | Customer ID to delete \(gid://shopify/Customer/123456789\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deletedId` | string | The ID of the deleted customer |
### `shopify_list_inventory_items`
List inventory items from your Shopify store. Use this to find inventory item IDs by SKU.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `first` | number | No | Number of inventory items to return \(default: 50, max: 250\) |
| `query` | string | No | Search query to filter inventory items \(e.g., "sku:ABC123"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `inventoryItems` | array | List of inventory items with their IDs, SKUs, and stock levels |
| `pageInfo` | object | Pagination information |
### `shopify_get_inventory_level`
Get inventory level for a product variant at a specific location
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `inventoryItemId` | string | Yes | Inventory item ID \(gid://shopify/InventoryItem/123456789\) |
| `locationId` | string | No | Location ID to filter by \(optional\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `inventoryLevel` | object | The inventory level details |
### `shopify_adjust_inventory`
Adjust inventory quantity for a product variant at a specific location
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `inventoryItemId` | string | Yes | Inventory item ID \(gid://shopify/InventoryItem/123456789\) |
| `locationId` | string | Yes | Location ID \(gid://shopify/Location/123456789\) |
| `delta` | number | Yes | Amount to adjust \(positive to increase, negative to decrease\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `inventoryLevel` | object | The inventory adjustment result |
### `shopify_list_locations`
List inventory locations from your Shopify store. Use this to find location IDs needed for inventory operations.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `first` | number | No | Number of locations to return \(default: 50, max: 250\) |
| `includeInactive` | boolean | No | Whether to include deactivated locations \(default: false\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `locations` | array | List of locations with their IDs, names, and addresses |
| `pageInfo` | object | Pagination information |
### `shopify_create_fulfillment`
Create a fulfillment to mark order items as shipped. Requires a fulfillment order ID (get this from the order details).
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `fulfillmentOrderId` | string | Yes | The fulfillment order ID \(e.g., gid://shopify/FulfillmentOrder/123456789\) |
| `trackingNumber` | string | No | Tracking number for the shipment |
| `trackingCompany` | string | No | Shipping carrier name \(e.g., UPS, FedEx, USPS, DHL\) |
| `trackingUrl` | string | No | URL to track the shipment |
| `notifyCustomer` | boolean | No | Whether to send a shipping confirmation email to the customer \(default: true\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `fulfillment` | object | The created fulfillment with tracking info and fulfilled items |
### `shopify_list_collections`
List product collections from your Shopify store. Filter by title, type (custom/smart), or handle.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `first` | number | No | Number of collections to return \(default: 50, max: 250\) |
| `query` | string | No | Search query to filter collections \(e.g., "title:Summer" or "collection_type:smart"\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `collections` | array | List of collections with their IDs, titles, and product counts |
| `pageInfo` | object | Pagination information |
### `shopify_get_collection`
Get a specific collection by ID, including its products. Use this to retrieve products within a collection.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Yes | Your Shopify store domain \(e.g., mystore.myshopify.com\) |
| `collectionId` | string | Yes | The collection ID \(e.g., gid://shopify/Collection/123456789\) |
| `productsFirst` | number | No | Number of products to return from this collection \(default: 50, max: 250\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `collection` | object | The collection details including its products |
## Notes
- Category: `tools`
- Type: `shopify`

View File

@@ -122,6 +122,82 @@ Read the latest messages from Slack channels. Retrieve conversation history with
| --------- | ---- | ----------- |
| `messages` | array | Array of message objects from the channel |
### `slack_list_channels`
List all channels in a Slack workspace. Returns public and private channels the bot has access to.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Authentication method: oauth or bot_token |
| `botToken` | string | No | Bot token for Custom Bot |
| `includePrivate` | boolean | No | Include private channels the bot is a member of \(default: true\) |
| `excludeArchived` | boolean | No | Exclude archived channels \(default: true\) |
| `limit` | number | No | Maximum number of channels to return \(default: 100, max: 200\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `channels` | array | Array of channel objects from the workspace |
### `slack_list_members`
List all members (user IDs) in a Slack channel. Use with Get User Info to resolve IDs to names.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Authentication method: oauth or bot_token |
| `botToken` | string | No | Bot token for Custom Bot |
| `channel` | string | Yes | Channel ID to list members from |
| `limit` | number | No | Maximum number of members to return \(default: 100, max: 200\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `members` | array | Array of user IDs who are members of the channel \(e.g., U1234567890\) |
### `slack_list_users`
List all users in a Slack workspace. Returns user profiles with names and avatars.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Authentication method: oauth or bot_token |
| `botToken` | string | No | Bot token for Custom Bot |
| `includeDeleted` | boolean | No | Include deactivated/deleted users \(default: false\) |
| `limit` | number | No | Maximum number of users to return \(default: 100, max: 200\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `users` | array | Array of user objects from the workspace |
### `slack_get_user`
Get detailed information about a specific Slack user by their user ID.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Authentication method: oauth or bot_token |
| `botToken` | string | No | Bot token for Custom Bot |
| `userId` | string | Yes | User ID to look up \(e.g., U1234567890\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `user` | object | Detailed user information |
### `slack_download`
Download a file from Slack

View File

@@ -0,0 +1,399 @@
---
title: SSH
description: Connect to remote servers via SSH
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ssh"
color="#000000"
/>
{/* MANUAL-CONTENT-START:intro */}
[SSH (Secure Shell)](https://en.wikipedia.org/wiki/Secure_Shell) is a widely-used protocol for securely connecting to remote servers, allowing you to execute commands, transfer files, and manage systems over encrypted channels.
With SSH support in Sim, your agents can:
- **Execute remote commands**: Run shell commands on any SSH-accessible server
- **Upload and run scripts**: Easily transfer and execute multi-line scripts for advanced automation
- **Transfer files securely**: Upload and download files as part of your workflows (coming soon or via command)
- **Automate server management**: Perform updates, maintenance, monitoring, deployments, and configuration tasks programmatically
- **Use flexible authentication**: Connect with password or private key authentication, including support for encrypted keys
The following Sim SSH tools enable your agents to interact with servers as part of larger automations:
- `ssh_execute_command`: Run any single shell command remotely and capture output, status, and errors.
- `ssh_execute_script`: Upload and execute a full multi-line script on the remote system.
- (Additional tools coming soon, such as file transfer.)
By integrating SSH into your agent workflows, you can automate secure access, remote operations, and server orchestration—streamlining DevOps, IT automation, and custom remote management, all from within Sim.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Execute commands, transfer files, and manage remote servers via SSH. Supports password and private key authentication for secure server access.
## Tools
### `ssh_execute_command`
Execute a shell command on a remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `command` | string | Yes | Shell command to execute on the remote server |
| `workingDirectory` | string | No | Working directory for command execution |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `stdout` | string | Standard output from command |
| `stderr` | string | Standard error output |
| `exitCode` | number | Command exit code |
| `success` | boolean | Whether command succeeded \(exit code 0\) |
| `message` | string | Operation status message |
### `ssh_execute_script`
Upload and execute a multi-line script on a remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `script` | string | Yes | Script content to execute \(bash, python, etc.\) |
| `interpreter` | string | No | Script interpreter \(default: /bin/bash\) |
| `workingDirectory` | string | No | Working directory for script execution |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `stdout` | string | Standard output from script |
| `stderr` | string | Standard error output |
| `exitCode` | number | Script exit code |
| `success` | boolean | Whether script succeeded \(exit code 0\) |
| `scriptPath` | string | Temporary path where script was uploaded |
| `message` | string | Operation status message |
### `ssh_check_command_exists`
Check if a command/program exists on the remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `commandName` | string | Yes | Command name to check \(e.g., docker, git, python3\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `commandExists` | boolean | Whether the command exists |
| `commandPath` | string | Full path to the command \(if found\) |
| `version` | string | Command version output \(if applicable\) |
| `message` | string | Operation status message |
### `ssh_upload_file`
Upload a file to a remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `fileContent` | string | Yes | File content to upload \(base64 encoded for binary files\) |
| `fileName` | string | Yes | Name of the file being uploaded |
| `remotePath` | string | Yes | Destination path on the remote server |
| `permissions` | string | No | File permissions \(e.g., 0644\) |
| `overwrite` | boolean | No | Whether to overwrite existing files \(default: true\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `uploaded` | boolean | Whether the file was uploaded successfully |
| `remotePath` | string | Final path on the remote server |
| `size` | number | File size in bytes |
| `message` | string | Operation status message |
### `ssh_download_file`
Download a file from a remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 of the file on the remote server |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `downloaded` | boolean | Whether the file was downloaded successfully |
| `fileContent` | string | File content \(base64 encoded for binary files\) |
| `fileName` | string | Name of the downloaded file |
| `remotePath` | string | Source path on the remote server |
| `size` | number | File size in bytes |
| `message` | string | Operation status message |
### `ssh_list_directory`
List files and directories in a remote directory
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `path` | string | Yes | Remote directory path to list |
| `detailed` | boolean | No | Include file details \(size, permissions, modified date\) |
| `recursive` | boolean | No | List subdirectories recursively \(default: false\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `entries` | array | Array of file and directory entries |
### `ssh_check_file_exists`
Check if a file or directory exists on the remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `path` | string | Yes | Remote file or directory path to check |
| `type` | string | No | Expected type: file, directory, or any \(default: any\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `exists` | boolean | Whether the path exists |
| `type` | string | Type of path \(file, directory, symlink, not_found\) |
| `size` | number | File size if it is a file |
| `permissions` | string | File permissions \(e.g., 0755\) |
| `modified` | string | Last modified timestamp |
| `message` | string | Operation status message |
### `ssh_create_directory`
Create a directory on the remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `path` | string | Yes | Directory path to create |
| `recursive` | boolean | No | Create parent directories if they do not exist \(default: true\) |
| `permissions` | string | No | Directory permissions \(default: 0755\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `created` | boolean | Whether the directory was created successfully |
| `remotePath` | string | Created directory path |
| `alreadyExists` | boolean | Whether the directory already existed |
| `message` | string | Operation status message |
### `ssh_delete_file`
Delete a file or directory from the remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `path` | string | Yes | Path to delete |
| `recursive` | boolean | No | Recursively delete directories \(default: false\) |
| `force` | boolean | No | Force deletion without confirmation \(default: false\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deleted` | boolean | Whether the path was deleted successfully |
| `remotePath` | string | Deleted path |
| `message` | string | Operation status message |
### `ssh_move_rename`
Move or rename a file or directory on the remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `sourcePath` | string | Yes | Current path of the file or directory |
| `destinationPath` | string | Yes | New path for the file or directory |
| `overwrite` | boolean | No | Overwrite destination if it exists \(default: false\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `moved` | boolean | Whether the operation was successful |
| `sourcePath` | string | Original path |
| `destinationPath` | string | New path |
| `message` | string | Operation status message |
### `ssh_get_system_info`
Retrieve system information from the remote SSH server
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `hostname` | string | Server hostname |
| `os` | string | Operating system \(e.g., Linux, Darwin\) |
| `architecture` | string | CPU architecture \(e.g., x64, arm64\) |
| `uptime` | number | System uptime in seconds |
| `memory` | json | Memory information \(total, free, used\) |
| `diskSpace` | json | Disk space information \(total, free, used\) |
| `message` | string | Operation status message |
### `ssh_read_file_content`
Read the contents of a remote file
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `path` | string | Yes | Remote file path to read |
| `encoding` | string | No | File encoding \(default: utf-8\) |
| `maxSize` | number | No | Maximum file size to read in MB \(default: 10\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | File content as string |
| `size` | number | File size in bytes |
| `lines` | number | Number of lines in file |
| `remotePath` | string | Remote file path |
| `message` | string | Operation status message |
### `ssh_write_file_content`
Write or append content to a remote file
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `host` | string | Yes | SSH server hostname or IP address |
| `port` | number | Yes | SSH server port \(default: 22\) |
| `username` | string | Yes | SSH 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 |
| `path` | string | Yes | Remote file path to write to |
| `content` | string | Yes | Content to write to the file |
| `mode` | string | No | Write mode: overwrite, append, or create \(default: overwrite\) |
| `permissions` | string | No | File permissions \(e.g., 0644\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `written` | boolean | Whether the file was written successfully |
| `remotePath` | string | File path |
| `size` | number | Final file size in bytes |
| `message` | string | Operation status message |
## Notes
- Category: `tools`
- Type: `ssh`

View File

@@ -0,0 +1,571 @@
---
title: WordPress
description: Manage WordPress content
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="wordpress"
color="#21759B"
/>
{/* MANUAL-CONTENT-START:intro */}
[WordPress](https://wordpress.org/) is the worlds leading open-source content management system, making it easy to publish and manage websites, blogs, and all types of online content. With WordPress, you can create and update posts or pages, organize your content with categories and tags, manage media files, moderate comments, and handle user accounts—allowing you to run everything from personal blogs to complex business sites.
Sims integration with WordPress lets your agents automate essential website tasks. You can programmatically create new blog posts with specific titles, content, categories, tags, and featured images. Updating existing posts—such as changing their content, title, or publishing status—is straightforward. You can also publish or save content as drafts, manage static pages, work with media uploads, oversee comments, and assign content to relevant organizational taxonomies.
By connecting WordPress to your automations, Sim empowers your agents to streamline content publishing, editorial workflows, and everyday site management—helping you keep your website fresh, organized, and secure without manual effort.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate with WordPress to create, update, and manage posts, pages, media, comments, categories, tags, and users. Supports WordPress.com sites via OAuth and self-hosted WordPress sites using Application Passwords authentication.
## Tools
### `wordpress_create_post`
Create a new blog post in WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `title` | string | Yes | Post title |
| `content` | string | No | Post content \(HTML or plain text\) |
| `status` | string | No | Post status: publish, draft, pending, private, or future |
| `excerpt` | string | No | Post excerpt |
| `categories` | string | No | Comma-separated category IDs |
| `tags` | string | No | Comma-separated tag IDs |
| `featuredMedia` | number | No | Featured image media ID |
| `slug` | string | No | URL slug for the post |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `post` | object | The created post |
### `wordpress_update_post`
Update an existing blog post in WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `postId` | number | Yes | The ID of the post to update |
| `title` | string | No | Post title |
| `content` | string | No | Post content \(HTML or plain text\) |
| `status` | string | No | Post status: publish, draft, pending, private, or future |
| `excerpt` | string | No | Post excerpt |
| `categories` | string | No | Comma-separated category IDs |
| `tags` | string | No | Comma-separated tag IDs |
| `featuredMedia` | number | No | Featured image media ID |
| `slug` | string | No | URL slug for the post |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `post` | object | The updated post |
### `wordpress_delete_post`
Delete a blog post from WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `postId` | number | Yes | The ID of the post to delete |
| `force` | boolean | No | Bypass trash and force delete permanently |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deleted` | boolean | Whether the post was deleted |
| `post` | object | The deleted post |
### `wordpress_get_post`
Get a single blog post from WordPress.com by ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `postId` | number | Yes | The ID of the post to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `post` | object | The retrieved post |
### `wordpress_list_posts`
List blog posts from WordPress.com with optional filters
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of posts per page \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `status` | string | No | Post status filter: publish, draft, pending, private |
| `author` | number | No | Filter by author ID |
| `categories` | string | No | Comma-separated category IDs to filter by |
| `tags` | string | No | Comma-separated tag IDs to filter by |
| `search` | string | No | Search term to filter posts |
| `orderBy` | string | No | Order by field: date, id, title, slug, modified |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `posts` | array | List of posts |
### `wordpress_create_page`
Create a new page in WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `title` | string | Yes | Page title |
| `content` | string | No | Page content \(HTML or plain text\) |
| `status` | string | No | Page status: publish, draft, pending, private |
| `excerpt` | string | No | Page excerpt |
| `parent` | number | No | Parent page ID for hierarchical pages |
| `menuOrder` | number | No | Order in page menu |
| `featuredMedia` | number | No | Featured image media ID |
| `slug` | string | No | URL slug for the page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `page` | object | The created page |
### `wordpress_update_page`
Update an existing page in WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `pageId` | number | Yes | The ID of the page to update |
| `title` | string | No | Page title |
| `content` | string | No | Page content \(HTML or plain text\) |
| `status` | string | No | Page status: publish, draft, pending, private |
| `excerpt` | string | No | Page excerpt |
| `parent` | number | No | Parent page ID for hierarchical pages |
| `menuOrder` | number | No | Order in page menu |
| `featuredMedia` | number | No | Featured image media ID |
| `slug` | string | No | URL slug for the page |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `page` | object | The updated page |
### `wordpress_delete_page`
Delete a page from WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `pageId` | number | Yes | The ID of the page to delete |
| `force` | boolean | No | Bypass trash and force delete permanently |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deleted` | boolean | Whether the page was deleted |
| `page` | object | The deleted page |
### `wordpress_get_page`
Get a single page from WordPress.com by ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `pageId` | number | Yes | The ID of the page to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `page` | object | The retrieved page |
### `wordpress_list_pages`
List pages from WordPress.com with optional filters
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of pages per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `status` | string | No | Page status filter: publish, draft, pending, private |
| `parent` | number | No | Filter by parent page ID |
| `search` | string | No | Search term to filter pages |
| `orderBy` | string | No | Order by field: date, id, title, slug, modified, menu_order |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `pages` | array | List of pages |
### `wordpress_upload_media`
Upload a media file (image, video, document) to WordPress.com
#### Input
| 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\) |
| `title` | string | No | Media title |
| `caption` | string | No | Media caption |
| `altText` | string | No | Alternative text for accessibility |
| `description` | string | No | Media description |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `media` | object | The uploaded media item |
### `wordpress_get_media`
Get a single media item from WordPress.com by ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `mediaId` | number | Yes | The ID of the media item to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `media` | object | The retrieved media item |
### `wordpress_list_media`
List media items from the WordPress.com media library
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of media items per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `search` | string | No | Search term to filter media |
| `mediaType` | string | No | Filter by media type: image, video, audio, application |
| `mimeType` | string | No | Filter by specific MIME type \(e.g., image/jpeg\) |
| `orderBy` | string | No | Order by field: date, id, title, slug |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `media` | array | List of media items |
### `wordpress_delete_media`
Delete a media item from WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `mediaId` | number | Yes | The ID of the media item to delete |
| `force` | boolean | No | Force delete \(media has no trash, so deletion is permanent\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deleted` | boolean | Whether the media was deleted |
| `media` | object | The deleted media item |
### `wordpress_create_comment`
Create a new comment on a WordPress.com post
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `postId` | number | Yes | The ID of the post to comment on |
| `content` | string | Yes | Comment content |
| `parent` | number | No | Parent comment ID for replies |
| `authorName` | string | No | Comment author display name |
| `authorEmail` | string | No | Comment author email |
| `authorUrl` | string | No | Comment author URL |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `comment` | object | The created comment |
### `wordpress_list_comments`
List comments from WordPress.com with optional filters
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of comments per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `postId` | number | No | Filter by post ID |
| `status` | string | No | Filter by comment status: approved, hold, spam, trash |
| `search` | string | No | Search term to filter comments |
| `orderBy` | string | No | Order by field: date, id, parent |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `comments` | array | List of comments |
### `wordpress_update_comment`
Update a comment in WordPress.com (content or status)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `commentId` | number | Yes | The ID of the comment to update |
| `content` | string | No | Updated comment content |
| `status` | string | No | Comment status: approved, hold, spam, trash |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `comment` | object | The updated comment |
### `wordpress_delete_comment`
Delete a comment from WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `commentId` | number | Yes | The ID of the comment to delete |
| `force` | boolean | No | Bypass trash and force delete permanently |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `deleted` | boolean | Whether the comment was deleted |
| `comment` | object | The deleted comment |
### `wordpress_create_category`
Create a new category in WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `name` | string | Yes | Category name |
| `description` | string | No | Category description |
| `parent` | number | No | Parent category ID for hierarchical categories |
| `slug` | string | No | URL slug for the category |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `category` | object | The created category |
### `wordpress_list_categories`
List categories from WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of categories per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `search` | string | No | Search term to filter categories |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `categories` | array | List of categories |
### `wordpress_create_tag`
Create a new tag in WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `name` | string | Yes | Tag name |
| `description` | string | No | Tag description |
| `slug` | string | No | URL slug for the tag |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `tag` | object | The created tag |
### `wordpress_list_tags`
List tags from WordPress.com
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of tags per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `search` | string | No | Search term to filter tags |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `tags` | array | List of tags |
### `wordpress_get_current_user`
Get information about the currently authenticated WordPress.com user
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `user` | object | The current user |
### `wordpress_list_users`
List users from WordPress.com (requires admin privileges)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `perPage` | number | No | Number of users per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `search` | string | No | Search term to filter users |
| `roles` | string | No | Comma-separated role names to filter by |
| `order` | string | No | Order direction: asc or desc |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `users` | array | List of users |
### `wordpress_get_user`
Get a specific user from WordPress.com by ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `userId` | number | Yes | The ID of the user to retrieve |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `user` | object | The retrieved user |
### `wordpress_search_content`
Search across all content types in WordPress.com (posts, pages, media)
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Yes | WordPress.com site ID or domain \(e.g., 12345678 or mysite.wordpress.com\) |
| `query` | string | Yes | Search query |
| `perPage` | number | No | Number of results per request \(default: 10, max: 100\) |
| `page` | number | No | Page number for pagination |
| `type` | string | No | Filter by content type: post, page, attachment |
| `subtype` | string | No | Filter by post type slug \(e.g., post, page\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `results` | array | Search results |
## Notes
- Category: `tools`
- Type: `wordpress`

View File

@@ -117,6 +117,9 @@ Create a new ticket in Zendesk with support for custom fields
| `type` | string | No | Type \(problem, incident, question, task\) |
| `tags` | string | No | Comma-separated tags |
| `assigneeId` | string | No | Assignee user ID |
| `groupId` | string | No | Group ID |
| `requesterId` | string | No | Requester user ID |
| `customFields` | string | No | Custom fields as JSON object \(e.g., \{"field_id": "value"\}\) |
#### Output

View File

@@ -0,0 +1,255 @@
---
title: Zoom
description: Create and manage Zoom meetings and recordings
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="zoom"
color="#2D8CFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Zoom](https://zoom.us/) is a leading cloud-based communications platform for video meetings, webinars, and online collaboration. It allows users and organizations to easily schedule, host, and manage meetings, providing tools for screen sharing, chat, recordings, and more.
With Zoom, you can:
- **Schedule and manage meetings**: Create instant or scheduled meetings, including recurring events
- **Configure meeting options**: Set meeting passwords, enable waiting rooms, and control participant video/audio
- **Send invitations and share details**: Retrieve meeting invitations and information for easy sharing
- **Get and update meeting data**: Access meeting details, modify existing meetings, and manage settings programmatically
In Sim, the Zoom integration empowers your agents to automate scheduling and meeting management. Use tool actions to:
- Programmatically create new meetings with custom settings
- List all meetings for a specific user (or yourself)
- Retrieve details or invitations for any meeting
- Update or delete existing meetings directly from your automations
These capabilities let you streamline remote collaboration, automate recurring video sessions, and manage your organization's Zoom environment all as part of your workflows.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Zoom into workflows. Create, list, update, and delete Zoom meetings. Get meeting details, invitations, recordings, and participants. Manage cloud recordings programmatically.
## Tools
### `zoom_create_meeting`
Create a new Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Yes | The user ID or email address. Use "me" for the authenticated user. |
| `topic` | string | Yes | Meeting topic |
| `type` | number | No | Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time |
| `startTime` | string | No | Meeting start time in ISO 8601 format \(e.g., 2025-06-03T10:00:00Z\) |
| `duration` | number | No | Meeting duration in minutes |
| `timezone` | string | No | Timezone for the meeting \(e.g., America/Los_Angeles\) |
| `password` | string | No | Meeting password |
| `agenda` | string | No | Meeting agenda |
| `hostVideo` | boolean | No | Start with host video on |
| `participantVideo` | boolean | No | Start with participant video on |
| `joinBeforeHost` | boolean | No | Allow participants to join before host |
| `muteUponEntry` | boolean | No | Mute participants upon entry |
| `waitingRoom` | boolean | No | Enable waiting room |
| `autoRecording` | string | No | Auto recording setting: local, cloud, or none |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `meeting` | object | The created meeting with all its properties |
### `zoom_list_meetings`
List all meetings for a Zoom user
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Yes | The user ID or email address. Use "me" for the authenticated user. |
| `type` | string | No | Meeting type filter: scheduled, live, upcoming, upcoming_meetings, or previous_meetings |
| `pageSize` | number | No | Number of records per page \(max 300\) |
| `nextPageToken` | string | No | Token for pagination to get next page of results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `meetings` | array | List of meetings |
| `pageInfo` | object | Pagination information |
### `zoom_get_meeting`
Get details of a specific Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The meeting ID |
| `occurrenceId` | string | No | Occurrence ID for recurring meetings |
| `showPreviousOccurrences` | boolean | No | Show previous occurrences for recurring meetings |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `meeting` | object | The meeting details |
### `zoom_update_meeting`
Update an existing Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The meeting ID to update |
| `topic` | string | No | Meeting topic |
| `type` | number | No | Meeting type: 1=instant, 2=scheduled, 3=recurring no fixed time, 8=recurring fixed time |
| `startTime` | string | No | Meeting start time in ISO 8601 format \(e.g., 2025-06-03T10:00:00Z\) |
| `duration` | number | No | Meeting duration in minutes |
| `timezone` | string | No | Timezone for the meeting \(e.g., America/Los_Angeles\) |
| `password` | string | No | Meeting password |
| `agenda` | string | No | Meeting agenda |
| `hostVideo` | boolean | No | Start with host video on |
| `participantVideo` | boolean | No | Start with participant video on |
| `joinBeforeHost` | boolean | No | Allow participants to join before host |
| `muteUponEntry` | boolean | No | Mute participants upon entry |
| `waitingRoom` | boolean | No | Enable waiting room |
| `autoRecording` | string | No | Auto recording setting: local, cloud, or none |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the meeting was updated successfully |
### `zoom_delete_meeting`
Delete or cancel a Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The meeting ID to delete |
| `occurrenceId` | string | No | Occurrence ID for deleting a specific occurrence of a recurring meeting |
| `scheduleForReminder` | boolean | No | Send cancellation reminder email to registrants |
| `cancelMeetingReminder` | boolean | No | Send cancellation email to registrants and alternative hosts |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the meeting was deleted successfully |
### `zoom_get_meeting_invitation`
Get the meeting invitation text for a Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The meeting ID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `invitation` | string | The meeting invitation text |
### `zoom_list_recordings`
List all cloud recordings for a Zoom user
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Yes | The user ID or email address. Use "me" for the authenticated user. |
| `from` | string | No | Start date in yyyy-mm-dd format \(within last 6 months\) |
| `to` | string | No | End date in yyyy-mm-dd format |
| `pageSize` | number | No | Number of records per page \(max 300\) |
| `nextPageToken` | string | No | Token for pagination to get next page of results |
| `trash` | boolean | No | Set to true to list recordings from trash |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `recordings` | array | List of recordings |
| `pageInfo` | object | Pagination information |
### `zoom_get_meeting_recordings`
Get all recordings for a specific Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The meeting ID or meeting UUID |
| `includeFolderItems` | boolean | No | Include items within a folder |
| `ttl` | number | No | Time to live for download URLs in seconds \(max 604800\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `recording` | object | The meeting recording with all files |
### `zoom_delete_recording`
Delete cloud recordings for a Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The meeting ID or meeting UUID |
| `recordingId` | string | No | Specific recording file ID to delete. If not provided, deletes all recordings. |
| `action` | string | No | Delete action: "trash" \(move to trash\) or "delete" \(permanently delete\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the recording was deleted successfully |
### `zoom_list_past_participants`
List participants from a past Zoom meeting
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Yes | The past meeting ID or UUID |
| `pageSize` | number | No | Number of records per page \(max 300\) |
| `nextPageToken` | string | No | Token for pagination to get next page of results |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `participants` | array | List of meeting participants |
| `pageInfo` | object | Pagination information |
## Notes
- Category: `tools`
- Type: `zoom`

View File

@@ -66,16 +66,16 @@ To reference environment variables in your workflows, use the `{{}}` notation. W
height={350}
/>
## Variable Precedence
## How Variables are Resolved
When you have both personal and workspace variables with the same name:
**Workspace variables always take precedence** over personal variables, regardless of who runs the workflow.
1. **Workspace variables take precedence** over personal variables
2. This prevents naming conflicts and ensures consistent behavior across team workflows
3. If a workspace variable exists, the personal variable with the same name is ignored
When no workspace variable exists for a key, personal variables are used:
- **Manual runs (UI)**: Your personal variables
- **Automated runs (API, webhook, schedule, deployed chat)**: Workflow owner's personal variables
<Callout type="warning">
Choose variable names carefully to avoid unintended overrides. Consider prefixing personal variables with your initials or workspace variables with the project name.
<Callout type="info">
Personal variables are best for testing. Use workspace variables for production workflows.
</Callout>
## Security Best Practices

View File

@@ -251,32 +251,78 @@ Recupera detalles de ejecución incluyendo la instantánea del estado del flujo
</Tab>
</Tabs>
## Suscripciones a webhooks
## Notificaciones
Recibe notificaciones en tiempo real cuando se completan las ejecuciones de flujos de trabajo. Los webhooks se configuran a través de la interfaz de usuario de Sim en el editor de flujos de trabajo.
Recibe notificaciones en tiempo real cuando se completan las ejecuciones de flujos de trabajo a través de webhook, correo electrónico o Slack. Las notificaciones se configuran a nivel de espacio de trabajo desde la página de Registros.
### Configuración
Los webhooks pueden configurarse para cada flujo de trabajo a través de la interfaz de usuario del editor de flujos de trabajo. Haz clic en el icono de webhook en la barra de control para configurar tus suscripciones a webhooks.
Configura las notificaciones desde la página de Registros haciendo clic en el botón de menú y seleccionando "Configurar notificaciones".
<div className="mx-auto w-full overflow-hidden rounded-lg">
<Video src="configure-webhook.mp4" width={700} height={450} />
</div>
**Canales de notificación:**
- **Webhook**: Envía solicitudes HTTP POST a tu punto de conexión
- **Correo electrónico**: Recibe notificaciones por correo con detalles de la ejecución
- **Slack**: Publica mensajes en un canal de Slack
**Opciones de configuración disponibles:**
- `url`: URL del punto final de tu webhook
**Selección de flujos de trabajo:**
- Selecciona flujos de trabajo específicos para monitorear
- O elige "Todos los flujos de trabajo" para incluir los flujos actuales y futuros
**Opciones de filtrado:**
- `levelFilter`: Niveles de registro a recibir (`info`, `error`)
- `triggerFilter`: Tipos de disparadores a recibir (`api`, `webhook`, `schedule`, `manual`, `chat`)
**Datos opcionales:**
- `includeFinalOutput`: Incluir la salida final del flujo de trabajo
- `includeTraceSpans`: Incluir trazas detalladas de la ejecución
- `includeRateLimits`: Incluir información de límites de tasa (límites sincrónicos/asincrónicos y restantes)
- `includeUsageData`: Incluir uso y límites del período de facturación
### Reglas de alerta
En lugar de recibir notificaciones por cada ejecución, configura reglas de alerta para ser notificado solo cuando se detecten problemas:
**Fallos consecutivos**
- Alerta después de X ejecuciones fallidas consecutivas (por ejemplo, 3 fallos seguidos)
- Se reinicia cuando una ejecución tiene éxito
**Tasa de fallos**
- Alerta cuando la tasa de fallos supera el X% durante las últimas Y horas
- Requiere un mínimo de 5 ejecuciones en la ventana de tiempo
- Solo se activa después de que haya transcurrido la ventana de tiempo completa
**Umbral de latencia**
- Alerta cuando cualquier ejecución tarda más de X segundos
- Útil para detectar flujos de trabajo lentos o bloqueados
**Pico de latencia**
- Alerta cuando la ejecución es X% más lenta que el promedio
- Compara con la duración promedio durante la ventana de tiempo configurada
- Requiere un mínimo de 5 ejecuciones para establecer una línea base
**Umbral de costo**
- Alerta cuando una sola ejecución cuesta más de $X
- Útil para detectar llamadas costosas a LLM
**Sin actividad**
- Alerta cuando no ocurren ejecuciones dentro de X horas
- Útil para monitorear flujos de trabajo programados que deberían ejecutarse regularmente
**Recuento de errores**
- Alerta cuando el recuento de errores excede X dentro de una ventana de tiempo
- Rastrea errores totales, no consecutivos
Todos los tipos de alertas incluyen un período de enfriamiento de 1 hora para evitar el spam de notificaciones.
### Configuración de webhook
Para webhooks, hay opciones adicionales disponibles:
- `url`: La URL de tu endpoint webhook
- `secret`: Secreto opcional para verificación de firma HMAC
- `includeFinalOutput`: Incluir la salida final del flujo de trabajo en la carga útil
- `includeTraceSpans`: Incluir intervalos de seguimiento de ejecución detallados
- `includeRateLimits`: Incluir información del límite de tasa del propietario del flujo de trabajo
- `includeUsageData`: Incluir datos de uso y facturación del propietario del flujo de trabajo
- `levelFilter`: Array de niveles de registro a recibir (`info`, `error`)
- `triggerFilter`: Array de tipos de disparadores a recibir (`api`, `webhook`, `schedule`, `manual`, `chat`)
- `active`: Habilitar/deshabilitar la suscripción al webhook
### Carga útil del webhook
### Estructura de carga útil
Cuando se completa la ejecución de un flujo de trabajo, Sim envía una solicitud POST a tu URL de webhook:
Cuando se completa la ejecución de un flujo de trabajo, Sim envía la siguiente carga útil (vía webhook POST, correo electrónico o Slack):
```json
{
@@ -325,9 +371,9 @@ Cuando se completa la ejecución de un flujo de trabajo, Sim envía una solicitu
}
```
### Cabeceras de webhook
### Encabezados de webhook
Cada solicitud de webhook incluye estas cabeceras:
Cada solicitud de webhook incluye estos encabezados (solo canal webhook):
- `sim-event`: Tipo de evento (siempre `workflow.execution.completed`)
- `sim-timestamp`: Marca de tiempo Unix en milisegundos
@@ -416,15 +462,15 @@ Las entregas de webhook fallidas se reintentan con retroceso exponencial y fluct
- Retrasos de reintento: 5 segundos, 15 segundos, 1 minuto, 3 minutos, 10 minutos
- Fluctuación: Hasta un 10% de retraso adicional para prevenir el efecto de manada
- Solo las respuestas HTTP 5xx y 429 activan reintentos
- Las entregas agotan el tiempo de espera después de 30 segundos
- Las entregas agotan el tiempo después de 30 segundos
<Callout type="info">
Las entregas de webhook se procesan de forma asíncrona y no afectan al rendimiento de ejecución del flujo de trabajo.
Las entregas de webhook se procesan de forma asíncrona y no afectan el rendimiento de ejecución del flujo de trabajo.
</Callout>
## Mejores prácticas
1. **Estrategia de sondeo**: Al sondear registros, utiliza paginación basada en cursor con `order=asc` y `startDate` para obtener nuevos registros de manera eficiente.
1. **Estrategia de sondeo**: Cuando consultes registros, utiliza paginación basada en cursores con `order=asc` y `startDate` para obtener nuevos registros de manera eficiente.
2. **Seguridad de webhook**: Siempre configura un secreto de webhook y verifica las firmas para asegurar que las solicitudes provienen de Sim.
@@ -432,23 +478,23 @@ Las entregas de webhook fallidas se reintentan con retroceso exponencial y fluct
4. **Privacidad**: Por defecto, `finalOutput` y `traceSpans` están excluidos de las respuestas. Habilítalos solo si necesitas los datos y comprendes las implicaciones de privacidad.
5. **Limitación de tasa**: Implementa retroceso exponencial cuando recibas respuestas 429. Consulta la cabecera `Retry-After` para conocer el tiempo de espera recomendado.
5. **Limitación de tasa**: Implementa retroceso exponencial cuando recibas respuestas 429. Verifica la cabecera `Retry-After` para conocer el tiempo de espera recomendado.
## Limitación de tasa
La API implementa limitación de tasa para garantizar un uso justo:
La API implementa limitación de tasa para asegurar un uso justo:
- **Plan gratuito**: 10 solicitudes por minuto
- **Plan Pro**: 30 solicitudes por minuto
- **Plan Team**: 60 solicitudes por minuto
- **Plan Enterprise**: Límites personalizados
La información del límite de tasa se incluye en los encabezados de respuesta:
- `X-RateLimit-Limit`: Máximo de solicitudes por ventana
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 se reinicia la ventana
- `X-RateLimit-Reset`: Marca de tiempo ISO cuando la ventana se reinicia
## Ejemplo: Sondeo para nuevos registros
## Ejemplo: Sondeo de nuevos registros
```javascript
let cursor = null;

View File

@@ -147,4 +147,4 @@ La instantánea proporciona:
- Aprende sobre [Cálculo de costos](/execution/costs) para entender los precios de los flujos de trabajo
- Explora la [API externa](/execution/api) para acceso programático a los registros
- Configura [notificaciones por Webhook](/execution/api#webhook-subscriptions) para alertas en tiempo real
- Configura [Notificaciones](/execution/api#notifications) para alertas en tiempo real vía webhook, correo electrónico o Slack

View File

@@ -0,0 +1,200 @@
---
title: Ahrefs
description: Análisis SEO con Ahrefs
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ahrefs"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Ahrefs](https://ahrefs.com/) es un conjunto de herramientas SEO líder para analizar sitios web, seguir posiciones, monitorear backlinks e investigar palabras clave. Proporciona información detallada sobre tu propio sitio web y el de tus competidores, ayudándote a tomar decisiones basadas en datos para mejorar tu visibilidad en los buscadores.
Con la integración de Ahrefs en Sim, puedes:
- **Analizar Domain Rating y autoridad**: Comprobar instantáneamente el Domain Rating (DR) y el Ahrefs Rank de cualquier sitio web para evaluar su autoridad.
- **Obtener backlinks**: Recuperar una lista de backlinks que apuntan a un sitio o URL específica, con detalles como texto ancla, DR de la página referente y más.
- **Obtener estadísticas de backlinks**: Acceder a métricas sobre tipos de backlinks (dofollow, nofollow, texto, imagen, redirección, etc.) para un dominio o URL.
- **Explorar palabras clave orgánicas** *(planificado)*: Ver las palabras clave por las que un dominio se posiciona y sus posiciones en los resultados de búsqueda de Google.
- **Descubrir páginas principales** *(planificado)*: Identificar las páginas con mejor rendimiento por tráfico orgánico y enlaces.
Estas herramientas permiten a tus agentes automatizar la investigación SEO, monitorear competidores y generar informes, todo como parte de tus automatizaciones de flujo de trabajo. Para usar la integración de Ahrefs, necesitarás una suscripción Ahrefs Enterprise con acceso a API.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra las herramientas SEO de Ahrefs en tu flujo de trabajo. Analiza calificaciones de dominio, backlinks, palabras clave orgánicas, páginas principales y más. Requiere un plan Ahrefs Enterprise con acceso a API.
## Herramientas
### `ahrefs_domain_rating`
Obtén el Domain Rating (DR) y el Ahrefs Rank para un dominio objetivo. El Domain Rating muestra la fortaleza de un sitio web
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `target` | string | Sí | El dominio objetivo a analizar \(p. ej., example.com\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto es hoy\) |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `domainRating` | number | Puntuación de Domain Rating \(0-100\) |
| `ahrefsRank` | number | Ahrefs Rank - clasificación global basada en la fuerza del perfil de backlinks |
### `ahrefs_backlinks`
Obtener una lista de backlinks que apuntan a un dominio o URL objetivo. Devuelve detalles sobre cada backlink incluyendo URL de origen, texto de anclaje y domain rating.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `target` | string | Sí | El dominio o URL objetivo a analizar |
| `mode` | string | No | Modo de análisis: domain \(dominio completo\), prefix \(prefijo URL\), subdomains \(incluir todos los subdominios\), exact \(coincidencia exacta de URL\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto es hoy\) |
| `limit` | number | No | Número máximo de resultados a devolver \(predeterminado: 100\) |
| `offset` | number | No | Número de resultados a omitir para paginación |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `backlinks` | array | Lista de backlinks que apuntan al objetivo |
### `ahrefs_backlinks_stats`
Obtén estadísticas de backlinks para un dominio o URL objetivo. Devuelve totales para diferentes tipos de backlinks incluyendo enlaces dofollow, nofollow, texto, imagen y redirección.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `target` | string | Sí | El dominio o URL objetivo para analizar |
| `mode` | string | No | Modo de análisis: domain \(dominio completo\), prefix \(prefijo URL\), subdomains \(incluir todos los subdominios\), exact \(coincidencia exacta de URL\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto es hoy\) |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `stats` | object | Resumen de estadísticas de backlinks |
### `ahrefs_referring_domains`
Obtén una lista de dominios que enlazan a un dominio o URL objetivo. Devuelve dominios de referencia únicos con su calificación de dominio, recuento de backlinks y fechas de descubrimiento.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `target` | string | Sí | El dominio o URL objetivo para analizar |
| `mode` | string | No | Modo de análisis: domain \(dominio completo\), prefix \(prefijo URL\), subdomains \(incluir todos los subdominios\), exact \(coincidencia exacta de URL\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto es hoy\) |
| `limit` | number | No | Número máximo de resultados a devolver \(predeterminado: 100\) |
| `offset` | number | No | Número de resultados a omitir para paginación |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `referringDomains` | array | Lista de dominios que enlazan al objetivo |
### `ahrefs_organic_keywords`
Obtén palabras clave orgánicas por las que un dominio o URL objetivo se posiciona en los resultados de búsqueda de Google. Devuelve detalles de las palabras clave, incluyendo volumen de búsqueda, posición en el ranking y tráfico estimado.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `target` | string | Sí | El dominio o URL objetivo a analizar |
| `country` | string | No | Código de país para los resultados de búsqueda \(p. ej., us, gb, de\). Predeterminado: us |
| `mode` | string | No | Modo de análisis: domain \(dominio completo\), prefix \(prefijo de URL\), subdomains \(incluir todos los subdominios\), exact \(coincidencia exacta de URL\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto: hoy\) |
| `limit` | number | No | Número máximo de resultados a devolver \(predeterminado: 100\) |
| `offset` | number | No | Número de resultados a omitir para la paginación |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `keywords` | array | Lista de palabras clave orgánicas por las que se posiciona el objetivo |
### `ahrefs_top_pages`
Obtén las páginas principales de un dominio objetivo ordenadas por tráfico orgánico. Devuelve URLs de páginas con su tráfico, recuento de palabras clave y valor estimado del tráfico.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ---------- | ----------- |
| `target` | string | Sí | El dominio objetivo a analizar |
| `country` | string | No | Código de país para datos de tráfico \(p. ej., us, gb, de\). Predeterminado: us |
| `mode` | string | No | Modo de análisis: domain \(dominio completo\), prefix \(prefijo URL\), subdomains \(incluir todos los subdominios\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto es hoy\) |
| `limit` | number | No | Número máximo de resultados a devolver \(predeterminado: 100\) |
| `offset` | number | No | Número de resultados a omitir para paginación |
| `select` | string | No | Lista separada por comas de campos a devolver \(p. ej., url,traffic,keywords,top_keyword,value\). Predeterminado: url,traffic,keywords,top_keyword,value |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pages` | array | Lista de páginas principales por tráfico orgánico |
### `ahrefs_keyword_overview`
Obtener métricas detalladas para una palabra clave incluyendo volumen de búsqueda, dificultad de la palabra clave, CPC, clics y potencial de tráfico.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ---------- | ----------- |
| `keyword` | string | Sí | La palabra clave a analizar |
| `country` | string | No | Código de país para datos de palabras clave \(p. ej., us, gb, de\). Predeterminado: us |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `overview` | object | Resumen de métricas de palabra clave |
### `ahrefs_broken_backlinks`
Obtén una lista de backlinks rotos que apuntan a un dominio o URL objetivo. Útil para identificar oportunidades de recuperación de enlaces.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `target` | string | Sí | El dominio o URL objetivo para analizar |
| `mode` | string | No | Modo de análisis: domain \(dominio completo\), prefix \(prefijo de URL\), subdomains \(incluir todos los subdominios\), exact \(coincidencia exacta de URL\) |
| `date` | string | No | Fecha para datos históricos en formato AAAA-MM-DD \(por defecto: hoy\) |
| `limit` | number | No | Número máximo de resultados a devolver \(predeterminado: 100\) |
| `offset` | number | No | Número de resultados a omitir para paginación |
| `apiKey` | string | Sí | Clave API de Ahrefs |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `brokenBacklinks` | array | Lista de backlinks rotos |
## Notas
- Categoría: `tools`
- Tipo: `ahrefs`

View File

@@ -0,0 +1,302 @@
---
title: Datadog
description: Monitorea infraestructura, aplicaciones y registros con Datadog
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="datadog"
color="#632CA6"
/>
{/* MANUAL-CONTENT-START:intro */}
[Datadog](https://datadoghq.com/) es una plataforma integral de monitoreo y análisis para infraestructura, aplicaciones, registros y más. Permite a las organizaciones obtener visibilidad en tiempo real sobre la salud y el rendimiento de los sistemas, detectar anomalías y automatizar la respuesta a incidentes.
Con Datadog, puedes:
- **Monitorear métricas**: Recopilar, visualizar y analizar métricas de servidores, servicios en la nube y aplicaciones personalizadas.
- **Consultar datos de series temporales**: Ejecutar consultas avanzadas sobre métricas de rendimiento para análisis de tendencias e informes.
- **Gestionar monitores y eventos**: Configurar monitores para detectar problemas, activar alertas y crear eventos para observabilidad.
- **Manejar tiempos de inactividad**: Programar y gestionar de forma programática los tiempos de inactividad planificados para suprimir alertas durante el mantenimiento.
- **Analizar registros y trazas** *(con configuración adicional en Datadog)*: Centralizar e inspeccionar registros o trazas distribuidas para una solución de problemas más profunda.
La integración de Datadog de Sim permite que tus agentes automaticen estas operaciones e interactúen con tu cuenta de Datadog de forma programática. Úsala para enviar métricas personalizadas, consultar datos de series temporales, gestionar monitores, crear eventos y optimizar tus flujos de trabajo de monitoreo directamente dentro de las automatizaciones de Sim.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra el monitoreo de Datadog en los flujos de trabajo. Envía métricas, gestiona monitores, consulta registros, crea eventos, maneja tiempos de inactividad y más.
## Herramientas
### `datadog_submit_metrics`
Envía métricas personalizadas a Datadog. Utilízalo para seguir el rendimiento de aplicaciones, métricas de negocio o datos de monitoreo personalizados.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `series` | string | Sí | Array JSON de series métricas para enviar. Cada serie debe incluir nombre de métrica, tipo \(gauge/rate/count\), puntos \(pares de marca de tiempo/valor\) y etiquetas opcionales. |
| `apiKey` | string | Sí | Clave API de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si las métricas se enviaron correctamente |
| `errors` | array | Cualquier error que haya ocurrido durante el envío |
### `datadog_query_timeseries`
Consulta datos de series temporales de métricas desde Datadog. Útil para analizar tendencias, crear informes o recuperar valores de métricas.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `query` | string | Sí | Consulta de métricas de Datadog (p. ej., "avg:system.cpu.user\{*\}") |
| `from` | number | Sí | Tiempo de inicio como marca de tiempo Unix en segundos |
| `to` | number | Sí | Tiempo de finalización como marca de tiempo Unix en segundos |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog (predeterminado: datadoghq.com) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `series` | array | Array de datos de series temporales con nombre de métrica, etiquetas y puntos de datos |
| `status` | string | Estado de la consulta |
### `datadog_create_event`
Publica un evento en el flujo de eventos de Datadog. Útil para notificaciones de despliegue, alertas o cualquier suceso significativo.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `title` | string | Sí | Título del evento |
| `text` | string | Sí | Cuerpo/descripción del evento. Admite markdown. |
| `alertType` | string | No | Tipo de alerta: error, warning, info, success, user_update, recommendation o snapshot |
| `priority` | string | No | Prioridad del evento: normal o low |
| `host` | string | No | Nombre del host asociado con este evento |
| `tags` | string | No | Lista de etiquetas separadas por comas (p. ej., "env:production,service:api") |
| `aggregationKey` | string | No | Clave para agrupar eventos |
| `sourceTypeName` | string | No | Nombre del tipo de fuente para el evento |
| `dateHappened` | number | No | Marca de tiempo Unix cuando ocurrió el evento (por defecto: ahora) |
| `apiKey` | string | Sí | Clave API de Datadog |
| `site` | string | No | Sitio/región de Datadog (predeterminado: datadoghq.com) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `event` | object | Los detalles del evento creado |
### `datadog_create_monitor`
Crear un nuevo monitor/alerta en Datadog. Los monitores pueden rastrear métricas, verificaciones de servicio, eventos y más.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `name` | string | Sí | Nombre del monitor |
| `type` | string | Sí | Tipo de monitor: alerta de métrica, verificación de servicio, alerta de evento, alerta de proceso, alerta de registro, alerta de consulta, compuesto, alerta de sintéticos, alerta de slo |
| `query` | string | Sí | Consulta del monitor \(p. ej., "avg\(last_5m\):avg:system.cpu.idle\{*\} &lt; 20"\) |
| `message` | string | No | Mensaje para incluir con las notificaciones. Puede incluir menciones con @ y markdown. |
| `tags` | string | No | Lista de etiquetas separadas por comas |
| `priority` | number | No | Prioridad del monitor \(1-5, donde 1 es la más alta\) |
| `options` | string | No | Cadena JSON de opciones del monitor \(umbrales, notify_no_data, renotify_interval, etc.\) |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `monitor` | object | Los detalles del monitor creado |
### `datadog_get_monitor`
Recuperar detalles de un monitor específico por ID.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `monitorId` | string | Sí | El ID del monitor a recuperar |
| `groupStates` | string | No | Estados de grupo separados por comas para incluir: alerta, advertencia, sin datos, ok |
| `withDowntimes` | boolean | No | Incluir datos de tiempo de inactividad con el monitor |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `monitor` | object | Los detalles del monitor |
### `datadog_list_monitors`
Lista todos los monitores en Datadog con filtrado opcional por nombre, etiquetas o estado.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `groupStates` | string | No | Estados de grupo separados por comas para filtrar: alert, warn, no data, ok |
| `name` | string | No | Filtrar monitores por nombre \(coincidencia parcial\) |
| `tags` | string | No | Lista de etiquetas separadas por comas para filtrar |
| `monitorTags` | string | No | Lista de etiquetas de monitor separadas por comas para filtrar |
| `withDowntimes` | boolean | No | Incluir datos de tiempo de inactividad con los monitores |
| `page` | number | No | Número de página para paginación \(indexado desde 0\) |
| `pageSize` | number | No | Número de monitores por página \(máximo 1000\) |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `monitors` | array | Lista de monitores |
### `datadog_mute_monitor`
Silencia un monitor para suprimir temporalmente las notificaciones.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `monitorId` | string | Sí | El ID del monitor a silenciar |
| `scope` | string | No | Ámbito a silenciar \(p. ej., "host:myhost"\). Si no se especifica, silencia todos los ámbitos. |
| `end` | number | No | Marca de tiempo Unix cuando debe finalizar el silenciamiento. Si no se especifica, silencia indefinidamente. |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si el monitor se silenció correctamente |
### `datadog_query_logs`
Busca y recupera registros desde Datadog. Útil para solución de problemas, análisis o monitoreo.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `query` | string | Sí | Consulta de búsqueda de registros \(p. ej., "service:web-app status:error"\) |
| `from` | string | Sí | Hora de inicio en formato ISO-8601 o relativo \(p. ej., "now-1h"\) |
| `to` | string | Sí | Hora de fin en formato ISO-8601 o relativo \(p. ej., "now"\) |
| `limit` | number | No | Número máximo de registros a devolver \(predeterminado: 50, máx: 1000\) |
| `sort` | string | No | Orden de clasificación: timestamp \(más antiguos primero\) o -timestamp \(más recientes primero\) |
| `indexes` | string | No | Lista separada por comas de índices de registros para buscar |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `logs` | array | Lista de entradas de registro |
### `datadog_send_logs`
Envía entradas de registro a Datadog para registro centralizado y análisis.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `logs` | string | Sí | Array JSON de entradas de registro. Cada entrada debe tener message y opcionalmente ddsource, ddtags, hostname, service. |
| `apiKey` | string | Sí | Clave API de Datadog |
| `site` | string | No | Sitio/región de Datadog \(predeterminado: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si los registros se enviaron correctamente |
### `datadog_create_downtime`
Programa un tiempo de inactividad para suprimir las notificaciones del monitor durante las ventanas de mantenimiento.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `scope` | string | Sí | Ámbito para aplicar el tiempo de inactividad \(p. ej., "host:myhost", "env:production", o "*" para todos\) |
| `message` | string | No | Mensaje a mostrar durante el tiempo de inactividad |
| `start` | number | No | Marca de tiempo Unix para el inicio del tiempo de inactividad \(por defecto es ahora\) |
| `end` | number | No | Marca de tiempo Unix para el final del tiempo de inactividad |
| `timezone` | string | No | Zona horaria para el tiempo de inactividad \(p. ej., "America/New_York"\) |
| `monitorId` | string | No | ID específico del monitor a silenciar |
| `monitorTags` | string | No | Etiquetas de monitor separadas por comas para coincidir \(p. ej., "team:backend,priority:high"\) |
| `muteFirstRecoveryNotification` | boolean | No | Silenciar la primera notificación de recuperación |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(por defecto: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `downtime` | object | Los detalles del tiempo de inactividad creado |
### `datadog_list_downtimes`
Listar todos los tiempos de inactividad programados en Datadog.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `currentOnly` | boolean | No | Solo devolver tiempos de inactividad actualmente activos |
| `monitorId` | string | No | Filtrar por ID de monitor |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog \(por defecto: datadoghq.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `downtimes` | array | Lista de tiempos de inactividad |
### `datadog_cancel_downtime`
Cancelar un tiempo de inactividad programado.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `downtimeId` | string | Sí | El ID del tiempo de inactividad a cancelar |
| `apiKey` | string | Sí | Clave API de Datadog |
| `applicationKey` | string | Sí | Clave de aplicación de Datadog |
| `site` | string | No | Sitio/región de Datadog (predeterminado: datadoghq.com) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si el tiempo de inactividad se canceló correctamente |
## Notas
- Categoría: `tools`
- Tipo: `datadog`

View File

@@ -0,0 +1,219 @@
---
title: Dropbox
description: Sube, descarga, comparte y gestiona archivos en Dropbox
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="dropbox"
color="#0061FF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Dropbox](https://dropbox.com/) es una popular plataforma de almacenamiento en la nube y colaboración que permite a individuos y equipos almacenar, acceder y compartir archivos de forma segura desde cualquier lugar. Dropbox está diseñado para facilitar la gestión de archivos, la sincronización y una potente colaboración, ya sea que trabajes solo o en grupo.
Con Dropbox en Sim, puedes:
- **Subir y descargar archivos**: Sube cualquier archivo a tu Dropbox o recupera contenido bajo demanda sin problemas
- **Listar contenidos de carpetas**: Navega por los archivos y carpetas dentro de cualquier directorio de Dropbox
- **Crear nuevas carpetas**: Organiza tus archivos creando programáticamente nuevas carpetas en tu Dropbox
- **Buscar archivos y carpetas**: Localiza documentos, imágenes u otros elementos por nombre o contenido
- **Generar enlaces compartidos**: Crea rápidamente enlaces públicos o privados compartibles para archivos y carpetas
- **Gestionar archivos**: Mueve, elimina o renombra archivos y carpetas como parte de flujos de trabajo automatizados
Estas capacidades permiten a tus agentes Sim automatizar operaciones de Dropbox directamente dentro de tus flujos de trabajo — desde hacer copias de seguridad de archivos importantes hasta distribuir contenido y mantener carpetas organizadas. Usa Dropbox como fuente y destino para archivos, permitiendo una gestión fluida del almacenamiento en la nube como parte de tus procesos de negocio.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Dropbox en tu flujo de trabajo para la gestión de archivos, compartir y colaboración. Sube archivos, descarga contenido, crea carpetas, gestiona enlaces compartidos y más.
## Herramientas
### `dropbox_upload`
Subir un archivo a Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | string | Sí | La ruta en Dropbox donde se guardará el archivo \(p. ej., /carpeta/documento.pdf\) |
| `fileContent` | string | Sí | El contenido codificado en base64 del archivo a subir |
| `fileName` | string | No | Nombre de archivo opcional \(usado si la ruta es una carpeta\) |
| `mode` | string | No | Modo de escritura: add \(predeterminado\) u overwrite |
| `autorename` | boolean | No | Si es true, renombra el archivo si hay un conflicto |
| `mute` | boolean | No | Si es true, no notifica al usuario sobre esta subida |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `file` | object | Los metadatos del archivo subido |
### `dropbox_download`
Descargar un archivo de Dropbox y obtener un enlace temporal
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | string | Sí | La ruta del archivo a descargar \(p. ej., /carpeta/documento.pdf\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `file` | object | Los metadatos del archivo |
### `dropbox_list_folder`
Listar el contenido de una carpeta en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | string | Sí | La ruta de la carpeta a listar \(usar "" para la raíz\) |
| `recursive` | boolean | No | Si es verdadero, lista el contenido recursivamente |
| `includeDeleted` | boolean | No | Si es verdadero, incluye archivos/carpetas eliminados |
| `includeMediaInfo` | boolean | No | Si es verdadero, incluye información multimedia para fotos/videos |
| `limit` | number | No | Número máximo de resultados a devolver \(predeterminado: 500\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `entries` | array | Lista de archivos y carpetas en el directorio |
### `dropbox_create_folder`
Crear una nueva carpeta en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | string | Sí | La ruta donde se debe crear la carpeta \(p. ej., /nueva-carpeta\) |
| `autorename` | boolean | No | Si es verdadero, renombra la carpeta si hay un conflicto |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `folder` | objeto | Los metadatos de la carpeta creada |
### `dropbox_delete`
Eliminar un archivo o carpeta en Dropbox (mueve a la papelera)
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | cadena | Sí | La ruta del archivo o carpeta a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `metadata` | objeto | Metadatos del elemento eliminado |
### `dropbox_copy`
Copiar un archivo o carpeta en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `fromPath` | cadena | Sí | La ruta de origen del archivo o carpeta a copiar |
| `toPath` | cadena | Sí | La ruta de destino para el archivo o carpeta copiado |
| `autorename` | booleano | No | Si es verdadero, renombra el archivo si hay un conflicto en el destino |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `metadata` | objeto | Metadatos del elemento copiado |
### `dropbox_move`
Mover o renombrar un archivo o carpeta en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `fromPath` | cadena | Sí | La ruta de origen del archivo o carpeta a mover |
| `toPath` | cadena | Sí | La ruta de destino para el archivo o carpeta movido |
| `autorename` | booleano | No | Si es verdadero, renombra el archivo si hay un conflicto en el destino |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `metadata` | object | Metadatos del elemento movido |
### `dropbox_get_metadata`
Obtener metadatos de un archivo o carpeta en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | string | Sí | La ruta del archivo o carpeta del que obtener metadatos |
| `includeMediaInfo` | boolean | No | Si es verdadero, incluye información multimedia para fotos/videos |
| `includeDeleted` | boolean | No | Si es verdadero, incluye archivos eliminados en los resultados |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `metadata` | object | Metadatos del archivo o carpeta |
### `dropbox_create_shared_link`
Crear un enlace compartible para un archivo o carpeta en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `path` | string | Sí | La ruta del archivo o carpeta a compartir |
| `requestedVisibility` | string | No | Visibilidad: public, team_only, o password |
| `linkPassword` | string | No | Contraseña para el enlace compartido \(solo si la visibilidad es password\) |
| `expires` | string | No | Fecha de caducidad en formato ISO 8601 \(p. ej., 2025-12-31T23:59:59Z\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `sharedLink` | object | El enlace compartido creado |
### `dropbox_search`
Buscar archivos y carpetas en Dropbox
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `query` | string | Sí | La consulta de búsqueda |
| `path` | string | No | Limitar la búsqueda a una ruta de carpeta específica |
| `fileExtensions` | string | No | Lista separada por comas de extensiones de archivo para filtrar \(p. ej., pdf,xlsx\) |
| `maxResults` | number | No | Número máximo de resultados a devolver \(predeterminado: 100\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `matches` | array | Resultados de la búsqueda |
## Notas
- Categoría: `tools`
- Tipo: `dropbox`

View File

@@ -0,0 +1,365 @@
---
title: Elasticsearch
description: Busca, indexa y gestiona datos en Elasticsearch
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="elasticsearch"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Elasticsearch](https://www.elastic.co/elasticsearch/) es un potente motor de búsqueda y análisis distribuido que te permite indexar, buscar y analizar grandes volúmenes de datos en tiempo real. Es ampliamente utilizado para potenciar funciones de búsqueda, análisis de datos de registros y eventos, observabilidad y más.
Con Elasticsearch en Sim, obtienes acceso programático a las capacidades principales de Elasticsearch, incluyendo:
- **Búsqueda de documentos**: Realiza búsquedas avanzadas en texto estructurado o no estructurado utilizando Query DSL, con soporte para ordenación, paginación y selección de campos.
- **Indexación de documentos**: Añade nuevos documentos o actualiza los existentes en cualquier índice de Elasticsearch para su recuperación y análisis inmediatos.
- **Obtener, actualizar o eliminar documentos**: Recupera, modifica o elimina documentos específicos por ID.
- **Operaciones masivas**: Ejecuta múltiples acciones de indexación o actualización en una sola solicitud para un procesamiento de datos de alto rendimiento.
- **Gestión de índices**: Crea, elimina u obtén detalles sobre índices como parte de tu automatización de flujo de trabajo.
- **Monitorización de clústeres**: Comprueba la salud y las estadísticas de tu despliegue de Elasticsearch.
Las herramientas de Elasticsearch de Sim funcionan tanto con entornos autoalojados como con Elastic Cloud. Integra Elasticsearch en tus flujos de trabajo de agentes para automatizar la ingesta de datos, buscar en vastos conjuntos de datos, ejecutar informes o construir aplicaciones personalizadas basadas en búsquedas, todo sin intervención manual.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Elasticsearch en flujos de trabajo para búsquedas potentes, indexación y gestión de datos. Admite operaciones CRUD de documentos, consultas de búsqueda avanzadas, operaciones masivas, gestión de índices y monitorización de clústeres. Funciona tanto con despliegues autoalojados como con Elastic Cloud.
## Herramientas
### `elasticsearch_search`
Busca documentos en Elasticsearch usando Query DSL. Devuelve documentos coincidentes con puntuaciones y metadatos.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ---------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch (para self-hosted) |
| `cloudId` | string | No | ID de Elastic Cloud (para despliegues en la nube) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice para buscar |
| `query` | string | No | Query DSL como cadena JSON |
| `from` | number | No | Desplazamiento inicial para paginación (predeterminado: 0) |
| `size` | number | No | Número de resultados a devolver (predeterminado: 10) |
| `sort` | string | No | Especificación de ordenación como cadena JSON |
| `sourceIncludes` | string | No | Lista separada por comas de campos a incluir en _source |
| `sourceExcludes` | string | No | Lista separada por comas de campos a excluir de _source |
| `trackTotalHits` | boolean | No | Seguimiento preciso del recuento total de coincidencias (predeterminado: true) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `took` | number | Tiempo en milisegundos que tardó la búsqueda |
| `timed_out` | boolean | Si la búsqueda agotó el tiempo de espera |
| `hits` | object | Resultados de búsqueda con recuento total y documentos coincidentes |
| `aggregations` | json | Resultados de agregación si los hay |
### `elasticsearch_index_document`
Indexar (crear o actualizar) un documento en Elasticsearch.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en cloud\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice de destino |
| `documentId` | string | No | ID del documento \(se genera automáticamente si no se proporciona\) |
| `document` | string | Sí | Cuerpo del documento como cadena JSON |
| `refresh` | string | No | Política de actualización: true, false o wait_for |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `_index` | string | Índice donde se almacenó el documento |
| `_id` | string | ID del documento |
| `_version` | number | Versión del documento |
| `result` | string | Resultado de la operación \(created o updated\) |
### `elasticsearch_get_document`
Recuperar un documento por ID desde Elasticsearch.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en cloud\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice |
| `documentId` | string | Sí | ID del documento a recuperar |
| `sourceIncludes` | string | No | Lista separada por comas de campos a incluir |
| `sourceExcludes` | string | No | Lista separada por comas de campos a excluir |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `_index` | string | Nombre del índice |
| `_id` | string | ID del documento |
| `_version` | number | Versión del documento |
| `found` | boolean | Si el documento fue encontrado |
| `_source` | json | Contenido del documento |
### `elasticsearch_update_document`
Actualiza parcialmente un documento en Elasticsearch usando la fusión de documentos.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch (para self-hosted) |
| `cloudId` | string | No | ID de Elastic Cloud (para despliegues en la nube) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice |
| `documentId` | string | Sí | ID del documento a actualizar |
| `document` | string | Sí | Documento parcial para fusionar como cadena JSON |
| `retryOnConflict` | number | No | Número de reintentos en conflicto de versión |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `_index` | string | Nombre del índice |
| `_id` | string | ID del documento |
| `_version` | number | Nueva versión del documento |
| `result` | string | Resultado de la operación (updated o noop) |
### `elasticsearch_delete_document`
Elimina un documento de Elasticsearch por ID.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice |
| `documentId` | string | Sí | ID del documento a eliminar |
| `refresh` | string | No | Política de actualización: true, false o wait_for |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `_index` | string | Nombre del índice |
| `_id` | string | ID del documento |
| `_version` | number | Versión del documento |
| `result` | string | Resultado de la operación \(deleted o not_found\) |
### `elasticsearch_bulk`
Realiza múltiples operaciones de indexación, creación, eliminación o actualización en una sola petición para un alto rendimiento.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | No | Índice predeterminado para operaciones que no especifican uno |
| `operations` | string | Sí | Operaciones masivas como cadena NDJSON \(JSON delimitado por nuevas líneas\) |
| `refresh` | string | No | Política de actualización: true, false o wait_for |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `took` | number | Tiempo en milisegundos que tardó la operación masiva |
| `errors` | boolean | Si alguna operación tuvo un error |
| `items` | array | Resultados para cada operación |
### `elasticsearch_count`
Contar documentos que coinciden con una consulta en Elasticsearch.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice donde contar documentos |
| `query` | string | No | Consulta opcional para filtrar documentos \(cadena JSON\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `count` | number | Número de documentos que coinciden con la consulta |
| `_shards` | object | Estadísticas de fragmentos |
### `elasticsearch_create_index`
Crear un nuevo índice con configuraciones y mapeos opcionales.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice a crear |
| `settings` | string | No | Configuraciones del índice como cadena JSON |
| `mappings` | string | No | Mapeos del índice como cadena JSON |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Si la solicitud fue reconocida |
| `shards_acknowledged` | boolean | Si los fragmentos fueron reconocidos |
| `index` | string | Nombre del índice creado |
### `elasticsearch_delete_index`
Elimina un índice y todos sus documentos. Esta operación es irreversible.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Si la eliminación fue reconocida |
### `elasticsearch_get_index`
Recupera información del índice incluyendo configuraciones, mapeos y alias.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `index` | string | Sí | Nombre del índice del que recuperar información |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `index` | json | Información del índice incluyendo alias, mapeos y configuraciones |
### `elasticsearch_cluster_health`
Obtener el estado de salud del clúster de Elasticsearch.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch \(para self-hosted\) |
| `cloudId` | string | No | ID de Elastic Cloud \(para despliegues en la nube\) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
| `waitForStatus` | string | No | Esperar hasta que el clúster alcance este estado: green, yellow o red |
| `timeout` | string | No | Tiempo de espera para la operación de espera \(p. ej., 30s, 1m\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `cluster_name` | string | Nombre del clúster |
| `status` | string | Estado de salud del clúster: green, yellow o red |
| `number_of_nodes` | number | Número total de nodos en el clúster |
| `number_of_data_nodes` | number | Número de nodos de datos |
| `active_shards` | number | Número de fragmentos activos |
| `unassigned_shards` | number | Número de fragmentos no asignados |
### `elasticsearch_cluster_stats`
Obtén estadísticas completas sobre el clúster de Elasticsearch.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `deploymentType` | string | Sí | Tipo de despliegue: self_hosted o cloud |
| `host` | string | No | URL del host de Elasticsearch (para self-hosted) |
| `cloudId` | string | No | ID de Elastic Cloud (para despliegues en la nube) |
| `authMethod` | string | Sí | Método de autenticación: api_key o basic_auth |
| `apiKey` | string | No | Clave API de Elasticsearch |
| `username` | string | No | Nombre de usuario para autenticación básica |
| `password` | string | No | Contraseña para autenticación básica |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `cluster_name` | string | Nombre del clúster |
| `status` | string | Estado de salud del clúster |
| `nodes` | object | Estadísticas de nodos incluyendo recuento y versiones |
| `indices` | object | Estadísticas de índices incluyendo recuento de documentos y tamaño de almacenamiento |
## Notas
- Categoría: `tools`
- Tipo: `elasticsearch`

View File

@@ -0,0 +1,429 @@
---
title: GitLab
description: Interactúa con proyectos, issues, solicitudes de fusión y pipelines de GitLab
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="gitlab"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[GitLab](https://gitlab.com/) es una plataforma DevOps integral que permite a los equipos gestionar, colaborar y automatizar su ciclo de vida de desarrollo de software. Con GitLab, puedes manejar sin esfuerzo la gestión del código fuente, CI/CD, revisiones y colaboración en una sola aplicación.
Con GitLab en Sim, puedes:
- **Gestionar proyectos y repositorios**: Listar y recuperar tus proyectos de GitLab, acceder a detalles y organizar tus repositorios
- **Trabajar con issues**: Listar, crear y comentar issues para realizar seguimiento del trabajo y colaborar eficazmente
- **Gestionar solicitudes de fusión**: Revisar, crear y gestionar solicitudes de fusión para cambios de código y revisiones por pares
- **Automatizar pipelines de CI/CD**: Activar, monitorear e interactuar con pipelines de GitLab como parte de tus flujos de automatización
- **Colaborar con comentarios**: Añadir comentarios a issues o solicitudes de fusión para una comunicación eficiente dentro de tu equipo
Usando la integración de GitLab en Sim, tus agentes pueden interactuar programáticamente con tus proyectos de GitLab. Automatiza la gestión de proyectos, seguimiento de issues, revisiones de código y operaciones de pipeline de manera fluida en tus flujos de trabajo, optimizando tu proceso de desarrollo de software y mejorando la colaboración en todo tu equipo.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra GitLab en el flujo de trabajo. Puede gestionar proyectos, issues, solicitudes de fusión, pipelines y añadir comentarios. Compatible con todas las operaciones principales de DevOps de GitLab.
## Herramientas
### `gitlab_list_projects`
Listar proyectos de GitLab accesibles para el usuario autenticado
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `owned` | boolean | No | Limitar a proyectos propiedad del usuario actual |
| `membership` | boolean | No | Limitar a proyectos de los que el usuario actual es miembro |
| `search` | string | No | Buscar proyectos por nombre |
| `visibility` | string | No | Filtrar por visibilidad \(public, internal, private\) |
| `orderBy` | string | No | Ordenar por campo \(id, name, path, created_at, updated_at, last_activity_at\) |
| `sort` | string | No | Dirección de ordenación \(asc, desc\) |
| `perPage` | number | No | Número de resultados por página \(predeterminado 20, máximo 100\) |
| `page` | number | No | Número de página para paginación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `projects` | array | Lista de proyectos de GitLab |
| `total` | number | Número total de proyectos |
### `gitlab_get_project`
Obtener detalles de un proyecto específico de GitLab
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL \(p. ej., "namespace/project"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `project` | object | Los detalles del proyecto de GitLab |
### `gitlab_list_issues`
Listar issues en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `state` | string | No | Filtrar por estado \(opened, closed, all\) |
| `labels` | string | No | Lista de nombres de etiquetas separados por comas |
| `assigneeId` | number | No | Filtrar por ID de usuario asignado |
| `milestoneTitle` | string | No | Filtrar por título de hito |
| `search` | string | No | Buscar issues por título y descripción |
| `orderBy` | string | No | Ordenar por campo \(created_at, updated_at\) |
| `sort` | string | No | Dirección de ordenación \(asc, desc\) |
| `perPage` | number | No | Número de resultados por página \(predeterminado 20, máximo 100\) |
| `page` | number | No | Número de página para paginación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `issues` | array | Lista de issues de GitLab |
| `total` | number | Número total de issues |
### `gitlab_get_issue`
Obtener detalles de un issue específico de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `issueIid` | number | Sí | Número del issue dentro del proyecto \(el # mostrado en la interfaz de GitLab\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `issue` | object | Los detalles del issue de GitLab |
### `gitlab_create_issue`
Crear un nuevo issue en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `title` | string | Sí | Título del issue |
| `description` | string | No | Descripción del issue \(Markdown soportado\) |
| `labels` | string | No | Lista de nombres de etiquetas separados por comas |
| `assigneeIds` | array | No | Array de IDs de usuarios para asignar |
| `milestoneId` | number | No | ID del hito para asignar |
| `dueDate` | string | No | Fecha de vencimiento en formato AAAA-MM-DD |
| `confidential` | boolean | No | Si el issue es confidencial |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `issue` | object | El issue de GitLab creado |
### `gitlab_update_issue`
Actualizar un issue existente en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `issueIid` | number | Sí | ID interno del issue (IID) |
| `title` | string | No | Nuevo título del issue |
| `description` | string | No | Nueva descripción del issue (compatible con Markdown) |
| `stateEvent` | string | No | Evento de estado (cerrar o reabrir) |
| `labels` | string | No | Lista de nombres de etiquetas separados por comas |
| `assigneeIds` | array | No | Array de IDs de usuarios para asignar |
| `milestoneId` | number | No | ID del hito para asignar |
| `dueDate` | string | No | Fecha de vencimiento en formato AAAA-MM-DD |
| `confidential` | boolean | No | Si el issue es confidencial |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `issue` | object | El issue de GitLab actualizado |
### `gitlab_delete_issue`
Eliminar un issue de un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `issueIid` | number | Sí | ID interno del issue (IID) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si el issue fue eliminado correctamente |
### `gitlab_create_issue_note`
Añadir un comentario a un issue de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `issueIid` | number | Sí | ID interno del issue (IID) |
| `body` | string | Sí | Cuerpo del comentario (compatible con Markdown) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `note` | object | El comentario creado |
### `gitlab_list_merge_requests`
Listar merge requests en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `state` | string | No | Filtrar por estado (opened, closed, merged, all) |
| `labels` | string | No | Lista de nombres de etiquetas separados por comas |
| `sourceBranch` | string | No | Filtrar por rama de origen |
| `targetBranch` | string | No | Filtrar por rama de destino |
| `orderBy` | string | No | Ordenar por campo (created_at, updated_at) |
| `sort` | string | No | Dirección de ordenación (asc, desc) |
| `perPage` | number | No | Número de resultados por página (predeterminado 20, máximo 100) |
| `page` | number | No | Número de página para paginación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `mergeRequests` | array | Lista de solicitudes de fusión de GitLab |
| `total` | number | Número total de solicitudes de fusión |
### `gitlab_get_merge_request`
Obtener detalles de una solicitud de fusión específica de GitLab
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `mergeRequestIid` | number | Sí | ID interno de la solicitud de fusión \(IID\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `mergeRequest` | object | Los detalles de la solicitud de fusión de GitLab |
### `gitlab_create_merge_request`
Crear una nueva solicitud de fusión en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `sourceBranch` | string | Sí | Nombre de la rama de origen |
| `targetBranch` | string | Sí | Nombre de la rama de destino |
| `title` | string | Sí | Título de la solicitud de fusión |
| `description` | string | No | Descripción de la solicitud de fusión \(Markdown soportado\) |
| `labels` | string | No | Lista de nombres de etiquetas separados por comas |
| `assigneeIds` | array | No | Array de IDs de usuarios para asignar |
| `milestoneId` | number | No | ID del hito para asignar |
| `removeSourceBranch` | boolean | No | Eliminar rama de origen después de la fusión |
| `squash` | boolean | No | Comprimir commits al fusionar |
| `draft` | boolean | No | Marcar como borrador \(trabajo en progreso\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `mergeRequest` | object | La solicitud de fusión de GitLab creada |
### `gitlab_update_merge_request`
Actualizar una solicitud de fusión existente en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `mergeRequestIid` | number | Sí | ID interno de la solicitud de fusión (IID) |
| `title` | string | No | Nuevo título de la solicitud de fusión |
| `description` | string | No | Nueva descripción de la solicitud de fusión |
| `stateEvent` | string | No | Evento de estado (cerrar o reabrir) |
| `labels` | string | No | Lista de nombres de etiquetas separados por comas |
| `assigneeIds` | array | No | Array de IDs de usuarios para asignar |
| `milestoneId` | number | No | ID del hito para asignar |
| `targetBranch` | string | No | Nueva rama de destino |
| `removeSourceBranch` | boolean | No | Eliminar rama de origen después de la fusión |
| `squash` | boolean | No | Comprimir commits al fusionar |
| `draft` | boolean | No | Marcar como borrador (trabajo en progreso) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `mergeRequest` | object | La solicitud de fusión de GitLab actualizada |
### `gitlab_merge_merge_request`
Fusionar una solicitud de fusión en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `mergeRequestIid` | number | Sí | ID interno de la solicitud de fusión (IID) |
| `mergeCommitMessage` | string | No | Mensaje personalizado para el commit de fusión |
| `squashCommitMessage` | string | No | Mensaje personalizado para el commit comprimido |
| `squash` | boolean | No | Comprimir commits antes de fusionar |
| `shouldRemoveSourceBranch` | boolean | No | Eliminar rama de origen después de la fusión |
| `mergeWhenPipelineSucceeds` | boolean | No | Fusionar cuando la pipeline tenga éxito |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `mergeRequest` | object | La solicitud de fusión de GitLab fusionada |
### `gitlab_create_merge_request_note`
Añadir un comentario a una solicitud de fusión de GitLab
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `mergeRequestIid` | number | Sí | ID interno de la solicitud de fusión (IID) |
| `body` | string | Sí | Cuerpo del comentario (compatible con Markdown) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `note` | object | El comentario creado |
### `gitlab_list_pipelines`
Listar pipelines en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `ref` | string | No | Filtrar por ref (rama o etiqueta) |
| `status` | string | No | Filtrar por estado (created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled) |
| `orderBy` | string | No | Ordenar por campo (id, status, ref, updated_at, user_id) |
| `sort` | string | No | Dirección de ordenación (asc, desc) |
| `perPage` | number | No | Número de resultados por página (predeterminado 20, máximo 100) |
| `page` | number | No | Número de página para paginación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pipelines` | array | Lista de pipelines de GitLab |
| `total` | number | Número total de pipelines |
### `gitlab_get_pipeline`
Obtener detalles de un pipeline específico de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `pipelineId` | number | Sí | ID del pipeline |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pipeline` | object | Los detalles del pipeline de GitLab |
### `gitlab_create_pipeline`
Activar un nuevo pipeline en un proyecto de GitLab
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `ref` | string | Sí | Rama o etiqueta en la que ejecutar el pipeline |
| `variables` | array | No | Array de variables para el pipeline \(cada una con clave, valor y tipo de variable opcional\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pipeline` | object | El pipeline de GitLab creado |
### `gitlab_retry_pipeline`
Reintentar un pipeline de GitLab fallido
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID del proyecto o ruta codificada en URL |
| `pipelineId` | number | Sí | ID del pipeline |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pipeline` | objeto | El pipeline de GitLab reintentado |
### `gitlab_cancel_pipeline`
Cancelar un pipeline de GitLab en ejecución
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | cadena | Sí | ID del proyecto o ruta codificada en URL |
| `pipelineId` | número | Sí | ID del pipeline |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pipeline` | objeto | El pipeline de GitLab cancelado |
## Notas
- Categoría: `tools`
- Tipo: `gitlab`

View File

@@ -42,9 +42,9 @@ Crear un nuevo evento en Google Calendar
| `summary` | string | Sí | Título/resumen del evento |
| `description` | string | No | Descripción del evento |
| `location` | string | No | Ubicación del evento |
| `startDateTime` | string | Sí | Fecha y hora de inicio \(formato RFC3339, p. ej., 2025-06-03T10:00:00-08:00\) |
| `endDateTime` | string | Sí | Fecha y hora de finalización \(formato RFC3339, p. ej., 2025-06-03T11:00:00-08:00\) |
| `timeZone` | string | No | Zona horaria \(p. ej., America/Los_Angeles\) |
| `startDateTime` | string | Sí | Fecha y hora de inicio. DEBE incluir el desplazamiento de zona horaria \(p. ej., 2025-06-03T10:00:00-08:00\) O proporcionar el parámetro timeZone |
| `endDateTime` | string | Sí | Fecha y hora de finalización. DEBE incluir el desplazamiento de zona horaria \(p. ej., 2025-06-03T11:00:00-08:00\) O proporcionar el parámetro timeZone |
| `timeZone` | string | No | Zona horaria \(p. ej., America/Los_Angeles\). Obligatorio si la fecha y hora no incluye desplazamiento. Por defecto es America/Los_Angeles si no se proporciona. |
| `attendees` | array | No | Array de direcciones de correo electrónico de los asistentes |
| `sendUpdates` | string | No | Cómo enviar actualizaciones a los asistentes: all, externalOnly o none |

View File

@@ -108,10 +108,10 @@ Listar archivos y carpetas en Google Drive
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `folderSelector` | string | No | Seleccionar la carpeta desde la que listar archivos |
| `folderSelector` | string | No | Selecciona la carpeta desde la que listar archivos |
| `folderId` | string | No | El ID de la carpeta desde la que listar archivos \(uso interno\) |
| `query` | string | No | Una consulta para filtrar los archivos |
| `pageSize` | number | No | El número de archivos a devolver |
| `query` | string | No | Término de búsqueda para filtrar archivos por nombre \(p. ej. "presupuesto" encuentra archivos con "presupuesto" en el nombre\). NO uses la sintaxis de consulta de Google Drive aquí - solo proporciona un término de búsqueda simple. |
| `pageSize` | number | No | El número máximo de archivos a devolver \(predeterminado: 100\) |
| `pageToken` | string | No | El token de página para usar en la paginación |
#### Salida

View File

@@ -87,9 +87,9 @@ Leer datos de una hoja de cálculo de Google Sheets
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | string | Sí | El ID de la hoja de cálculo de la que leer |
| `range` | string | No | El rango de celdas del que leer |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Sí | El ID de la hoja de cálculo \(se encuentra en la URL: docs.google.com/spreadsheets/d/\{SPREADSHEET_ID\}/edit\). |
| `range` | string | No | El rango en notación A1 para leer \(por ejemplo, "Sheet1!A1:D10", "A1:B5"\). Si no se especifica, por defecto es la primera hoja A1:Z1000. |
#### Salida
@@ -105,10 +105,10 @@ Escribir datos en una hoja de cálculo de Google Sheets
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | string | Sí | El ID de la hoja de cálculo en la que escribir |
| `range` | string | No | El rango de celdas en el que escribir |
| `values` | array | Sí | Los datos a escribir en la hoja de cálculo |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Sí | El ID de la hoja de cálculo |
| `range` | string | No | El rango en notación A1 donde escribir \(por ejemplo, "Sheet1!A1:D10", "A1:B5"\) |
| `values` | array | Sí | Los datos a escribir como un array 2D \(por ejemplo, \[\["Nombre", "Edad"\], \["Alice", 30\], \["Bob", 25\]\]\) o array de objetos. |
| `valueInputOption` | string | No | El formato de los datos a escribir |
| `includeValuesInResponse` | boolean | No | Si se deben incluir los valores escritos en la respuesta |
@@ -129,10 +129,10 @@ Actualizar datos en una hoja de cálculo de Google Sheets
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| --------- | ---- | -------- | ----------- |
| `spreadsheetId` | string | Sí | El ID de la hoja de cálculo a actualizar |
| `range` | string | No | El rango de celdas a actualizar |
| `values` | array | Sí | Los datos para actualizar en la hoja de cálculo |
| `range` | string | No | El rango en notación A1 para actualizar \(por ejemplo, "Sheet1!A1:D10", "A1:B5"\) |
| `values` | array | Sí | Los datos para actualizar como un array 2D \(por ejemplo, \[\["Nombre", "Edad"\], \["Alice", 30\]\]\) o array de objetos. |
| `valueInputOption` | string | No | El formato de los datos a actualizar |
| `includeValuesInResponse` | boolean | No | Si se deben incluir los valores actualizados en la respuesta |
@@ -153,12 +153,12 @@ Añadir datos al final de una hoja de cálculo de Google Sheets
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | string | Sí | El ID de la hoja de cálculo a la que añadir datos |
| `range` | string | No | El rango de celdas después del cual añadir datos |
| `values` | array | Sí | Los datos a añadir a la hoja de cálculo |
| `range` | string | No | El rango en notación A1 después del cual añadir datos (ej. "Hoja1", "Hoja1!A:D") |
| `values` | array | Sí | Los datos a añadir como un array 2D (ej. [["Alice", 30], ["Bob", 25]]) o array de objetos. |
| `valueInputOption` | string | No | El formato de los datos a añadir |
| `insertDataOption` | string | No | Cómo insertar los datos \(OVERWRITE o INSERT_ROWS\) |
| `insertDataOption` | string | No | Cómo insertar los datos (OVERWRITE o INSERT_ROWS) |
| `includeValuesInResponse` | boolean | No | Si se deben incluir los valores añadidos en la respuesta |
#### Salida

View File

@@ -0,0 +1,180 @@
---
title: Google Slides
description: Lee, escribe y crea presentaciones
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="google_slides"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Google Slides](https://slides.google.com) es una aplicación dinámica de presentaciones basada en la nube que permite a los usuarios crear, editar, colaborar y presentar diapositivas en tiempo real. Como parte del conjunto de productividad de Google, Google Slides ofrece una plataforma flexible para diseñar presentaciones atractivas, colaborar con otros y compartir contenido sin problemas a través de la nube.
Aprende cómo integrar las herramientas de Google Slides en Sim para gestionar presentaciones sin esfuerzo como parte de tus flujos de trabajo automatizados. Con Sim, puedes leer, escribir, crear y actualizar presentaciones de Google Slides directamente a través de tus agentes y procesos automatizados, facilitando la entrega de información actualizada, la generación de informes personalizados o la producción de presentaciones corporativas de forma programática.
Con Google Slides, puedes:
- **Crear y editar presentaciones**: Diseña diapositivas visualmente atractivas con temas, diseños y contenido multimedia
- **Colaborar en tiempo real**: Trabaja simultáneamente con compañeros, comenta, asigna tareas y recibe comentarios en vivo sobre las presentaciones
- **Presentar en cualquier lugar**: Muestra presentaciones en línea o sin conexión, comparte enlaces o publica en la web
- **Añadir imágenes y contenido enriquecido**: Inserta imágenes, gráficos, diagramas y videos para hacer tus presentaciones más atractivas
- **Integrar con otros servicios**: Conéctate sin problemas con Google Drive, Docs, Sheets y otras herramientas de terceros
- **Acceder desde cualquier dispositivo**: Usa Google Slides en ordenadores de escritorio, portátiles, tabletas y dispositivos móviles para máxima flexibilidad
En Sim, la integración con Google Slides permite a tus agentes interactuar directamente con archivos de presentación de forma programática. Automatiza tareas como leer el contenido de diapositivas, insertar nuevas diapositivas o imágenes, reemplazar texto en toda una presentación, generar nuevas presentaciones y recuperar miniaturas de diapositivas. Esto te permite escalar la creación de contenido, mantener las presentaciones actualizadas e incorporarlas en flujos de trabajo de documentos automatizados. Al conectar Sim con Google Slides, facilitas la gestión de presentaciones impulsada por IA, haciendo que sea fácil generar, actualizar o extraer información de presentaciones sin esfuerzo manual.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Google Slides en el flujo de trabajo. Puede leer, escribir, crear presentaciones, reemplazar texto, añadir diapositivas, añadir imágenes y obtener miniaturas.
## Herramientas
### `google_slides_read`
Leer contenido de una presentación de Google Slides
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Sí | El ID de la presentación a leer |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `slides` | json | Array de diapositivas con su contenido |
| `metadata` | json | Metadatos de la presentación incluyendo ID, título y URL |
### `google_slides_write`
Escribir o actualizar contenido en una presentación de Google Slides
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Sí | El ID de la presentación en la que escribir |
| `content` | string | Sí | El contenido a escribir en la diapositiva |
| `slideIndex` | number | No | El índice de la diapositiva en la que escribir \(por defecto, primera diapositiva\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `updatedContent` | boolean | Indica si el contenido de la presentación se actualizó correctamente |
| `metadata` | json | Metadatos de la presentación actualizada incluyendo ID, título y URL |
### `google_slides_create`
Crear una nueva presentación de Google Slides
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `title` | string | Sí | El título de la presentación a crear |
| `content` | string | No | El contenido a añadir a la primera diapositiva |
| `folderSelector` | string | No | Seleccionar la carpeta donde crear la presentación |
| `folderId` | string | No | El ID de la carpeta donde crear la presentación \(uso interno\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `metadata` | json | Metadatos de la presentación creada, incluyendo ID, título y URL |
### `google_slides_replace_all_text`
Buscar y reemplazar todas las ocurrencias de texto en una presentación de Google Slides
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Sí | El ID de la presentación |
| `findText` | string | Sí | El texto a buscar \(p. ej., \{\{placeholder\}\}\) |
| `replaceText` | string | Sí | El texto con el que reemplazar |
| `matchCase` | boolean | No | Si la búsqueda debe distinguir entre mayúsculas y minúsculas \(predeterminado: true\) |
| `pageObjectIds` | string | No | Lista separada por comas de IDs de objetos de diapositivas para limitar los reemplazos a diapositivas específicas \(dejar vacío para todas las diapositivas\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `occurrencesChanged` | number | Número de ocurrencias de texto que fueron reemplazadas |
| `metadata` | json | Metadatos de la operación, incluyendo ID de la presentación y URL |
### `google_slides_add_slide`
Añadir una nueva diapositiva a una presentación de Google Slides con un diseño específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Sí | El ID de la presentación |
| `layout` | string | No | El diseño predefinido para la diapositiva \(BLANK, TITLE, TITLE_AND_BODY, TITLE_ONLY, SECTION_HEADER, etc.\). Por defecto es BLANK. |
| `insertionIndex` | number | No | El índice opcional basado en cero que indica dónde insertar la diapositiva. Si no se especifica, la diapositiva se añade al final. |
| `placeholderIdMappings` | string | No | Array JSON de mapeos de marcadores de posición para asignar IDs de objeto personalizados a los marcadores. Formato: \[\{"layoutPlaceholder":\{"type":"TITLE"\},"objectId":"custom_title_id"\}\] |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `slideId` | string | El ID del objeto de la diapositiva recién creada |
| `metadata` | json | Metadatos de la operación incluyendo ID de la presentación, diseño y URL |
### `google_slides_add_image`
Insertar una imagen en una diapositiva específica de una presentación de Google Slides
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Sí | El ID de la presentación |
| `pageObjectId` | string | Sí | El ID del objeto de la diapositiva/página donde se añadirá la imagen |
| `imageUrl` | string | Sí | La URL de acceso público de la imagen \(debe ser PNG, JPEG o GIF, máximo 50MB\) |
| `width` | number | No | Ancho de la imagen en puntos \(predeterminado: 300\) |
| `height` | number | No | Altura de la imagen en puntos \(predeterminado: 200\) |
| `positionX` | number | No | Posición X desde el borde izquierdo en puntos \(predeterminado: 100\) |
| `positionY` | number | No | Posición Y desde el borde superior en puntos \(predeterminado: 100\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `imageId` | string | El ID del objeto de la imagen recién creada |
| `metadata` | json | Metadatos de la operación incluyendo ID de la presentación y URL de la imagen |
### `google_slides_get_thumbnail`
Generar una imagen en miniatura de una diapositiva específica en una presentación de Google Slides
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Sí | El ID de la presentación |
| `pageObjectId` | string | Sí | El ID del objeto de la diapositiva/página para obtener una miniatura |
| `thumbnailSize` | string | No | El tamaño de la miniatura: SMALL \(200px\), MEDIUM \(800px\), o LARGE \(1600px\). Por defecto es MEDIUM. |
| `mimeType` | string | No | El tipo MIME de la imagen en miniatura: PNG o GIF. Por defecto es PNG. |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `contentUrl` | string | URL de la imagen en miniatura \(válida durante 30 minutos\) |
| `width` | number | Ancho de la miniatura en píxeles |
| `height` | number | Alto de la miniatura en píxeles |
| `metadata` | json | Metadatos de la operación incluyendo el ID de la presentación y el ID del objeto de la página |
## Notas
- Categoría: `tools`
- Tipo: `google_slides`

View File

@@ -0,0 +1,494 @@
---
title: Grafana
description: Interactúa con paneles, alertas y anotaciones de Grafana
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grafana"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grafana](https://grafana.com/) es una plataforma líder de código abierto para monitorización, observabilidad y visualización. Permite a los usuarios consultar, visualizar, alertar y analizar datos de diversas fuentes, convirtiéndola en una herramienta esencial para la monitorización de infraestructuras y aplicaciones.
Con Grafana, puedes:
- **Visualizar datos**: Crear y personalizar paneles para mostrar métricas, registros y trazas en tiempo real
- **Monitorizar salud y estado**: Comprobar la salud de tu instancia de Grafana y las fuentes de datos conectadas
- **Gestionar alertas y anotaciones**: Configurar reglas de alerta, gestionar notificaciones y anotar paneles con eventos importantes
- **Organizar contenido**: Organizar paneles y fuentes de datos en carpetas para una mejor gestión de acceso
En Sim, la integración de Grafana permite a tus agentes interactuar directamente con tu instancia de Grafana a través de API, habilitando acciones como:
- Comprobar el estado de salud del servidor Grafana, la base de datos y las fuentes de datos
- Recuperar, listar y gestionar paneles, reglas de alerta, anotaciones, fuentes de datos y carpetas
- Automatizar la monitorización de tu infraestructura integrando datos y alertas de Grafana en tus automatizaciones de flujo de trabajo
Estas capacidades permiten a los agentes de Sim monitorizar sistemas, responder proactivamente a las alertas y ayudar a garantizar la fiabilidad y visibilidad de tus servicios, todo como parte de tus flujos de trabajo automatizados.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Grafana en flujos de trabajo. Gestiona paneles, alertas, anotaciones, fuentes de datos, carpetas y monitoriza el estado de salud.
## Herramientas
### `grafana_get_dashboard`
Obtener un panel por su UID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `dashboardUid` | string | Sí | El UID del panel a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `dashboard` | json | El objeto JSON completo del panel de control |
| `meta` | json | Metadatos del panel de control \(versión, permisos, etc.\) |
### `grafana_list_dashboards`
Buscar y listar todos los paneles de control
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de la organización para instancias Grafana multi-organización |
| `query` | string | No | Consulta de búsqueda para filtrar paneles por título |
| `tag` | string | No | Filtrar por etiqueta \(separadas por comas para múltiples etiquetas\) |
| `folderIds` | string | No | Filtrar por IDs de carpetas \(separados por comas\) |
| `starred` | boolean | No | Devolver solo paneles destacados |
| `limit` | number | No | Número máximo de paneles a devolver |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `dashboards` | array | Lista de resultados de búsqueda de paneles |
### `grafana_create_dashboard`
Crear un nuevo panel de control
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de la organización para instancias Grafana multi-organización |
| `title` | string | Sí | El título del nuevo panel de control |
| `folderUid` | string | No | El UID de la carpeta donde crear el panel de control |
| `tags` | string | No | Lista de etiquetas separadas por comas |
| `timezone` | string | No | Zona horaria del panel \(p. ej., browser, utc\) |
| `refresh` | string | No | Intervalo de actualización automática \(p. ej., 5s, 1m, 5m\) |
| `panels` | string | No | Array JSON de configuraciones de paneles |
| `overwrite` | boolean | No | Sobrescribir panel existente con el mismo título |
| `message` | string | No | Mensaje de commit para la versión del panel |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | El ID numérico del panel de control creado |
| `uid` | string | El UID del panel de control creado |
| `url` | string | La ruta URL al panel de control |
| `status` | string | Estado de la operación \(éxito\) |
| `version` | number | El número de versión del panel de control |
| `slug` | string | Slug amigable para URL del panel de control |
### `grafana_update_dashboard`
Actualiza un panel de control existente. Obtiene el panel de control actual y fusiona tus cambios.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `dashboardUid` | string | Sí | El UID del panel de control a actualizar |
| `title` | string | No | Nuevo título para el panel de control |
| `folderUid` | string | No | Nuevo UID de carpeta para mover el panel de control |
| `tags` | string | No | Lista de nuevas etiquetas separadas por comas |
| `timezone` | string | No | Zona horaria del panel de control \(p. ej., browser, utc\) |
| `refresh` | string | No | Intervalo de actualización automática \(p. ej., 5s, 1m, 5m\) |
| `panels` | string | No | Array JSON de configuraciones de paneles |
| `overwrite` | boolean | No | Sobrescribir incluso si hay un conflicto de versiones |
| `message` | string | No | Mensaje de commit para esta versión |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | El ID numérico del panel actualizado |
| `uid` | string | El UID del panel actualizado |
| `url` | string | La ruta URL al panel |
| `status` | string | Estado de la operación \(éxito\) |
| `version` | number | El nuevo número de versión del panel |
| `slug` | string | Slug amigable para URL del panel |
### `grafana_delete_dashboard`
Eliminar un panel por su UID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `dashboardUid` | string | Sí | El UID del panel a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `title` | string | El título del panel eliminado |
| `message` | string | Mensaje de confirmación |
| `id` | number | El ID del panel eliminado |
### `grafana_list_alert_rules`
Listar todas las reglas de alerta en la instancia de Grafana
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `rules` | array | Lista de reglas de alerta |
### `grafana_get_alert_rule`
Obtener una regla de alerta específica por su UID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `alertRuleUid` | string | Sí | El UID de la regla de alerta a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `uid` | string | UID de la regla de alerta |
| `title` | string | Título de la regla de alerta |
| `condition` | string | Condición de alerta |
| `data` | json | Datos de consulta de la regla de alerta |
| `folderUID` | string | UID de la carpeta principal |
| `ruleGroup` | string | Nombre del grupo de reglas |
| `noDataState` | string | Estado cuando no se devuelven datos |
| `execErrState` | string | Estado en caso de error de ejecución |
| `annotations` | json | Anotaciones de alerta |
| `labels` | json | Etiquetas de alerta |
### `grafana_create_alert_rule`
Crear una nueva regla de alerta
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `title` | string | Sí | El título de la regla de alerta |
| `folderUid` | string | Sí | El UID de la carpeta donde crear la alerta |
| `ruleGroup` | string | Sí | El nombre del grupo de reglas |
| `condition` | string | Sí | El refId de la consulta o expresión a usar como condición de alerta |
| `data` | string | Sí | Array JSON de objetos de datos de consulta/expresión |
| `forDuration` | string | No | Duración de espera antes de activarse \(p. ej., 5m, 1h\) |
| `noDataState` | string | No | Estado cuando no se devuelven datos \(NoData, Alerting, OK\) |
| `execErrState` | string | No | Estado en caso de error de ejecución \(Alerting, OK\) |
| `annotations` | string | No | Objeto JSON de anotaciones |
| `labels` | string | No | Objeto JSON de etiquetas |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `uid` | string | El UID de la regla de alerta creada |
| `title` | string | Título de la regla de alerta |
| `folderUID` | string | UID de la carpeta principal |
| `ruleGroup` | string | Nombre del grupo de reglas |
### `grafana_update_alert_rule`
Actualiza una regla de alerta existente. Obtiene la regla actual y fusiona tus cambios.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana (p. ej., https://your-grafana.com) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
| `alertRuleUid` | string | Sí | El UID de la regla de alerta a actualizar |
| `title` | string | No | Nuevo título para la regla de alerta |
| `folderUid` | string | No | Nuevo UID de carpeta para mover la alerta |
| `ruleGroup` | string | No | Nuevo nombre del grupo de reglas |
| `condition` | string | No | Nuevo refId de condición |
| `data` | string | No | Nuevo array JSON de objetos de datos de consulta/expresión |
| `forDuration` | string | No | Duración de espera antes de activar (p. ej., 5m, 1h) |
| `noDataState` | string | No | Estado cuando no se devuelven datos (NoData, Alerting, OK) |
| `execErrState` | string | No | Estado en caso de error de ejecución (Alerting, OK) |
| `annotations` | string | No | Objeto JSON de anotaciones |
| `labels` | string | No | Objeto JSON de etiquetas |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `uid` | string | El UID de la regla de alerta actualizada |
| `title` | string | Título de la regla de alerta |
| `folderUID` | string | UID de la carpeta principal |
| `ruleGroup` | string | Nombre del grupo de reglas |
### `grafana_delete_alert_rule`
Eliminar una regla de alerta por su UID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana (p. ej., https://your-grafana.com) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
| `alertRuleUid` | string | Sí | El UID de la regla de alerta a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `message` | string | Mensaje de confirmación |
### `grafana_list_contact_points`
Listar todos los puntos de contacto para notificaciones de alerta
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana (p. ej., https://your-grafana.com) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `contactPoints` | array | Lista de puntos de contacto |
### `grafana_create_annotation`
Crear una anotación en un panel o como una anotación global
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
| `text` | string | Sí | El contenido de texto de la anotación |
| `tags` | string | No | Lista de etiquetas separadas por comas |
| `dashboardUid` | string | No | UID del panel donde añadir la anotación \(opcional para anotaciones globales\) |
| `panelId` | number | No | ID del panel donde añadir la anotación |
| `time` | number | No | Hora de inicio en milisegundos de época \(por defecto es ahora\) |
| `timeEnd` | number | No | Hora de finalización en milisegundos de época \(para anotaciones de rango\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | El ID de la anotación creada |
| `message` | string | Mensaje de confirmación |
### `grafana_list_annotations`
Consultar anotaciones por rango de tiempo, panel o etiquetas
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
| `from` | number | No | Hora de inicio en milisegundos de época |
| `to` | number | No | Hora de finalización en milisegundos de época |
| `dashboardUid` | string | No | Filtrar por UID del panel |
| `panelId` | number | No | Filtrar por ID del panel |
| `tags` | string | No | Lista de etiquetas separadas por comas para filtrar |
| `type` | string | No | Filtrar por tipo \(alerta o anotación\) |
| `limit` | number | No | Número máximo de anotaciones a devolver |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `annotations` | array | Lista de anotaciones |
### `grafana_update_annotation`
Actualizar una anotación existente
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `annotationId` | number | Sí | El ID de la anotación a actualizar |
| `text` | string | Sí | Nuevo contenido de texto para la anotación |
| `tags` | string | No | Lista de nuevas etiquetas separadas por comas |
| `time` | number | No | Nueva hora de inicio en milisegundos de época |
| `timeEnd` | number | No | Nueva hora de finalización en milisegundos de época |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | El ID de la anotación actualizada |
| `message` | string | Mensaje de confirmación |
### `grafana_delete_annotation`
Eliminar una anotación por su ID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `annotationId` | number | Sí | El ID de la anotación a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `message` | string | Mensaje de confirmación |
### `grafana_list_data_sources`
Listar todas las fuentes de datos configuradas en Grafana
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana (ej., https://your-grafana.com) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `dataSources` | array | Lista de fuentes de datos |
### `grafana_get_data_source`
Obtener una fuente de datos por su ID o UID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana (ej., https://your-grafana.com) |
| `organizationId` | string | No | ID de organización para instancias Grafana multi-organización |
| `dataSourceId` | string | Sí | El ID o UID de la fuente de datos a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | ID de la fuente de datos |
| `uid` | string | UID de la fuente de datos |
| `name` | string | Nombre de la fuente de datos |
| `type` | string | Tipo de fuente de datos |
| `url` | string | URL de conexión de la fuente de datos |
| `database` | string | Nombre de la base de datos (si aplica) |
| `isDefault` | boolean | Si esta es la fuente de datos predeterminada |
| `jsonData` | json | Configuración adicional de la fuente de datos |
### `grafana_list_folders`
Listar todas las carpetas en Grafana
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
| `limit` | number | No | Número máximo de carpetas a devolver |
| `page` | number | No | Número de página para paginación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `folders` | array | Lista de carpetas |
### `grafana_create_folder`
Crear una nueva carpeta en Grafana
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Token de cuenta de servicio de Grafana |
| `baseUrl` | string | Sí | URL de la instancia de Grafana \(p. ej., https://your-grafana.com\) |
| `organizationId` | string | No | ID de la organización para instancias de Grafana multi-organización |
| `title` | string | Sí | El título de la nueva carpeta |
| `uid` | string | No | UID opcional para la carpeta \(se genera automáticamente si no se proporciona\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | El ID numérico de la carpeta creada |
| `uid` | string | El UID de la carpeta creada |
| `title` | string | El título de la carpeta creada |
| `url` | string | La ruta URL a la carpeta |
## Notas
- Categoría: `tools`
- Tipo: `grafana`

View File

@@ -357,10 +357,12 @@ Actualizar un horario existente en incident.io
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | cadena | Sí | Clave API de incident.io |
| `id` | cadena | Sí | El ID del horario a actualizar |
| `name` | cadena | No | Nuevo nombre para el horario |
| `timezone` | cadena | No | Nueva zona horaria para el horario \(p. ej., America/New_York\) |
| `apiKey` | string | Sí | Clave API de incident.io |
| `id` | string | Sí | El ID del horario a actualizar |
| `name` | string | No | Nuevo nombre para el horario |
| `timezone` | string | No | Nueva zona horaria para el horario \(p. ej., America/New_York\) |
| `config` | string | No | Configuración del horario como cadena JSON con rotaciones. Ejemplo: \{"rotations": \[\{"name": "Primary", "users": \[\{"id": "user_id"\}\], "handover_start_at": "2024-01-01T09:00:00Z", "handovers": \[\{"interval": 1, "interval_type": "weekly"\}\]\}\]\} |
| `Example` | string | No | Sin descripción |
#### Salida

View File

@@ -167,7 +167,7 @@ Crear o actualizar una empresa en Intercom
| `plan` | string | No | El nombre del plan de la empresa |
| `size` | number | No | El número de empleados en la empresa |
| `industry` | string | No | El sector en el que opera la empresa |
| `monthly_spend` | number | No | Cuántos ingresos genera la empresa para tu negocio |
| `monthly_spend` | number | No | Cuántos ingresos genera la empresa para tu negocio. Nota: Este campo trunca los decimales a números enteros \(por ejemplo, 155.98 se convierte en 155\) |
| `custom_attributes` | string | No | Atributos personalizados como objeto JSON |
#### Salida
@@ -196,7 +196,7 @@ Recuperar una única empresa por ID desde Intercom
### `intercom_list_companies`
Listar todas las empresas de Intercom con soporte de paginación
Lista todas las empresas de Intercom con soporte de paginación. Nota: Este endpoint tiene un límite de 10,000 empresas que pueden ser devueltas usando paginación. Para conjuntos de datos mayores a 10,000 empresas, usa la API Scroll en su lugar.
#### Entrada
@@ -259,8 +259,8 @@ Responder a una conversación como administrador en Intercom
| `conversationId` | string | Sí | ID de la conversación a la que responder |
| `message_type` | string | Sí | Tipo de mensaje: "comment" o "note" |
| `body` | string | Sí | El texto del cuerpo de la respuesta |
| `admin_id` | string | | El ID del administrador que escribe la respuesta |
| `attachment_urls` | string | No | Lista separada por comas de URLs de imágenes (máx. 10) |
| `admin_id` | string | No | El ID del administrador que escribe la respuesta. Si no se proporciona, se utilizará un administrador predeterminado \(Operator/Fin\). |
| `attachment_urls` | string | No | Lista separada por comas de URLs de imágenes \(máximo 10\) |
#### Salida

View File

@@ -0,0 +1,393 @@
---
title: Kalshi
description: Accede a mercados de predicción y opera en Kalshi
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="kalshi"
color="#09C285"
/>
{/* MANUAL-CONTENT-START:intro */}
[Kalshi](https://kalshi.com) es un mercado regulado federalmente donde los usuarios pueden operar directamente sobre los resultados de eventos futuros—mercados de predicción. La robusta API de Kalshi y la integración con Sim permiten a los agentes y flujos de trabajo acceder programáticamente a todos los aspectos de la plataforma, admitiendo desde investigación y análisis hasta operaciones automatizadas y monitoreo.
Con la integración de Kalshi en Sim, puedes:
- **Datos de mercados y eventos:** Buscar, filtrar y obtener datos en tiempo real e históricos de mercados y eventos; obtener detalles granulares sobre el estado del mercado, series, agrupaciones de eventos y más.
- **Gestión de cuentas y saldos:** Acceder a saldos de cuenta, fondos disponibles y monitorear posiciones abiertas en tiempo real.
- **Gestión de órdenes y operaciones:** Colocar nuevas órdenes, cancelar las existentes, ver órdenes abiertas, obtener un libro de órdenes en vivo y acceder a historiales completos de operaciones.
- **Análisis de ejecución:** Obtener operaciones recientes, ejecuciones históricas y datos de velas para backtesting o investigación de estructura de mercado.
- **Monitoreo:** Verificar el estado de todo el mercado o a nivel de series, recibir actualizaciones en tiempo real sobre cambios en el mercado o interrupciones de operaciones, y automatizar respuestas.
- **Listo para automatización:** Construir agentes automatizados y paneles de control de extremo a extremo que consuman, analicen y operen con probabilidades de eventos del mundo real.
Al utilizar estas herramientas y puntos de acceso unificados, puedes incorporar sin problemas los mercados de predicción de Kalshi, capacidades de operación en vivo y datos profundos de eventos en tus aplicaciones impulsadas por IA, paneles de control y flujos de trabajo, permitiendo una toma de decisiones sofisticada y automatizada vinculada a resultados del mundo real.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra los mercados de predicción de Kalshi en el flujo de trabajo. Puede obtener mercados, mercado específico, eventos, evento específico, saldo, posiciones, órdenes, libro de órdenes, operaciones, gráficos de velas, ejecuciones, series, estado del intercambio y realizar/cancelar/modificar operaciones.
## Herramientas
### `kalshi_get_markets`
Obtener una lista de mercados de predicción de Kalshi con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `status` | string | No | Filtrar por estado \(unopened, open, closed, settled\) |
| `seriesTicker` | string | No | Filtrar por ticker de serie |
| `eventTicker` | string | No | Filtrar por ticker de evento |
| `limit` | string | No | Número de resultados \(1-1000, predeterminado: 100\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de mercados y metadatos |
### `kalshi_get_market`
Obtener detalles de un mercado de predicción específico por ticker
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `ticker` | string | Sí | El ticker del mercado \(p. ej., "KXBTC-24DEC31"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del mercado y metadatos |
### `kalshi_get_events`
Obtener una lista de eventos de Kalshi con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `status` | string | No | Filtrar por estado \(open, closed, settled\) |
| `seriesTicker` | string | No | Filtrar por ticker de serie |
| `withNestedMarkets` | string | No | Incluir mercados anidados en la respuesta \(true/false\) |
| `limit` | string | No | Número de resultados \(1-200, predeterminado: 200\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de eventos |
### `kalshi_get_event`
Recuperar detalles de un evento específico por ticker
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `eventTicker` | string | Sí | El ticker del evento |
| `withNestedMarkets` | string | No | Incluir mercados anidados en la respuesta \(true/false\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del evento |
### `kalshi_get_balance`
Recuperar el saldo de tu cuenta y el valor de la cartera desde Kalshi
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del saldo |
### `kalshi_get_positions`
Recuperar tus posiciones abiertas desde Kalshi
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `ticker` | string | No | Filtrar por ticker de mercado |
| `eventTicker` | string | No | Filtrar por ticker de evento \(máximo 10 separados por comas\) |
| `settlementStatus` | string | No | Filtrar por estado de liquidación \(all, unsettled, settled\). Predeterminado: unsettled |
| `limit` | string | No | Número de resultados \(1-1000, predeterminado: 100\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de posiciones y metadatos |
### `kalshi_get_orders`
Recupera tus órdenes de Kalshi con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `ticker` | string | No | Filtrar por ticker de mercado |
| `eventTicker` | string | No | Filtrar por ticker de evento \(máximo 10 separados por comas\) |
| `status` | string | No | Filtrar por estado \(en espera, cancelado, ejecutado\) |
| `limit` | string | No | Número de resultados \(1-200, predeterminado: 100\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de órdenes y metadatos |
### `kalshi_get_order`
Recupera detalles de una orden específica por ID desde Kalshi
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `orderId` | string | Sí | El ID de la orden a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden |
### `kalshi_get_orderbook`
Recupera el libro de órdenes (ofertas de sí y no) para un mercado específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `ticker` | string | Sí | Ticker del mercado \(p. ej., KXBTC-24DEC31\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del libro de órdenes y metadatos |
### `kalshi_get_trades`
Recupera operaciones recientes de todos los mercados
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `limit` | string | No | Número de resultados \(1-1000, predeterminado: 100\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de operaciones y metadatos |
### `kalshi_get_candlesticks`
Obtener datos de velas OHLC para un mercado específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | Sí | Ticker de serie |
| `ticker` | string | Sí | Ticker del mercado \(p. ej., KXBTC-24DEC31\) |
| `startTs` | number | Sí | Marca de tiempo inicial \(segundos Unix\) |
| `endTs` | number | Sí | Marca de tiempo final \(segundos Unix\) |
| `periodInterval` | number | Sí | Intervalo de período: 1 \(1min\), 60 \(1hora\), o 1440 \(1día\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de velas y metadatos |
### `kalshi_get_fills`
Recuperar tu portafolio
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `ticker` | string | No | Filtrar por ticker de mercado |
| `orderId` | string | No | Filtrar por ID de orden |
| `minTs` | number | No | Marca de tiempo mínima \(milisegundos Unix\) |
| `maxTs` | number | No | Marca de tiempo máxima \(milisegundos Unix\) |
| `limit` | string | No | Número de resultados \(1-1000, predeterminado: 100\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de ejecuciones y metadatos |
### `kalshi_get_series_by_ticker`
Obtener detalles de una serie de mercado específica por ticker
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `seriesTicker` | string | Sí | Ticker de la serie |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la serie y metadatos |
### `kalshi_get_exchange_status`
Obtener el estado actual del intercambio Kalshi (actividad de trading y del intercambio)
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del estado del intercambio y metadatos |
### `kalshi_create_order`
Crear una nueva orden en un mercado de predicción de Kalshi
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `ticker` | string | Sí | Ticker del mercado \(p. ej., KXBTC-24DEC31\) |
| `side` | string | Sí | Lado de la orden: 'yes' o 'no' |
| `action` | string | Sí | Tipo de acción: 'buy' o 'sell' |
| `count` | string | Sí | Número de contratos \(mínimo 1\) |
| `type` | string | No | Tipo de orden: 'limit' o 'market' \(predeterminado: limit\) |
| `yesPrice` | string | No | Precio de 'yes' en centavos \(1-99\) |
| `noPrice` | string | No | Precio de 'no' en centavos \(1-99\) |
| `yesPriceDollars` | string | No | Precio de 'yes' en dólares \(p. ej., "0.56"\) |
| `noPriceDollars` | string | No | Precio de 'no' en dólares \(p. ej., "0.56"\) |
| `clientOrderId` | string | No | Identificador personalizado de la orden |
| `expirationTs` | string | No | Marca de tiempo Unix para la expiración de la orden |
| `timeInForce` | string | No | Tiempo en vigor: 'fill_or_kill', 'good_till_canceled', 'immediate_or_cancel' |
| `buyMaxCost` | string | No | Costo máximo en centavos \(habilita automáticamente fill_or_kill\) |
| `postOnly` | string | No | Establecer como 'true' para órdenes solo maker |
| `reduceOnly` | string | No | Establecer como 'true' solo para reducción de posición |
| `selfTradePreventionType` | string | No | Prevención de auto-negociación: 'taker_at_cross' o 'maker' |
| `orderGroupId` | string | No | ID de grupo de órdenes asociado |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden creada |
### `kalshi_cancel_order`
Cancelar una orden existente en Kalshi
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `orderId` | string | Sí | El ID de la orden a cancelar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden cancelada |
### `kalshi_amend_order`
Modificar el precio o la cantidad de una orden existente en Kalshi
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `keyId` | string | Sí | Tu ID de clave API de Kalshi |
| `privateKey` | string | Sí | Tu clave privada RSA \(formato PEM\) |
| `orderId` | string | Sí | El ID de la orden a modificar |
| `ticker` | string | Sí | Ticker del mercado |
| `side` | string | Sí | Lado de la orden: 'yes' o 'no' |
| `action` | string | Sí | Tipo de acción: 'buy' o 'sell' |
| `clientOrderId` | string | Sí | El ID de orden original especificado por el cliente |
| `updatedClientOrderId` | string | Sí | El nuevo ID de orden especificado por el cliente después de la modificación |
| `count` | string | No | Cantidad actualizada para la orden |
| `yesPrice` | string | No | Precio actualizado para 'yes' en centavos \(1-99\) |
| `noPrice` | string | No | Precio actualizado para 'no' en centavos \(1-99\) |
| `yesPriceDollars` | string | No | Precio actualizado para 'yes' en dólares \(p. ej., "0.56"\) |
| `noPriceDollars` | string | No | Precio actualizado para 'no' en dólares \(p. ej., "0.56"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de la orden modificada |
## Notas
- Categoría: `tools`
- Tipo: `kalshi`

View File

@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="mailgun"
color="#F06248"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}

View File

@@ -0,0 +1,352 @@
---
title: Polymarket
description: Accede a datos de mercados de predicción desde Polymarket
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="polymarket"
color="#4C82FB"
/>
{/* MANUAL-CONTENT-START:intro */}
[Polymarket](https://polymarket.com) es una plataforma descentralizada de mercados de predicción donde los usuarios pueden operar sobre el resultado de eventos futuros utilizando tecnología blockchain. Polymarket proporciona una API completa, permitiendo a desarrolladores y agentes acceder a datos de mercado en vivo, listados de eventos, información de precios y estadísticas de libro de órdenes para potenciar flujos de trabajo basados en datos y automatizaciones de IA.
Con la API de Polymarket y la integración de Sim, puedes permitir que los agentes recuperen programáticamente información de mercados de predicción, exploren mercados abiertos y eventos asociados, analicen datos históricos de precios y accedan a libros de órdenes y puntos medios del mercado. Esto crea nuevas posibilidades para la investigación, análisis automatizado y desarrollo de agentes inteligentes que reaccionan a probabilidades de eventos en tiempo real derivadas de los precios del mercado.
Las características principales de la integración de Polymarket incluyen:
- **Listado y filtrado de mercados:** Lista todos los mercados de predicción actuales o históricos, filtra por etiqueta, ordena y navega por los resultados paginados.
- **Detalle del mercado:** Recupera detalles de un solo mercado por ID o slug, incluyendo sus resultados y estado.
- **Listados de eventos:** Accede a listas de eventos de Polymarket e información detallada de eventos.
- **Libro de órdenes y datos de precios:** Analiza el libro de órdenes, obtén los últimos precios del mercado, visualiza el punto medio u obtén información histórica de precios para cualquier mercado.
- **Listo para automatización:** Construye agentes o herramientas que reaccionan programáticamente a desarrollos del mercado, cambios en las probabilidades o resultados específicos de eventos.
Al utilizar estos endpoints de API documentados, puedes integrar perfectamente los ricos datos de mercados de predicción en cadena de Polymarket en tus propios flujos de trabajo de IA, paneles de control, herramientas de investigación y automatizaciones de trading.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra los mercados de predicción de Polymarket en el flujo de trabajo. Puede obtener mercados, mercado, eventos, evento, etiquetas, series, libro de órdenes, precio, punto medio, historial de precios, último precio de operación, diferencial, tamaño de tick, posiciones, operaciones y búsqueda.
## Herramientas
### `polymarket_get_markets`
Obtener una lista de mercados de predicción de Polymarket con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | 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\) |
| `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 |
### `polymarket_get_market`
Obtener detalles de un mercado de predicción específico por ID o slug
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `marketId` | string | No | El ID del mercado. Requerido si no se proporciona el slug. |
| `slug` | string | No | El slug del mercado \(p. ej., "will-trump-win"\). Requerido si no se proporciona marketId. |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de mercado y metadatos |
### `polymarket_get_events`
Obtener una lista de eventos de Polymarket con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | 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\) |
| `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 |
### `polymarket_get_event`
Obtener detalles de un evento específico por ID o slug
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `eventId` | string | No | El ID del evento. Requerido si no se proporciona el slug. |
| `slug` | string | No | El slug del evento (ej., "2024-presidential-election"). Requerido si no se proporciona eventId. |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del evento |
### `polymarket_get_tags`
Obtener etiquetas disponibles para filtrar mercados de Polymarket
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `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\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de etiquetas |
### `polymarket_search`
Buscar mercados, eventos y perfiles en Polymarket
#### Entrada
| 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\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Resultados de búsqueda y metadatos |
### `polymarket_get_series`
Obtener series (grupos de mercados relacionados) de Polymarket
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `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\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de la serie |
### `polymarket_get_series_by_id`
Recuperar una serie específica (grupo de mercado relacionado) por ID desde Polymarket
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `seriesId` | string | Sí | El ID de la serie |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos de la serie |
### `polymarket_get_orderbook`
Recuperar el resumen del libro de órdenes para un token específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos y metadatos del libro de órdenes |
### `polymarket_get_price`
Recuperar el precio de mercado para un token y lado específicos
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
| `side` | string | Sí | Lado de la orden: compra o venta |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de precio y metadatos |
### `polymarket_get_midpoint`
Recuperar el precio medio para un token específico
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del precio medio y metadatos |
### `polymarket_get_price_history`
Recuperar datos históricos de precios para un token de mercado específico
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
| `interval` | string | No | Duración que termina en el tiempo actual (1m, 1h, 6h, 1d, 1w, max). Mutuamente excluyente con startTs/endTs. |
| `fidelity` | number | No | Resolución de datos en minutos (por ejemplo, 60 para datos por hora) |
| `startTs` | number | No | Marca de tiempo de inicio (segundos Unix UTC) |
| `endTs` | number | No | Marca de tiempo de fin (segundos Unix UTC) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del historial de precios y metadatos |
### `polymarket_get_last_trade_price`
Recuperar el último precio de operación para un token específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Último precio de operación y metadatos |
### `polymarket_get_spread`
Recuperar el diferencial de oferta y demanda para un token específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos del diferencial y metadatos |
### `polymarket_get_tick_size`
Recuperar el tamaño mínimo de tick para un token específico
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `tokenId` | string | Sí | El ID del token CLOB (de los clobTokenIds del mercado) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Tamaño del tick y metadatos |
### `polymarket_get_positions`
Recuperar las posiciones del usuario desde Polymarket
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `user` | string | Sí | Dirección de la cartera del usuario |
| `market` | string | No | ID de mercado opcional para filtrar posiciones |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Estado de éxito de la operación |
| `output` | object | Datos de posiciones y metadatos |
### `polymarket_get_trades`
Recuperar historial de operaciones de Polymarket
#### Entrada
| Parámetro | Tipo | Requerido | 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\) |
| `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 |
## Notas
- Categoría: `tools`
- Tipo: `polymarket`

View File

@@ -81,12 +81,19 @@ Crear un nuevo problema con propiedades específicas
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| --------- | ---- | -------- | ----------- |
| `apiToken` | string | Sí | Token de API de Pylon |
| `title` | string | Sí | Título del problema |
| `bodyHtml` | string | Sí | Cuerpo del problema en formato HTML |
| `accountId` | string | No | ID de cuenta para asociar con el problema |
| `assigneeId` | string | No | ID de usuario para asignar el problema |
| `accountId` | string | No | ID de la cuenta a asociar con el problema |
| `assigneeId` | string | No | ID del usuario al que asignar el problema |
| `teamId` | string | No | ID del equipo al que asignar el problema |
| `requesterId` | string | No | ID del usuario solicitante \(alternativa a requester_email\) |
| `requesterEmail` | string | No | Dirección de correo electrónico del solicitante \(alternativa a requester_id\) |
| `priority` | string | No | Prioridad del problema |
| `tags` | string | No | IDs de etiquetas separados por comas |
| `customFields` | string | No | Campos personalizados como objeto JSON |
| `attachmentUrls` | string | No | URLs de archivos adjuntos separados por comas |
#### Salida
@@ -124,10 +131,13 @@ Actualizar un problema existente
| `apiToken` | string | Sí | Token de API de Pylon |
| `issueId` | string | Sí | El ID del problema a actualizar |
| `state` | string | No | Estado del problema |
| `assigneeId` | string | No | ID de usuario para asignar el problema |
| `teamId` | string | No | ID del equipo para asignar el problema |
| `assigneeId` | string | No | ID del usuario al que asignar el problema |
| `teamId` | string | No | ID del equipo al que asignar el problema |
| `tags` | string | No | IDs de etiquetas separados por comas |
| `customFields` | string | No | Campos personalizados como objeto JSON |
| `customerPortalVisible` | boolean | No | Si el problema es visible en el portal del cliente |
| `requesterId` | string | No | ID del usuario solicitante |
| `accountId` | string | No | ID de la cuenta a asociar con el problema |
#### Salida

View File

@@ -0,0 +1,444 @@
---
title: Shopify
description: Gestiona productos, pedidos, clientes e inventario en tu tienda Shopify
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="shopify"
color="#FFFFFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Shopify](https://www.shopify.com/) es una plataforma líder de comercio electrónico diseñada para ayudar a los comerciantes a construir, administrar y hacer crecer sus tiendas en línea. Shopify facilita la gestión de todos los aspectos de tu tienda, desde productos e inventario hasta pedidos y clientes.
Con Shopify en Sim, tus agentes pueden:
- **Crear y gestionar productos**: Añadir nuevos productos, actualizar detalles de productos y eliminar productos de tu tienda.
- **Listar y recuperar pedidos**: Obtener información sobre los pedidos de los clientes, incluyendo filtrado y gestión de pedidos.
- **Gestionar clientes**: Acceder y actualizar detalles de clientes, o añadir nuevos clientes a tu tienda.
- **Ajustar niveles de inventario**: Cambiar programáticamente los niveles de stock de productos para mantener tu inventario preciso.
Utiliza la integración de Shopify en Sim para automatizar flujos de trabajo comunes de gestión de tiendas, como sincronizar inventario, cumplir pedidos o gestionar listados, directamente desde tus automatizaciones. Permite a tus agentes acceder, actualizar y organizar todos los datos de tu tienda utilizando herramientas simples y programáticas.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Shopify en tu flujo de trabajo. Gestiona productos, pedidos, clientes e inventario. Crea, lee, actualiza y elimina productos. Lista y gestiona pedidos. Maneja datos de clientes y ajusta niveles de inventario.
## Herramientas
### `shopify_create_product`
Crear un nuevo producto en tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `title` | string | Sí | Título del producto |
| `descriptionHtml` | string | No | Descripción del producto \(HTML\) |
| `vendor` | string | No | Proveedor/marca del producto |
| `productType` | string | No | Tipo/categoría del producto |
| `tags` | array | No | Etiquetas del producto |
| `status` | string | No | Estado del producto \(ACTIVE, DRAFT, ARCHIVED\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `product` | object | El producto creado |
### `shopify_get_product`
Obtener un solo producto por ID de tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `productId` | string | Sí | ID del producto \(gid://shopify/Product/123456789\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `product` | object | Los detalles del producto |
### `shopify_list_products`
Listar productos de tu tienda Shopify con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `first` | number | No | Número de productos a devolver \(predeterminado: 50, máximo: 250\) |
| `query` | string | No | Consulta de búsqueda para filtrar productos \(p. ej., "title:camisa" o "vendor:Nike" o "status:active"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `products` | array | Lista de productos |
| `pageInfo` | object | Información de paginación |
### `shopify_update_product`
Actualizar un producto existente en tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `productId` | string | Sí | ID del producto a actualizar \(gid://shopify/Product/123456789\) |
| `title` | string | No | Nuevo título del producto |
| `descriptionHtml` | string | No | Nueva descripción del producto \(HTML\) |
| `vendor` | string | No | Nuevo proveedor/marca del producto |
| `productType` | string | No | Nuevo tipo/categoría del producto |
| `tags` | array | No | Nuevas etiquetas del producto |
| `status` | string | No | Nuevo estado del producto \(ACTIVE, DRAFT, ARCHIVED\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `product` | objeto | El producto actualizado |
### `shopify_delete_product`
Eliminar un producto de tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `productId` | string | Sí | ID del producto a eliminar \(gid://shopify/Product/123456789\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deletedId` | string | El ID del producto eliminado |
### `shopify_get_order`
Obtener un pedido individual por ID de tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `orderId` | string | Sí | ID del pedido \(gid://shopify/Order/123456789\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `order` | objeto | Los detalles del pedido |
### `shopify_list_orders`
Listar pedidos de tu tienda Shopify con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `first` | number | No | Número de pedidos a devolver \(predeterminado: 50, máximo: 250\) |
| `status` | string | No | Filtrar por estado del pedido \(abierto, cerrado, cancelado, cualquiera\) |
| `query` | string | No | Consulta de búsqueda para filtrar pedidos \(p. ej., "financial_status:paid" o "fulfillment_status:unfulfilled" o "email:customer@example.com"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `orders` | array | Lista de pedidos |
| `pageInfo` | object | Información de paginación |
### `shopify_update_order`
Actualizar un pedido existente en tu tienda Shopify (nota, etiquetas, correo electrónico)
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `orderId` | string | Sí | ID del pedido a actualizar \(gid://shopify/Order/123456789\) |
| `note` | string | No | Nueva nota del pedido |
| `tags` | array | No | Nuevas etiquetas del pedido |
| `email` | string | No | Nuevo correo electrónico del cliente para el pedido |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `order` | object | El pedido actualizado |
### `shopify_cancel_order`
Cancelar un pedido en tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `orderId` | string | Sí | ID del pedido a cancelar \(gid://shopify/Order/123456789\) |
| `reason` | string | Sí | Motivo de cancelación \(CUSTOMER, DECLINED, FRAUD, INVENTORY, STAFF, OTHER\) |
| `notifyCustomer` | boolean | No | Si se debe notificar al cliente sobre la cancelación |
| `refund` | boolean | No | Si se debe reembolsar el pedido |
| `restock` | boolean | No | Si se debe reponer el inventario |
| `staffNote` | string | No | Una nota sobre la cancelación para referencia del personal |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `order` | object | El resultado de la cancelación |
### `shopify_create_customer`
Crear un nuevo cliente en tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `email` | string | No | Dirección de correo electrónico del cliente |
| `firstName` | string | No | Nombre del cliente |
| `lastName` | string | No | Apellido del cliente |
| `phone` | string | No | Número de teléfono del cliente |
| `note` | string | No | Nota sobre el cliente |
| `tags` | array | No | Etiquetas del cliente |
| `addresses` | array | No | Direcciones del cliente |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `customer` | object | El cliente creado |
### `shopify_get_customer`
Obtener un solo cliente por ID de tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `customerId` | string | Sí | ID del cliente \(gid://shopify/Customer/123456789\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `customer` | object | Los detalles del cliente |
### `shopify_list_customers`
Lista los clientes de tu tienda Shopify con filtrado opcional
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `first` | number | No | Número de clientes a devolver \(predeterminado: 50, máximo: 250\) |
| `query` | string | No | Consulta de búsqueda para filtrar clientes \(ej., "first_name:John" o "last_name:Smith" o "email:*@gmail.com" o "tag:vip"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `customers` | array | Lista de clientes |
| `pageInfo` | object | Información de paginación |
### `shopify_update_customer`
Actualiza un cliente existente en tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `customerId` | string | Sí | ID del cliente a actualizar \(gid://shopify/Customer/123456789\) |
| `email` | string | No | Nueva dirección de correo electrónico del cliente |
| `firstName` | string | No | Nuevo nombre del cliente |
| `lastName` | string | No | Nuevo apellido del cliente |
| `phone` | string | No | Nuevo número de teléfono del cliente |
| `note` | string | No | Nueva nota sobre el cliente |
| `tags` | array | No | Nuevas etiquetas del cliente |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `customer` | object | El cliente actualizado |
### `shopify_delete_customer`
Eliminar un cliente de tu tienda Shopify
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `customerId` | string | Sí | ID del cliente a eliminar \(gid://shopify/Customer/123456789\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deletedId` | string | El ID del cliente eliminado |
### `shopify_list_inventory_items`
Listar artículos de inventario de tu tienda Shopify. Utiliza esto para encontrar IDs de artículos de inventario por SKU.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `first` | number | No | Número de artículos de inventario a devolver \(predeterminado: 50, máximo: 250\) |
| `query` | string | No | Consulta de búsqueda para filtrar artículos de inventario \(ej., "sku:ABC123"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `inventoryItems` | array | Lista de artículos de inventario con sus IDs, SKUs y niveles de stock |
| `pageInfo` | object | Información de paginación |
### `shopify_get_inventory_level`
Obtener nivel de inventario para una variante de producto en una ubicación específica
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `inventoryItemId` | string | Sí | ID del artículo de inventario \(gid://shopify/InventoryItem/123456789\) |
| `locationId` | string | No | ID de ubicación para filtrar \(opcional\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `inventoryLevel` | object | Los detalles del nivel de inventario |
### `shopify_adjust_inventory`
Ajustar la cantidad de inventario para una variante de producto en una ubicación específica
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `inventoryItemId` | string | Sí | ID del artículo de inventario \(gid://shopify/InventoryItem/123456789\) |
| `locationId` | string | Sí | ID de ubicación \(gid://shopify/Location/123456789\) |
| `delta` | number | Sí | Cantidad a ajustar \(positivo para aumentar, negativo para disminuir\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `inventoryLevel` | object | El resultado del ajuste de inventario |
### `shopify_list_locations`
Listar ubicaciones de inventario de tu tienda Shopify. Utiliza esto para encontrar los IDs de ubicación necesarios para operaciones de inventario.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `first` | number | No | Número de ubicaciones a devolver \(predeterminado: 50, máximo: 250\) |
| `includeInactive` | boolean | No | Si se deben incluir ubicaciones desactivadas \(predeterminado: false\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `locations` | array | Lista de ubicaciones con sus IDs, nombres y direcciones |
| `pageInfo` | object | Información de paginación |
### `shopify_create_fulfillment`
Crea un envío para marcar los artículos del pedido como enviados. Requiere un ID de orden de envío (obtén esto desde los detalles del pedido).
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `fulfillmentOrderId` | string | Sí | El ID de la orden de envío \(ej., gid://shopify/FulfillmentOrder/123456789\) |
| `trackingNumber` | string | No | Número de seguimiento para el envío |
| `trackingCompany` | string | No | Nombre del transportista \(ej., UPS, FedEx, USPS, DHL\) |
| `trackingUrl` | string | No | URL para rastrear el envío |
| `notifyCustomer` | boolean | No | Si se debe enviar un correo electrónico de confirmación de envío al cliente \(predeterminado: true\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `fulfillment` | object | El envío creado con información de seguimiento y artículos enviados |
### `shopify_list_collections`
Lista las colecciones de productos de tu tienda Shopify. Filtra por título, tipo (personalizada/inteligente) o identificador.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(ej., mitienda.myshopify.com\) |
| `first` | number | No | Número de colecciones a devolver \(predeterminado: 50, máx: 250\) |
| `query` | string | No | Consulta de búsqueda para filtrar colecciones \(ej., "title:Verano" o "collection_type:smart"\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `collections` | array | Lista de colecciones con sus IDs, títulos y recuentos de productos |
| `pageInfo` | object | Información de paginación |
### `shopify_get_collection`
Obtén una colección específica por ID, incluyendo sus productos. Usa esto para recuperar productos dentro de una colección.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `shopDomain` | string | Sí | El dominio de tu tienda Shopify \(p. ej., mitienda.myshopify.com\) |
| `collectionId` | string | Sí | El ID de la colección \(p. ej., gid://shopify/Collection/123456789\) |
| `productsFirst` | number | No | Número de productos a devolver de esta colección \(predeterminado: 50, máx: 250\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `collection` | object | Los detalles de la colección incluyendo sus productos |
## Notas
- Categoría: `tools`
- Tipo: `shopify`

View File

@@ -120,6 +120,82 @@ Lee los últimos mensajes de los canales de Slack. Recupera el historial de conv
| --------- | ---- | ----------- |
| `messages` | array | Array de objetos de mensaje del canal |
### `slack_list_channels`
Lista todos los canales en un espacio de trabajo de Slack. Devuelve los canales públicos y privados a los que el bot tiene acceso.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Método de autenticación: oauth o bot_token |
| `botToken` | string | No | Token del bot para Bot personalizado |
| `includePrivate` | boolean | No | Incluir canales privados de los que el bot es miembro (predeterminado: true) |
| `excludeArchived` | boolean | No | Excluir canales archivados (predeterminado: true) |
| `limit` | number | No | Número máximo de canales a devolver (predeterminado: 100, máx: 200) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `channels` | array | Array de objetos de canal del espacio de trabajo |
### `slack_list_members`
Lista todos los miembros (IDs de usuario) en un canal de Slack. Úsalo con Obtener Información de Usuario para resolver IDs a nombres.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Método de autenticación: oauth o bot_token |
| `botToken` | string | No | Token del bot para Bot personalizado |
| `channel` | string | Sí | ID del canal del que listar miembros |
| `limit` | number | No | Número máximo de miembros a devolver (predeterminado: 100, máx: 200) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `members` | array | Array de IDs de usuario que son miembros del canal (p. ej., U1234567890) |
### `slack_list_users`
Lista todos los usuarios en un espacio de trabajo de Slack. Devuelve perfiles de usuario con nombres y avatares.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Método de autenticación: oauth o bot_token |
| `botToken` | string | No | Token del bot para Bot personalizado |
| `includeDeleted` | boolean | No | Incluir usuarios desactivados/eliminados \(predeterminado: false\) |
| `limit` | number | No | Número máximo de usuarios a devolver \(predeterminado: 100, máx: 200\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `users` | array | Array de objetos de usuario del espacio de trabajo |
### `slack_get_user`
Obtiene información detallada sobre un usuario específico de Slack mediante su ID de usuario.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | No | Método de autenticación: oauth o bot_token |
| `botToken` | string | No | Token del bot para Bot personalizado |
| `userId` | string | Sí | ID de usuario a buscar \(p. ej., U1234567890\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `user` | object | Información detallada del usuario |
### `slack_download`
Descargar un archivo de Slack
@@ -183,7 +259,7 @@ Eliminar un mensaje enviado previamente por el bot en Slack
### `slack_add_reaction`
Añadir una reacción con emoji a un mensaje de Slack
Añadir una reacción emoji a un mensaje de Slack
#### Entrada

View File

@@ -0,0 +1,394 @@
---
title: SSH
description: Conéctate a servidores remotos vía SSH
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ssh"
color="#000000"
/>
{/* MANUAL-CONTENT-START:intro */}
[SSH (Secure Shell)](https://en.wikipedia.org/wiki/Secure_Shell) es un protocolo ampliamente utilizado para conectarse de forma segura a servidores remotos, permitiéndote ejecutar comandos, transferir archivos y gestionar sistemas a través de canales cifrados.
Con el soporte SSH en Sim, tus agentes pueden:
- **Ejecutar comandos remotos**: Ejecuta comandos de shell en cualquier servidor accesible por SSH
- **Subir y ejecutar scripts**: Transfiere y ejecuta fácilmente scripts de múltiples líneas para automatización avanzada
- **Transferir archivos de forma segura**: Sube y descarga archivos como parte de tus flujos de trabajo (próximamente o mediante comando)
- **Automatizar la gestión de servidores**: Realiza actualizaciones, mantenimiento, monitoreo, despliegues y tareas de configuración de forma programática
- **Usar autenticación flexible**: Conéctate con autenticación por contraseña o clave privada, incluyendo soporte para claves cifradas
Las siguientes herramientas SSH de Sim permiten a tus agentes interactuar con servidores como parte de automatizaciones más amplias:
- `ssh_execute_command`: Ejecuta cualquier comando shell de forma remota y captura la salida, el estado y los errores.
- `ssh_execute_script`: Sube y ejecuta un script completo de múltiples líneas en el sistema remoto.
- (Próximamente herramientas adicionales, como la transferencia de archivos).
Al integrar SSH en los flujos de trabajo de tus agentes, puedes automatizar el acceso seguro, las operaciones remotas y la orquestación de servidores, agilizando DevOps, automatización de TI y gestión remota personalizada, todo desde Sim.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Ejecuta comandos, transfiere archivos y gestiona servidores remotos vía SSH. Compatible con autenticación por contraseña y clave privada para acceso seguro al servidor.
## Herramientas
### `ssh_execute_command`
Ejecuta un comando shell en un servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `command` | string | Sí | Comando shell para ejecutar en el servidor remoto |
| `workingDirectory` | string | No | Directorio de trabajo para la ejecución del comando |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `stdout` | string | Salida estándar del comando |
| `stderr` | string | Salida de error estándar |
| `exitCode` | number | Código de salida del comando |
| `success` | boolean | Si el comando tuvo éxito \(código de salida 0\) |
| `message` | string | Mensaje de estado de la operación |
### `ssh_execute_script`
Subir y ejecutar un script de múltiples líneas en un servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `script` | string | Sí | Contenido del script a ejecutar \(bash, python, etc.\) |
| `interpreter` | string | No | Intérprete del script \(predeterminado: /bin/bash\) |
| `workingDirectory` | string | No | Directorio de trabajo para la ejecución del script |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `stdout` | string | Salida estándar del script |
| `stderr` | string | Salida de error estándar |
| `exitCode` | number | Código de salida del script |
| `success` | boolean | Si el script tuvo éxito \(código de salida 0\) |
| `scriptPath` | string | Ruta temporal donde se subió el script |
| `message` | string | Mensaje de estado de la operación |
### `ssh_check_command_exists`
Comprobar si un comando/programa existe en el servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `commandName` | string | Sí | Nombre del comando a comprobar \(p. ej., docker, git, python3\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `commandExists` | boolean | Si el comando existe o no |
| `commandPath` | string | Ruta completa al comando \(si se encuentra\) |
| `version` | string | Salida de la versión del comando \(si es aplicable\) |
| `message` | string | Mensaje de estado de la operación |
### `ssh_upload_file`
Subir un archivo a un servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `fileContent` | string | Sí | Contenido del archivo a subir \(codificado en base64 para archivos binarios\) |
| `fileName` | string | Sí | Nombre del archivo que se está subiendo |
| `remotePath` | string | Sí | Ruta de destino en el servidor remoto |
| `permissions` | string | No | Permisos del archivo \(p. ej., 0644\) |
| `overwrite` | boolean | No | Si se deben sobrescribir archivos existentes \(predeterminado: true\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `uploaded` | boolean | Indica si el archivo se subió correctamente |
| `remotePath` | string | Ruta final en el servidor remoto |
| `size` | number | Tamaño del archivo en bytes |
| `message` | string | Mensaje de estado de la operación |
### `ssh_download_file`
Descargar un archivo desde un servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 archivo en el servidor remoto |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `downloaded` | boolean | Indica si el archivo se descargó correctamente |
| `fileContent` | string | Contenido del archivo \(codificado en base64 para archivos binarios\) |
| `fileName` | string | Nombre del archivo descargado |
| `remotePath` | string | Ruta de origen en el servidor remoto |
| `size` | number | Tamaño del archivo en bytes |
| `message` | string | Mensaje de estado de la operación |
### `ssh_list_directory`
Listar archivos y directorios en un directorio remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `path` | string | Sí | Ruta del directorio remoto a listar |
| `detailed` | boolean | No | Incluir detalles del archivo \(tamaño, permisos, fecha de modificación\) |
| `recursive` | boolean | No | Listar subdirectorios recursivamente \(predeterminado: false\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `entries` | array | Array de entradas de archivos y directorios |
### `ssh_check_file_exists`
Comprobar si un archivo o directorio existe en el servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `path` | string | Sí | Ruta del archivo o directorio remoto a comprobar |
| `type` | string | No | Tipo esperado: archivo, directorio o cualquiera \(predeterminado: cualquiera\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `exists` | boolean | Si la ruta existe |
| `type` | string | Tipo de ruta (archivo, directorio, enlace simbólico, no_encontrado) |
| `size` | number | Tamaño del archivo si es un archivo |
| `permissions` | string | Permisos del archivo (p. ej., 0755) |
| `modified` | string | Marca de tiempo de última modificación |
| `message` | string | Mensaje de estado de la operación |
### `ssh_create_directory`
Crear un directorio en el servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH (predeterminado: 22) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `path` | string | Sí | Ruta del directorio a crear |
| `recursive` | boolean | No | Crear directorios padre si no existen (predeterminado: true) |
| `permissions` | string | No | Permisos del directorio (predeterminado: 0755) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `created` | boolean | Si el directorio se creó correctamente |
| `remotePath` | string | Ruta del directorio creado |
| `alreadyExists` | boolean | Si el directorio ya existía |
| `message` | string | Mensaje de estado de la operación |
### `ssh_delete_file`
Eliminar un archivo o directorio del servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `path` | string | Sí | Ruta a eliminar |
| `recursive` | boolean | No | Eliminar directorios recursivamente \(predeterminado: false\) |
| `force` | boolean | No | Forzar eliminación sin confirmación \(predeterminado: false\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si la ruta se eliminó correctamente |
| `remotePath` | string | Ruta eliminada |
| `message` | string | Mensaje de estado de la operación |
### `ssh_move_rename`
Mover o renombrar un archivo o directorio en el servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `sourcePath` | string | Sí | Ruta actual del archivo o directorio |
| `destinationPath` | string | Sí | Nueva ruta para el archivo o directorio |
| `overwrite` | boolean | No | Sobrescribir destino si existe \(predeterminado: false\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `moved` | boolean | Si la operación fue exitosa |
| `sourcePath` | string | Ruta original |
| `destinationPath` | string | Nueva ruta |
| `message` | string | Mensaje de estado de la operación |
### `ssh_get_system_info`
Obtener información del sistema desde el servidor SSH remoto
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `hostname` | string | Nombre de host del servidor |
| `os` | string | Sistema operativo \(p. ej., Linux, Darwin\) |
| `architecture` | string | Arquitectura de CPU \(p. ej., x64, arm64\) |
| `uptime` | number | Tiempo de actividad del sistema en segundos |
| `memory` | json | Información de memoria \(total, libre, usada\) |
| `diskSpace` | json | Información de espacio en disco \(total, libre, usado\) |
| `message` | string | Mensaje de estado de la operación |
### `ssh_read_file_content`
Leer el contenido de un archivo remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `path` | string | Sí | Ruta del archivo remoto a leer |
| `encoding` | string | No | Codificación del archivo \(predeterminado: utf-8\) |
| `maxSize` | number | No | Tamaño máximo de archivo a leer en MB \(predeterminado: 10\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Contenido del archivo como cadena de texto |
| `size` | number | Tamaño del archivo en bytes |
| `lines` | number | Número de líneas en el archivo |
| `remotePath` | string | Ruta del archivo remoto |
| `message` | string | Mensaje de estado de la operación |
### `ssh_write_file_content`
Escribir o añadir contenido a un archivo remoto
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `host` | string | Sí | Nombre de host o dirección IP del servidor SSH |
| `port` | number | Sí | Puerto del servidor SSH \(predeterminado: 22\) |
| `username` | string | Sí | Nombre de usuario SSH |
| `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 |
| `path` | string | Sí | Ruta del archivo remoto donde escribir |
| `content` | string | Sí | Contenido a escribir en el archivo |
| `mode` | string | No | Modo de escritura: sobrescribir, añadir o crear \(predeterminado: sobrescribir\) |
| `permissions` | string | No | Permisos del archivo \(p. ej., 0644\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `written` | boolean | Si el archivo se escribió correctamente |
| `remotePath` | string | Ruta del archivo |
| `size` | number | Tamaño final del archivo en bytes |
| `message` | string | Mensaje de estado de la operación |
## Notas
- Categoría: `tools`
- Tipo: `ssh`

View File

@@ -0,0 +1,566 @@
---
title: WordPress
description: Gestionar contenido de WordPress
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="wordpress"
color="#21759B"
/>
{/* MANUAL-CONTENT-START:intro */}
[WordPress](https://wordpress.org/) es el sistema de gestión de contenido de código abierto líder en el mundo, que facilita la publicación y gestión de sitios web, blogs y todo tipo de contenido en línea. Con WordPress, puedes crear y actualizar entradas o páginas, organizar tu contenido con categorías y etiquetas, gestionar archivos multimedia, moderar comentarios y administrar cuentas de usuario, lo que te permite ejecutar desde blogs personales hasta sitios web empresariales complejos.
La integración de Sim con WordPress permite a tus agentes automatizar tareas esenciales del sitio web. Puedes crear programáticamente nuevas entradas de blog con títulos específicos, contenido, categorías, etiquetas e imágenes destacadas. Actualizar entradas existentes —como cambiar su contenido, título o estado de publicación— es sencillo. También puedes publicar o guardar contenido como borradores, gestionar páginas estáticas, trabajar con cargas multimedia, supervisar comentarios y asignar contenido a taxonomías organizativas relevantes.
Al conectar WordPress con tus automatizaciones, Sim permite a tus agentes agilizar la publicación de contenido, los flujos de trabajo editoriales y la gestión diaria del sitio, ayudándote a mantener tu sitio web actualizado, organizado y seguro sin esfuerzo manual.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Intégrate con WordPress para crear, actualizar y gestionar entradas, páginas, multimedia, comentarios, categorías, etiquetas y usuarios. Compatible con sitios de WordPress.com mediante OAuth y sitios de WordPress autoalojados utilizando autenticación de Contraseñas de Aplicación.
## Herramientas
### `wordpress_create_post`
Crear una nueva entrada de blog en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `title` | string | Sí | Título de la entrada |
| `content` | string | No | Contenido de la entrada \(HTML o texto plano\) |
| `status` | string | No | Estado de la entrada: publish, draft, pending, private o future |
| `excerpt` | string | No | Extracto de la entrada |
| `categories` | string | No | IDs de categorías separados por comas |
| `tags` | string | No | IDs de etiquetas separados por comas |
| `featuredMedia` | number | No | ID del medio de la imagen destacada |
| `slug` | string | No | Slug de URL para la entrada |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `post` | object | La entrada creada |
### `wordpress_update_post`
Actualizar una entrada de blog existente en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `postId` | number | Sí | El ID de la entrada a actualizar |
| `title` | string | No | Título de la entrada |
| `content` | string | No | Contenido de la entrada \(HTML o texto plano\) |
| `status` | string | No | Estado de la entrada: publish, draft, pending, private, o future |
| `excerpt` | string | No | Extracto de la entrada |
| `categories` | string | No | IDs de categorías separados por comas |
| `tags` | string | No | IDs de etiquetas separados por comas |
| `featuredMedia` | number | No | ID del archivo multimedia de la imagen destacada |
| `slug` | string | No | URL slug para la entrada |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `post` | object | La entrada actualizada |
### `wordpress_delete_post`
Eliminar una entrada de blog de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `postId` | number | Sí | El ID de la entrada a eliminar |
| `force` | boolean | No | Omitir la papelera y forzar la eliminación permanente |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Indica si la publicación fue eliminada |
| `post` | object | La publicación eliminada |
### `wordpress_get_post`
Obtener una sola publicación de blog de WordPress.com por ID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `postId` | number | Sí | El ID de la publicación a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `post` | object | La publicación recuperada |
### `wordpress_list_posts`
Listar publicaciones de blog de WordPress.com con filtros opcionales
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `perPage` | number | No | Número de publicaciones por página \(predeterminado: 10, máx: 100\) |
| `page` | number | No | Número de página para paginación |
| `status` | string | No | Filtro de estado de publicación: publish, draft, pending, private |
| `author` | number | No | Filtrar por ID de autor |
| `categories` | string | No | IDs de categorías separados por comas para filtrar |
| `tags` | string | No | IDs de etiquetas separados por comas para filtrar |
| `search` | string | No | Término de búsqueda para filtrar publicaciones |
| `orderBy` | string | No | Ordenar por campo: date, id, title, slug, modified |
| `order` | string | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `posts` | array | Lista de publicaciones |
### `wordpress_create_page`
Crear una nueva página en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `title` | string | Sí | Título de la página |
| `content` | string | No | Contenido de la página \(HTML o texto plano\) |
| `status` | string | No | Estado de la página: publish, draft, pending, private |
| `excerpt` | string | No | Extracto de la página |
| `parent` | number | No | ID de la página padre para páginas jerárquicas |
| `menuOrder` | number | No | Orden en el menú de páginas |
| `featuredMedia` | number | No | ID del medio de la imagen destacada |
| `slug` | string | No | Slug de URL para la página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `page` | object | La página creada |
### `wordpress_update_page`
Actualizar una página existente en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `pageId` | number | Sí | El ID de la página a actualizar |
| `title` | string | No | Título de la página |
| `content` | string | No | Contenido de la página \(HTML o texto plano\) |
| `status` | string | No | Estado de la página: publish, draft, pending, private |
| `excerpt` | string | No | Extracto de la página |
| `parent` | number | No | ID de la página padre para páginas jerárquicas |
| `menuOrder` | number | No | Orden en el menú de páginas |
| `featuredMedia` | number | No | ID del medio de la imagen destacada |
| `slug` | string | No | Slug de URL para la página |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `page` | objeto | La página actualizada |
### `wordpress_delete_page`
Eliminar una página de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | cadena | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `pageId` | número | Sí | El ID de la página a eliminar |
| `force` | booleano | No | Omitir la papelera y forzar la eliminación permanente |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | booleano | Si la página fue eliminada |
| `page` | objeto | La página eliminada |
### `wordpress_get_page`
Obtener una sola página de WordPress.com por ID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | cadena | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `pageId` | número | Sí | El ID de la página a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `page` | objeto | La página recuperada |
### `wordpress_list_pages`
Listar páginas de WordPress.com con filtros opcionales
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | cadena | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `perPage` | número | No | Número de páginas por solicitud \(predeterminado: 10, máx: 100\) |
| `page` | número | No | Número de página para paginación |
| `status` | cadena | No | Filtro de estado de página: publish, draft, pending, private |
| `parent` | número | No | Filtrar por ID de página padre |
| `search` | cadena | No | Término de búsqueda para filtrar páginas |
| `orderBy` | cadena | No | Ordenar por campo: date, id, title, slug, modified, menu_order |
| `order` | cadena | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `pages` | array | Lista de páginas |
### `wordpress_upload_media`
Subir un archivo multimedia (imagen, video, documento) a WordPress.com
#### Entrada
| 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 | Sí | Datos del archivo codificados en Base64 o URL para obtener el archivo |
| `filename` | string | Sí | 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 |
| `altText` | string | No | Texto alternativo para accesibilidad |
| `description` | string | No | Descripción del archivo multimedia |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `media` | object | El elemento multimedia subido |
### `wordpress_get_media`
Obtener un solo elemento multimedia de WordPress.com por ID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `mediaId` | number | Sí | El ID del elemento multimedia a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `media` | object | El elemento multimedia recuperado |
### `wordpress_list_media`
Listar elementos multimedia de la biblioteca multimedia de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `perPage` | number | No | Número de elementos multimedia por solicitud \(predeterminado: 10, máx: 100\) |
| `page` | number | No | Número de página para paginación |
| `search` | string | No | Término de búsqueda para filtrar multimedia |
| `mediaType` | string | No | Filtrar por tipo de multimedia: imagen, video, audio, aplicación |
| `mimeType` | string | No | Filtrar por tipo MIME específico \(p. ej., image/jpeg\) |
| `orderBy` | string | No | Ordenar por campo: fecha, id, título, slug |
| `order` | string | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `media` | array | Lista de elementos multimedia |
### `wordpress_delete_media`
Eliminar un elemento multimedia de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `mediaId` | number | Sí | El ID del elemento multimedia a eliminar |
| `force` | boolean | No | Forzar eliminación \(los elementos multimedia no tienen papelera, por lo que la eliminación es permanente\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si el medio fue eliminado |
| `media` | object | El elemento multimedia eliminado |
### `wordpress_create_comment`
Crear un nuevo comentario en una entrada de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `postId` | number | Sí | El ID de la entrada en la que comentar |
| `content` | string | Sí | Contenido del comentario |
| `parent` | number | No | ID del comentario padre para respuestas |
| `authorName` | string | No | Nombre visible del autor del comentario |
| `authorEmail` | string | No | Correo electrónico del autor del comentario |
| `authorUrl` | string | No | URL del autor del comentario |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `comment` | object | El comentario creado |
### `wordpress_list_comments`
Listar comentarios de WordPress.com con filtros opcionales
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `perPage` | number | No | Número de comentarios por solicitud \(predeterminado: 10, máx: 100\) |
| `page` | number | No | Número de página para paginación |
| `postId` | number | No | Filtrar por ID de entrada |
| `status` | string | No | Filtrar por estado del comentario: approved, hold, spam, trash |
| `search` | string | No | Término de búsqueda para filtrar comentarios |
| `orderBy` | string | No | Ordenar por campo: date, id, parent |
| `order` | string | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `comments` | array | Lista de comentarios |
### `wordpress_update_comment`
Actualizar un comentario en WordPress.com (contenido o estado)
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `commentId` | number | Sí | El ID del comentario a actualizar |
| `content` | string | No | Contenido actualizado del comentario |
| `status` | string | No | Estado del comentario: approved, hold, spam, trash |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `comment` | object | El comentario actualizado |
### `wordpress_delete_comment`
Eliminar un comentario de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `commentId` | number | Sí | El ID del comentario a eliminar |
| `force` | boolean | No | Omitir la papelera y forzar la eliminación permanente |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si el comentario fue eliminado |
| `comment` | object | El comentario eliminado |
### `wordpress_create_category`
Crear una nueva categoría en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com (p. ej., 12345678 o misitio.wordpress.com) |
| `name` | string | Sí | Nombre de la categoría |
| `description` | string | No | Descripción de la categoría |
| `parent` | number | No | ID de la categoría padre para categorías jerárquicas |
| `slug` | string | No | Slug de URL para la categoría |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `category` | object | La categoría creada |
### `wordpress_list_categories`
Listar categorías de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com (p. ej., 12345678 o misitio.wordpress.com) |
| `perPage` | number | No | Número de categorías por solicitud (predeterminado: 10, máx: 100) |
| `page` | number | No | Número de página para paginación |
| `search` | string | No | Término de búsqueda para filtrar categorías |
| `order` | string | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `categories` | array | Lista de categorías |
### `wordpress_create_tag`
Crear una nueva etiqueta en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com (p. ej., 12345678 o misitio.wordpress.com) |
| `name` | string | Sí | Nombre de la etiqueta |
| `description` | string | No | Descripción de la etiqueta |
| `slug` | string | No | Slug de URL para la etiqueta |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `tag` | object | La etiqueta creada |
### `wordpress_list_tags`
Listar etiquetas de WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `perPage` | number | No | Número de etiquetas por solicitud \(predeterminado: 10, máx: 100\) |
| `page` | number | No | Número de página para paginación |
| `search` | string | No | Término de búsqueda para filtrar etiquetas |
| `order` | string | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `tags` | array | Lista de etiquetas |
### `wordpress_get_current_user`
Obtener información sobre el usuario autenticado actualmente en WordPress.com
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `user` | object | El usuario actual |
### `wordpress_list_users`
Listar usuarios de WordPress.com (requiere privilegios de administrador)
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `perPage` | number | No | Número de usuarios por solicitud \(predeterminado: 10, máx: 100\) |
| `page` | number | No | Número de página para paginación |
| `search` | string | No | Término de búsqueda para filtrar usuarios |
| `roles` | string | No | Nombres de roles separados por comas para filtrar |
| `order` | string | No | Dirección de ordenamiento: asc o desc |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `users` | array | Lista de usuarios |
### `wordpress_get_user`
Obtener un usuario específico de WordPress.com por ID
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `userId` | number | Sí | El ID del usuario a recuperar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `user` | object | El usuario recuperado |
### `wordpress_search_content`
Buscar en todos los tipos de contenido en WordPress.com (entradas, páginas, multimedia)
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `siteId` | string | Sí | ID del sitio o dominio de WordPress.com \(p. ej., 12345678 o misitio.wordpress.com\) |
| `query` | string | Sí | Consulta de búsqueda |
| `perPage` | number | No | Número de resultados por solicitud \(predeterminado: 10, máx: 100\) |
| `page` | number | No | Número de página para paginación |
| `type` | string | No | Filtrar por tipo de contenido: post, page, attachment |
| `subtype` | string | No | Filtrar por slug de tipo de entrada \(p. ej., post, page\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `results` | array | Resultados de búsqueda |
## Notas
- Categoría: `tools`
- Tipo: `wordpress`

View File

@@ -114,6 +114,9 @@ Crear un nuevo ticket en Zendesk con soporte para campos personalizados
| `type` | string | No | Tipo \(problem, incident, question, task\) |
| `tags` | string | No | Etiquetas separadas por comas |
| `assigneeId` | string | No | ID de usuario asignado |
| `groupId` | string | No | ID del grupo |
| `requesterId` | string | No | ID de usuario solicitante |
| `customFields` | string | No | Campos personalizados como objeto JSON \(p. ej., \{"field_id": "value"\}\) |
#### Salida

View File

@@ -0,0 +1,250 @@
---
title: Zoom
description: Crea y gestiona reuniones y grabaciones de Zoom
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="zoom"
color="#2D8CFF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Zoom](https://zoom.us/) es una plataforma líder de comunicaciones basada en la nube para videoconferencias, webinars y colaboración en línea. Permite a usuarios y organizaciones programar, organizar y gestionar reuniones fácilmente, proporcionando herramientas para compartir pantalla, chat, grabaciones y más.
Con Zoom, puedes:
- **Programar y gestionar reuniones**: Crear reuniones instantáneas o programadas, incluyendo eventos recurrentes
- **Configurar opciones de reunión**: Establecer contraseñas de reunión, habilitar salas de espera y controlar el video/audio de los participantes
- **Enviar invitaciones y compartir detalles**: Obtener invitaciones e información de reuniones para compartir fácilmente
- **Obtener y actualizar datos de reuniones**: Acceder a detalles de reuniones, modificar reuniones existentes y gestionar configuraciones de forma programática
En Sim, la integración con Zoom permite a tus agentes automatizar la programación y gestión de reuniones. Usa acciones de herramientas para:
- Crear programáticamente nuevas reuniones con configuraciones personalizadas
- Listar todas las reuniones para un usuario específico (o para ti mismo)
- Obtener detalles o invitaciones para cualquier reunión
- Actualizar o eliminar reuniones existentes directamente desde tus automatizaciones
Estas capacidades te permiten agilizar la colaboración remota, automatizar sesiones de video recurrentes y gestionar el entorno Zoom de tu organización como parte de tus flujos de trabajo.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Zoom en flujos de trabajo. Crea, lista, actualiza y elimina reuniones de Zoom. Obtén detalles de reuniones, invitaciones, grabaciones y participantes. Gestiona grabaciones en la nube de forma programática.
## Herramientas
### `zoom_create_meeting`
Crear una nueva reunión de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Sí | El ID de usuario o dirección de correo electrónico. Usa "me" para el usuario autenticado. |
| `topic` | string | Sí | Tema de la reunión |
| `type` | number | No | Tipo de reunión: 1=instantánea, 2=programada, 3=recurrente sin hora fija, 8=recurrente con hora fija |
| `startTime` | string | No | Hora de inicio de la reunión en formato ISO 8601 \(p. ej., 2025-06-03T10:00:00Z\) |
| `duration` | number | No | Duración de la reunión en minutos |
| `timezone` | string | No | Zona horaria para la reunión \(p. ej., America/Los_Angeles\) |
| `password` | string | No | Contraseña de la reunión |
| `agenda` | string | No | Agenda de la reunión |
| `hostVideo` | boolean | No | Iniciar con video del anfitrión activado |
| `participantVideo` | boolean | No | Iniciar con video de participantes activado |
| `joinBeforeHost` | boolean | No | Permitir que los participantes se unan antes que el anfitrión |
| `muteUponEntry` | boolean | No | Silenciar participantes al entrar |
| `waitingRoom` | boolean | No | Habilitar sala de espera |
| `autoRecording` | string | No | Configuración de grabación automática: local, cloud o none |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `meeting` | object | La reunión creada con todas sus propiedades |
### `zoom_list_meetings`
Listar todas las reuniones para un usuario de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Sí | El ID de usuario o dirección de correo electrónico. Use "me" para el usuario autenticado. |
| `type` | string | No | Filtro de tipo de reunión: scheduled, live, upcoming, upcoming_meetings, o previous_meetings |
| `pageSize` | number | No | Número de registros por página \(máximo 300\) |
| `nextPageToken` | string | No | Token para paginación para obtener la siguiente página de resultados |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `meetings` | array | Lista de reuniones |
| `pageInfo` | object | Información de paginación |
### `zoom_get_meeting`
Obtener detalles de una reunión específica de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID de la reunión |
| `occurrenceId` | string | No | ID de ocurrencia para reuniones recurrentes |
| `showPreviousOccurrences` | boolean | No | Mostrar ocurrencias anteriores para reuniones recurrentes |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `meeting` | object | Los detalles de la reunión |
### `zoom_update_meeting`
Actualizar una reunión existente de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID de la reunión a actualizar |
| `topic` | string | No | Tema de la reunión |
| `type` | number | No | Tipo de reunión: 1=instantánea, 2=programada, 3=recurrente sin hora fija, 8=recurrente con hora fija |
| `startTime` | string | No | Hora de inicio de la reunión en formato ISO 8601 \(p. ej., 2025-06-03T10:00:00Z\) |
| `duration` | number | No | Duración de la reunión en minutos |
| `timezone` | string | No | Zona horaria para la reunión \(p. ej., America/Los_Angeles\) |
| `password` | string | No | Contraseña de la reunión |
| `agenda` | string | No | Agenda de la reunión |
| `hostVideo` | boolean | No | Iniciar con video del anfitrión activado |
| `participantVideo` | boolean | No | Iniciar con video de participantes activado |
| `joinBeforeHost` | boolean | No | Permitir que los participantes se unan antes que el anfitrión |
| `muteUponEntry` | boolean | No | Silenciar a los participantes al entrar |
| `waitingRoom` | boolean | No | Habilitar sala de espera |
| `autoRecording` | string | No | Configuración de grabación automática: local, en la nube o ninguna |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la reunión se actualizó correctamente |
### `zoom_delete_meeting`
Eliminar o cancelar una reunión de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID de la reunión a eliminar |
| `occurrenceId` | string | No | ID de ocurrencia para eliminar una ocurrencia específica de una reunión recurrente |
| `scheduleForReminder` | boolean | No | Enviar correo electrónico de recordatorio de cancelación a los inscritos |
| `cancelMeetingReminder` | boolean | No | Enviar correo electrónico de cancelación a los inscritos y anfitriones alternativos |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si la reunión se eliminó correctamente |
### `zoom_get_meeting_invitation`
Obtener el texto de invitación para una reunión de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID de la reunión |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `invitation` | string | El texto de invitación de la reunión |
### `zoom_list_recordings`
Listar todas las grabaciones en la nube para un usuario de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `userId` | string | Sí | El ID de usuario o dirección de correo electrónico. Use "me" para el usuario autenticado. |
| `from` | string | No | Fecha de inicio en formato aaaa-mm-dd \(dentro de los últimos 6 meses\) |
| `to` | string | No | Fecha de fin en formato aaaa-mm-dd |
| `pageSize` | number | No | Número de registros por página \(máximo 300\) |
| `nextPageToken` | string | No | Token para paginación para obtener la siguiente página de resultados |
| `trash` | boolean | No | Establecer como true para listar grabaciones de la papelera |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `recordings` | array | Lista de grabaciones |
| `pageInfo` | object | Información de paginación |
### `zoom_get_meeting_recordings`
Obtener todas las grabaciones de una reunión específica de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID de la reunión o UUID de la reunión |
| `includeFolderItems` | boolean | No | Incluir elementos dentro de una carpeta |
| `ttl` | number | No | Tiempo de vida para las URLs de descarga en segundos \(máx. 604800\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `recording` | object | La grabación de la reunión con todos los archivos |
### `zoom_delete_recording`
Eliminar grabaciones en la nube de una reunión de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID de la reunión o UUID de la reunión |
| `recordingId` | string | No | ID específico del archivo de grabación a eliminar. Si no se proporciona, elimina todas las grabaciones. |
| `action` | string | No | Acción de eliminación: "trash" \(mover a la papelera\) o "delete" \(eliminar permanentemente\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la grabación se eliminó correctamente |
### `zoom_list_past_participants`
Listar participantes de una reunión pasada de Zoom
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `meetingId` | string | Sí | El ID o UUID de la reunión pasada |
| `pageSize` | number | No | Número de registros por página \(máx. 300\) |
| `nextPageToken` | string | No | Token para paginación para obtener la siguiente página de resultados |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `participants` | array | Lista de participantes de la reunión |
| `pageInfo` | object | Información de paginación |
## Notas
- Categoría: `tools`
- Tipo: `zoom`

View File

@@ -66,16 +66,16 @@ Para hacer referencia a variables de entorno en tus flujos de trabajo, utiliza l
height={350}
/>
## Precedencia de variables
## Cómo se resuelven las variables
Cuando tienes variables personales y de espacio de trabajo con el mismo nombre:
**Las variables del espacio de trabajo siempre tienen prioridad** sobre las variables personales, independientemente de quién ejecute el flujo de trabajo.
1. **Las variables del espacio de trabajo tienen precedencia** sobre las variables personales
2. Esto previene conflictos de nombres y asegura un comportamiento consistente en los flujos de trabajo del equipo
3. Si existe una variable de espacio de trabajo, la variable personal con el mismo nombre será ignorada
Cuando no existe una variable de espacio de trabajo para una clave, se utilizan las variables personales:
- **Ejecuciones manuales (UI)**: Tus variables personales
- **Ejecuciones automatizadas (API, webhook, programación, chat implementado)**: Variables personales del propietario del flujo de trabajo
<Callout type="warning">
Elige los nombres de las variables cuidadosamente para evitar sobrescrituras no deseadas. Considera usar prefijos con tus iniciales para variables personales o con el nombre del proyecto para variables del espacio de trabajo.
<Callout type="info">
Las variables personales son mejores para pruebas. Usa variables de espacio de trabajo para flujos de trabajo de producción.
</Callout>
## Mejores prácticas de seguridad

View File

@@ -251,32 +251,78 @@ Récupérer les détails d'exécution, y compris l'instantané de l'état du wor
</Tab>
</Tabs>
## Abonnements aux webhooks
## Notifications
Recevez des notifications en temps réel lorsque les exécutions de workflow sont terminées. Les webhooks sont configurés via l'interface utilisateur Sim dans l'éditeur de workflow.
Recevez des notifications en temps réel lorsque les exécutions de flux de travail sont terminées via webhook, e-mail ou Slack. Les notifications sont configurées au niveau de l'espace de travail depuis la page Logs.
### Configuration
Les webhooks peuvent être configurés pour chaque workflow via l'interface utilisateur de l'éditeur de workflow. Cliquez sur l'icône webhook dans la barre de contrôle pour configurer vos abonnements aux webhooks.
Configurez les notifications depuis la page Logs en cliquant sur le bouton menu et en sélectionnant "Configurer les notifications".
<div className="mx-auto w-full overflow-hidden rounded-lg">
<Video src="configure-webhook.mp4" width={700} height={450} />
</div>
**Canaux de notification :**
- **Webhook** : envoi de requêtes HTTP POST à votre point de terminaison
- **E-mail** : réception de notifications par e-mail avec les détails d'exécution
- **Slack** : publication de messages dans un canal Slack
**Options de configuration disponibles :**
- `url` : URL de votre endpoint webhook
- `secret` : Secret optionnel pour la vérification de signature HMAC
- `includeFinalOutput` : Inclure la sortie finale du workflow dans la charge utile
- `includeTraceSpans` : Inclure les intervalles de trace d'exécution détaillés
- `includeRateLimits` : Inclure les informations de limite de débit du propriétaire du workflow
- `includeUsageData` : Inclure les données d'utilisation et de facturation du propriétaire du workflow
- `levelFilter` : Tableau des niveaux de journal à recevoir (`info`, `error`)
- `triggerFilter` : Tableau des types de déclencheurs à recevoir (`api`, `webhook`, `schedule`, `manual`, `chat`)
- `active` : Activer/désactiver l'abonnement webhook
**Sélection de flux de travail :**
- Sélectionnez des flux de travail spécifiques à surveiller
- Ou choisissez "Tous les flux de travail" pour inclure les flux actuels et futurs
### Charge utile du webhook
**Options de filtrage :**
- `levelFilter` : niveaux de journalisation à recevoir (`info`, `error`)
- `triggerFilter` : types de déclencheurs à recevoir (`api`, `webhook`, `schedule`, `manual`, `chat`)
Lorsqu'une exécution de workflow est terminée, Sim envoie une requête POST à votre URL webhook :
**Données optionnelles :**
- `includeFinalOutput` : inclure le résultat final du flux de travail
- `includeTraceSpans` : inclure les traces détaillées d'exécution
- `includeRateLimits` : inclure les informations de limite de débit (limites synchrones/asynchrones et restantes)
- `includeUsageData` : inclure l'utilisation et les limites de la période de facturation
### Règles d'alerte
Au lieu de recevoir des notifications pour chaque exécution, configurez des règles d'alerte pour être notifié uniquement lorsque des problèmes sont détectés :
**Échecs consécutifs**
- Alerte après X exécutions échouées consécutives (par exemple, 3 échecs d'affilée)
- Réinitialisation lorsqu'une exécution réussit
**Taux d'échec**
- Alerte lorsque le taux d'échec dépasse X % au cours des Y dernières heures
- Nécessite un minimum de 5 exécutions dans la fenêtre
- Ne se déclenche qu'après l'écoulement complet de la fenêtre temporelle
**Seuil de latence**
- Alerte lorsqu'une exécution prend plus de X secondes
- Utile pour détecter les flux de travail lents ou bloqués
**Pic de latence**
- Alerte lorsque l'exécution est X % plus lente que la moyenne
- Compare à la durée moyenne sur la fenêtre temporelle configurée
- Nécessite un minimum de 5 exécutions pour établir une référence
**Seuil de coût**
- Alerte lorsqu'une seule exécution coûte plus de X €
- Utile pour détecter les appels LLM coûteux
**Aucune activité**
- Alerte lorsqu'aucune exécution ne se produit pendant X heures
- Utile pour surveiller les workflows programmés qui devraient s'exécuter régulièrement
**Nombre d'erreurs**
- Alerte lorsque le nombre d'erreurs dépasse X dans une fenêtre temporelle
- Suit le total des erreurs, pas les erreurs consécutives
Tous les types d'alertes incluent un temps de récupération d'une heure pour éviter le spam de notifications.
### Configuration du webhook
Pour les webhooks, des options supplémentaires sont disponibles :
- `url` : l'URL de votre point de terminaison webhook
- `secret` : secret optionnel pour la vérification de signature HMAC
### Structure de la charge utile
Lorsqu'une exécution de workflow se termine, Sim envoie la charge utile suivante (via webhook POST, e-mail ou Slack) :
```json
{
@@ -325,15 +371,15 @@ Lorsqu'une exécution de workflow est terminée, Sim envoie une requête POST à
}
```
### En-têtes de webhook
### En-têtes webhook
Chaque requête webhook inclut ces en-têtes :
Chaque requête webhook inclut ces en-têtes (canal webhook uniquement) :
- `sim-event` : Type d'événement (toujours `workflow.execution.completed`)
- `sim-timestamp` : Horodatage Unix en millisecondes
- `sim-event` : type d'événement (toujours `workflow.execution.completed`)
- `sim-timestamp` : horodatage Unix en millisecondes
- `sim-delivery-id` : ID de livraison unique pour l'idempotence
- `sim-signature` : Signature HMAC-SHA256 pour vérification (si un secret est configuré)
- `Idempotency-Key` : Identique à l'ID de livraison pour la détection des doublons
- `sim-signature` : signature HMAC-SHA256 pour vérification (si un secret est configuré)
- `Idempotency-Key` : identique à l'ID de livraison pour la détection des doublons
### Vérification de signature
@@ -408,14 +454,14 @@ Si vous configurez un secret webhook, vérifiez la signature pour vous assurer q
</Tab>
</Tabs>
### Politique de réessai
### Politique de nouvelle tentative
Les livraisons de webhook échouées sont réessayées avec un backoff exponentiel et du jitter :
- Nombre maximum de tentatives : 5
- Délais de réessai : 5 secondes, 15 secondes, 1 minute, 3 minutes, 10 minutes
- Délais de nouvelle tentative : 5 secondes, 15 secondes, 1 minute, 3 minutes, 10 minutes
- Jitter : jusqu'à 10 % de délai supplémentaire pour éviter l'effet de horde
- Seules les réponses HTTP 5xx et 429 déclenchent des réessais
- Seules les réponses HTTP 5xx et 429 déclenchent de nouvelles tentatives
- Les livraisons expirent après 30 secondes
<Callout type="info">
@@ -424,15 +470,15 @@ Les livraisons de webhook échouées sont réessayées avec un backoff exponenti
## Bonnes pratiques
1. **Stratégie de polling** : lors de l'interrogation des logs, utilisez la pagination basée sur curseur avec `order=asc` et `startDate` pour récupérer efficacement les nouveaux logs.
1. **Stratégie de polling** : Lors du polling des logs, utilisez la pagination basée sur curseur avec `order=asc` et `startDate` pour récupérer efficacement les nouveaux logs.
2. **Sécurité des webhooks** : configurez toujours un secret webhook et vérifiez les signatures pour vous assurer que les requêtes proviennent de Sim.
2. **Sécurité des webhooks** : Configurez toujours un secret de webhook et vérifiez les signatures pour vous assurer que les requêtes proviennent de Sim.
3. **Idempotence** : utilisez l'en-tête `Idempotency-Key` pour détecter et gérer les livraisons de webhook en double.
3. **Idempotence** : Utilisez l'en-tête `Idempotency-Key` pour détecter et gérer les livraisons de webhook en double.
4. **Confidentialité** : par défaut, `finalOutput` et `traceSpans` sont exclus des réponses. Activez-les uniquement si vous avez besoin des données et comprenez les implications en matière de confidentialité.
4. **Confidentialité** : Par défaut, `finalOutput` et `traceSpans` sont exclus des réponses. Activez-les uniquement si vous avez besoin des données et comprenez les implications en matière de confidentialité.
5. **Limitation de débit** : implémentez un backoff exponentiel lorsque vous recevez des réponses 429. Vérifiez l'en-tête `Retry-After` pour connaître le temps d'attente recommandé.
5. **Limitation de débit** : Implémentez un backoff exponentiel lorsque vous recevez des réponses 429. Vérifiez l'en-tête `Retry-After` pour connaître le temps d'attente recommandé.
## Limitation de débit
@@ -443,12 +489,12 @@ L'API implémente une limitation de débit pour garantir une utilisation équita
- **Plan Équipe** : 60 requêtes par minute
- **Plan Entreprise** : Limites personnalisées
Les informations de limite de débit sont incluses dans les en-têtes de réponse :
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
## Exemple : Interrogation pour nouveaux journaux
## Exemple : Polling pour nouveaux logs
```javascript
let cursor = null;

View File

@@ -147,4 +147,4 @@ L'instantané fournit :
- Découvrez le [Calcul des coûts](/execution/costs) pour comprendre la tarification des workflows
- Explorez l'[API externe](/execution/api) pour un accès programmatique aux journaux
- Configurez les [notifications Webhook](/execution/api#webhook-subscriptions) pour des alertes en temps réel
- Configurez les [Notifications](/execution/api#notifications) pour des alertes en temps réel par webhook, e-mail ou Slack

View File

@@ -0,0 +1,200 @@
---
title: Ahrefs
description: Analyse SEO avec Ahrefs
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="ahrefs"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Ahrefs](https://ahrefs.com/) est un ensemble d'outils SEO de premier plan pour analyser les sites web, suivre les classements, surveiller les backlinks et rechercher des mots-clés. Il fournit des informations détaillées sur votre propre site web ainsi que sur ceux de vos concurrents, vous aidant à prendre des décisions basées sur les données pour améliorer votre visibilité dans les moteurs de recherche.
Avec l'intégration d'Ahrefs dans Sim, vous pouvez :
- **Analyser le Domain Rating et l'autorité** : vérifier instantanément le Domain Rating (DR) et le rang Ahrefs de n'importe quel site web pour évaluer son autorité.
- **Récupérer les backlinks** : obtenir une liste des backlinks pointant vers un site ou une URL spécifique, avec des détails comme le texte d'ancrage, le DR de la page référente, et plus encore.
- **Obtenir des statistiques sur les backlinks** : accéder aux métriques sur les types de backlinks (dofollow, nofollow, texte, image, redirection, etc.) pour un domaine ou une URL.
- **Explorer les mots-clés organiques** *(prévu)* : voir les mots-clés pour lesquels un domaine est classé et leurs positions dans les résultats de recherche Google.
- **Découvrir les meilleures pages** *(prévu)* : identifier les pages les plus performantes par trafic organique et liens.
Ces outils permettent à vos agents d'automatiser la recherche SEO, de surveiller les concurrents et de générer des rapports, le tout dans le cadre de vos automatisations de flux de travail. Pour utiliser l'intégration Ahrefs, vous aurez besoin d'un abonnement Ahrefs Enterprise avec accès API.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez les outils SEO d'Ahrefs dans votre flux de travail. Analysez les évaluations de domaine, les backlinks, les mots-clés organiques, les meilleures pages et plus encore. Nécessite un plan Ahrefs Enterprise avec accès API.
## Outils
### `ahrefs_domain_rating`
Obtenez le Domain Rating (DR) et le rang Ahrefs pour un domaine cible. Le Domain Rating montre la force d'un site web
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `target` | chaîne | Oui | Le domaine cible à analyser \(par ex., example.com\) |
| `date` | chaîne | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `apiKey` | chaîne | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `domainRating` | nombre | Score de Domain Rating \(0-100\) |
| `ahrefsRank` | nombre | Ahrefs Rank - classement mondial basé sur la force du profil de backlinks |
### `ahrefs_backlinks`
Obtenir une liste de backlinks pointant vers un domaine ou une URL cible. Renvoie des détails sur chaque backlink, y compris l'URL source, le texte d'ancrage et le domain rating.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `target` | chaîne | Oui | Le domaine ou l'URL cible à analyser |
| `mode` | chaîne | Non | Mode d'analyse : domain \(domaine entier\), prefix \(préfixe d'URL\), subdomains \(inclure tous les sous-domaines\), exact \(correspondance exacte d'URL\) |
| `date` | chaîne | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `limit` | nombre | Non | Nombre maximum de résultats à renvoyer \(par défaut : 100\) |
| `offset` | nombre | Non | Nombre de résultats à ignorer pour la pagination |
| `apiKey` | chaîne | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `backlinks` | array | Liste des backlinks pointant vers la cible |
### `ahrefs_backlinks_stats`
Obtenez des statistiques de backlinks pour un domaine ou une URL cible. Renvoie les totaux pour différents types de backlinks, y compris les liens dofollow, nofollow, texte, image et de redirection.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Oui | Le domaine ou l'URL cible à analyser |
| `mode` | string | Non | Mode d'analyse : domain \(domaine entier\), prefix \(préfixe d'URL\), subdomains \(inclure tous les sous-domaines\), exact \(correspondance exacte d'URL\) |
| `date` | string | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `apiKey` | string | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `stats` | object | Résumé des statistiques de backlinks |
### `ahrefs_referring_domains`
Obtenez une liste des domaines qui renvoient vers un domaine ou une URL cible. Renvoie des domaines référents uniques avec leur notation de domaine, le nombre de backlinks et les dates de découverte.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Oui | Le domaine ou l'URL cible à analyser |
| `mode` | string | Non | Mode d'analyse : domain \(domaine entier\), prefix \(préfixe d'URL\), subdomains \(inclure tous les sous-domaines\), exact \(correspondance exacte d'URL\) |
| `date` | string | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `limit` | number | Non | Nombre maximum de résultats à renvoyer \(par défaut : 100\) |
| `offset` | number | Non | Nombre de résultats à ignorer pour la pagination |
| `apiKey` | string | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `referringDomains` | array | Liste des domaines pointant vers la cible |
### `ahrefs_organic_keywords`
Obtenez les mots-clés organiques pour lesquels un domaine ou une URL cible est classé dans les résultats de recherche Google. Renvoie les détails des mots-clés, y compris le volume de recherche, la position de classement et le trafic estimé.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Oui | Le domaine ou l'URL cible à analyser |
| `country` | string | Non | Code pays pour les résultats de recherche \(ex. : us, gb, de\). Par défaut : us |
| `mode` | string | Non | Mode d'analyse : domain \(domaine entier\), prefix \(préfixe d'URL\), subdomains \(inclure tous les sous-domaines\), exact \(correspondance exacte d'URL\) |
| `date` | string | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `limit` | number | Non | Nombre maximum de résultats à renvoyer \(par défaut : 100\) |
| `offset` | number | Non | Nombre de résultats à ignorer pour la pagination |
| `apiKey` | string | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `keywords` | array | Liste des mots-clés organiques pour lesquels la cible est classée |
### `ahrefs_top_pages`
Obtenez les meilleures pages d'un domaine cible triées par trafic organique. Renvoie les URL des pages avec leur trafic, le nombre de mots-clés et la valeur estimée du trafic.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `target` | string | Oui | Le domaine cible à analyser |
| `country` | string | Non | Code pays pour les données de trafic \(ex. : us, gb, de\). Par défaut : us |
| `mode` | string | Non | Mode d'analyse : domain \(domaine entier\), prefix \(préfixe d'URL\), subdomains \(inclure tous les sous-domaines\) |
| `date` | string | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `limit` | number | Non | Nombre maximum de résultats à renvoyer \(par défaut : 100\) |
| `offset` | number | Non | Nombre de résultats à ignorer pour la pagination |
| `select` | string | Non | Liste de champs à renvoyer, séparés par des virgules \(ex. : url,traffic,keywords,top_keyword,value\). Par défaut : url,traffic,keywords,top_keyword,value |
| `apiKey` | string | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `pages` | array | Liste des meilleures pages par trafic organique |
### `ahrefs_keyword_overview`
Obtenez des métriques détaillées pour un mot-clé, y compris le volume de recherche, la difficulté du mot-clé, le CPC, les clics et le potentiel de trafic.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `keyword` | string | Oui | Le mot-clé à analyser |
| `country` | string | Non | Code pays pour les données de mot-clé \(ex., us, gb, de\). Par défaut : us |
| `apiKey` | string | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `overview` | object | Aperçu des métriques du mot-clé |
### `ahrefs_broken_backlinks`
Obtenez une liste de backlinks brisés pointant vers un domaine ou une URL cible. Utile pour identifier les opportunités de récupération de liens.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `target` | chaîne | Oui | Le domaine ou l'URL cible à analyser |
| `mode` | chaîne | Non | Mode d'analyse : domain \(domaine entier\), prefix \(préfixe d'URL\), subdomains \(inclure tous les sous-domaines\), exact \(correspondance exacte d'URL\) |
| `date` | chaîne | Non | Date pour les données historiques au format AAAA-MM-JJ \(par défaut : aujourd'hui\) |
| `limit` | nombre | Non | Nombre maximum de résultats à retourner \(par défaut : 100\) |
| `offset` | nombre | Non | Nombre de résultats à ignorer pour la pagination |
| `apiKey` | chaîne | Oui | Clé API Ahrefs |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `brokenBacklinks` | tableau | Liste des backlinks brisés |
## Remarques
- Catégorie : `tools`
- Type : `ahrefs`

View File

@@ -0,0 +1,302 @@
---
title: Datadog
description: Surveillez l'infrastructure, les applications et les journaux avec Datadog
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="datadog"
color="#632CA6"
/>
{/* MANUAL-CONTENT-START:intro */}
[Datadog](https://datadoghq.com/) est une plateforme complète de surveillance et d'analyse pour l'infrastructure, les applications, les journaux et plus encore. Elle permet aux organisations d'obtenir une visibilité en temps réel sur la santé et les performances des systèmes, de détecter les anomalies et d'automatiser la réponse aux incidents.
Avec Datadog, vous pouvez :
- **Surveiller les métriques** : collecter, visualiser et analyser les métriques des serveurs, des services cloud et des applications personnalisées.
- **Interroger les données chronologiques** : exécuter des requêtes avancées sur les métriques de performance pour l'analyse des tendances et les rapports.
- **Gérer les moniteurs et les événements** : configurer des moniteurs pour détecter les problèmes, déclencher des alertes et créer des événements pour l'observabilité.
- **Gérer les temps d'arrêt** : planifier et gérer de manière programmatique les temps d'arrêt planifiés pour supprimer les alertes pendant la maintenance.
- **Analyser les journaux et les traces** *(avec une configuration supplémentaire dans Datadog)* : centraliser et inspecter les journaux ou les traces distribuées pour un dépannage plus approfondi.
L'intégration Datadog de Sim permet à vos agents d'automatiser ces opérations et d'interagir avec votre compte Datadog de manière programmatique. Utilisez-la pour soumettre des métriques personnalisées, interroger des données chronologiques, gérer des moniteurs, créer des événements et rationaliser vos flux de travail de surveillance directement dans les automatisations Sim.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez la surveillance Datadog dans les flux de travail. Soumettez des métriques, gérez des moniteurs, interrogez des journaux, créez des événements, gérez des temps d'arrêt et plus encore.
## Outils
### `datadog_submit_metrics`
Soumettez des métriques personnalisées à Datadog. Utilisez-les pour suivre les performances des applications, les métriques commerciales ou les données de surveillance personnalisées.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `series` | string | Oui | Tableau JSON des séries de métriques à soumettre. Chaque série doit inclure le nom de la métrique, le type \(gauge/rate/count\), les points \(paires timestamp/valeur\) et des tags optionnels. |
| `apiKey` | string | Oui | Clé API Datadog |
| `site` | string | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si les métriques ont été soumises avec succès |
| `errors` | array | Toutes les erreurs survenues pendant la soumission |
### `datadog_query_timeseries`
Interroge les données de séries temporelles de métriques depuis Datadog. Utilisez-le pour analyser les tendances, créer des rapports ou récupérer des valeurs de métriques.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Oui | Requête de métriques Datadog (par exemple, "avg:system.cpu.user\{*\}") |
| `from` | number | Oui | Heure de début sous forme d'horodatage Unix en secondes |
| `to` | number | Oui | Heure de fin sous forme d'horodatage Unix en secondes |
| `apiKey` | string | Oui | Clé API Datadog |
| `applicationKey` | string | Oui | Clé d'application Datadog |
| `site` | string | Non | Site/région Datadog (par défaut : datadoghq.com) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `series` | array | Tableau de données de séries temporelles avec nom de métrique, tags et points de données |
| `status` | string | Statut de la requête |
### `datadog_create_event`
Publie un événement dans le flux d'événements Datadog. Utilisez-le pour les notifications de déploiement, les alertes ou tout autre événement significatif.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `title` | string | Oui | Titre de l'événement |
| `text` | string | Oui | Corps/description de l'événement. Prend en charge le markdown. |
| `alertType` | string | Non | Type d'alerte : error, warning, info, success, user_update, recommendation ou snapshot |
| `priority` | string | Non | Priorité de l'événement : normal ou low |
| `host` | string | Non | Nom d'hôte à associer à cet événement |
| `tags` | string | Non | Liste de tags séparés par des virgules (par exemple, "env:production,service:api") |
| `aggregationKey` | string | Non | Clé pour regrouper les événements ensemble |
| `sourceTypeName` | string | Non | Nom du type de source pour l'événement |
| `dateHappened` | number | Non | Horodatage Unix indiquant quand l'événement s'est produit (par défaut : maintenant) |
| `apiKey` | string | Oui | Clé API Datadog |
| `site` | string | Non | Site/région Datadog (par défaut : datadoghq.com) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `event` | objet | Les détails de l'événement créé |
### `datadog_create_monitor`
Créer un nouveau moniteur/alerte dans Datadog. Les moniteurs peuvent suivre des métriques, des vérifications de service, des événements et plus encore.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `name` | chaîne | Oui | Nom du moniteur |
| `type` | chaîne | Oui | Type de moniteur : alerte métrique, vérification de service, alerte d'événement, alerte de processus, alerte de journal, alerte de requête, composite, alerte de synthèse, alerte SLO |
| `query` | chaîne | Oui | Requête du moniteur \(ex., "avg\(last_5m\):avg:system.cpu.idle\{*\} &lt; 20"\) |
| `message` | chaîne | Non | Message à inclure avec les notifications. Peut inclure des @-mentions et du markdown. |
| `tags` | chaîne | Non | Liste de tags séparés par des virgules |
| `priority` | nombre | Non | Priorité du moniteur \(1-5, où 1 est la plus haute\) |
| `options` | chaîne | Non | Chaîne JSON des options du moniteur \(seuils, notify_no_data, renotify_interval, etc.\) |
| `apiKey` | chaîne | Oui | Clé API Datadog |
| `applicationKey` | chaîne | Oui | Clé d'application Datadog |
| `site` | chaîne | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `monitor` | objet | Les détails du moniteur créé |
### `datadog_get_monitor`
Récupérer les détails d'un moniteur spécifique par ID.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `monitorId` | chaîne | Oui | L'ID du moniteur à récupérer |
| `groupStates` | chaîne | Non | États de groupe séparés par des virgules à inclure : alert, warn, no data, ok |
| `withDowntimes` | booléen | Non | Inclure les données de temps d'arrêt avec le moniteur |
| `apiKey` | chaîne | Oui | Clé API Datadog |
| `applicationKey` | chaîne | Oui | Clé d'application Datadog |
| `site` | chaîne | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `monitor` | objet | Les détails du moniteur |
### `datadog_list_monitors`
Liste tous les moniteurs dans Datadog avec filtrage optionnel par nom, tags ou état.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `groupStates` | chaîne | Non | États de groupe séparés par des virgules pour filtrer : alert, warn, no data, ok |
| `name` | chaîne | Non | Filtrer les moniteurs par nom \(correspondance partielle\) |
| `tags` | chaîne | Non | Liste de tags séparés par des virgules pour filtrer |
| `monitorTags` | chaîne | Non | Liste de tags de moniteur séparés par des virgules pour filtrer |
| `withDowntimes` | booléen | Non | Inclure les données de temps d'arrêt avec les moniteurs |
| `page` | nombre | Non | Numéro de page pour la pagination \(indexé à partir de 0\) |
| `pageSize` | nombre | Non | Nombre de moniteurs par page \(max 1000\) |
| `apiKey` | chaîne | Oui | Clé API Datadog |
| `applicationKey` | chaîne | Oui | Clé d'application Datadog |
| `site` | chaîne | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `monitors` | tableau | Liste des moniteurs |
### `datadog_mute_monitor`
Mettre en sourdine un moniteur pour supprimer temporairement les notifications.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `monitorId` | chaîne | Oui | L'ID du moniteur à mettre en sourdine |
| `scope` | chaîne | Non | Portée à mettre en sourdine \(par ex., "host:myhost"\). Si non spécifié, met en sourdine toutes les portées. |
| `end` | nombre | Non | Horodatage Unix indiquant quand la mise en sourdine doit se terminer. Si non spécifié, met en sourdine indéfiniment. |
| `apiKey` | chaîne | Oui | Clé API Datadog |
| `applicationKey` | chaîne | Oui | Clé d'application Datadog |
| `site` | chaîne | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si le moniteur a été mis en sourdine avec succès |
### `datadog_query_logs`
Recherchez et récupérez des logs depuis Datadog. Utilisez-les pour le dépannage, l'analyse ou la surveillance.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `query` | string | Oui | Requête de recherche de logs \(ex., "service:web-app status:error"\) |
| `from` | string | Oui | Heure de début au format ISO-8601 ou relatif \(ex., "now-1h"\) |
| `to` | string | Oui | Heure de fin au format ISO-8601 ou relatif \(ex., "now"\) |
| `limit` | number | Non | Nombre maximum de logs à retourner \(par défaut : 50, max : 1000\) |
| `sort` | string | Non | Ordre de tri : timestamp \(plus ancien d'abord\) ou -timestamp \(plus récent d'abord\) |
| `indexes` | string | Non | Liste d'index de logs à rechercher, séparés par des virgules |
| `apiKey` | string | Oui | Clé API Datadog |
| `applicationKey` | string | Oui | Clé d'application Datadog |
| `site` | string | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `logs` | array | Liste des entrées de logs |
### `datadog_send_logs`
Envoyez des entrées de logs à Datadog pour une journalisation et une analyse centralisées.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `logs` | string | Oui | Tableau JSON d'entrées de logs. Chaque entrée doit avoir un message et éventuellement ddsource, ddtags, hostname, service. |
| `apiKey` | string | Oui | Clé API Datadog |
| `site` | string | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si les journaux ont été envoyés avec succès |
### `datadog_create_downtime`
Planifiez une période d'arrêt pour supprimer les notifications de surveillance pendant les fenêtres de maintenance.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `scope` | string | Oui | Portée à laquelle appliquer la période d'arrêt (par ex., "host:myhost", "env:production", ou "*" pour tous) |
| `message` | string | Non | Message à afficher pendant la période d'arrêt |
| `start` | number | Non | Horodatage Unix pour le début de la période d'arrêt (par défaut : maintenant) |
| `end` | number | Non | Horodatage Unix pour la fin de la période d'arrêt |
| `timezone` | string | Non | Fuseau horaire pour la période d'arrêt (par ex., "America/New_York") |
| `monitorId` | string | Non | ID de surveillance spécifique à mettre en sourdine |
| `monitorTags` | string | Non | Tags de surveillance séparés par des virgules à faire correspondre (par ex., "team:backend,priority:high") |
| `muteFirstRecoveryNotification` | boolean | Non | Mettre en sourdine la première notification de récupération |
| `apiKey` | string | Oui | Clé API Datadog |
| `applicationKey` | string | Oui | Clé d'application Datadog |
| `site` | string | Non | Site/région Datadog (par défaut : datadoghq.com) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `downtime` | object | Les détails de la période d'arrêt créée |
### `datadog_list_downtimes`
Listez toutes les périodes d'arrêt planifiées dans Datadog.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `currentOnly` | boolean | Non | Renvoyer uniquement les périodes d'arrêt actuellement actives |
| `monitorId` | string | Non | Filtrer par ID de surveillance |
| `apiKey` | string | Oui | Clé API Datadog |
| `applicationKey` | string | Oui | Clé d'application Datadog |
| `site` | string | Non | Site/région Datadog (par défaut : datadoghq.com) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `downtimes` | array | Liste des temps d'arrêt |
### `datadog_cancel_downtime`
Annuler un temps d'arrêt programmé.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `downtimeId` | string | Oui | L'ID du temps d'arrêt à annuler |
| `apiKey` | string | Oui | Clé API Datadog |
| `applicationKey` | string | Oui | Clé d'application Datadog |
| `site` | string | Non | Site/région Datadog \(par défaut : datadoghq.com\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si le temps d'arrêt a été annulé avec succès |
## Remarques
- Catégorie : `tools`
- Type : `datadog`

View File

@@ -0,0 +1,219 @@
---
title: Dropbox
description: Téléchargez, téléchargez, partagez et gérez des fichiers dans Dropbox
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="dropbox"
color="#0061FF"
/>
{/* MANUAL-CONTENT-START:intro */}
[Dropbox](https://dropbox.com/) est une plateforme populaire de stockage cloud et de collaboration qui permet aux individus et aux équipes de stocker, d'accéder et de partager des fichiers en toute sécurité depuis n'importe où. Dropbox est conçu pour une gestion de fichiers facile, la synchronisation et une collaboration puissante, que vous travailliez seul ou en groupe.
Avec Dropbox dans Sim, vous pouvez :
- **Télécharger et télécharger des fichiers** : téléchargez facilement n'importe quel fichier vers votre Dropbox ou récupérez du contenu à la demande
- **Lister le contenu des dossiers** : parcourez les fichiers et dossiers dans n'importe quel répertoire Dropbox
- **Créer de nouveaux dossiers** : organisez vos fichiers en créant programmatiquement de nouveaux dossiers dans votre Dropbox
- **Rechercher des fichiers et dossiers** : localisez des documents, des images ou d'autres éléments par nom ou contenu
- **Générer des liens partagés** : créez rapidement des liens publics ou privés partageables pour des fichiers et dossiers
- **Gérer des fichiers** : déplacez, supprimez ou renommez des fichiers et dossiers dans le cadre de flux de travail automatisés
Ces capacités permettent à vos agents Sim d'automatiser les opérations Dropbox directement dans vos flux de travail — de la sauvegarde de fichiers importants à la distribution de contenu et à la maintenance de dossiers organisés. Utilisez Dropbox comme source et destination pour les fichiers, permettant une gestion transparente du stockage cloud dans le cadre de vos processus d'entreprise.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez Dropbox dans votre flux de travail pour la gestion de fichiers, le partage et la collaboration. Téléchargez des fichiers, téléchargez du contenu, créez des dossiers, gérez des liens partagés, et plus encore.
## Outils
### `dropbox_upload`
Télécharger un fichier vers Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `path` | string | Oui | Le chemin dans Dropbox où le fichier doit être enregistré \(ex. : /dossier/document.pdf\) |
| `fileContent` | string | Oui | Le contenu encodé en base64 du fichier à télécharger |
| `fileName` | string | Non | Nom de fichier optionnel \(utilisé si le chemin est un dossier\) |
| `mode` | string | Non | Mode d'écriture : add \(par défaut\) ou overwrite |
| `autorename` | boolean | Non | Si vrai, renomme le fichier en cas de conflit |
| `mute` | boolean | Non | Si vrai, ne notifie pas l'utilisateur de ce téléchargement |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `file` | objet | Les métadonnées du fichier téléversé |
### `dropbox_download`
Télécharger un fichier depuis Dropbox et obtenir un lien temporaire
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `path` | chaîne | Oui | Le chemin du fichier à télécharger \(ex. : /dossier/document.pdf\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `file` | objet | Les métadonnées du fichier |
### `dropbox_list_folder`
Lister le contenu d'un dossier dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `path` | chaîne | Oui | Le chemin du dossier à lister \(utilisez "" pour la racine\) |
| `recursive` | booléen | Non | Si vrai, liste le contenu de façon récursive |
| `includeDeleted` | booléen | Non | Si vrai, inclut les fichiers/dossiers supprimés |
| `includeMediaInfo` | booléen | Non | Si vrai, inclut les informations média pour les photos/vidéos |
| `limit` | nombre | Non | Nombre maximum de résultats à retourner \(par défaut : 500\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `entries` | tableau | Liste des fichiers et dossiers dans le répertoire |
### `dropbox_create_folder`
Créer un nouveau dossier dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `path` | chaîne | Oui | Le chemin où le dossier doit être créé \(ex. : /nouveau-dossier\) |
| `autorename` | booléen | Non | Si vrai, renomme le dossier s'il y a un conflit |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `folder` | objet | Les métadonnées du dossier créé |
### `dropbox_delete`
Supprimer un fichier ou un dossier dans Dropbox (déplace vers la corbeille)
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `path` | chaîne | Oui | Le chemin du fichier ou du dossier à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | objet | Métadonnées de l'élément supprimé |
### `dropbox_copy`
Copier un fichier ou un dossier dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `fromPath` | chaîne | Oui | Le chemin source du fichier ou du dossier à copier |
| `toPath` | chaîne | Oui | Le chemin de destination pour le fichier ou dossier copié |
| `autorename` | booléen | Non | Si vrai, renomme le fichier en cas de conflit à destination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | objet | Métadonnées de l'élément copié |
### `dropbox_move`
Déplacer ou renommer un fichier ou un dossier dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `fromPath` | chaîne | Oui | Le chemin source du fichier ou du dossier à déplacer |
| `toPath` | chaîne | Oui | Le chemin de destination pour le fichier ou dossier déplacé |
| `autorename` | booléen | Non | Si vrai, renomme le fichier en cas de conflit à destination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | objet | Métadonnées de l'élément déplacé |
### `dropbox_get_metadata`
Obtenir les métadonnées d'un fichier ou d'un dossier dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `path` | chaîne | Oui | Le chemin du fichier ou du dossier dont on souhaite obtenir les métadonnées |
| `includeMediaInfo` | booléen | Non | Si vrai, inclure les informations média pour les photos/vidéos |
| `includeDeleted` | booléen | Non | Si vrai, inclure les fichiers supprimés dans les résultats |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | objet | Métadonnées du fichier ou du dossier |
### `dropbox_create_shared_link`
Créer un lien partageable pour un fichier ou un dossier dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `path` | chaîne | Oui | Le chemin du fichier ou du dossier à partager |
| `requestedVisibility` | chaîne | Non | Visibilité : public, team_only, ou password |
| `linkPassword` | chaîne | Non | Mot de passe pour le lien partagé \(uniquement si la visibilité est password\) |
| `expires` | chaîne | Non | Date d'expiration au format ISO 8601 \(ex., 2025-12-31T23:59:59Z\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `sharedLink` | objet | Le lien partagé créé |
### `dropbox_search`
Rechercher des fichiers et dossiers dans Dropbox
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `query` | string | Oui | La requête de recherche |
| `path` | string | Non | Limiter la recherche à un chemin de dossier spécifique |
| `fileExtensions` | string | Non | Liste d'extensions de fichiers séparées par des virgules pour filtrer \(ex. pdf,xlsx\) |
| `maxResults` | number | Non | Nombre maximum de résultats à retourner \(par défaut : 100\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `matches` | array | Résultats de recherche |
## Notes
- Catégorie : `tools`
- Type : `dropbox`

View File

@@ -0,0 +1,365 @@
---
title: Elasticsearch
description: Recherchez, indexez et gérez des données dans Elasticsearch
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="elasticsearch"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Elasticsearch](https://www.elastic.co/elasticsearch/) est un puissant moteur de recherche et d'analyse distribué qui vous permet d'indexer, de rechercher et d'analyser de grands volumes de données en temps réel. Il est largement utilisé pour alimenter les fonctionnalités de recherche, l'analyse des données de journaux et d'événements, l'observabilité, et plus encore.
Avec Elasticsearch dans Sim, vous bénéficiez d'un accès programmatique aux capacités essentielles d'Elasticsearch, notamment :
- **Recherche de documents** : effectuez des recherches avancées sur du texte structuré ou non structuré à l'aide du langage DSL, avec prise en charge du tri, de la pagination et de la sélection de champs.
- **Indexation de documents** : ajoutez de nouveaux documents ou mettez à jour des documents existants dans n'importe quel index Elasticsearch pour une récupération et une analyse immédiates.
- **Obtenir, mettre à jour ou supprimer des documents** : récupérez, modifiez ou supprimez des documents spécifiques par ID.
- **Opérations en masse** : exécutez plusieurs actions d'indexation ou de mise à jour en une seule requête pour un traitement de données à haut débit.
- **Gestion des index** : créez, supprimez ou obtenez des détails sur les index dans le cadre de votre automatisation de flux de travail.
- **Surveillance du cluster** : vérifiez l'état et les statistiques de votre déploiement Elasticsearch.
Les outils Elasticsearch de Sim fonctionnent aussi bien avec des environnements auto-hébergés qu'avec Elastic Cloud. Intégrez Elasticsearch dans vos flux de travail d'agents pour automatiser l'ingestion de données, effectuer des recherches dans de vastes ensembles de données, exécuter des rapports ou créer des applications personnalisées basées sur la recherche - le tout sans intervention manuelle.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez Elasticsearch dans les flux de travail pour une recherche puissante, l'indexation et la gestion des données. Prend en charge les opérations CRUD de documents, les requêtes de recherche avancées, les opérations en masse, la gestion des index et la surveillance des clusters. Fonctionne avec les déploiements auto-hébergés et Elastic Cloud.
## Outils
### `elasticsearch_search`
Recherchez des documents dans Elasticsearch en utilisant Query DSL. Renvoie les documents correspondants avec scores et métadonnées.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `deploymentType` | chaîne | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | chaîne | Non | URL de l'hôte Elasticsearch (pour self-hosted) |
| `cloudId` | chaîne | Non | ID Elastic Cloud (pour les déploiements cloud) |
| `authMethod` | chaîne | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | chaîne | Non | Clé API Elasticsearch |
| `username` | chaîne | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | chaîne | Non | Mot de passe pour l'authentification basique |
| `index` | chaîne | Oui | Nom de l'index à rechercher |
| `query` | chaîne | Non | Query DSL sous forme de chaîne JSON |
| `from` | nombre | Non | Décalage initial pour la pagination (par défaut : 0) |
| `size` | nombre | Non | Nombre de résultats à renvoyer (par défaut : 10) |
| `sort` | chaîne | Non | Spécification de tri sous forme de chaîne JSON |
| `sourceIncludes` | chaîne | Non | Liste de champs séparés par des virgules à inclure dans _source |
| `sourceExcludes` | chaîne | Non | Liste de champs séparés par des virgules à exclure de _source |
| `trackTotalHits` | booléen | Non | Suivre le nombre exact de résultats (par défaut : true) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `took` | nombre | Temps en millisecondes pris par la recherche |
| `timed_out` | booléen | Si la recherche a expiré |
| `hits` | objet | Résultats de recherche avec nombre total et documents correspondants |
| `aggregations` | json | Résultats d'agrégation, le cas échéant |
### `elasticsearch_index_document`
Indexer (créer ou mettre à jour) un document dans Elasticsearch.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | chaîne | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | chaîne | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | chaîne | Non | ID Cloud Elastic \(pour les déploiements cloud\) |
| `authMethod` | chaîne | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | chaîne | Non | Clé API Elasticsearch |
| `username` | chaîne | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | chaîne | Non | Mot de passe pour l'authentification basique |
| `index` | chaîne | Oui | Nom de l'index cible |
| `documentId` | chaîne | Non | ID du document \(généré automatiquement si non fourni\) |
| `document` | chaîne | Oui | Corps du document au format JSON |
| `refresh` | chaîne | Non | Politique de rafraîchissement : true, false ou wait_for |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `_index` | chaîne | Index où le document a été stocké |
| `_id` | chaîne | ID du document |
| `_version` | nombre | Version du document |
| `result` | chaîne | Résultat de l'opération \(créé ou mis à jour\) |
### `elasticsearch_get_document`
Récupérer un document par ID depuis Elasticsearch.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | chaîne | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | chaîne | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | chaîne | Non | ID Cloud Elastic \(pour les déploiements cloud\) |
| `authMethod` | chaîne | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | chaîne | Non | Clé API Elasticsearch |
| `username` | chaîne | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | chaîne | Non | Mot de passe pour l'authentification basique |
| `index` | chaîne | Oui | Nom de l'index |
| `documentId` | chaîne | Oui | ID du document à récupérer |
| `sourceIncludes` | chaîne | Non | Liste de champs à inclure, séparés par des virgules |
| `sourceExcludes` | chaîne | Non | Liste de champs à exclure, séparés par des virgules |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Nom de l'index |
| `_id` | string | ID du document |
| `_version` | number | Version du document |
| `found` | boolean | Si le document a été trouvé |
| `_source` | json | Contenu du document |
### `elasticsearch_update_document`
Mettre à jour partiellement un document dans Elasticsearch en utilisant la fusion de documents.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Oui | Nom de l'index |
| `documentId` | string | Oui | ID du document à mettre à jour |
| `document` | string | Oui | Document partiel à fusionner sous forme de chaîne JSON |
| `retryOnConflict` | number | Non | Nombre de tentatives en cas de conflit de version |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Nom de l'index |
| `_id` | string | ID du document |
| `_version` | number | Nouvelle version du document |
| `result` | string | Résultat de l'opération \(updated ou noop\) |
### `elasticsearch_delete_document`
Supprimer un document d'Elasticsearch par ID.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Oui | Nom de l'index |
| `documentId` | string | Oui | ID du document à supprimer |
| `refresh` | string | Non | Politique de rafraîchissement : true, false, ou wait_for |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `_index` | string | Nom de l'index |
| `_id` | string | ID du document |
| `_version` | number | Version du document |
| `result` | string | Résultat de l'opération \(deleted ou not_found\) |
### `elasticsearch_bulk`
Effectuer plusieurs opérations d'indexation, de création, de suppression ou de mise à jour en une seule requête pour une performance élevée.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Non | Index par défaut pour les opérations qui n'en spécifient pas |
| `operations` | string | Oui | Opérations en masse sous forme de chaîne NDJSON \(JSON délimité par des sauts de ligne\) |
| `refresh` | string | Non | Politique de rafraîchissement : true, false, ou wait_for |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `took` | number | Temps en millisecondes pris par l'opération en masse |
| `errors` | boolean | Indique si une opération a rencontré une erreur |
| `items` | array | Résultats pour chaque opération |
### `elasticsearch_count`
Compter les documents correspondant à une requête dans Elasticsearch.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Oui | Nom de l'index dans lequel compter les documents |
| `query` | string | Non | Requête optionnelle pour filtrer les documents \(chaîne JSON\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `count` | number | Nombre de documents correspondant à la requête |
| `_shards` | object | Statistiques des partitions |
### `elasticsearch_create_index`
Créer un nouvel index avec des paramètres et des mappages optionnels.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Oui | Nom de l'index à créer |
| `settings` | string | Non | Paramètres de l'index sous forme de chaîne JSON |
| `mappings` | string | Non | Mappages de l'index sous forme de chaîne JSON |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Indique si la requête a été confirmée |
| `shards_acknowledged` | boolean | Indique si les shards ont été confirmés |
| `index` | string | Nom de l'index créé |
### `elasticsearch_delete_index`
Supprimer un index et tous ses documents. Cette opération est irréversible.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Oui | Nom de l'index à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `acknowledged` | boolean | Indique si la suppression a été confirmée |
### `elasticsearch_get_index`
Récupérer les informations d'un index, y compris les paramètres, les mappings et les alias.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `index` | string | Oui | Nom de l'index dont on souhaite récupérer les informations |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `index` | json | Informations d'index incluant les alias, les mappages et les paramètres |
### `elasticsearch_cluster_health`
Obtenir l'état de santé du cluster Elasticsearch.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `deploymentType` | string | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | string | Non | URL de l'hôte Elasticsearch \(pour self-hosted\) |
| `cloudId` | string | Non | ID Elastic Cloud \(pour les déploiements cloud\) |
| `authMethod` | string | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | string | Non | Clé API Elasticsearch |
| `username` | string | Non | Nom d'utilisateur pour l'authentification basique |
| `password` | string | Non | Mot de passe pour l'authentification basique |
| `waitForStatus` | string | Non | Attendre jusqu'à ce que le cluster atteigne ce statut : green, yellow ou red |
| `timeout` | string | Non | Délai d'attente pour l'opération d'attente \(ex. 30s, 1m\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `cluster_name` | string | Nom du cluster |
| `status` | string | État de santé du cluster : green, yellow ou red |
| `number_of_nodes` | number | Nombre total de nœuds dans le cluster |
| `number_of_data_nodes` | number | Nombre de nœuds de données |
| `active_shards` | number | Nombre de shards actifs |
| `unassigned_shards` | number | Nombre de shards non assignés |
### `elasticsearch_cluster_stats`
Obtenez des statistiques complètes sur le cluster Elasticsearch.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `deploymentType` | chaîne | Oui | Type de déploiement : self_hosted ou cloud |
| `host` | chaîne | Non | URL de l'hôte Elasticsearch (pour self-hosted) |
| `cloudId` | chaîne | Non | ID Elastic Cloud (pour les déploiements cloud) |
| `authMethod` | chaîne | Oui | Méthode d'authentification : api_key ou basic_auth |
| `apiKey` | chaîne | Non | Clé API Elasticsearch |
| `username` | chaîne | Non | Nom d'utilisateur pour l'authentification de base |
| `password` | chaîne | Non | Mot de passe pour l'authentification de base |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `cluster_name` | chaîne | Nom du cluster |
| `status` | chaîne | État de santé du cluster |
| `nodes` | objet | Statistiques des nœuds incluant le nombre et les versions |
| `indices` | objet | Statistiques des index incluant le nombre de documents et la taille de stockage |
## Notes
- Catégorie : `tools`
- Type : `elasticsearch`

View File

@@ -0,0 +1,430 @@
---
title: GitLab
description: Interagissez avec les projets, les problèmes, les demandes de
fusion et les pipelines GitLab
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="gitlab"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[GitLab](https://gitlab.com/) est une plateforme DevOps complète qui permet aux équipes de gérer, collaborer et automatiser leur cycle de développement logiciel. Avec GitLab, vous pouvez facilement gérer le code source, l'intégration continue/déploiement continu (CI/CD), les révisions et la collaboration dans une seule application.
Avec GitLab dans Sim, vous pouvez :
- **Gérer des projets et des dépôts** : lister et récupérer vos projets GitLab, accéder aux détails et organiser vos dépôts
- **Travailler avec des problèmes** : lister, créer et commenter des problèmes pour suivre le travail et collaborer efficacement
- **Gérer les demandes de fusion** : examiner, créer et gérer les demandes de fusion pour les modifications de code et les révisions par les pairs
- **Automatiser les pipelines CI/CD** : déclencher, surveiller et interagir avec les pipelines GitLab dans le cadre de vos flux d'automatisation
- **Collaborer avec des commentaires** : ajouter des commentaires aux problèmes ou aux demandes de fusion pour une communication efficace au sein de votre équipe
En utilisant l'intégration GitLab de Sim, vos agents peuvent interagir par programmation avec vos projets GitLab. Automatisez la gestion de projet, le suivi des problèmes, les révisions de code et les opérations de pipeline de manière transparente dans vos flux de travail, optimisant ainsi votre processus de développement logiciel et améliorant la collaboration au sein de votre équipe.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez GitLab dans le flux de travail. Peut gérer les projets, les problèmes, les demandes de fusion, les pipelines et ajouter des commentaires. Prend en charge toutes les opérations DevOps de base de GitLab.
## Outils
### `gitlab_list_projects`
Lister les projets GitLab accessibles à l'utilisateur authentifié
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `owned` | boolean | Non | Limiter aux projets appartenant à l'utilisateur actuel |
| `membership` | boolean | Non | Limiter aux projets dont l'utilisateur actuel est membre |
| `search` | string | Non | Rechercher des projets par nom |
| `visibility` | string | Non | Filtrer par visibilité \(public, internal, private\) |
| `orderBy` | string | Non | Trier par champ \(id, name, path, created_at, updated_at, last_activity_at\) |
| `sort` | string | Non | Direction de tri \(asc, desc\) |
| `perPage` | number | Non | Nombre de résultats par page \(20 par défaut, 100 max\) |
| `page` | number | Non | Numéro de page pour la pagination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `projects` | array | Liste des projets GitLab |
| `total` | number | Nombre total de projets |
### `gitlab_get_project`
Obtenir les détails d'un projet GitLab spécifique
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé en URL \(ex. : "namespace/project"\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `project` | object | Les détails du projet GitLab |
### `gitlab_list_issues`
Lister les problèmes dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé en URL |
| `state` | string | Non | Filtrer par état \(opened, closed, all\) |
| `labels` | string | Non | Liste de noms d'étiquettes séparés par des virgules |
| `assigneeId` | number | Non | Filtrer par ID d'utilisateur assigné |
| `milestoneTitle` | string | Non | Filtrer par titre de jalon |
| `search` | string | Non | Rechercher des problèmes par titre et description |
| `orderBy` | string | Non | Trier par champ \(created_at, updated_at\) |
| `sort` | string | Non | Direction de tri \(asc, desc\) |
| `perPage` | number | Non | Nombre de résultats par page \(20 par défaut, max 100\) |
| `page` | number | Non | Numéro de page pour la pagination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `issues` | array | Liste des problèmes GitLab |
| `total` | number | Nombre total de problèmes |
### `gitlab_get_issue`
Obtenir les détails d'un problème GitLab spécifique
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé URL |
| `issueIid` | number | Oui | Numéro du problème dans le projet \(le # affiché dans l'interface GitLab\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `issue` | object | Les détails du problème GitLab |
### `gitlab_create_issue`
Créer un nouveau problème dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé URL |
| `title` | string | Oui | Titre du problème |
| `description` | string | Non | Description du problème \(Markdown pris en charge\) |
| `labels` | string | Non | Liste d'étiquettes séparées par des virgules |
| `assigneeIds` | array | Non | Tableau d'ID utilisateurs à assigner |
| `milestoneId` | number | Non | ID du jalon à assigner |
| `dueDate` | string | Non | Date d'échéance au format AAAA-MM-JJ |
| `confidential` | boolean | Non | Si le problème est confidentiel |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `issue` | objet | Le ticket GitLab créé |
### `gitlab_update_issue`
Mettre à jour un ticket existant dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé URL |
| `issueIid` | nombre | Oui | ID interne du ticket \(IID\) |
| `title` | chaîne | Non | Nouveau titre du ticket |
| `description` | chaîne | Non | Nouvelle description du ticket \(Markdown pris en charge\) |
| `stateEvent` | chaîne | Non | Événement d'état \(close ou reopen\) |
| `labels` | chaîne | Non | Liste de noms d'étiquettes séparés par des virgules |
| `assigneeIds` | tableau | Non | Tableau d'ID utilisateurs à assigner |
| `milestoneId` | nombre | Non | ID du jalon à assigner |
| `dueDate` | chaîne | Non | Date d'échéance au format AAAA-MM-JJ |
| `confidential` | booléen | Non | Indique si le ticket est confidentiel |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `issue` | objet | Le ticket GitLab mis à jour |
### `gitlab_delete_issue`
Supprimer un ticket d'un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé URL |
| `issueIid` | nombre | Oui | ID interne du ticket \(IID\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si le problème a été supprimé avec succès |
### `gitlab_create_issue_note`
Ajouter un commentaire à un problème GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé en URL |
| `issueIid` | number | Oui | ID interne du problème (IID) |
| `body` | string | Oui | Corps du commentaire (Markdown pris en charge) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `note` | object | Le commentaire créé |
### `gitlab_list_merge_requests`
Lister les demandes de fusion dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé en URL |
| `state` | string | Non | Filtrer par état (opened, closed, merged, all) |
| `labels` | string | Non | Liste de noms d'étiquettes séparés par des virgules |
| `sourceBranch` | string | Non | Filtrer par branche source |
| `targetBranch` | string | Non | Filtrer par branche cible |
| `orderBy` | string | Non | Trier par champ (created_at, updated_at) |
| `sort` | string | Non | Direction de tri (asc, desc) |
| `perPage` | number | Non | Nombre de résultats par page (20 par défaut, 100 max) |
| `page` | number | Non | Numéro de page pour la pagination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequests` | array | Liste des demandes de fusion GitLab |
| `total` | number | Nombre total de demandes de fusion |
### `gitlab_get_merge_request`
Obtenir les détails d'une demande de fusion GitLab spécifique
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé en URL |
| `mergeRequestIid` | number | Oui | ID interne de la demande de fusion \(IID\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | object | Les détails de la demande de fusion GitLab |
### `gitlab_create_merge_request`
Créer une nouvelle demande de fusion dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé en URL |
| `sourceBranch` | string | Oui | Nom de la branche source |
| `targetBranch` | string | Oui | Nom de la branche cible |
| `title` | string | Oui | Titre de la demande de fusion |
| `description` | string | Non | Description de la demande de fusion \(Markdown pris en charge\) |
| `labels` | string | Non | Liste de noms d'étiquettes séparés par des virgules |
| `assigneeIds` | array | Non | Tableau d'ID utilisateurs à assigner |
| `milestoneId` | number | Non | ID du jalon à assigner |
| `removeSourceBranch` | boolean | Non | Supprimer la branche source après la fusion |
| `squash` | boolean | Non | Regrouper les commits lors de la fusion |
| `draft` | boolean | Non | Marquer comme brouillon \(travail en cours\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | objet | La demande de fusion GitLab créée |
### `gitlab_update_merge_request`
Mettre à jour une demande de fusion existante dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé URL |
| `mergeRequestIid` | nombre | Oui | ID interne de la demande de fusion \(IID\) |
| `title` | chaîne | Non | Nouveau titre de la demande de fusion |
| `description` | chaîne | Non | Nouvelle description de la demande de fusion |
| `stateEvent` | chaîne | Non | Événement d'état \(close ou reopen\) |
| `labels` | chaîne | Non | Liste de noms d'étiquettes séparés par des virgules |
| `assigneeIds` | tableau | Non | Tableau d'ID utilisateurs à assigner |
| `milestoneId` | nombre | Non | ID du jalon à assigner |
| `targetBranch` | chaîne | Non | Nouvelle branche cible |
| `removeSourceBranch` | booléen | Non | Supprimer la branche source après la fusion |
| `squash` | booléen | Non | Regrouper les commits lors de la fusion |
| `draft` | booléen | Non | Marquer comme brouillon \(travail en cours\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | objet | La demande de fusion GitLab mise à jour |
### `gitlab_merge_merge_request`
Fusionner une demande de fusion dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé URL |
| `mergeRequestIid` | nombre | Oui | ID interne de la demande de fusion \(IID\) |
| `mergeCommitMessage` | chaîne | Non | Message personnalisé du commit de fusion |
| `squashCommitMessage` | chaîne | Non | Message personnalisé du commit de regroupement |
| `squash` | booléen | Non | Regrouper les commits avant la fusion |
| `shouldRemoveSourceBranch` | booléen | Non | Supprimer la branche source après la fusion |
| `mergeWhenPipelineSucceeds` | booléen | Non | Fusionner lorsque le pipeline réussit |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `mergeRequest` | objet | La demande de fusion GitLab fusionnée |
### `gitlab_create_merge_request_note`
Ajouter un commentaire à une demande de fusion GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé en URL |
| `mergeRequestIid` | nombre | Oui | ID interne de la demande de fusion \(IID\) |
| `body` | chaîne | Oui | Corps du commentaire \(Markdown pris en charge\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `note` | objet | Le commentaire créé |
### `gitlab_list_pipelines`
Lister les pipelines dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé en URL |
| `ref` | chaîne | Non | Filtrer par ref \(branche ou tag\) |
| `status` | chaîne | Non | Filtrer par statut \(created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled\) |
| `orderBy` | chaîne | Non | Trier par champ \(id, status, ref, updated_at, user_id\) |
| `sort` | chaîne | Non | Direction de tri \(asc, desc\) |
| `perPage` | nombre | Non | Nombre de résultats par page \(20 par défaut, 100 max\) |
| `page` | nombre | Non | Numéro de page pour la pagination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `pipelines` | array | Liste des pipelines GitLab |
| `total` | number | Nombre total de pipelines |
### `gitlab_get_pipeline`
Obtenir les détails d'un pipeline GitLab spécifique
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé URL |
| `pipelineId` | number | Oui | ID du pipeline |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | object | Les détails du pipeline GitLab |
### `gitlab_create_pipeline`
Déclencher un nouveau pipeline dans un projet GitLab
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé URL |
| `ref` | string | Oui | Branche ou tag sur lequel exécuter le pipeline |
| `variables` | array | Non | Tableau de variables pour le pipeline \(chacune avec clé, valeur et type de variable optionnel\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | object | Le pipeline GitLab créé |
### `gitlab_retry_pipeline`
Réessayer un pipeline GitLab échoué
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Oui | ID du projet ou chemin encodé URL |
| `pipelineId` | number | Oui | ID du pipeline |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | objet | Le pipeline GitLab relancé |
### `gitlab_cancel_pipeline`
Annuler un pipeline GitLab en cours d'exécution
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | chaîne | Oui | ID du projet ou chemin encodé en URL |
| `pipelineId` | nombre | Oui | ID du pipeline |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `pipeline` | objet | Le pipeline GitLab annulé |
## Remarques
- Catégorie : `tools`
- Type : `gitlab`

View File

@@ -37,16 +37,16 @@ Créer un nouvel événement dans Google Agenda
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `calendarId` | chaîne | Non | ID du calendrier (par défaut : primaire) |
| `summary` | chaîne | Oui | Titre/résumé de l'événement |
| `description` | chaîne | Non | Description de l'événement |
| `location` | chaîne | Non | Lieu de l'événement |
| `startDateTime` | chaîne | Oui | Date et heure de début (format RFC3339, ex. : 2025-06-03T10:00:00-08:00) |
| `endDateTime` | chaîne | Oui | Date et heure de fin (format RFC3339, ex. : 2025-06-03T11:00:00-08:00) |
| `timeZone` | chaîne | Non | Fuseau horaire (ex. : America/Los_Angeles) |
| `attendees` | tableau | Non | Tableau des adresses e-mail des participants |
| `sendUpdates` | chaîne | Non | Comment envoyer les mises à jour aux participants : all, externalOnly ou none |
| `startDateTime` | chaîne | Oui | Date et heure de début. DOIT inclure le décalage horaire (ex. : 2025-06-03T10:00:00-08:00) OU fournir le paramètre timeZone |
| `endDateTime` | chaîne | Oui | Date et heure de fin. DOIT inclure le décalage horaire (ex. : 2025-06-03T11:00:00-08:00) OU fournir le paramètre timeZone |
| `timeZone` | chaîne | Non | Fuseau horaire (ex. : America/Los_Angeles). Obligatoire si la date/heure n'inclut pas de décalage. Par défaut : America/Los_Angeles si non fourni. |
| `attendees` | tableau | Non | Tableau d'adresses e-mail des participants |
| `sendUpdates` | chaîne | Non | Comment envoyer les mises à jour aux participants : all, externalOnly, ou none |
#### Sortie

View File

@@ -107,11 +107,11 @@ Lister les fichiers et dossiers dans Google Drive
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ---------- | ----------- |
| `folderSelector` | string | Non | Sélectionner le dossier à partir duquel lister les fichiers |
| `folderId` | string | Non | L'ID du dossier à partir duquel lister les fichiers \(usage interne\) |
| `query` | string | Non | Une requête pour filtrer les fichiers |
| `pageSize` | number | Non | Le nombre de fichiers à retourner |
| `folderId` | string | Non | L'ID du dossier à partir duquel lister les fichiers (usage interne) |
| `query` | string | Non | Terme de recherche pour filtrer les fichiers par nom (ex. "budget" trouve les fichiers avec "budget" dans le nom). N'utilisez PAS la syntaxe de requête Google Drive ici - fournissez simplement un terme de recherche ordinaire. |
| `pageSize` | number | Non | Le nombre maximum de fichiers à retourner (par défaut : 100) |
| `pageToken` | string | Non | Le jeton de page à utiliser pour la pagination |
#### Sortie

View File

@@ -88,8 +88,8 @@ Lire des données d'une feuille de calcul Google Sheets
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | chaîne | Oui | L'identifiant de la feuille de calcul à lire |
| `range` | chaîne | Non | La plage de cellules à lire |
| `spreadsheetId` | chaîne | Oui | L'identifiant de la feuille de calcul \(trouvé dans l'URL : docs.google.com/spreadsheets/d/\{SPREADSHEET_ID\}/edit\). |
| `range` | chaîne | Non | La plage en notation A1 à lire \(par exemple "Sheet1!A1:D10", "A1:B5"\). Par défaut, première feuille A1:Z1000 si non spécifié. |
#### Sortie
@@ -106,9 +106,9 @@ Lire des données d'une feuille de calcul Google Sheets
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | chaîne | Oui | L'identifiant de la feuille de calcul dans laquelle écrire |
| `range` | chaîne | Non | La plage de cellules dans laquelle écrire |
| `values` | tableau | Oui | Les données à écrire dans la feuille de calcul |
| `spreadsheetId` | chaîne | Oui | L'identifiant de la feuille de calcul |
| `range` | chaîne | Non | La plage en notation A1 où écrire \(par exemple "Sheet1!A1:D10", "A1:B5"\) |
| `values` | tableau | Oui | Les données à écrire sous forme de tableau 2D \(par exemple \[\["Nom", "Âge"\], \["Alice", 30\], \["Bob", 25\]\]\) ou tableau d'objets. |
| `valueInputOption` | chaîne | Non | Le format des données à écrire |
| `includeValuesInResponse` | booléen | Non | Indique si les valeurs écrites doivent être incluses dans la réponse |
@@ -129,12 +129,12 @@ Mettre à jour des données dans une feuille de calcul Google Sheets
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `spreadsheetId` | string | Oui | L'ID de la feuille de calcul à mettre à jour |
| `range` | string | Non | La plage de cellules à mettre à jour |
| `values` | array | Oui | Les données à mettre à jour dans la feuille de calcul |
| `valueInputOption` | string | Non | Le format des données à mettre à jour |
| `includeValuesInResponse` | boolean | Non | Indique s'il faut inclure les valeurs mises à jour dans la réponse |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | chaîne | Oui | L'identifiant de la feuille de calcul à mettre à jour |
| `range` | chaîne | Non | La plage en notation A1 à mettre à jour \(par exemple "Sheet1!A1:D10", "A1:B5"\) |
| `values` | tableau | Oui | Les données à mettre à jour sous forme de tableau 2D \(par exemple \[\["Nom", "Âge"\], \["Alice", 30\]\]\) ou tableau d'objets. |
| `valueInputOption` | chaîne | Non | Le format des données à mettre à jour |
| `includeValuesInResponse` | booléen | Non | Indique si les valeurs mises à jour doivent être incluses dans la réponse |
#### Sortie
@@ -155,11 +155,11 @@ Ajouter des données à la fin d'une feuille de calcul Google Sheets
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `spreadsheetId` | chaîne | Oui | L'identifiant de la feuille de calcul à laquelle ajouter des données |
| `range` | chaîne | Non | La plage de cellules après laquelle ajouter des données |
| `values` | tableau | Oui | Les données à ajouter à la feuille de calcul |
| `range` | chaîne | Non | La plage de notation A1 après laquelle ajouter des données \(ex. "Feuille1", "Feuille1!A:D"\) |
| `values` | tableau | Oui | Les données à ajouter sous forme de tableau 2D \(ex. \[\["Alice", 30\], \["Bob", 25\]\]\) ou tableau d'objets. |
| `valueInputOption` | chaîne | Non | Le format des données à ajouter |
| `insertDataOption` | chaîne | Non | Comment insérer les données \(OVERWRITE ou INSERT_ROWS\) |
| `includeValuesInResponse` | booléen | Non | Indique si les valeurs ajoutées doivent être incluses dans la réponse |
| `includeValuesInResponse` | booléen | Non | Indique s'il faut inclure les valeurs ajoutées dans la réponse |
#### Sortie

View File

@@ -0,0 +1,180 @@
---
title: Google Slides
description: Lire, écrire et créer des présentations
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="google_slides"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Google Slides](https://slides.google.com) est une application de présentation dynamique basée sur le cloud qui permet aux utilisateurs de créer, modifier, collaborer et présenter des diaporamas en temps réel. En tant que partie de la suite de productivité de Google, Google Slides offre une plateforme flexible pour concevoir des présentations attrayantes, collaborer avec d'autres et partager du contenu de manière transparente via le cloud.
Découvrez comment intégrer les outils Google Slides dans Sim pour gérer sans effort les présentations dans le cadre de vos flux de travail automatisés. Avec Sim, vous pouvez lire, écrire, créer et mettre à jour des présentations Google Slides directement via vos agents et processus automatisés, ce qui facilite la diffusion d'informations actualisées, la génération de rapports personnalisés ou la production programmatique de présentations à l'image de votre marque.
Avec Google Slides, vous pouvez :
- **Créer et modifier des présentations** : concevoir des diapositives visuellement attrayantes avec des thèmes, des mises en page et du contenu multimédia
- **Collaborer en temps réel** : travailler simultanément avec des coéquipiers, commenter, attribuer des tâches et recevoir des commentaires en direct sur les présentations
- **Présenter n'importe où** : afficher des présentations en ligne ou hors ligne, partager des liens ou publier sur le web
- **Ajouter des images et du contenu enrichi** : insérer des images, des graphiques, des diagrammes et des vidéos pour rendre vos présentations attrayantes
- **S'intégrer à d'autres services** : se connecter de manière transparente avec Google Drive, Docs, Sheets et d'autres outils tiers
- **Accéder depuis n'importe quel appareil** : utiliser Google Slides sur ordinateurs de bureau, portables, tablettes et appareils mobiles pour une flexibilité maximale
Dans Sim, l'intégration de Google Slides permet à vos agents d'interagir directement avec les fichiers de présentation de manière programmatique. Automatisez des tâches comme la lecture du contenu des diapositives, l'insertion de nouvelles diapositives ou images, le remplacement de texte dans toute une présentation, la génération de nouvelles présentations et la récupération de miniatures de diapositives. Cela vous permet de développer la création de contenu, de maintenir les présentations à jour et de les intégrer dans des flux de travail de documents automatisés. En connectant Sim avec Google Slides, vous facilitez la gestion des présentations pilotée par l'IA, ce qui permet de générer, mettre à jour ou extraire facilement des informations des présentations sans effort manuel.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez Google Slides dans le flux de travail. Peut lire, écrire, créer des présentations, remplacer du texte, ajouter des diapositives, ajouter des images et obtenir des miniatures.
## Outils
### `google_slides_read`
Lire le contenu d'une présentation Google Slides
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Oui | L'ID de la présentation à lire |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `slides` | json | Tableau des diapositives avec leur contenu |
| `metadata` | json | Métadonnées de la présentation incluant ID, titre et URL |
### `google_slides_write`
Écrire ou mettre à jour le contenu dans une présentation Google Slides
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Oui | L'ID de la présentation dans laquelle écrire |
| `content` | string | Oui | Le contenu à écrire dans la diapositive |
| `slideIndex` | number | Non | L'index de la diapositive dans laquelle écrire \(par défaut, première diapositive\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `updatedContent` | boolean | Indique si le contenu de la présentation a été mis à jour avec succès |
| `metadata` | json | Métadonnées de la présentation mise à jour incluant ID, titre et URL |
### `google_slides_create`
Créer une nouvelle présentation Google Slides
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `title` | string | Oui | Le titre de la présentation à créer |
| `content` | string | Non | Le contenu à ajouter à la première diapositive |
| `folderSelector` | string | Non | Sélectionner le dossier dans lequel créer la présentation |
| `folderId` | string | Non | L'ID du dossier dans lequel créer la présentation \(usage interne\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `metadata` | json | Métadonnées de la présentation créée, y compris l'ID, le titre et l'URL |
### `google_slides_replace_all_text`
Rechercher et remplacer toutes les occurrences de texte dans une présentation Google Slides
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Oui | L'ID de la présentation |
| `findText` | string | Oui | Le texte à rechercher \(par exemple, \{\{placeholder\}\}\) |
| `replaceText` | string | Oui | Le texte de remplacement |
| `matchCase` | boolean | Non | Si la recherche doit être sensible à la casse \(par défaut : true\) |
| `pageObjectIds` | string | Non | Liste séparée par des virgules des ID d'objets de diapositive pour limiter les remplacements à des diapositives spécifiques \(laisser vide pour toutes les diapositives\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `occurrencesChanged` | number | Nombre d'occurrences de texte qui ont été remplacées |
| `metadata` | json | Métadonnées de l'opération, y compris l'ID et l'URL de la présentation |
### `google_slides_add_slide`
Ajouter une nouvelle diapositive à une présentation Google Slides avec une mise en page spécifiée
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `presentationId` | string | Oui | L'ID de la présentation |
| `layout` | string | Non | La mise en page prédéfinie pour la diapositive \(BLANK, TITLE, TITLE_AND_BODY, TITLE_ONLY, SECTION_HEADER, etc.\). Par défaut : BLANK. |
| `insertionIndex` | number | Non | L'index facultatif basé sur zéro indiquant où insérer la diapositive. Si non spécifié, la diapositive est ajoutée à la fin. |
| `placeholderIdMappings` | string | Non | Tableau JSON de mappages d'espaces réservés pour attribuer des ID d'objets personnalisés aux espaces réservés. Format : \[\{"layoutPlaceholder":\{"type":"TITLE"\},"objectId":"custom_title_id"\}\] |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `slideId` | string | L'ID d'objet de la diapositive nouvellement créée |
| `metadata` | json | Métadonnées de l'opération incluant l'ID de la présentation, la mise en page et l'URL |
### `google_slides_add_image`
Insérer une image dans une diapositive spécifique d'une présentation Google Slides
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `presentationId` | string | Oui | L'ID de la présentation |
| `pageObjectId` | string | Oui | L'ID d'objet de la diapositive/page où ajouter l'image |
| `imageUrl` | string | Oui | L'URL accessible publiquement de l'image \(doit être PNG, JPEG ou GIF, max 50 Mo\) |
| `width` | number | Non | Largeur de l'image en points \(par défaut : 300\) |
| `height` | number | Non | Hauteur de l'image en points \(par défaut : 200\) |
| `positionX` | number | Non | Position X depuis le bord gauche en points \(par défaut : 100\) |
| `positionY` | number | Non | Position Y depuis le bord supérieur en points \(par défaut : 100\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `imageId` | string | L'ID d'objet de l'image nouvellement créée |
| `metadata` | json | Métadonnées de l'opération incluant l'ID de la présentation et l'URL de l'image |
### `google_slides_get_thumbnail`
Générer une image miniature d'une diapositive spécifique dans une présentation Google Slides
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `presentationId` | chaîne | Oui | L'identifiant de la présentation |
| `pageObjectId` | chaîne | Oui | L'identifiant d'objet de la diapositive/page pour laquelle obtenir une vignette |
| `thumbnailSize` | chaîne | Non | La taille de la vignette : SMALL \(200px\), MEDIUM \(800px\), ou LARGE \(1600px\). Par défaut MEDIUM. |
| `mimeType` | chaîne | Non | Le type MIME de l'image vignette : PNG ou GIF. Par défaut PNG. |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `contentUrl` | chaîne | URL vers l'image vignette \(valide pendant 30 minutes\) |
| `width` | nombre | Largeur de la vignette en pixels |
| `height` | nombre | Hauteur de la vignette en pixels |
| `metadata` | json | Métadonnées de l'opération incluant l'identifiant de la présentation et l'identifiant d'objet de la page |
## Notes
- Catégorie : `tools`
- Type : `google_slides`

View File

@@ -0,0 +1,494 @@
---
title: Grafana
description: Interagissez avec les tableaux de bord, les alertes et les annotations Grafana
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grafana"
color="#E0E0E0"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grafana](https://grafana.com/) est une plateforme open-source de premier plan pour la surveillance, l'observabilité et la visualisation. Elle permet aux utilisateurs d'interroger, de visualiser, d'alerter et d'analyser des données provenant de diverses sources, ce qui en fait un outil essentiel pour la surveillance des infrastructures et des applications.
Avec Grafana, vous pouvez :
- **Visualiser des données** : créer et personnaliser des tableaux de bord pour afficher des métriques, des journaux et des traces en temps réel
- **Surveiller la santé et le statut** : vérifier la santé de votre instance Grafana et des sources de données connectées
- **Gérer les alertes et les annotations** : configurer des règles d'alerte, gérer les notifications et annoter les tableaux de bord avec des événements importants
- **Organiser le contenu** : organiser les tableaux de bord et les sources de données dans des dossiers pour une meilleure gestion des accès
Dans Sim, l'intégration Grafana permet à vos agents d'interagir directement avec votre instance Grafana via API, permettant des actions telles que :
- Vérifier l'état de santé du serveur Grafana, de la base de données et des sources de données
- Récupérer, lister et gérer les tableaux de bord, les règles d'alerte, les annotations, les sources de données et les dossiers
- Automatiser la surveillance de votre infrastructure en intégrant les données et les alertes Grafana dans vos automatisations de flux de travail
Ces capacités permettent aux agents Sim de surveiller les systèmes, de répondre de manière proactive aux alertes et d'aider à assurer la fiabilité et la visibilité de vos services — le tout dans le cadre de vos flux de travail automatisés.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez Grafana dans les flux de travail. Gérez les tableaux de bord, les alertes, les annotations, les sources de données, les dossiers et surveillez l'état de santé.
## Outils
### `grafana_get_dashboard`
Obtenir un tableau de bord par son UID
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex. : https://your-grafana.com\) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `dashboardUid` | string | Oui | L'UID du tableau de bord à récupérer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `dashboard` | json | L'objet JSON complet du tableau de bord |
| `meta` | json | Métadonnées du tableau de bord \(version, permissions, etc.\) |
### `grafana_list_dashboards`
Rechercher et lister tous les tableaux de bord
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `query` | string | Non | Requête de recherche pour filtrer les tableaux de bord par titre |
| `tag` | string | Non | Filtrer par tag \(séparés par des virgules pour plusieurs tags\) |
| `folderIds` | string | Non | Filtrer par ID de dossier \(séparés par des virgules\) |
| `starred` | boolean | Non | Renvoyer uniquement les tableaux de bord favoris |
| `limit` | number | Non | Nombre maximum de tableaux de bord à renvoyer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `dashboards` | array | Liste des résultats de recherche de tableaux de bord |
### `grafana_create_dashboard`
Créer un nouveau tableau de bord
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `title` | string | Oui | Le titre du nouveau tableau de bord |
| `folderUid` | string | Non | L'UID du dossier dans lequel créer le tableau de bord |
| `tags` | string | Non | Liste de tags séparés par des virgules |
| `timezone` | string | Non | Fuseau horaire du tableau de bord \(ex., browser, utc\) |
| `refresh` | string | Non | Intervalle d'actualisation automatique \(ex., 5s, 1m, 5m\) |
| `panels` | string | Non | Tableau JSON des configurations de panneaux |
| `overwrite` | boolean | Non | Écraser le tableau de bord existant avec le même titre |
| `message` | string | Non | Message de commit pour la version du tableau de bord |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | L'ID numérique du tableau de bord créé |
| `uid` | string | L'UID du tableau de bord créé |
| `url` | string | Le chemin d'URL vers le tableau de bord |
| `status` | string | Statut de l'opération \(success\) |
| `version` | number | Le numéro de version du tableau de bord |
| `slug` | string | Slug convivial pour l'URL du tableau de bord |
### `grafana_update_dashboard`
Mettre à jour un tableau de bord existant. Récupère le tableau de bord actuel et fusionne vos modifications.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Oui | Token de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex. : https://your-grafana.com\) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
| `dashboardUid` | string | Oui | L'UID du tableau de bord à mettre à jour |
| `title` | string | Non | Nouveau titre pour le tableau de bord |
| `folderUid` | string | Non | Nouvel UID de dossier pour déplacer le tableau de bord |
| `tags` | string | Non | Liste de nouvelles étiquettes séparées par des virgules |
| `timezone` | string | Non | Fuseau horaire du tableau de bord \(ex. : browser, utc\) |
| `refresh` | string | Non | Intervalle d'actualisation automatique \(ex. : 5s, 1m, 5m\) |
| `panels` | string | Non | Tableau JSON des configurations de panneaux |
| `overwrite` | boolean | Non | Écraser même en cas de conflit de version |
| `message` | string | Non | Message de commit pour cette version |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | L'ID numérique du tableau de bord mis à jour |
| `uid` | string | L'UID du tableau de bord mis à jour |
| `url` | string | Le chemin URL vers le tableau de bord |
| `status` | string | Statut de l'opération \(success\) |
| `version` | number | Le nouveau numéro de version du tableau de bord |
| `slug` | string | Slug convivial pour URL du tableau de bord |
### `grafana_delete_dashboard`
Supprimer un tableau de bord par son UID
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Oui | Token de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex. : https://your-grafana.com\) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
| `dashboardUid` | string | Oui | L'UID du tableau de bord à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `title` | string | Le titre du tableau de bord supprimé |
| `message` | string | Message de confirmation |
| `id` | number | L'ID du tableau de bord supprimé |
### `grafana_list_alert_rules`
Lister toutes les règles d'alerte dans l'instance Grafana
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Oui | Token de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex. : https://your-grafana.com\) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `rules` | array | Liste des règles d'alerte |
### `grafana_get_alert_rule`
Obtenir une règle d'alerte spécifique par son UID
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `alertRuleUid` | string | Oui | L'UID de la règle d'alerte à récupérer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `uid` | string | UID de la règle d'alerte |
| `title` | string | Titre de la règle d'alerte |
| `condition` | string | Condition d'alerte |
| `data` | json | Données de requête de la règle d'alerte |
| `folderUID` | string | UID du dossier parent |
| `ruleGroup` | string | Nom du groupe de règles |
| `noDataState` | string | État lorsqu'aucune donnée n'est retournée |
| `execErrState` | string | État en cas d'erreur d'exécution |
| `annotations` | json | Annotations d'alerte |
| `labels` | json | Étiquettes d'alerte |
### `grafana_create_alert_rule`
Créer une nouvelle règle d'alerte
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `title` | string | Oui | Le titre de la règle d'alerte |
| `folderUid` | string | Oui | L'UID du dossier dans lequel créer l'alerte |
| `ruleGroup` | string | Oui | Le nom du groupe de règles |
| `condition` | string | Oui | Le refId de la requête ou de l'expression à utiliser comme condition d'alerte |
| `data` | string | Oui | Tableau JSON d'objets de données de requête/expression |
| `forDuration` | string | Non | Durée d'attente avant déclenchement \(ex., 5m, 1h\) |
| `noDataState` | string | Non | État lorsqu'aucune donnée n'est retournée \(NoData, Alerting, OK\) |
| `execErrState` | string | Non | État en cas d'erreur d'exécution \(Alerting, OK\) |
| `annotations` | string | Non | Objet JSON d'annotations |
| `labels` | string | Non | Objet JSON d'étiquettes |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `uid` | string | L'UID de la règle d'alerte créée |
| `title` | string | Titre de la règle d'alerte |
| `folderUID` | string | UID du dossier parent |
| `ruleGroup` | string | Nom du groupe de règles |
### `grafana_update_alert_rule`
Mettre à jour une règle d'alerte existante. Récupère la règle actuelle et fusionne vos modifications.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (ex. : https://your-grafana.com) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `alertRuleUid` | string | Oui | L'UID de la règle d'alerte à mettre à jour |
| `title` | string | Non | Nouveau titre pour la règle d'alerte |
| `folderUid` | string | Non | Nouvel UID de dossier pour déplacer l'alerte |
| `ruleGroup` | string | Non | Nouveau nom du groupe de règles |
| `condition` | string | Non | Nouvelle référence de condition |
| `data` | string | Non | Nouveau tableau JSON d'objets de données de requête/expression |
| `forDuration` | string | Non | Durée d'attente avant déclenchement (ex. : 5m, 1h) |
| `noDataState` | string | Non | État en l'absence de données (NoData, Alerting, OK) |
| `execErrState` | string | Non | État en cas d'erreur d'exécution (Alerting, OK) |
| `annotations` | string | Non | Objet JSON d'annotations |
| `labels` | string | Non | Objet JSON d'étiquettes |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `uid` | string | L'UID de la règle d'alerte mise à jour |
| `title` | string | Titre de la règle d'alerte |
| `folderUID` | string | UID du dossier parent |
| `ruleGroup` | string | Nom du groupe de règles |
### `grafana_delete_alert_rule`
Supprimer une règle d'alerte par son UID
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (par ex., https://your-grafana.com) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
| `alertRuleUid` | string | Oui | L'UID de la règle d'alerte à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `message` | string | Message de confirmation |
### `grafana_list_contact_points`
Lister tous les points de contact de notification d'alerte
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (par ex., https://your-grafana.com) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `contactPoints` | array | Liste des points de contact |
### `grafana_create_annotation`
Créer une annotation sur un tableau de bord ou comme annotation globale
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `apiKey` | chaîne | Oui | Jeton de compte de service Grafana |
| `baseUrl` | chaîne | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | chaîne | Non | ID d'organisation pour les instances Grafana multi-organisations |
| `text` | chaîne | Oui | Le contenu textuel de l'annotation |
| `tags` | chaîne | Non | Liste de tags séparés par des virgules |
| `dashboardUid` | chaîne | Non | UID du tableau de bord auquel ajouter l'annotation \(facultatif pour les annotations globales\) |
| `panelId` | nombre | Non | ID du panneau auquel ajouter l'annotation |
| `time` | nombre | Non | Heure de début en millisecondes d'époque \(par défaut : maintenant\) |
| `timeEnd` | nombre | Non | Heure de fin en millisecondes d'époque \(pour les annotations de plage\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | nombre | L'ID de l'annotation créée |
| `message` | chaîne | Message de confirmation |
### `grafana_list_annotations`
Interroger les annotations par plage de temps, tableau de bord ou tags
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `apiKey` | chaîne | Oui | Jeton de compte de service Grafana |
| `baseUrl` | chaîne | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | chaîne | Non | ID d'organisation pour les instances Grafana multi-organisations |
| `from` | nombre | Non | Heure de début en millisecondes d'époque |
| `to` | nombre | Non | Heure de fin en millisecondes d'époque |
| `dashboardUid` | chaîne | Non | Filtrer par UID de tableau de bord |
| `panelId` | nombre | Non | Filtrer par ID de panneau |
| `tags` | chaîne | Non | Liste de tags séparés par des virgules pour filtrer |
| `type` | chaîne | Non | Filtrer par type \(alerte ou annotation\) |
| `limit` | nombre | Non | Nombre maximum d'annotations à retourner |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `annotations` | array | Liste des annotations |
### `grafana_update_annotation`
Mettre à jour une annotation existante
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (ex. : https://your-grafana.com) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `annotationId` | number | Oui | L'ID de l'annotation à mettre à jour |
| `text` | string | Oui | Nouveau contenu textuel pour l'annotation |
| `tags` | string | Non | Liste de nouvelles balises séparées par des virgules |
| `time` | number | Non | Nouvelle heure de début en millisecondes d'époque |
| `timeEnd` | number | Non | Nouvelle heure de fin en millisecondes d'époque |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | L'ID de l'annotation mise à jour |
| `message` | string | Message de confirmation |
### `grafana_delete_annotation`
Supprimer une annotation par son ID
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (ex. : https://your-grafana.com) |
| `organizationId` | string | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `annotationId` | number | Oui | L'ID de l'annotation à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `message` | string | Message de confirmation |
### `grafana_list_data_sources`
Lister toutes les sources de données configurées dans Grafana
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (ex. : https://your-grafana.com) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `dataSources` | array | Liste des sources de données |
### `grafana_get_data_source`
Obtenir une source de données par son ID ou UID
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `apiKey` | string | Oui | Jeton de compte de service Grafana |
| `baseUrl` | string | Oui | URL de l'instance Grafana (ex. : https://your-grafana.com) |
| `organizationId` | string | Non | ID d'organisation pour les instances Grafana multi-organisations |
| `dataSourceId` | string | Oui | L'ID ou l'UID de la source de données à récupérer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | number | ID de la source de données |
| `uid` | string | UID de la source de données |
| `name` | string | Nom de la source de données |
| `type` | string | Type de source de données |
| `url` | string | URL de connexion de la source de données |
| `database` | string | Nom de la base de données (si applicable) |
| `isDefault` | boolean | Indique si c'est la source de données par défaut |
| `jsonData` | json | Configuration supplémentaire de la source de données |
### `grafana_list_folders`
Lister tous les dossiers dans Grafana
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | chaîne | Oui | Jeton de compte de service Grafana |
| `baseUrl` | chaîne | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | chaîne | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `limit` | nombre | Non | Nombre maximum de dossiers à retourner |
| `page` | nombre | Non | Numéro de page pour la pagination |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `folders` | tableau | Liste des dossiers |
### `grafana_create_folder`
Créer un nouveau dossier dans Grafana
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | chaîne | Oui | Jeton de compte de service Grafana |
| `baseUrl` | chaîne | Oui | URL de l'instance Grafana \(ex., https://your-grafana.com\) |
| `organizationId` | chaîne | Non | ID de l'organisation pour les instances Grafana multi-organisations |
| `title` | chaîne | Oui | Le titre du nouveau dossier |
| `uid` | chaîne | Non | UID optionnel pour le dossier \(généré automatiquement si non fourni\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | nombre | L'ID numérique du dossier créé |
| `uid` | chaîne | L'UID du dossier créé |
| `title` | chaîne | Le titre du dossier créé |
| `url` | chaîne | Le chemin URL vers le dossier |
## Notes
- Catégorie : `tools`
- Type : `grafana`

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