mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-09 23:17:59 -05:00
Compare commits
227 Commits
feat/run-f
...
typescript
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c32ad4c0d | ||
|
|
1e080e98e8 | ||
|
|
b069034d9c | ||
|
|
3a4f130f69 | ||
|
|
e80feee51f | ||
|
|
7f62467f84 | ||
|
|
7b2792122d | ||
|
|
4e9cab39c3 | ||
|
|
e3a57d30e8 | ||
|
|
f25db707d7 | ||
|
|
08d57b4f8b | ||
|
|
f56d85bda6 | ||
|
|
d7a650a355 | ||
|
|
a8f87f7e3a | ||
|
|
9330940658 | ||
|
|
fc5f815c7a | ||
|
|
7bf9251db1 | ||
|
|
1d08796853 | ||
|
|
21a640af50 | ||
|
|
a10e1a63af | ||
|
|
be91cd3794 | ||
|
|
1ee49ae611 | ||
|
|
aab1b3f259 | ||
|
|
8000394e98 | ||
|
|
0830490d32 | ||
|
|
93e1c513b2 | ||
|
|
ff79b78b5f | ||
|
|
3a3c946607 | ||
|
|
7b7586d093 | ||
|
|
ebcd243942 | ||
|
|
d413bcdfb0 | ||
|
|
ff768ca410 | ||
|
|
bbaf7e90f8 | ||
|
|
c80827f21b | ||
|
|
a5b7897b34 | ||
|
|
c6482f2997 | ||
|
|
bf1719a294 | ||
|
|
619cab162d | ||
|
|
72776f4402 | ||
|
|
6114c213d2 | ||
|
|
d1f0d21e7f | ||
|
|
33ac828d3d | ||
|
|
29156e3b61 | ||
|
|
fa4b34fc46 | ||
|
|
9fad5860bc | ||
|
|
0a4244bcef | ||
|
|
b7e814b721 | ||
|
|
3be57aff8f | ||
|
|
ddd3219126 | ||
|
|
67bd5bd8fa | ||
|
|
c52501616c | ||
|
|
3dbf0f5679 | ||
|
|
6187561219 | ||
|
|
022b4f64a7 | ||
|
|
768cdec6ce | ||
|
|
75f55c894a | ||
|
|
4a0450d1fc | ||
|
|
00ae718692 | ||
|
|
d7586cdd9f | ||
|
|
842ef27ed9 | ||
|
|
f208ff9356 | ||
|
|
31c34b2ea3 | ||
|
|
304cafe698 | ||
|
|
472aff5dd7 | ||
|
|
4d5c574363 | ||
|
|
e7d4afa46b | ||
|
|
f570592ad7 | ||
|
|
e64b1c9fcd | ||
|
|
7c5d625ca5 | ||
|
|
e5cb6e3d0f | ||
|
|
e4ccedc4ff | ||
|
|
d9cb63ce5f | ||
|
|
3468593f84 | ||
|
|
95d5fd9c35 | ||
|
|
becd19bc50 | ||
|
|
c93f6620f6 | ||
|
|
3647a3e38c | ||
|
|
f609b6ea4a | ||
|
|
2be3007d69 | ||
|
|
570b8d61f0 | ||
|
|
7045c4a47b | ||
|
|
5e11e5df91 | ||
|
|
2608f2f12c | ||
|
|
96207d85a7 | ||
|
|
a7fe1d3aea | ||
|
|
3faab2cb01 | ||
|
|
02d9fedf0c | ||
|
|
a8a693f1ff | ||
|
|
e0aade85a6 | ||
|
|
8f0ef58056 | ||
|
|
33ca1483aa | ||
|
|
620ce97056 | ||
|
|
25ac91779b | ||
|
|
d51a756c1b | ||
|
|
3d1feab507 | ||
|
|
98908dbfb9 | ||
|
|
00d9b45a22 | ||
|
|
b5b2855b40 | ||
|
|
a81f3847df | ||
|
|
3058e35edf | ||
|
|
6f3dee867c | ||
|
|
bfa7c919d8 | ||
|
|
e37b01b92c | ||
|
|
7e3e38a6f2 | ||
|
|
1c85fe9a51 | ||
|
|
5f446ad756 | ||
|
|
d99d5fe39c | ||
|
|
949f9287cf | ||
|
|
fca92a7499 | ||
|
|
c25ea5c677 | ||
|
|
dccd9e9ce5 | ||
|
|
b5d9964c48 | ||
|
|
4bd0f31f36 | ||
|
|
f8070f9029 | ||
|
|
bc8947caa6 | ||
|
|
f1111ec16f | ||
|
|
d0767507b2 | ||
|
|
8bd75debc1 | ||
|
|
ad2a375358 | ||
|
|
de91dc97a9 | ||
|
|
31ed712378 | ||
|
|
aca4d2fc15 | ||
|
|
96958104c0 | ||
|
|
6f29e2413c | ||
|
|
c2ccd51b3e | ||
|
|
ec430abca2 | ||
|
|
4b4060f63f | ||
|
|
72a048f37d | ||
|
|
fa18bef65b | ||
|
|
a9eb91aed1 | ||
|
|
16a4f37dac | ||
|
|
6c56d48e73 | ||
|
|
1082e55871 | ||
|
|
948b6575dc | ||
|
|
3ba33791f7 | ||
|
|
1e915d5427 | ||
|
|
d86198ad5d | ||
|
|
785f847c48 | ||
|
|
dab70a8f1d | ||
|
|
d2c0147822 | ||
|
|
67d9343022 | ||
|
|
b3caef1f31 | ||
|
|
5457d4bc7b | ||
|
|
32a2e09a14 | ||
|
|
80eaeb00c2 | ||
|
|
b67b4ff8fb | ||
|
|
6f4f8cfad2 | ||
|
|
3a8f01f3e4 | ||
|
|
383b6f05a6 | ||
|
|
a70f2a6690 | ||
|
|
53150021e0 | ||
|
|
4e5b834433 | ||
|
|
304fb28baf | ||
|
|
07e803cfdd | ||
|
|
d50aefcc68 | ||
|
|
6513cbb7c1 | ||
|
|
f9e822f6c8 | ||
|
|
74202ce1fc | ||
|
|
66c8fa2a77 | ||
|
|
766c7fbfbb | ||
|
|
675c42188a | ||
|
|
f414ae1936 | ||
|
|
ead0db9d2a | ||
|
|
10288111a8 | ||
|
|
01183f1771 | ||
|
|
ff081714e4 | ||
|
|
36bcd75832 | ||
|
|
9db969b1e0 | ||
|
|
2fbe0de5d3 | ||
|
|
6315cc105b | ||
|
|
61404d48a3 | ||
|
|
dbf9097a5b | ||
|
|
79b318fd9c | ||
|
|
cb39e697e2 | ||
|
|
e1a46c90c6 | ||
|
|
c7560be282 | ||
|
|
63f18995da | ||
|
|
af501347bb | ||
|
|
6747d89865 | ||
|
|
1201327adc | ||
|
|
f4434e302c | ||
|
|
42e2769526 | ||
|
|
a0c4bce56e | ||
|
|
64c5f2c473 | ||
|
|
413c460ae8 | ||
|
|
fa42ea44c1 | ||
|
|
1bd18ee85b | ||
|
|
e3e951832b | ||
|
|
56835b94d8 | ||
|
|
9a6a6fdacb | ||
|
|
41066b84d2 | ||
|
|
5cea73fe91 | ||
|
|
cbc98ab4f5 | ||
|
|
81411c73b7 | ||
|
|
d11ee04432 | ||
|
|
1d58fdf234 | ||
|
|
96f134b127 | ||
|
|
769555676e | ||
|
|
679c3418d6 | ||
|
|
7b48d6ed53 | ||
|
|
b093550656 | ||
|
|
9b702c4793 | ||
|
|
77ba4d106f | ||
|
|
77d897da85 | ||
|
|
f00d5516df | ||
|
|
831ce91577 | ||
|
|
1cce486442 | ||
|
|
7c398e64dc | ||
|
|
a6a9962cb3 | ||
|
|
16bd54c05a | ||
|
|
1130befb17 | ||
|
|
b6139d6f6e | ||
|
|
c86f2a0537 | ||
|
|
41f3d506da | ||
|
|
fc162ab236 | ||
|
|
bc25ea28e0 | ||
|
|
68aaedebbf | ||
|
|
ec70f6fafe | ||
|
|
37fd21e0aa | ||
|
|
82731850b2 | ||
|
|
991b0e31ad | ||
|
|
cd48cd4de4 | ||
|
|
4b37f92f3a | ||
|
|
698717d044 | ||
|
|
170eb36ebf | ||
|
|
118c477d97 | ||
|
|
2f9224c166 |
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@@ -374,7 +374,7 @@ In addition, you will need to update the registries:
|
||||
Add your block to the blocks registry (`/apps/sim/blocks/registry.ts`):
|
||||
|
||||
```typescript:/apps/sim/blocks/registry.ts
|
||||
import { PineconeBlock } from './blocks/pinecone'
|
||||
import { PineconeBlock } from '@/blocks/blocks/pinecone'
|
||||
|
||||
// Registry of all available blocks
|
||||
export const registry: Record<string, BlockConfig> = {
|
||||
|
||||
38
.github/workflows/ci.yml
vendored
38
.github/workflows/ci.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
name: Build AMD64
|
||||
needs: test-build
|
||||
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
@@ -112,7 +112,7 @@ jobs:
|
||||
build-ghcr-arm64:
|
||||
name: Build ARM64 (GHCR Only)
|
||||
needs: test-build
|
||||
runs-on: linux-arm64-8-core
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404-arm
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -162,7 +162,7 @@ jobs:
|
||||
# Create GHCR multi-arch manifests (only for main, after both builds)
|
||||
create-ghcr-manifests:
|
||||
name: Create GHCR Manifests
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404
|
||||
needs: [build-amd64, build-ghcr-arm64]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
permissions:
|
||||
@@ -198,18 +198,30 @@ jobs:
|
||||
"${IMAGE_BASE}:${{ github.sha }}-arm64"
|
||||
docker manifest push "${IMAGE_BASE}:${{ github.sha }}"
|
||||
|
||||
# Deploy Trigger.dev (after ECR images are pushed, runs in parallel with process-docs)
|
||||
trigger-deploy:
|
||||
name: Deploy Trigger.dev
|
||||
needs: build-amd64
|
||||
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
|
||||
uses: ./.github/workflows/trigger-deploy.yml
|
||||
secrets: inherit
|
||||
# Check if docs changed
|
||||
check-docs-changes:
|
||||
name: Check Docs Changes
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
outputs:
|
||||
docs_changed: ${{ steps.filter.outputs.docs }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 2 # Need at least 2 commits to detect changes
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
docs:
|
||||
- 'apps/docs/content/docs/en/**'
|
||||
- 'apps/sim/scripts/process-docs.ts'
|
||||
- 'apps/sim/lib/chunkers/**'
|
||||
|
||||
# Process docs embeddings (after ECR images are pushed, runs in parallel with trigger-deploy)
|
||||
# Process docs embeddings (only when docs change, after ECR images are pushed)
|
||||
process-docs:
|
||||
name: Process Docs
|
||||
needs: build-amd64
|
||||
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
|
||||
needs: [build-amd64, check-docs-changes]
|
||||
if: needs.check-docs-changes.outputs.docs_changed == 'true'
|
||||
uses: ./.github/workflows/docs-embeddings.yml
|
||||
secrets: inherit
|
||||
|
||||
19
.github/workflows/docs-embeddings.yml
vendored
19
.github/workflows/docs-embeddings.yml
vendored
@@ -7,8 +7,8 @@ on:
|
||||
jobs:
|
||||
process-docs-embeddings:
|
||||
name: Process Documentation Embeddings
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging'
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404
|
||||
if: github.ref == 'refs/heads/main'
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
@@ -24,12 +24,23 @@ jobs:
|
||||
with:
|
||||
node-version: latest
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Process docs embeddings
|
||||
working-directory: ./apps/sim
|
||||
env:
|
||||
DATABASE_URL: ${{ github.ref == 'refs/heads/main' && secrets.DATABASE_URL || secrets.STAGING_DATABASE_URL }}
|
||||
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
run: bun run scripts/process-docs.ts --clear
|
||||
|
||||
24
.github/workflows/i18n.yml
vendored
24
.github/workflows/i18n.yml
vendored
@@ -28,6 +28,17 @@ jobs:
|
||||
with:
|
||||
bun-version: 1.2.22
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Run Lingo.dev translations
|
||||
env:
|
||||
LINGODOTDEV_API_KEY: ${{ secrets.LINGODOTDEV_API_KEY }}
|
||||
@@ -117,10 +128,21 @@ jobs:
|
||||
with:
|
||||
bun-version: 1.2.22
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cd apps/docs
|
||||
bun install
|
||||
bun install --frozen-lockfile
|
||||
|
||||
- name: Build documentation to verify translations
|
||||
run: |
|
||||
|
||||
6
.github/workflows/images.yml
vendored
6
.github/workflows/images.yml
vendored
@@ -12,7 +12,7 @@ permissions:
|
||||
jobs:
|
||||
build-amd64:
|
||||
name: Build AMD64
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
|
||||
build-ghcr-arm64:
|
||||
name: Build ARM64 (GHCR Only)
|
||||
runs-on: linux-arm64-8-core
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404-arm
|
||||
if: github.ref == 'refs/heads/main'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -146,7 +146,7 @@ jobs:
|
||||
|
||||
create-ghcr-manifests:
|
||||
name: Create GHCR Manifests
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: blacksmith-8vcpu-ubuntu-2404
|
||||
needs: [build-amd64, build-ghcr-arm64]
|
||||
if: github.ref == 'refs/heads/main'
|
||||
strategy:
|
||||
|
||||
13
.github/workflows/migrations.yml
vendored
13
.github/workflows/migrations.yml
vendored
@@ -18,8 +18,19 @@ jobs:
|
||||
with:
|
||||
bun-version: 1.2.22
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Apply migrations
|
||||
working-directory: ./packages/db
|
||||
|
||||
13
.github/workflows/publish-cli.yml
vendored
13
.github/workflows/publish-cli.yml
vendored
@@ -24,9 +24,20 @@ jobs:
|
||||
node-version: '18'
|
||||
registry-url: 'https://registry.npmjs.org/'
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
working-directory: packages/cli
|
||||
run: bun install
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Build package
|
||||
working-directory: packages/cli
|
||||
|
||||
13
.github/workflows/publish-ts-sdk.yml
vendored
13
.github/workflows/publish-ts-sdk.yml
vendored
@@ -24,8 +24,19 @@ jobs:
|
||||
node-version: '22'
|
||||
registry-url: 'https://registry.npmjs.org/'
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Run tests
|
||||
working-directory: packages/ts-sdk
|
||||
|
||||
11
.github/workflows/test-build.yml
vendored
11
.github/workflows/test-build.yml
vendored
@@ -23,6 +23,17 @@ jobs:
|
||||
with:
|
||||
node-version: latest
|
||||
|
||||
- name: Cache Bun dependencies
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
node_modules
|
||||
**/node_modules
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-bun-
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
|
||||
44
.github/workflows/trigger-deploy.yml
vendored
44
.github/workflows/trigger-deploy.yml
vendored
@@ -1,44 +0,0 @@
|
||||
name: Trigger.dev Deploy
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
name: Deploy to Trigger.dev
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
concurrency:
|
||||
group: trigger-deploy-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
env:
|
||||
TRIGGER_ACCESS_TOKEN: ${{ secrets.TRIGGER_ACCESS_TOKEN }}
|
||||
TRIGGER_PROJECT_ID: ${{ secrets.TRIGGER_PROJECT_ID }}
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: latest
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: 1.2.22
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install
|
||||
|
||||
- name: Deploy to Trigger.dev (Staging)
|
||||
if: github.ref == 'refs/heads/staging'
|
||||
working-directory: ./apps/sim
|
||||
run: npx --yes trigger.dev@4.0.4 deploy -e staging
|
||||
|
||||
- name: Deploy to Trigger.dev (Production)
|
||||
if: github.ref == 'refs/heads/main'
|
||||
working-directory: ./apps/sim
|
||||
run: npx --yes trigger.dev@4.0.4 deploy
|
||||
|
||||
19
README.md
19
README.md
@@ -13,8 +13,25 @@
|
||||
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a>
|
||||
</p>
|
||||
|
||||
### Build Workflows with Ease
|
||||
Design agent workflows visually on a canvas—connect agents, tools, and blocks, then run them instantly.
|
||||
|
||||
<p align="center">
|
||||
<img src="apps/sim/public/static/demo.gif" alt="Sim Demo" width="800"/>
|
||||
<img src="apps/sim/public/static/workflow.gif" alt="Workflow Builder Demo" width="800"/>
|
||||
</p>
|
||||
|
||||
### Supercharge with Copilot
|
||||
Leverage Copilot to generate nodes, fix errors, and iterate on flows directly from natural language.
|
||||
|
||||
<p align="center">
|
||||
<img src="apps/sim/public/static/copilot.gif" alt="Copilot Demo" width="800"/>
|
||||
</p>
|
||||
|
||||
### Integrate Vector Databases
|
||||
Upload documents to a vector store and let agents answer questions grounded in your specific content.
|
||||
|
||||
<p align="center">
|
||||
<img src="apps/sim/public/static/knowledge.gif" alt="Knowledge Uploads and Retrieval Demo" width="800"/>
|
||||
</p>
|
||||
|
||||
## Quickstart
|
||||
|
||||
@@ -198,15 +198,11 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
|
||||
component: <CustomFooter />,
|
||||
}}
|
||||
>
|
||||
<div className='relative'>
|
||||
<div className='relative mt-6 sm:mt-0'>
|
||||
<div className='absolute top-1 right-0 flex items-center gap-2'>
|
||||
<CopyPageButton
|
||||
content={`# ${page.data.title}
|
||||
|
||||
${page.data.description || ''}
|
||||
|
||||
${page.data.content || ''}`}
|
||||
/>
|
||||
<div className='hidden sm:flex'>
|
||||
<CopyPageButton markdownUrl={`${page.url}.mdx`} />
|
||||
</div>
|
||||
<PageNavigationArrows previous={neighbours?.previous} next={neighbours?.next} />
|
||||
</div>
|
||||
<DocsTitle>{page.data.title}</DocsTitle>
|
||||
|
||||
@@ -13,7 +13,6 @@ import { Navbar } from '@/components/navbar/navbar'
|
||||
import { i18n } from '@/lib/i18n'
|
||||
import { source } from '@/lib/source'
|
||||
import '../global.css'
|
||||
import { Analytics } from '@vercel/analytics/next'
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ['latin'],
|
||||
@@ -94,6 +93,8 @@ export default async function Layout({ children, params }: LayoutProps) {
|
||||
type='application/ld+json'
|
||||
dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }}
|
||||
/>
|
||||
{/* OneDollarStats Analytics - CDN script handles everything automatically */}
|
||||
<script defer src='https://assets.onedollarstats.com/stonks.js' />
|
||||
</head>
|
||||
<body className='flex min-h-screen flex-col font-sans'>
|
||||
<RootProvider i18n={provider(lang)}>
|
||||
@@ -132,7 +133,6 @@ export default async function Layout({ children, params }: LayoutProps) {
|
||||
>
|
||||
{children}
|
||||
</DocsLayout>
|
||||
<Analytics />
|
||||
</RootProvider>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -10,7 +10,11 @@ export async function GET(_req: NextRequest, { params }: { params: Promise<{ slu
|
||||
const page = source.getPage(slug)
|
||||
if (!page) notFound()
|
||||
|
||||
return new NextResponse(await getLLMText(page))
|
||||
return new NextResponse(await getLLMText(page), {
|
||||
headers: {
|
||||
'Content-Type': 'text/markdown',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
export function generateStaticParams() {
|
||||
|
||||
11
apps/docs/cli.json
Normal file
11
apps/docs/cli.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"aliases": {
|
||||
"uiDir": "./components/ui",
|
||||
"componentsDir": "./components",
|
||||
"blockDir": "./components",
|
||||
"cssDir": "./styles",
|
||||
"libDir": "./lib"
|
||||
},
|
||||
"baseDir": "",
|
||||
"commands": {}
|
||||
}
|
||||
@@ -69,7 +69,7 @@ export function SidebarFolder({
|
||||
</Link>
|
||||
<button
|
||||
onClick={() => setOpen(!open)}
|
||||
className='rounded p-1 transition-colors hover:bg-gray-100/60 dark:hover:bg-gray-800/40'
|
||||
className='cursor-pointer rounded p-1 transition-colors hover:bg-gray-100/60 dark:hover:bg-gray-800/40'
|
||||
aria-label={open ? 'Collapse' : 'Expand'}
|
||||
>
|
||||
<ChevronRight
|
||||
@@ -84,7 +84,7 @@ export function SidebarFolder({
|
||||
<button
|
||||
onClick={() => setOpen(!open)}
|
||||
className={cn(
|
||||
'flex w-full items-center justify-between rounded-md px-2.5 py-1.5 text-left font-medium text-[13px] leading-tight transition-colors',
|
||||
'flex w-full cursor-pointer items-center justify-between rounded-md px-2.5 py-1.5 text-left font-medium text-[13px] leading-tight transition-colors',
|
||||
'hover:bg-gray-100/60 dark:hover:bg-gray-800/40',
|
||||
'text-gray-800 dark:text-gray-200'
|
||||
)}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,20 +1,24 @@
|
||||
'use client'
|
||||
|
||||
import type * as React from 'react'
|
||||
import { blockTypeToIconMap } from '@/components/ui/icon-mapping'
|
||||
|
||||
interface BlockInfoCardProps {
|
||||
type: string
|
||||
color: string
|
||||
icon?: boolean
|
||||
iconSvg?: string
|
||||
icon?: React.ComponentType<{ className?: string }>
|
||||
iconSvg?: string // Deprecated: Use automatic icon resolution instead
|
||||
}
|
||||
|
||||
export function BlockInfoCard({
|
||||
type,
|
||||
color,
|
||||
icon = false,
|
||||
icon: IconComponent,
|
||||
iconSvg,
|
||||
}: BlockInfoCardProps): React.ReactNode {
|
||||
// Auto-resolve icon component from block type if not explicitly provided
|
||||
const ResolvedIcon = IconComponent || blockTypeToIconMap[type] || null
|
||||
|
||||
return (
|
||||
<div className='mb-6 overflow-hidden rounded-lg border border-border'>
|
||||
<div className='flex items-center justify-center p-6'>
|
||||
@@ -22,23 +26,15 @@ export function BlockInfoCard({
|
||||
className='flex h-20 w-20 items-center justify-center rounded-lg'
|
||||
style={{ backgroundColor: color }}
|
||||
>
|
||||
{iconSvg ? (
|
||||
{ResolvedIcon ? (
|
||||
<ResolvedIcon className='h-10 w-10 text-white' />
|
||||
) : iconSvg ? (
|
||||
<div className='h-10 w-10 text-white' dangerouslySetInnerHTML={{ __html: iconSvg }} />
|
||||
) : (
|
||||
<div className='font-mono text-xl opacity-70'>{type.substring(0, 2)}</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
{icon && (
|
||||
<style jsx global>{`
|
||||
.block-icon {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
margin: 1rem auto;
|
||||
display: block;
|
||||
}
|
||||
`}</style>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
27
apps/docs/components/ui/button.tsx
Normal file
27
apps/docs/components/ui/button.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import { cva, type VariantProps } from 'class-variance-authority'
|
||||
|
||||
const variants = {
|
||||
primary: 'bg-fd-primary text-fd-primary-foreground hover:bg-fd-primary/80',
|
||||
outline: 'border hover:bg-fd-accent hover:text-fd-accent-foreground',
|
||||
ghost: 'hover:bg-fd-accent hover:text-fd-accent-foreground',
|
||||
secondary:
|
||||
'border bg-fd-secondary text-fd-secondary-foreground hover:bg-fd-accent hover:text-fd-accent-foreground',
|
||||
} as const
|
||||
|
||||
export const buttonVariants = cva(
|
||||
'inline-flex items-center justify-center rounded-md p-2 text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring',
|
||||
{
|
||||
variants: {
|
||||
variant: variants,
|
||||
color: variants,
|
||||
size: {
|
||||
sm: 'gap-1 px-2 py-1.5 text-xs',
|
||||
icon: 'p-1.5 [&_svg]:size-5',
|
||||
'icon-sm': 'p-1.5 [&_svg]:size-4.5',
|
||||
'icon-xs': 'p-1 [&_svg]:size-4',
|
||||
},
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
export type ButtonProps = VariantProps<typeof buttonVariants>
|
||||
@@ -30,7 +30,7 @@ export function CodeBlock(props: React.ComponentProps<typeof FumadocsCodeBlock>)
|
||||
if (pre) handleCopy(pre.textContent || '')
|
||||
}}
|
||||
className={cn(
|
||||
'rounded-md p-2 transition-all',
|
||||
'cursor-pointer rounded-md p-2 transition-all',
|
||||
'border border-border bg-background/80 hover:bg-muted',
|
||||
'backdrop-blur-sm'
|
||||
)}
|
||||
|
||||
@@ -3,27 +3,50 @@
|
||||
import { useState } from 'react'
|
||||
import { Check, Copy } from 'lucide-react'
|
||||
|
||||
const cache = new Map<string, string>()
|
||||
|
||||
interface CopyPageButtonProps {
|
||||
content: string
|
||||
markdownUrl: string
|
||||
}
|
||||
|
||||
export function CopyPageButton({ content }: CopyPageButtonProps) {
|
||||
export function CopyPageButton({ markdownUrl }: CopyPageButtonProps) {
|
||||
const [copied, setCopied] = useState(false)
|
||||
const [isLoading, setLoading] = useState(false)
|
||||
|
||||
const handleCopy = async () => {
|
||||
const cached = cache.get(markdownUrl)
|
||||
if (cached) {
|
||||
await navigator.clipboard.writeText(cached)
|
||||
setCopied(true)
|
||||
setTimeout(() => setCopied(false), 2000)
|
||||
return
|
||||
}
|
||||
|
||||
setLoading(true)
|
||||
try {
|
||||
await navigator.clipboard.writeText(content)
|
||||
await navigator.clipboard.write([
|
||||
new ClipboardItem({
|
||||
'text/plain': fetch(markdownUrl).then(async (res) => {
|
||||
const content = await res.text()
|
||||
cache.set(markdownUrl, content)
|
||||
return content
|
||||
}),
|
||||
}),
|
||||
])
|
||||
setCopied(true)
|
||||
setTimeout(() => setCopied(false), 2000)
|
||||
} catch (err) {
|
||||
console.error('Failed to copy:', err)
|
||||
} finally {
|
||||
setLoading(false)
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<button
|
||||
disabled={isLoading}
|
||||
onClick={handleCopy}
|
||||
className='flex items-center gap-1.5 rounded-lg border border-border/40 bg-background px-2.5 py-2 text-muted-foreground/60 text-sm leading-none transition-all hover:border-border hover:bg-accent/50 hover:text-muted-foreground'
|
||||
className='flex cursor-pointer items-center gap-1.5 rounded-lg border border-border/40 bg-background px-2.5 py-2 text-muted-foreground/60 text-sm leading-none transition-all hover:border-border hover:bg-accent/50 hover:text-muted-foreground'
|
||||
aria-label={copied ? 'Copied to clipboard' : 'Copy page content'}
|
||||
>
|
||||
{copied ? (
|
||||
|
||||
195
apps/docs/components/ui/icon-mapping.ts
Normal file
195
apps/docs/components/ui/icon-mapping.ts
Normal file
@@ -0,0 +1,195 @@
|
||||
// Auto-generated file - do not edit manually
|
||||
// Generated by scripts/generate-docs.ts
|
||||
// Maps block types to their icon component references
|
||||
|
||||
import type { ComponentType, SVGProps } from 'react'
|
||||
import {
|
||||
AirtableIcon,
|
||||
ApifyIcon,
|
||||
ApolloIcon,
|
||||
ArxivIcon,
|
||||
AsanaIcon,
|
||||
BrainIcon,
|
||||
BrowserUseIcon,
|
||||
CalendlyIcon,
|
||||
ClayIcon,
|
||||
ConfluenceIcon,
|
||||
DiscordIcon,
|
||||
DocumentIcon,
|
||||
ElevenLabsIcon,
|
||||
ExaAIIcon,
|
||||
EyeIcon,
|
||||
FirecrawlIcon,
|
||||
GithubIcon,
|
||||
GmailIcon,
|
||||
GoogleCalendarIcon,
|
||||
GoogleDocsIcon,
|
||||
GoogleDriveIcon,
|
||||
GoogleFormsIcon,
|
||||
GoogleIcon,
|
||||
GoogleSheetsIcon,
|
||||
GoogleVaultIcon,
|
||||
HubspotIcon,
|
||||
HuggingFaceIcon,
|
||||
HunterIOIcon,
|
||||
ImageIcon,
|
||||
IncidentioIcon,
|
||||
IntercomIcon,
|
||||
JinaAIIcon,
|
||||
JiraIcon,
|
||||
LinearIcon,
|
||||
LinkedInIcon,
|
||||
LinkupIcon,
|
||||
MailchimpIcon,
|
||||
MailgunIcon,
|
||||
Mem0Icon,
|
||||
MicrosoftExcelIcon,
|
||||
MicrosoftOneDriveIcon,
|
||||
MicrosoftPlannerIcon,
|
||||
MicrosoftSharepointIcon,
|
||||
MicrosoftTeamsIcon,
|
||||
MistralIcon,
|
||||
MongoDBIcon,
|
||||
MySQLIcon,
|
||||
Neo4jIcon,
|
||||
NotionIcon,
|
||||
OpenAIIcon,
|
||||
OutlookIcon,
|
||||
PackageSearchIcon,
|
||||
ParallelIcon,
|
||||
PerplexityIcon,
|
||||
PineconeIcon,
|
||||
PipedriveIcon,
|
||||
PostgresIcon,
|
||||
PosthogIcon,
|
||||
PylonIcon,
|
||||
QdrantIcon,
|
||||
RedditIcon,
|
||||
ResendIcon,
|
||||
S3Icon,
|
||||
SalesforceIcon,
|
||||
SearchIcon,
|
||||
SendgridIcon,
|
||||
SentryIcon,
|
||||
SerperIcon,
|
||||
SlackIcon,
|
||||
SmtpIcon,
|
||||
STTIcon,
|
||||
StagehandIcon,
|
||||
StripeIcon,
|
||||
SupabaseIcon,
|
||||
TavilyIcon,
|
||||
TelegramIcon,
|
||||
TranslateIcon,
|
||||
TrelloIcon,
|
||||
TTSIcon,
|
||||
TwilioIcon,
|
||||
TypeformIcon,
|
||||
VideoIcon,
|
||||
WealthboxIcon,
|
||||
WebflowIcon,
|
||||
WhatsAppIcon,
|
||||
WikipediaIcon,
|
||||
xIcon,
|
||||
YouTubeIcon,
|
||||
ZendeskIcon,
|
||||
ZepIcon,
|
||||
} from '@/components/icons'
|
||||
|
||||
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
|
||||
|
||||
export const blockTypeToIconMap: Record<string, IconComponent> = {
|
||||
zep: ZepIcon,
|
||||
zendesk: ZendeskIcon,
|
||||
youtube: YouTubeIcon,
|
||||
x: xIcon,
|
||||
wikipedia: WikipediaIcon,
|
||||
whatsapp: WhatsAppIcon,
|
||||
webflow: WebflowIcon,
|
||||
wealthbox: WealthboxIcon,
|
||||
vision: EyeIcon,
|
||||
video_generator: VideoIcon,
|
||||
typeform: TypeformIcon,
|
||||
twilio_voice: TwilioIcon,
|
||||
twilio_sms: TwilioIcon,
|
||||
tts: TTSIcon,
|
||||
trello: TrelloIcon,
|
||||
translate: TranslateIcon,
|
||||
thinking: BrainIcon,
|
||||
telegram: TelegramIcon,
|
||||
tavily: TavilyIcon,
|
||||
supabase: SupabaseIcon,
|
||||
stt: STTIcon,
|
||||
stripe: StripeIcon,
|
||||
stagehand_agent: StagehandIcon,
|
||||
stagehand: StagehandIcon,
|
||||
smtp: SmtpIcon,
|
||||
slack: SlackIcon,
|
||||
sharepoint: MicrosoftSharepointIcon,
|
||||
serper: SerperIcon,
|
||||
sentry: SentryIcon,
|
||||
sendgrid: SendgridIcon,
|
||||
search: SearchIcon,
|
||||
salesforce: SalesforceIcon,
|
||||
s3: S3Icon,
|
||||
resend: ResendIcon,
|
||||
reddit: RedditIcon,
|
||||
qdrant: QdrantIcon,
|
||||
pylon: PylonIcon,
|
||||
posthog: PosthogIcon,
|
||||
postgresql: PostgresIcon,
|
||||
pipedrive: PipedriveIcon,
|
||||
pinecone: PineconeIcon,
|
||||
perplexity: PerplexityIcon,
|
||||
parallel_ai: ParallelIcon,
|
||||
outlook: OutlookIcon,
|
||||
openai: OpenAIIcon,
|
||||
onedrive: MicrosoftOneDriveIcon,
|
||||
notion: NotionIcon,
|
||||
neo4j: Neo4jIcon,
|
||||
mysql: MySQLIcon,
|
||||
mongodb: MongoDBIcon,
|
||||
mistral_parse: MistralIcon,
|
||||
microsoft_teams: MicrosoftTeamsIcon,
|
||||
microsoft_planner: MicrosoftPlannerIcon,
|
||||
microsoft_excel: MicrosoftExcelIcon,
|
||||
memory: BrainIcon,
|
||||
mem0: Mem0Icon,
|
||||
mailgun: MailgunIcon,
|
||||
mailchimp: MailchimpIcon,
|
||||
linkup: LinkupIcon,
|
||||
linkedin: LinkedInIcon,
|
||||
linear: LinearIcon,
|
||||
knowledge: PackageSearchIcon,
|
||||
jira: JiraIcon,
|
||||
jina: JinaAIIcon,
|
||||
intercom: IntercomIcon,
|
||||
incidentio: IncidentioIcon,
|
||||
image_generator: ImageIcon,
|
||||
hunter: HunterIOIcon,
|
||||
huggingface: HuggingFaceIcon,
|
||||
hubspot: HubspotIcon,
|
||||
google_vault: GoogleVaultIcon,
|
||||
google_sheets: GoogleSheetsIcon,
|
||||
google_forms: GoogleFormsIcon,
|
||||
google_drive: GoogleDriveIcon,
|
||||
google_docs: GoogleDocsIcon,
|
||||
google_calendar: GoogleCalendarIcon,
|
||||
google_search: GoogleIcon,
|
||||
gmail: GmailIcon,
|
||||
github: GithubIcon,
|
||||
firecrawl: FirecrawlIcon,
|
||||
file: DocumentIcon,
|
||||
exa: ExaAIIcon,
|
||||
elevenlabs: ElevenLabsIcon,
|
||||
discord: DiscordIcon,
|
||||
confluence: ConfluenceIcon,
|
||||
clay: ClayIcon,
|
||||
calendly: CalendlyIcon,
|
||||
browser_use: BrowserUseIcon,
|
||||
asana: AsanaIcon,
|
||||
arxiv: ArxivIcon,
|
||||
apollo: ApolloIcon,
|
||||
apify: ApifyIcon,
|
||||
airtable: AirtableIcon,
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
import { useState } from 'react'
|
||||
import NextImage, { type ImageProps as NextImageProps } from 'next/image'
|
||||
import { Lightbox } from '@/components/ui/lightbox'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { Lightbox } from './lightbox'
|
||||
|
||||
interface ImageProps extends Omit<NextImageProps, 'className'> {
|
||||
className?: string
|
||||
|
||||
@@ -82,7 +82,7 @@ export function LanguageDropdown() {
|
||||
aria-haspopup='listbox'
|
||||
aria-expanded={isOpen}
|
||||
aria-controls='language-menu'
|
||||
className='flex items-center gap-1.5 rounded-xl px-3 py-2 font-normal text-[0.9375rem] text-foreground/60 leading-[1.4] transition-colors hover:bg-foreground/8 hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring'
|
||||
className='flex cursor-pointer items-center gap-1.5 rounded-xl px-3 py-2 font-normal text-[0.9375rem] text-foreground/60 leading-[1.4] transition-colors hover:bg-foreground/8 hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring'
|
||||
style={{
|
||||
fontFamily:
|
||||
'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
|
||||
@@ -110,7 +110,7 @@ export function LanguageDropdown() {
|
||||
}}
|
||||
role='option'
|
||||
aria-selected={currentLang === code}
|
||||
className={`flex w-full items-center gap-3 px-3 py-3 text-base transition-colors first:rounded-t-xl last:rounded-b-xl hover:bg-muted/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring md:gap-2 md:px-2.5 md:py-2 md:text-sm ${
|
||||
className={`flex w-full cursor-pointer items-center gap-3 px-3 py-3 text-base transition-colors first:rounded-t-xl last:rounded-b-xl hover:bg-muted/80 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring md:gap-2 md:px-2.5 md:py-2 md:text-sm ${
|
||||
currentLang === code ? 'bg-muted/60 font-medium text-primary' : 'text-foreground'
|
||||
}`}
|
||||
>
|
||||
|
||||
@@ -15,7 +15,7 @@ export function SearchTrigger() {
|
||||
return (
|
||||
<button
|
||||
type='button'
|
||||
className='flex h-10 w-[460px] items-center gap-2 rounded-xl border border-border/50 px-3 py-2 text-sm backdrop-blur-xl transition-colors hover:border-border'
|
||||
className='flex h-10 w-[460px] cursor-pointer items-center gap-2 rounded-xl border border-border/50 px-3 py-2 text-sm backdrop-blur-xl transition-colors hover:border-border'
|
||||
style={{
|
||||
backgroundColor: 'hsla(0, 0%, 5%, 0.85)',
|
||||
backdropFilter: 'blur(33px) saturate(180%)',
|
||||
|
||||
@@ -14,7 +14,7 @@ export function ThemeToggle() {
|
||||
|
||||
if (!mounted) {
|
||||
return (
|
||||
<button className='flex items-center justify-center rounded-md p-1 text-muted-foreground'>
|
||||
<button className='flex cursor-pointer items-center justify-center rounded-md p-1 text-muted-foreground'>
|
||||
<Moon className='h-4 w-4' />
|
||||
</button>
|
||||
)
|
||||
@@ -23,7 +23,7 @@ export function ThemeToggle() {
|
||||
return (
|
||||
<button
|
||||
onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}
|
||||
className='flex items-center justify-center rounded-md p-1 text-muted-foreground transition-colors hover:text-foreground'
|
||||
className='flex cursor-pointer items-center justify-center rounded-md p-1 text-muted-foreground transition-colors hover:text-foreground'
|
||||
aria-label='Toggle theme'
|
||||
>
|
||||
{theme === 'dark' ? <Moon className='h-4 w-4' /> : <Sun className='h-4 w-4' />}
|
||||
|
||||
@@ -3,12 +3,10 @@ title: Agent
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Der Agent-Block dient als Schnittstelle zwischen Ihrem Workflow und Large Language Models (LLMs). Er führt Inferenzanfragen an verschiedene KI-Anbieter aus, verarbeitet natürlichsprachliche Eingaben gemäß definierten Anweisungen und erzeugt strukturierte oder unstrukturierte Ausgaben für die nachgelagerte Verarbeitung.
|
||||
Der Agent-Block verbindet deinen Workflow mit Large Language Models (LLMs). Er verarbeitet natürlichsprachliche Eingaben, ruft externe Tools auf und generiert strukturierte oder unstrukturierte Ausgaben.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -18,26 +16,7 @@ Der Agent-Block dient als Schnittstelle zwischen Ihrem Workflow und Large Langua
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Agent-Block ermöglicht Ihnen:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Natürliche Sprache verarbeiten</strong>: Benutzereingaben analysieren und kontextbezogene Antworten generieren
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>KI-gestützte Aufgaben ausführen</strong>: Inhaltsanalyse, -erstellung und Entscheidungsfindung durchführen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Externe Tools aufrufen</strong>: Während der Verarbeitung auf APIs, Datenbanken und Dienste zugreifen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Strukturierte Ausgabe erzeugen</strong>: JSON-Daten zurückgeben, die Ihren Schema-Anforderungen entsprechen
|
||||
</Step>
|
||||
</Steps>
|
||||
</div>
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
@@ -57,44 +36,25 @@ Der Benutzer-Prompt stellt die primären Eingabedaten für die Inferenzverarbeit
|
||||
|
||||
- **Statische Konfiguration**: Direkte Texteingabe, die in der Block-Konfiguration angegeben ist
|
||||
- **Dynamische Eingabe**: Daten, die von vorgelagerten Blöcken über Verbindungsschnittstellen übergeben werden
|
||||
- **Laufzeitgenerierung**: Programmatisch erzeugte Inhalte während der Workflow-Ausführung
|
||||
- **Laufzeitgenerierung**: Programmatisch generierte Inhalte während der Workflow-Ausführung
|
||||
|
||||
### Modellauswahl
|
||||
|
||||
Der Agent-Block unterstützt mehrere LLM-Anbieter über eine einheitliche Inferenzschnittstelle. Verfügbare Modelle umfassen:
|
||||
|
||||
**OpenAI-Modelle**: GPT-5, GPT-4o, o1, o3, o4-mini, gpt-4.1 (API-basierte Inferenz)
|
||||
**Anthropic-Modelle**: Claude 3.7 Sonnet (API-basierte Inferenz)
|
||||
**Google-Modelle**: Gemini 2.5 Pro, Gemini 2.0 Flash (API-basierte Inferenz)
|
||||
**Alternative Anbieter**: Groq, Cerebras, xAI, DeepSeek (API-basierte Inferenz)
|
||||
**Lokale Bereitstellung**: Ollama-kompatible Modelle (selbst gehostete Inferenz)
|
||||
|
||||
<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
|
||||
<Video src="models.mp4" width={500} height={350} />
|
||||
</div>
|
||||
- **OpenAI**: GPT-5.1, GPT-5, GPT-4o, o1, o3, o4-mini, gpt-4.1
|
||||
- **Anthropic**: Claude 4.5 Sonnet, Claude Opus 4.1
|
||||
- **Google**: Gemini 2.5 Pro, Gemini 2.0 Flash
|
||||
- **Andere Anbieter**: Groq, Cerebras, xAI, Azure OpenAI, OpenRouter
|
||||
- **Lokale Modelle**: Ollama oder VLLM-kompatible Modelle
|
||||
|
||||
### Temperatur
|
||||
|
||||
Steuern Sie die Kreativität und Zufälligkeit der Antworten:
|
||||
Steuert die Zufälligkeit und Kreativität der Antworten:
|
||||
|
||||
<Tabs items={['Niedrig (0-0,3)', 'Mittel (0,3-0,7)', 'Hoch (0,7-2,0)']}>
|
||||
<Tab>
|
||||
Deterministische, fokussierte Antworten. Am besten für faktische Aufgaben, Kundensupport und
|
||||
Situationen, in denen Genauigkeit entscheidend ist.
|
||||
</Tab>
|
||||
<Tab>
|
||||
Ausgewogene Kreativität und Fokus. Geeignet für allgemeine Anwendungen, die sowohl
|
||||
Genauigkeit als auch etwas Kreativität erfordern.
|
||||
</Tab>
|
||||
<Tab>
|
||||
Kreativere, abwechslungsreichere Antworten. Ideal für kreatives Schreiben, Brainstorming und das Generieren
|
||||
vielfältiger Ideen.
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<div className="mt-4 text-sm text-gray-600 dark:text-gray-400">
|
||||
Der Temperaturbereich (0-1 oder 0-2) variiert je nach ausgewähltem Modell.
|
||||
</div>
|
||||
- **Niedrig (0-0,3)**: Deterministisch und fokussiert. Am besten für faktische Aufgaben und Genauigkeit.
|
||||
- **Mittel (0,3-0,7)**: Ausgewogene Kreativität und Fokus. Gut für allgemeine Verwendung.
|
||||
- **Hoch (0,7-2,0)**: Kreativ und abwechslungsreich. Ideal für Brainstorming und Content-Generierung.
|
||||
|
||||
### API-Schlüssel
|
||||
|
||||
@@ -102,179 +62,93 @@ Ihr API-Schlüssel für den ausgewählten LLM-Anbieter. Dieser wird sicher gespe
|
||||
|
||||
### Tools
|
||||
|
||||
Tools erweitern die Fähigkeiten des Agenten durch externe API-Integrationen und Service-Verbindungen. Das Tool-System ermöglicht Funktionsaufrufe, sodass der Agent Operationen über die Texterstellung hinaus ausführen kann.
|
||||
Erweitern Sie die Fähigkeiten des Agenten mit externen Integrationen. Wählen Sie aus über 60 vorgefertigten Tools oder definieren Sie benutzerdefinierte Funktionen.
|
||||
|
||||
**Tool-Integrationsprozess**:
|
||||
1. Zugriff auf den Tools-Konfigurationsbereich innerhalb des Agent-Blocks
|
||||
2. Auswahl aus über 60 vorgefertigten Integrationen oder Definition benutzerdefinierter Funktionen
|
||||
3. Konfiguration von Authentifizierungsparametern und Betriebseinschränkungen
|
||||
|
||||
<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
|
||||
<Video src="tools.mp4" width={500} height={350} />
|
||||
</div>
|
||||
|
||||
**Verfügbare Tool-Kategorien**:
|
||||
**Verfügbare Kategorien:**
|
||||
- **Kommunikation**: Gmail, Slack, Telegram, WhatsApp, Microsoft Teams
|
||||
- **Datenquellen**: Notion, Google Sheets, Airtable, Supabase, Pinecone
|
||||
- **Webdienste**: Firecrawl, Google Search, Exa AI, Browser-Automatisierung
|
||||
- **Entwicklung**: GitHub, Jira, Linear Repository- und Issue-Management
|
||||
- **Entwicklung**: GitHub, Jira, Linear
|
||||
- **KI-Dienste**: OpenAI, Perplexity, Hugging Face, ElevenLabs
|
||||
|
||||
**Steuerung der Tool-Ausführung**:
|
||||
- **Auto**: Modell bestimmt Tool-Aufruf basierend auf Kontext und Notwendigkeit
|
||||
- **Required**: Tool muss bei jeder Inferenzanfrage aufgerufen werden
|
||||
- **None**: Tool-Definition verfügbar, aber vom Modellkontext ausgeschlossen
|
||||
|
||||
<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
|
||||
<Video src="granular-tool-control.mp4" width={500} height={350} />
|
||||
</div>
|
||||
**Ausführungsmodi:**
|
||||
- **Auto**: Modell entscheidet kontextbasiert, wann Tools verwendet werden
|
||||
- **Erforderlich**: Tool muss bei jeder Anfrage aufgerufen werden
|
||||
- **Keine**: Tool verfügbar, aber dem Modell nicht vorgeschlagen
|
||||
|
||||
### Antwortformat
|
||||
|
||||
Der Parameter für das Antwortformat erzwingt eine strukturierte Ausgabegenerierung durch JSON-Schema-Validierung. Dies gewährleistet konsistente, maschinenlesbare Antworten, die vordefinierten Datenstrukturen entsprechen:
|
||||
Der Parameter für das Antwortformat erzwingt die Generierung strukturierter Ausgaben durch JSON-Schema-Validierung. Dies gewährleistet konsistente, maschinenlesbare Antworten, die vordefinierten Datenstrukturen entsprechen:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "user_analysis",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"sentiment": {
|
||||
"type": "string",
|
||||
"enum": ["positive", "negative", "neutral"]
|
||||
},
|
||||
"confidence": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 1
|
||||
}
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"sentiment": {
|
||||
"type": "string",
|
||||
"enum": ["positive", "neutral", "negative"]
|
||||
},
|
||||
"required": ["sentiment", "confidence"]
|
||||
}
|
||||
"summary": {
|
||||
"type": "string",
|
||||
"description": "Brief summary of the content"
|
||||
}
|
||||
},
|
||||
"required": ["sentiment", "summary"]
|
||||
}
|
||||
```
|
||||
|
||||
Diese Konfiguration beschränkt die Ausgabe des Modells auf die Einhaltung des angegebenen Schemas, verhindert Freitext-Antworten und stellt eine strukturierte Datengenerierung sicher.
|
||||
Diese Konfiguration beschränkt die Ausgabe des Modells auf die Einhaltung des angegebenen Schemas, verhindert Freitextantworten und stellt die Generierung strukturierter Daten sicher.
|
||||
|
||||
### Zugriff auf Ergebnisse
|
||||
|
||||
Nach Abschluss eines Agenten können Sie auf seine Ausgaben zugreifen:
|
||||
|
||||
- **`<agent.content>`**: Der Antworttext oder die strukturierten Daten des Agenten
|
||||
- **`<agent.tokens>`**: Token-Nutzungsstatistiken (Prompt, Completion, Gesamt)
|
||||
- **`<agent.tool_calls>`**: Details zu allen Tools, die der Agent während der Ausführung verwendet hat
|
||||
- **`<agent.cost>`**: Geschätzte Kosten des API-Aufrufs (falls verfügbar)
|
||||
- **response**: Der Antworttext oder die strukturierten Daten des Agenten
|
||||
- **usage**: Token-Nutzungsstatistiken (Prompt, Completion, Gesamt)
|
||||
- **toolExecutions**: Details zu allen Tools, die der Agent während der Ausführung verwendet hat
|
||||
- **estimatedCost**: Geschätzte Kosten des API-Aufrufs (falls verfügbar)
|
||||
|
||||
## Erweiterte Funktionen
|
||||
|
||||
### Memory + Agent: Gesprächsverlauf
|
||||
|
||||
Verwenden Sie einen `Memory`Block mit einer konsistenten `id` (zum Beispiel `chat`), um Nachrichten zwischen Durchläufen zu speichern und diesen Verlauf in den Prompt des Agenten einzubeziehen.
|
||||
Verwenden Sie einen memory Block mit einer konsistenten memoryId (zum Beispiel, conversationHistory), um Nachrichten zwischen Durchläufen zu speichern und diesen Verlauf in den Prompt des Agenten einzubeziehen.
|
||||
|
||||
- Fügen Sie die Nachricht des Benutzers vor dem Agenten hinzu
|
||||
- Lesen Sie den Gesprächsverlauf für den Kontext
|
||||
- Hängen Sie die Antwort des Agenten nach dessen Ausführung an
|
||||
|
||||
Siehe die [`Memory`](/tools/memory) Blockreferenz für Details.
|
||||
Siehe den [`Memory`](/tools/memory) Blockverweis für Details.
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
## Ausgaben
|
||||
|
||||
<Tabs items={['Konfiguration', 'Variablen', 'Ergebnisse']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>System-Prompt</strong>: Anweisungen, die das Verhalten und die Rolle des Agenten definieren
|
||||
</li>
|
||||
<li>
|
||||
<strong>Benutzer-Prompt</strong>: Eingabetext oder zu verarbeitende Daten
|
||||
</li>
|
||||
<li>
|
||||
<strong>Modell</strong>: KI-Modellauswahl (OpenAI, Anthropic, Google, usw.)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Temperatur</strong>: Steuerung der Zufälligkeit der Antwort (0-2)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Tools</strong>: Array verfügbarer Tools für Funktionsaufrufe
|
||||
</li>
|
||||
<li>
|
||||
<strong>Antwortformat</strong>: JSON-Schema für strukturierte Ausgabe
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>agent.content</strong>: Antworttext oder strukturierte Daten des Agenten
|
||||
</li>
|
||||
<li>
|
||||
<strong>agent.tokens</strong>: Token-Nutzungsstatistik-Objekt
|
||||
</li>
|
||||
<li>
|
||||
<strong>agent.tool_calls</strong>: Array mit Details zur Tool-Ausführung
|
||||
</li>
|
||||
<li>
|
||||
<strong>agent.cost</strong>: Geschätzte API-Aufrufkosten (falls verfügbar)
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Content</strong>: Primäre Antwortausgabe vom Agenten
|
||||
</li>
|
||||
<li>
|
||||
<strong>Metadata</strong>: Nutzungsstatistiken und Ausführungsdetails
|
||||
</li>
|
||||
<li>
|
||||
<strong>Access</strong>: Verfügbar in Blöcken nach dem Agenten
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
- **`<agent.content>`**: Antworttext des Agenten
|
||||
- **`<agent.tokens>`**: Token-Nutzungsstatistiken
|
||||
- **`<agent.tool_calls>`**: Details zur Tool-Ausführung
|
||||
- **`<agent.cost>`**: Geschätzte Kosten des API-Aufrufs
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Automatisierung des Kundenservice
|
||||
**Automatisierung des Kundenservice** - Bearbeitung von Anfragen mit Datenbank- und Tool-Zugriff
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Bearbeitung von Kundenanfragen mit Datenbankzugriff</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Benutzer reicht ein Support-Ticket über den API-Block ein</li>
|
||||
<li>Agent prüft Bestellungen/Abonnements in Postgres und durchsucht die Wissensdatenbank nach Anleitungen</li>
|
||||
<li>Falls eine Eskalation erforderlich ist, erstellt der Agent ein Linear-Ticket mit relevantem Kontext</li>
|
||||
<li>Agent erstellt eine klare E-Mail-Antwort</li>
|
||||
<li>Gmail sendet die Antwort an den Kunden</li>
|
||||
<li>Konversation wird im Memory gespeichert, um den Verlauf für zukünftige Nachrichten beizubehalten</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Ticket) → Agent (Postgres, KB, Linear) → Gmail (Reply) → Memory (Save)
|
||||
```
|
||||
|
||||
### Multi-Modell-Inhaltsanalyse
|
||||
**Multi-Modell-Inhaltsanalyse** - Analyse von Inhalten mit verschiedenen KI-Modellen
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Analyse von Inhalten mit verschiedenen KI-Modellen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Funktionsblock verarbeitet hochgeladenes Dokument</li>
|
||||
<li>Agent mit GPT-4o führt technische Analyse durch</li>
|
||||
<li>Agent mit Claude analysiert Stimmung und Tonfall</li>
|
||||
<li>Funktionsblock kombiniert Ergebnisse für den Abschlussbericht</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Function (Process) → Agent (GPT-4o Technical) → Agent (Claude Sentiment) → Function (Report)
|
||||
```
|
||||
|
||||
### Werkzeuggestützter Forschungsassistent
|
||||
**Tool-gestützter Rechercheassistent** - Recherche mit Websuche und Dokumentenzugriff
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Forschungsassistent mit Websuche und Dokumentenzugriff</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Benutzeranfrage über Eingabe erhalten</li>
|
||||
<li>Agent durchsucht das Web mit dem Google-Suchwerkzeug</li>
|
||||
<li>Agent greift auf Notion-Datenbank für interne Dokumente zu</li>
|
||||
<li>Agent erstellt umfassenden Forschungsbericht</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Input → Agent (Google Search, Notion) → Function (Compile Report)
|
||||
```
|
||||
|
||||
## Bewährte Praktiken
|
||||
|
||||
- **Sei spezifisch in System-Prompts**: Definiere die Rolle, den Ton und die Einschränkungen des Agenten klar. Je spezifischer deine Anweisungen sind, desto besser kann der Agent seinen vorgesehenen Zweck erfüllen.
|
||||
- **Wähle die richtige Temperatureinstellung**: Verwende niedrigere Temperatureinstellungen (0-0,3), wenn Genauigkeit wichtig ist, oder erhöhe die Temperatur (0,7-2,0) für kreativere oder abwechslungsreichere Antworten
|
||||
- **Nutze Werkzeuge effektiv**: Integriere Werkzeuge, die den Zweck des Agenten ergänzen und seine Fähigkeiten verbessern. Sei selektiv bei der Auswahl der Werkzeuge, um den Agenten nicht zu überfordern. Für Aufgaben mit wenig Überschneidung verwende einen anderen Agent-Block für die besten Ergebnisse.
|
||||
- **Wähle die richtige Temperatureinstellung**: Verwende niedrigere Temperatureinstellungen (0-0,3), wenn Genauigkeit wichtig ist, oder erhöhe die Temperatur (0,7-2,0) für kreativere oder vielfältigere Antworten
|
||||
- **Nutze Tools effektiv**: Integriere Tools, die den Zweck des Agenten ergänzen und seine Fähigkeiten erweitern. Sei selektiv bei der Auswahl der Tools, um den Agenten nicht zu überfordern. Für Aufgaben mit wenig Überschneidung verwende einen anderen Agent-Block für die besten Ergebnisse.
|
||||
|
||||
@@ -3,11 +3,10 @@ title: API
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Der API-Block ermöglicht es Ihnen, Ihren Workflow über API-Endpunkte mit externen Diensten zu verbinden, indem HTTP-Anfragen verwendet werden. Er unterstützt verschiedene Methoden wie GET, POST, PUT, DELETE und PATCH, wodurch Sie mit praktisch jedem API-Endpunkt interagieren können.
|
||||
Der API-Block verbindet Ihren Workflow mit externen Diensten durch HTTP-Anfragen. Unterstützt GET, POST, PUT, DELETE und PATCH Methoden für die Interaktion mit REST-APIs.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -19,39 +18,11 @@ Der API-Block ermöglicht es Ihnen, Ihren Workflow über API-Endpunkte mit exter
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der API-Block ermöglicht Ihnen:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Verbindung zu externen Diensten</strong>: HTTP-Anfragen an REST-APIs und Webdienste stellen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Daten senden und empfangen</strong>: Antworten verarbeiten und Daten aus externen Quellen transformieren
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Integration von Drittanbieter-Plattformen</strong>: Verbindung mit Diensten wie Stripe, Slack oder benutzerdefinierten APIs
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Authentifizierung verwalten</strong>: Unterstützung verschiedener Authentifizierungsmethoden einschließlich Bearer-Tokens und API-Schlüssel
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Der API-Block verarbeitet HTTP-Anfragen durch einen strukturierten Ansatz:
|
||||
|
||||
1. **Anfrage konfigurieren** - URL, Methode, Header und Body-Parameter festlegen
|
||||
2. **Anfrage ausführen** - HTTP-Anfrage an den angegebenen Endpunkt senden
|
||||
3. **Antwort verarbeiten** - Antwortdaten, Statuscodes und Header verarbeiten
|
||||
4. **Fehlerbehandlung** - Timeouts, Wiederholungsversuche und Fehlerbedingungen verwalten
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### URL
|
||||
|
||||
Die Endpunkt-URL für die API-Anfrage. Dies kann sein:
|
||||
Die Endpunkt-URL für die API-Anfrage. Diese kann sein:
|
||||
|
||||
- Eine statische URL, die direkt im Block eingegeben wird
|
||||
- Eine dynamische URL, die mit der Ausgabe eines anderen Blocks verbunden ist
|
||||
@@ -79,7 +50,7 @@ Key: limit
|
||||
Value: 10
|
||||
```
|
||||
|
||||
Diese würden der URL als `?apiKey=your_api_key_here&limit=10` hinzugefügt werden.
|
||||
Diese würden der URL als `?apiKey=your_api_key_here&limit=10` hinzugefügt.
|
||||
|
||||
### Header
|
||||
|
||||
@@ -93,13 +64,13 @@ Key: Authorization
|
||||
Value: Bearer your_token_here
|
||||
```
|
||||
|
||||
### Anfrage-Body
|
||||
### Anfragekörper
|
||||
|
||||
Für Methoden, die einen Anfrage-Body unterstützen (POST, PUT, PATCH), können Sie die zu sendenden Daten definieren. Der Body kann sein:
|
||||
Für Methoden, die einen Anfragekörper unterstützen (POST, PUT, PATCH), können Sie die zu sendenden Daten definieren. Der Körper kann sein:
|
||||
|
||||
- JSON-Daten, die direkt im Block eingegeben werden
|
||||
- Daten, die mit der Ausgabe eines anderen Blocks verbunden sind
|
||||
- Dynamisch während der Workflow-Ausführung generierte Daten
|
||||
- Dynamisch während der Workflow-Ausführung generiert
|
||||
|
||||
### Zugriff auf Ergebnisse
|
||||
|
||||
@@ -114,7 +85,7 @@ Nach Abschluss einer API-Anfrage können Sie auf folgende Ausgaben zugreifen:
|
||||
|
||||
### Dynamische URL-Konstruktion
|
||||
|
||||
Bauen Sie URLs dynamisch mit Variablen aus vorherigen Blöcken:
|
||||
Erstellen Sie URLs dynamisch mit Variablen aus vorherigen Blöcken:
|
||||
|
||||
```javascript
|
||||
// In a Function block before the API
|
||||
@@ -124,9 +95,9 @@ const apiUrl = `https://api.example.com/users/${userId}/profile`;
|
||||
|
||||
### Anfrage-Wiederholungen
|
||||
|
||||
Der API-Block behandelt automatisch:
|
||||
Der API-Block verarbeitet automatisch:
|
||||
- Netzwerk-Timeouts mit exponentiellem Backoff
|
||||
- Rate-Limit-Antworten (429-Statuscodes)
|
||||
- Antworten bei Ratenbegrenzung (429-Statuscodes)
|
||||
- Serverfehler (5xx-Statuscodes) mit Wiederholungslogik
|
||||
- Verbindungsfehler mit Wiederverbindungsversuchen
|
||||
|
||||
@@ -145,88 +116,30 @@ if (<api.status> === 200) {
|
||||
}
|
||||
```
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
## Ausgaben
|
||||
|
||||
<Tabs items={['Configuration', 'Variables', 'Results']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>URL</strong>: Der Endpunkt, an den die Anfrage gesendet werden soll
|
||||
</li>
|
||||
<li>
|
||||
<strong>Method</strong>: HTTP-Methode (GET, POST, PUT, DELETE, PATCH)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Query Parameters</strong>: Schlüssel-Wert-Paare für URL-Parameter
|
||||
</li>
|
||||
<li>
|
||||
<strong>Headers</strong>: HTTP-Header für Authentifizierung und Inhaltstyp
|
||||
</li>
|
||||
<li>
|
||||
<strong>Body</strong>: Anfrage-Payload für POST/PUT/PATCH-Methoden
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>api.data</strong>: Antwortdaten vom API-Aufruf
|
||||
</li>
|
||||
<li>
|
||||
<strong>api.status</strong>: Vom Server zurückgegebener HTTP-Statuscode
|
||||
</li>
|
||||
<li>
|
||||
<strong>api.headers</strong>: Antwort-Header vom Server
|
||||
</li>
|
||||
<li>
|
||||
<strong>api.error</strong>: Fehlerdetails, falls die Anfrage fehlgeschlagen ist
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Response Data</strong>: Primärer API-Antwortinhalt
|
||||
</li>
|
||||
<li>
|
||||
<strong>Status Information</strong>: HTTP-Status und Fehlerdetails
|
||||
</li>
|
||||
<li>
|
||||
<strong>Access</strong>: Verfügbar in Blöcken nach dem API-Aufruf
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
- **`<api.data>`**: Antwortdaten vom API
|
||||
- **`<api.status>`**: HTTP-Statuscode
|
||||
- **`<api.headers>`**: Antwort-Header
|
||||
- **`<api.error>`**: Fehlerdetails bei fehlgeschlagener Anfrage
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
## Anwendungsbeispiele
|
||||
|
||||
### Benutzerprofildaten abrufen
|
||||
**Benutzerprofildaten abrufen** - Benutzerinformationen von externem Dienst abrufen
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Benutzerinformationen von externem Dienst abrufen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Funktionsblock erstellt Benutzer-ID aus Eingabe</li>
|
||||
<li>API-Block ruft GET /users/{id} Endpunkt auf</li>
|
||||
<li>Funktionsblock verarbeitet und formatiert Benutzerdaten</li>
|
||||
<li>Antwortblock gibt formatiertes Profil zurück</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Function (Build ID) → API (GET /users/{id}) → Function (Format) → Response
|
||||
```
|
||||
|
||||
### Zahlungsabwicklung
|
||||
**Zahlungsabwicklung** - Zahlung über die Stripe-API verarbeiten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Zahlung über Stripe API verarbeiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Funktionsblock validiert Zahlungsdaten</li>
|
||||
<li>API-Block erstellt Zahlungsabsicht über Stripe</li>
|
||||
<li>Bedingungsblock behandelt Zahlungserfolg/-fehler</li>
|
||||
<li>Supabase-Block aktualisiert Bestellstatus in der Datenbank</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Function (Validate) → API (Stripe) → Condition (Success) → Supabase (Update)
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
## Bewährte Praktiken
|
||||
|
||||
- **Umgebungsvariablen für sensible Daten verwenden**: Keine API-Schlüssel oder Anmeldedaten im Code hinterlegen
|
||||
- **Umgebungsvariablen für sensible Daten verwenden**: Keine API-Schlüssel oder Anmeldedaten im Code festlegen
|
||||
- **Fehler elegant behandeln**: Fehlerbehandlungslogik für fehlgeschlagene Anfragen einbinden
|
||||
- **Antworten validieren**: Statuscodes und Antwortformate vor der Datenverarbeitung prüfen
|
||||
- **Ratenbegrenzungen beachten**: Auf API-Ratenbegrenzungen achten und angemessene Drosselung implementieren
|
||||
- **Antworten validieren**: Statuscode und Antwortformate vor der Datenverarbeitung prüfen
|
||||
- **Ratenbegrenzungen respektieren**: Achten Sie auf API-Ratenbegrenzungen und implementieren Sie angemessene Drosselung
|
||||
|
||||
@@ -3,64 +3,29 @@ title: Bedingung
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Der Bedingungsblock ermöglicht es Ihnen, den Ausführungspfad Ihres Workflows basierend auf booleschen Ausdrücken zu verzweigen und so dynamische, reaktionsfähige Workflows mit unterschiedlichen Ausführungspfaden zu erstellen. Er wertet Bedingungen aus und leitet den Workflow entsprechend weiter, sodass Sie den Ausführungsfluss basierend auf Daten oder Logik steuern können, ohne ein LLM zu benötigen.
|
||||
Der Bedingungsblock verzweigt die Workflow-Ausführung basierend auf booleschen Ausdrücken. Bewerten Sie Bedingungen anhand vorheriger Block-Ausgaben und leiten Sie zu verschiedenen Pfaden weiter, ohne dass ein LLM erforderlich ist.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/condition.png"
|
||||
alt="Bedingungsblock"
|
||||
width={500}
|
||||
height={350}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<Callout>
|
||||
Bedingungsblöcke ermöglichen deterministische Entscheidungsfindung ohne ein LLM zu benötigen, was sie ideal
|
||||
für unkomplizierte Verzweigungslogik macht.
|
||||
</Callout>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Bedingungsblock ermöglicht Ihnen:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Verzweigungslogik erstellen</strong>: Workflows basierend auf booleschen Ausdrücken leiten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Datengesteuerte Entscheidungen treffen</strong>: Bedingungen anhand von Ausgaben vorheriger Blöcke auswerten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Mehrere Szenarien behandeln</strong>: Mehrere Bedingungen mit unterschiedlichen Pfaden definieren
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Deterministische Weiterleitung bieten</strong>: Entscheidungen ohne ein LLM treffen
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Der Bedingungsblock arbeitet durch einen sequentiellen Auswertungsprozess:
|
||||
|
||||
1. **Ausdruck auswerten** - Verarbeitet den JavaScript/TypeScript-booleschen Ausdruck mit aktuellen Workflow-Daten
|
||||
2. **Ergebnis bestimmen** - Gibt basierend auf der Ausdrucksauswertung true oder false zurück
|
||||
3. **Workflow weiterleiten** - Leitet die Ausführung basierend auf dem Ergebnis an den entsprechenden Zielblock weiter
|
||||
4. **Kontext bereitstellen** - Generiert Metadaten über die Entscheidung für Debugging und Überwachung
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Bedingungen
|
||||
|
||||
Definieren Sie eine oder mehrere Bedingungen, die ausgewertet werden. Jede Bedingung umfasst:
|
||||
|
||||
- **Ausdruck**: Ein JavaScript/TypeScript-Ausdruck, der zu true oder false ausgewertet wird
|
||||
- **Pfad**: Der Zielblock, zu dem weitergeleitet werden soll, wenn die Bedingung true ist
|
||||
- **Ausdruck**: Ein JavaScript/TypeScript-Ausdruck, der zu wahr oder falsch ausgewertet wird
|
||||
- **Pfad**: Der Zielblock, zu dem weitergeleitet werden soll, wenn die Bedingung wahr ist
|
||||
- **Beschreibung**: Optionale Erklärung, was die Bedingung prüft
|
||||
|
||||
Sie können mehrere Bedingungen erstellen, die der Reihe nach ausgewertet werden, wobei die erste übereinstimmende Bedingung den Ausführungspfad bestimmt.
|
||||
@@ -100,10 +65,10 @@ Bedingungen verwenden JavaScript-Syntax und können auf Eingabewerte aus vorheri
|
||||
|
||||
Nach der Auswertung einer Bedingung können Sie auf folgende Ausgaben zugreifen:
|
||||
|
||||
- **`<condition.result>`**: Boolesches Ergebnis der Bedingungsauswertung
|
||||
- **`<condition.matched_condition>`**: ID der übereinstimmenden Bedingung
|
||||
- **`<condition.content>`**: Beschreibung des Auswertungsergebnisses
|
||||
- **`<condition.path>`**: Details zum gewählten Routing-Ziel
|
||||
- **condition.result**: Boolesches Ergebnis der Bedingungsauswertung
|
||||
- **condition.matched_condition**: ID der übereinstimmenden Bedingung
|
||||
- **condition.content**: Beschreibung des Auswertungsergebnisses
|
||||
- **condition.path**: Details zum gewählten Routing-Ziel
|
||||
|
||||
## Erweiterte Funktionen
|
||||
|
||||
@@ -148,95 +113,37 @@ Bedingungen behandeln automatisch:
|
||||
- Ungültige Ausdrücke mit Fehlerprotokollierung
|
||||
- Fehlende Variablen mit Standardwerten
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
## Ausgaben
|
||||
|
||||
<Tabs items={['Konfiguration', 'Variablen', 'Ergebnisse']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Bedingungen</strong>: Array von booleschen Ausdrücken zur Auswertung
|
||||
</li>
|
||||
<li>
|
||||
<strong>Ausdrücke</strong>: JavaScript/TypeScript-Bedingungen mit Block-Ausgaben
|
||||
</li>
|
||||
<li>
|
||||
<strong>Routing-Pfade</strong>: Zielblöcke für jedes Bedingungsergebnis
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>condition.result</strong>: Boolesches Ergebnis der Bedingungsauswertung
|
||||
</li>
|
||||
<li>
|
||||
<strong>condition.matched_condition</strong>: ID der übereinstimmenden Bedingung
|
||||
</li>
|
||||
<li>
|
||||
<strong>condition.content</strong>: Beschreibung des Auswertungsergebnisses
|
||||
</li>
|
||||
<li>
|
||||
<strong>condition.path</strong>: Details zum gewählten Routing-Ziel
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Boolesches Ergebnis</strong>: Primäres Ergebnis der Bedingungsauswertung
|
||||
</li>
|
||||
<li>
|
||||
<strong>Routing-Informationen</strong>: Pfadauswahl und Bedingungsdetails
|
||||
</li>
|
||||
<li>
|
||||
<strong>Zugriff</strong>: Verfügbar in Blöcken nach der Bedingung
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
- **`<condition.result>`**: Boolesches Ergebnis der Auswertung
|
||||
- **`<condition.matched_condition>`**: ID der übereinstimmenden Bedingung
|
||||
- **`<condition.content>`**: Beschreibung des Auswertungsergebnisses
|
||||
- **`<condition.path>`**: Details zum gewählten Routing-Ziel
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Routing im Kundenservice
|
||||
**Kundenservice-Routing** - Tickets basierend auf Priorität weiterleiten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Support-Tickets nach Priorität weiterleiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>API-Block ruft Support-Ticket-Daten ab</li>
|
||||
<li>Bedingung prüft, ob `<api.priority>` gleich 'high' ist</li>
|
||||
<li>Tickets mit hoher Priorität → Mitarbeiter mit Eskalationswerkzeugen</li>
|
||||
<li>Tickets mit normaler Priorität → Standard-Support-Mitarbeiter</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Ticket) → Condition (priority === 'high') → Agent (Escalation) or Agent (Standard)
|
||||
```
|
||||
|
||||
### Inhaltsmoderation
|
||||
**Inhaltsmoderation** - Inhalte basierend auf Analysen filtern
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Inhalte basierend auf Analyseergebnissen filtern</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Agent analysiert nutzergenerierte Inhalte</li>
|
||||
<li>Bedingung prüft, ob `<agent.toxicity_score>` > 0.7</li>
|
||||
<li>Toxische Inhalte → Moderationsworkflow</li>
|
||||
<li>Unbedenkliche Inhalte → Veröffentlichungsworkflow</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Analyze) → Condition (toxicity > 0.7) → Moderation or Publish
|
||||
```
|
||||
|
||||
### Benutzer-Onboarding-Prozess
|
||||
**Benutzer-Onboarding-Ablauf** - Onboarding basierend auf Benutzertyp personalisieren
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Onboarding basierend auf Benutzertyp personalisieren</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Funktionsblock verarbeitet Benutzerregistrierungsdaten</li>
|
||||
<li>Bedingung prüft, ob `<user.account_type>` === 'enterprise'</li>
|
||||
<li>Unternehmensbenutzer → Erweiterter Einrichtungsworkflow</li>
|
||||
<li>Einzelbenutzer → Einfacher Onboarding-Workflow</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Function (Process) → Condition (account_type === 'enterprise') → Advanced or Simple
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
## Bewährte Praktiken
|
||||
|
||||
- **Bedingungen richtig anordnen**: Platzieren Sie spezifischere Bedingungen vor allgemeinen, damit spezifische Logik Vorrang vor Fallbacks hat
|
||||
- **Standardbedingung einfügen**: Fügen Sie eine Auffangbedingung (`true`) als letzte Bedingung hinzu, um nicht übereinstimmende Fälle zu behandeln und zu verhindern, dass die Workflow-Ausführung stecken bleibt
|
||||
- **Bedingungen korrekt anordnen**: Platzieren Sie spezifischere Bedingungen vor allgemeinen, um sicherzustellen, dass spezifische Logik Vorrang vor Fallbacks hat
|
||||
- **Eine Standardbedingung einfügen**: Fügen Sie eine Auffangbedingung (`true`) als letzte Bedingung hinzu, um nicht übereinstimmende Fälle zu behandeln und zu verhindern, dass die Workflow-Ausführung stecken bleibt
|
||||
- **Ausdrücke einfach halten**: Verwenden Sie klare, unkomplizierte boolesche Ausdrücke für bessere Lesbarkeit und einfachere Fehlersuche
|
||||
- **Dokumentieren Sie Ihre Bedingungen**: Fügen Sie Beschreibungen hinzu, um den Zweck jeder Bedingung für bessere Teamzusammenarbeit und Wartung zu erklären
|
||||
- **Testen Sie Grenzfälle**: Überprüfen Sie, ob Bedingungen Grenzwerte korrekt behandeln, indem Sie mit Werten an den Grenzen Ihrer Bedingungsbereiche testen
|
||||
- **Grenzfälle testen**: Überprüfen Sie, ob Bedingungen Grenzwerte korrekt behandeln, indem Sie mit Werten an den Grenzen Ihrer Bedingungsbereiche testen
|
||||
|
||||
@@ -3,12 +3,10 @@ title: Evaluator
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Der Evaluator-Block nutzt KI, um die Inhaltsqualität anhand anpassbarer Bewertungsmetriken zu bewerten, die du selbst definierst. Perfekt für Qualitätskontrolle, A/B-Tests und um sicherzustellen, dass deine KI-Ausgaben bestimmte Standards erfüllen.
|
||||
Der Evaluator-Block nutzt KI, um die Inhaltsqualität anhand benutzerdefinierter Metriken zu bewerten. Perfekt für Qualitätskontrolle, A/B-Tests und um sicherzustellen, dass KI-Ausgaben bestimmte Standards erfüllen.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -20,42 +18,14 @@ Der Evaluator-Block nutzt KI, um die Inhaltsqualität anhand anpassbarer Bewertu
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Überblick
|
||||
|
||||
Mit dem Evaluator-Block kannst du:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Inhaltsqualität bewerten</strong>: Nutze KI, um Inhalte anhand benutzerdefinierter Metriken mit numerischen Werten zu bewerten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Benutzerdefinierte Metriken erstellen</strong>: Erstelle spezifische Bewertungskriterien, die auf deinen Anwendungsfall zugeschnitten sind
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Qualitätskontrolle automatisieren</strong>: Erstelle Workflows, die Inhalte automatisch bewerten und filtern
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Leistung verfolgen</strong>: Überwache Verbesserungen und Konsistenz im Laufe der Zeit mit objektiver Bewertung
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Der Evaluator-Block verarbeitet Inhalte durch KI-gestützte Bewertung:
|
||||
|
||||
1. **Inhalte empfangen** - Nimmt Eingabeinhalte von vorherigen Blöcken in deinem Workflow entgegen
|
||||
2. **Metriken anwenden** - Bewertet Inhalte anhand deiner definierten benutzerdefinierten Metriken
|
||||
3. **Bewertungen generieren** - KI-Modell weist numerische Werte für jede Metrik zu
|
||||
4. **Zusammenfassung bereitstellen** - Liefert detaillierte Auswertung mit Bewertungen und Erklärungen
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Bewertungsmetriken
|
||||
|
||||
Definiere benutzerdefinierte Metriken, anhand derer Inhalte bewertet werden. Jede Metrik umfasst:
|
||||
Definieren Sie benutzerdefinierte Metriken, anhand derer Inhalte bewertet werden. Jede Metrik umfasst:
|
||||
|
||||
- **Name**: Eine kurze Bezeichnung für die Metrik
|
||||
- **Beschreibung**: Eine detaillierte Erklärung dessen, was die Metrik misst
|
||||
- **Beschreibung**: Eine detaillierte Erklärung, was die Metrik misst
|
||||
- **Bereich**: Der numerische Bereich für die Bewertung (z.B. 1-5, 0-10)
|
||||
|
||||
Beispielmetriken:
|
||||
@@ -78,122 +48,49 @@ Der zu bewertende Inhalt. Dies kann sein:
|
||||
|
||||
Wählen Sie ein KI-Modell für die Durchführung der Bewertung:
|
||||
|
||||
**OpenAI**: GPT-4o, o1, o3, o4-mini, gpt-4.1
|
||||
**Anthropic**: Claude 3.7 Sonnet
|
||||
**Google**: Gemini 2.5 Pro, Gemini 2.0 Flash
|
||||
**Andere Anbieter**: Groq, Cerebras, xAI, DeepSeek
|
||||
**Lokale Modelle**: Jedes Modell, das auf Ollama läuft
|
||||
- **OpenAI**: GPT-4o, o1, o3, o4-mini, gpt-4.1
|
||||
- **Anthropic**: Claude 3.7 Sonnet
|
||||
- **Google**: Gemini 2.5 Pro, Gemini 2.0 Flash
|
||||
- **Andere Anbieter**: Groq, Cerebras, xAI, DeepSeek
|
||||
- **Lokale Modelle**: Ollama oder VLLM-kompatible Modelle
|
||||
|
||||
<div className="w-full max-w-2xl mx-auto overflow-hidden rounded-lg">
|
||||
<Video src="models.mp4" width={500} height={350} />
|
||||
</div>
|
||||
|
||||
**Empfehlung**: Verwenden Sie Modelle mit starken Argumentationsfähigkeiten wie GPT-4o oder Claude 3.7 Sonnet für genauere Bewertungen.
|
||||
Verwenden Sie Modelle mit starken Argumentationsfähigkeiten wie GPT-4o oder Claude 3.7 Sonnet für beste Ergebnisse.
|
||||
|
||||
### API-Schlüssel
|
||||
|
||||
Ihr API-Schlüssel für den ausgewählten LLM-Anbieter. Dieser wird sicher gespeichert und für die Authentifizierung verwendet.
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
1. Der Evaluator-Block nimmt den bereitgestellten Inhalt und Ihre benutzerdefinierten Metriken
|
||||
2. Er generiert einen spezialisierten Prompt, der das LLM anweist, den Inhalt zu bewerten
|
||||
3. Der Prompt enthält klare Richtlinien zur Bewertung jeder Metrik
|
||||
4. Das LLM bewertet den Inhalt und gibt numerische Werte für jede Metrik zurück
|
||||
5. Der Evaluator-Block formatiert diese Werte als strukturierte Ausgabe zur Verwendung in Ihrem Workflow
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Bewertung der Inhaltsqualität
|
||||
**Bewertung der Inhaltsqualität** - Inhalte vor der Veröffentlichung bewerten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Bewertung der Blogpost-Qualität vor der Veröffentlichung</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Agent-Block generiert Blogpost-Inhalte</li>
|
||||
<li>Evaluator bewertet Genauigkeit, Lesbarkeit und Engagement</li>
|
||||
<li>Bedingungsblock prüft, ob die Werte Mindestschwellen erreichen</li>
|
||||
<li>Hohe Werte → Veröffentlichen, Niedrige Werte → Überarbeiten und erneut versuchen</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Generate) → Evaluator (Score) → Condition (Check threshold) → Publish or Revise
|
||||
```
|
||||
|
||||
### A/B-Testing von Inhalten
|
||||
**A/B-Tests von Inhalten** - Vergleich mehrerer KI-generierter Antworten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Vergleich mehrerer KI-generierter Antworten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Parallelblock generiert mehrere Antwortvarianten</li>
|
||||
<li>Evaluator bewertet jede Variante nach Klarheit und Relevanz</li>
|
||||
<li>Funktionsblock wählt die Antwort mit der höchsten Bewertung aus</li>
|
||||
<li>Antwortblock gibt das beste Ergebnis zurück</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Parallel (Variations) → Evaluator (Score Each) → Function (Select Best) → Response
|
||||
```
|
||||
|
||||
### Qualitätskontrolle im Kundensupport
|
||||
**Qualitätskontrolle im Kundenservice** - Sicherstellen, dass Antworten Qualitätsstandards erfüllen
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Sicherstellen, dass Support-Antworten den Qualitätsstandards entsprechen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Support-Mitarbeiter generiert Antwort auf Kundenanfrage</li>
|
||||
<li>Evaluator bewertet Hilfsbereitschaft, Einfühlungsvermögen und Genauigkeit</li>
|
||||
<li>Bewertungen werden für Training und Leistungsüberwachung protokolliert</li>
|
||||
<li>Niedrige Bewertungen lösen einen manuellen Überprüfungsprozess aus</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Support Response) → Evaluator (Score) → Function (Log) → Condition (Review if Low)
|
||||
```
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
## Ausgaben
|
||||
|
||||
<Tabs items={['Konfiguration', 'Variablen', 'Ergebnisse']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Inhalt</strong>: Der zu bewertende Text oder strukturierte Daten
|
||||
</li>
|
||||
<li>
|
||||
<strong>Bewertungsmetriken</strong>: Benutzerdefinierte Kriterien mit Bewertungsbereichen
|
||||
</li>
|
||||
<li>
|
||||
<strong>Modell</strong>: KI-Modell für die Bewertungsanalyse
|
||||
</li>
|
||||
<li>
|
||||
<strong>API-Schlüssel</strong>: Authentifizierung für den ausgewählten LLM-Anbieter
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>evaluator.content</strong>: Zusammenfassung der Bewertung
|
||||
</li>
|
||||
<li>
|
||||
<strong>evaluator.model</strong>: Für die Bewertung verwendetes Modell
|
||||
</li>
|
||||
<li>
|
||||
<strong>evaluator.tokens</strong>: Token-Nutzungsstatistiken
|
||||
</li>
|
||||
<li>
|
||||
<strong>evaluator.cost</strong>: Kostenübersicht für den Bewertungsaufruf
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Metrik-Bewertungen</strong>: Numerische Bewertungen für jede definierte Metrik
|
||||
</li>
|
||||
<li>
|
||||
<strong>Bewertungszusammenfassung</strong>: Detaillierte Beurteilung mit Erläuterungen
|
||||
</li>
|
||||
<li>
|
||||
<strong>Zugriff</strong>: Verfügbar in Blöcken nach dem Evaluator
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
- **`<evaluator.content>`**: Zusammenfassung der Bewertung mit Punktzahlen
|
||||
- **`<evaluator.model>`**: Für die Bewertung verwendetes Modell
|
||||
- **`<evaluator.tokens>`**: Statistik zur Token-Nutzung
|
||||
- **`<evaluator.cost>`**: Geschätzte Bewertungskosten
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Verwenden Sie spezifische Metrikbeschreibungen**: Definieren Sie klar, was jede Metrik misst, um genauere Bewertungen zu erhalten
|
||||
- **Wählen Sie geeignete Bereiche**: Wählen Sie Bewertungsbereiche, die ausreichend Granularität bieten, ohne übermäßig komplex zu sein
|
||||
- **Wählen Sie geeignete Bereiche**: Wählen Sie Bewertungsbereiche, die ausreichend Granularität bieten, ohne zu komplex zu sein
|
||||
- **Verbinden Sie mit Agent-Blöcken**: Verwenden Sie Evaluator-Blöcke, um die Ausgaben von Agent-Blöcken zu bewerten und Feedback-Schleifen zu erstellen
|
||||
- **Verwenden Sie konsistente Metriken**: Für vergleichende Analysen sollten Sie konsistente Metriken über ähnliche Bewertungen hinweg beibehalten
|
||||
- **Kombinieren Sie mehrere Metriken**: Verwenden Sie mehrere Metriken, um eine umfassende Bewertung zu erhalten
|
||||
- **Kombinieren Sie mehrere Metriken**: Verwenden Sie verschiedene Metriken, um eine umfassende Bewertung zu erhalten
|
||||
|
||||
@@ -2,124 +2,44 @@
|
||||
title: Funktion
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Der Funktionsblock ermöglicht die Ausführung von benutzerdefiniertem JavaScript- oder TypeScript-Code in Ihren Workflows. Verwenden Sie ihn, um Daten zu transformieren, Berechnungen durchzuführen oder benutzerdefinierte Logik zu implementieren, die in anderen Blöcken nicht verfügbar ist.
|
||||
Der Funktionsblock führt benutzerdefinierten JavaScript- oder TypeScript-Code in Ihren Workflows aus. Transformieren Sie Daten, führen Sie Berechnungen durch oder implementieren Sie benutzerdefinierte Logik.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/function.png"
|
||||
alt="Funktionsblock mit Code-Editor"
|
||||
width={500}
|
||||
height={350}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Überblick
|
||||
## Ausgaben
|
||||
|
||||
Der Funktionsblock ermöglicht Ihnen:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Daten transformieren</strong>: Formate konvertieren, Text analysieren, Arrays und Objekte manipulieren
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Berechnungen durchführen</strong>: Mathematische Operationen, Statistiken, Finanzberechnungen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Benutzerdefinierte Logik implementieren</strong>: Komplexe Bedingungen, Schleifen und Algorithmen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Externe Daten verarbeiten</strong>: Antworten parsen, Anfragen formatieren, Authentifizierung verwalten
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Der Funktionsblock führt Ihren Code in einer sicheren, isolierten Umgebung aus:
|
||||
|
||||
1. **Eingabe empfangen**: Zugriff auf Daten aus vorherigen Blöcken über das `input` Objekt
|
||||
2. **Code ausführen**: Führen Sie Ihren JavaScript/Python-Code aus
|
||||
3. **Ergebnisse zurückgeben**: Verwenden Sie `return`, um Daten an den nächsten Block zu übergeben
|
||||
4. **Fehler behandeln**: Integrierte Fehlerbehandlung und Protokollierung
|
||||
|
||||
## Remote-Ausführung (E2B)
|
||||
|
||||
- **Sprachen**: JavaScript und Python in einer isolierten E2B-Sandbox ausführen.
|
||||
- **Aktivierung**: Schalten Sie “Remote Code Execution” im Funktionsblock ein.
|
||||
- **Einsatzbereich**: Schwerere Logik, externe Bibliotheken oder Python-spezifischer Code.
|
||||
- **Leistung**: Langsamer als lokales JS aufgrund von Sandbox-Start und Netzwerk-Overhead.
|
||||
- **Hinweise**: Erfordert `E2B_API_KEY` bei lokaler Ausführung. Für niedrigste Latenz verwenden Sie nativ lokales JS (Fast Mode).
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
|
||||
<Tabs items={['Configuration', 'Variables']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Code</strong>: Ihr JavaScript/Python-Code zur Ausführung
|
||||
</li>
|
||||
<li>
|
||||
<strong>Timeout</strong>: Maximale Ausführungszeit (standardmäßig 30 Sekunden)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Eingabedaten</strong>: Alle verbundenen Block-Ausgaben sind über Variablen verfügbar
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>function.result</strong>: Der von Ihrer Funktion zurückgegebene Wert
|
||||
</li>
|
||||
<li>
|
||||
<strong>function.stdout</strong>: Console.log()-Ausgabe aus Ihrem Code
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
- **`<function.result>`**: Der von Ihrer Funktion zurückgegebene Wert
|
||||
- **`<function.stdout>`**: Console.log()-Ausgabe Ihres Codes
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Datenverarbeitungspipeline
|
||||
**Datenverarbeitungspipeline** - Transformation von API-Antworten in strukturierte Daten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: API-Antwort in strukturierte Daten umwandeln</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>API-Block ruft Rohdaten der Kunden ab</li>
|
||||
<li>Funktionsblock verarbeitet und validiert Daten</li>
|
||||
<li>Funktionsblock berechnet abgeleitete Metriken</li>
|
||||
<li>Antwortblock gibt formatierte Ergebnisse zurück</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Fetch) → Function (Process & Validate) → Function (Calculate Metrics) → Response
|
||||
```
|
||||
|
||||
### Implementierung von Geschäftslogik
|
||||
**Implementierung von Geschäftslogik** - Berechnung von Treuepunkten und Stufen
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Berechnung von Treuepunkten und Stufen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Agent ruft Kaufhistorie des Kunden ab</li>
|
||||
<li>Funktionsblock berechnet Treuemetriken</li>
|
||||
<li>Funktionsblock bestimmt Kundenstufe</li>
|
||||
<li>Bedingungsblock leitet basierend auf der Stufenhöhe weiter</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Get History) → Function (Calculate Score) → Function (Determine Tier) → Condition (Route)
|
||||
```
|
||||
|
||||
### Datenvalidierung und -bereinigung
|
||||
**Datenvalidierung und -bereinigung** - Validierung und Bereinigung von Benutzereingaben
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Benutzereingaben validieren und bereinigen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Benutzereingabe aus Formularübermittlung erhalten</li>
|
||||
<li>Funktionsblock validiert E-Mail-Format und Telefonnummern</li>
|
||||
<li>Funktionsblock bereinigt und normalisiert Daten</li>
|
||||
<li>API-Block speichert validierte Daten in der Datenbank</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Input → Function (Validate & Sanitize) → API (Save to Database)
|
||||
```
|
||||
|
||||
### Beispiel: Treuepunkte-Rechner
|
||||
|
||||
@@ -152,5 +72,5 @@ return {
|
||||
- **Funktionen fokussiert halten**: Schreiben Sie Funktionen, die eine Sache gut erledigen, um die Wartbarkeit und Fehlersuche zu verbessern
|
||||
- **Fehler elegant behandeln**: Verwenden Sie try/catch-Blöcke, um potenzielle Fehler zu behandeln und aussagekräftige Fehlermeldungen bereitzustellen
|
||||
- **Grenzfälle testen**: Stellen Sie sicher, dass Ihr Code ungewöhnliche Eingaben, Null-Werte und Grenzbedingungen korrekt behandelt
|
||||
- **Auf Leistung optimieren**: Achten Sie bei großen Datensätzen auf die Berechnungskomplexität und den Speicherverbrauch
|
||||
- **console.log() zum Debuggen verwenden**: Nutzen Sie die Stdout-Ausgabe zum Debuggen und Überwachen der Funktionsausführung
|
||||
- **Für Leistung optimieren**: Achten Sie bei großen Datensätzen auf die Berechnungskomplexität und den Speicherverbrauch
|
||||
- **Console.log() zum Debuggen verwenden**: Nutzen Sie die Stdout-Ausgabe zum Debuggen und Überwachen der Funktionsausführung
|
||||
|
||||
@@ -3,8 +3,6 @@ title: Guardrails
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
@@ -13,62 +11,43 @@ Der Guardrails-Block validiert und schützt Ihre KI-Workflows, indem er Inhalte
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/guardrails.png"
|
||||
alt="Guardrails Block"
|
||||
alt="Guardrails-Block"
|
||||
width={500}
|
||||
height={350}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Übersicht
|
||||
|
||||
Mit dem Guardrails-Block können Sie:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>JSON-Struktur validieren</strong>: Stellen Sie sicher, dass LLM-Ausgaben gültiges JSON sind, bevor sie geparst werden
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Regex-Muster abgleichen</strong>: Überprüfen Sie, ob Inhalte bestimmten Formaten entsprechen (E-Mails, Telefonnummern, URLs usw.)
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Halluzinationen erkennen</strong>: Nutzen Sie RAG + LLM-Scoring, um KI-Ausgaben anhand von Wissensdatenbankinhalten zu validieren
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>PII erkennen</strong>: Identifizieren und optional maskieren Sie personenbezogene Daten über mehr als 40 Entitätstypen hinweg
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Validierungstypen
|
||||
|
||||
### JSON-Validierung
|
||||
|
||||
Überprüft, ob Inhalte korrekt formatiertes JSON sind. Perfekt, um sicherzustellen, dass strukturierte LLM-Ausgaben sicher geparst werden können.
|
||||
Überprüft, ob der Inhalt korrekt formatiertes JSON ist. Perfekt, um sicherzustellen, dass strukturierte LLM-Ausgaben sicher geparst werden können.
|
||||
|
||||
**Anwendungsfälle:**
|
||||
- Validieren von JSON-Antworten aus Agent-Blöcken vor dem Parsen
|
||||
- Validierung von JSON-Antworten aus Agent-Blöcken vor dem Parsen
|
||||
- Sicherstellen, dass API-Payloads korrekt formatiert sind
|
||||
- Überprüfen der Integrität strukturierter Daten
|
||||
- Überprüfung der Integrität strukturierter Daten
|
||||
|
||||
**Output:**
|
||||
- `passed`: `true` wenn gültiges JSON, sonst `false`
|
||||
- `error`: Fehlermeldung bei fehlgeschlagener Validierung (z.B. "Invalid JSON: Unexpected token...")
|
||||
**Ausgabe:**
|
||||
- `passed`: `true` bei gültigem JSON, sonst `false`
|
||||
- `error`: Fehlermeldung bei fehlgeschlagener Validierung (z.B. "Ungültiges JSON: Unerwartetes Token...")
|
||||
|
||||
### Regex-Validierung
|
||||
|
||||
Überprüft, ob Inhalte einem bestimmten regulären Ausdrucksmuster entsprechen.
|
||||
Prüft, ob der Inhalt einem bestimmten regulären Ausdrucksmuster entspricht.
|
||||
|
||||
**Anwendungsfälle:**
|
||||
- Validieren von E-Mail-Adressen
|
||||
- Überprüfen von Telefonnummernformaten
|
||||
- Verifizieren von URLs oder benutzerdefinierten Kennungen
|
||||
- Durchsetzen spezifischer Textmuster
|
||||
- Validierung von E-Mail-Adressen
|
||||
- Überprüfung von Telefonnummernformaten
|
||||
- Verifizierung von URLs oder benutzerdefinierten Kennungen
|
||||
- Durchsetzung spezifischer Textmuster
|
||||
|
||||
**Konfiguration:**
|
||||
- **Regex-Muster**: Der reguläre Ausdruck, der abgeglichen werden soll (z.B. `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` für E-Mails)
|
||||
- **Regex-Muster**: Der reguläre Ausdruck, gegen den geprüft wird (z.B. `^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` für E-Mails)
|
||||
|
||||
**Output:**
|
||||
- `passed`: `true` wenn der Inhalt dem Muster entspricht, `false` andernfalls
|
||||
**Ausgabe:**
|
||||
- `passed`: `true` wenn der Inhalt dem Muster entspricht, sonst `false`
|
||||
- `error`: Fehlermeldung bei fehlgeschlagener Validierung
|
||||
|
||||
### Halluzinationserkennung
|
||||
@@ -76,21 +55,21 @@ Mit dem Guardrails-Block können Sie:
|
||||
Verwendet Retrieval-Augmented Generation (RAG) mit LLM-Bewertung, um zu erkennen, wann KI-generierte Inhalte im Widerspruch zu Ihrer Wissensdatenbank stehen oder nicht darin begründet sind.
|
||||
|
||||
**Funktionsweise:**
|
||||
1. Durchsucht Ihre Wissensdatenbank nach relevantem Kontext
|
||||
2. Sendet sowohl die KI-Ausgabe als auch den abgerufenen Kontext an ein LLM
|
||||
1. Abfrage Ihrer Wissensdatenbank nach relevantem Kontext
|
||||
2. Übermittlung sowohl der KI-Ausgabe als auch des abgerufenen Kontexts an ein LLM
|
||||
3. LLM weist einen Konfidenzwert zu (Skala 0-10)
|
||||
- **0** = Vollständige Halluzination (völlig unbegründet)
|
||||
- **10** = Vollständig fundiert (komplett durch Wissensdatenbank gestützt)
|
||||
4. Validierung besteht, wenn der Wert ≥ Schwellenwert (Standard: 3)
|
||||
- **10** = Vollständig begründet (komplett durch die Wissensdatenbank gestützt)
|
||||
4. Validierung besteht, wenn der Wert ≥ Schwellenwert ist (Standard: 3)
|
||||
|
||||
**Konfiguration:**
|
||||
- **Wissensdatenbank**: Auswahl aus Ihren vorhandenen Wissensdatenbanken
|
||||
- **Modell**: LLM für die Bewertung wählen (erfordert starkes Reasoning - GPT-4o, Claude 3.7 Sonnet empfohlen)
|
||||
- **API-Schlüssel**: Authentifizierung für den ausgewählten LLM-Anbieter (automatisch ausgeblendet für gehostete/Ollama-Modelle)
|
||||
- **Konfidenz-Schwellenwert**: Mindestwert zum Bestehen (0-10, Standard: 3)
|
||||
- **Wissensdatenbank**: Wählen Sie aus Ihren vorhandenen Wissensdatenbanken
|
||||
- **Modell**: Wählen Sie LLM für die Bewertung (erfordert starkes Denkvermögen - GPT-4o, Claude 3.7 Sonnet empfohlen)
|
||||
- **API-Schlüssel**: Authentifizierung für den ausgewählten LLM-Anbieter (automatisch ausgeblendet für gehostete/Ollama oder VLLM-kompatible Modelle)
|
||||
- **Vertrauensschwelle**: Mindestpunktzahl zum Bestehen (0-10, Standard: 3)
|
||||
- **Top K** (Erweitert): Anzahl der abzurufenden Wissensdatenbank-Chunks (Standard: 10)
|
||||
|
||||
**Output:**
|
||||
**Ausgabe:**
|
||||
- `passed`: `true` wenn Konfidenzwert ≥ Schwellenwert
|
||||
- `score`: Konfidenzwert (0-10)
|
||||
- `reasoning`: Erklärung des LLM für den Wert
|
||||
@@ -98,27 +77,39 @@ Verwendet Retrieval-Augmented Generation (RAG) mit LLM-Bewertung, um zu erkennen
|
||||
|
||||
**Anwendungsfälle:**
|
||||
- Validierung von Agent-Antworten anhand der Dokumentation
|
||||
- Sicherstellen, dass Kundenservice-Antworten sachlich korrekt sind
|
||||
- Überprüfen, ob generierte Inhalte mit dem Quellmaterial übereinstimmen
|
||||
- Sicherstellung der faktischen Richtigkeit von Kundendienstantworten
|
||||
- Überprüfung, ob generierte Inhalte mit dem Quellmaterial übereinstimmen
|
||||
- Qualitätskontrolle für RAG-Anwendungen
|
||||
|
||||
### PII-Erkennung
|
||||
|
||||
Erkennt personenbezogene Daten mit Microsoft Presidio. Unterstützt über 40 Entitätstypen in mehreren Ländern und Sprachen.
|
||||
Erkennt personenbezogene Daten mithilfe von Microsoft Presidio. Unterstützt über 40 Entitätstypen in mehreren Ländern und Sprachen.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/guardrails-2.png"
|
||||
alt="PII-Erkennungskonfiguration"
|
||||
width={700}
|
||||
height={450}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
**Funktionsweise:**
|
||||
1. Übergabe des zu validierenden Inhalts (z.B. `<agent1.content>`)
|
||||
2. Auswahl der zu erkennenden PII-Typen über den Modal-Selektor
|
||||
3. Auswahl des Erkennungsmodus (Erkennen oder Maskieren)
|
||||
4. Inhalt wird auf übereinstimmende PII-Entitäten gescannt
|
||||
5. Gibt Erkennungsergebnisse und optional maskierten Text zurück
|
||||
|
||||
<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
|
||||
<Video src="guardrails.mp4" width={500} height={350} />
|
||||
</div>
|
||||
|
||||
**Funktionsweise:**
|
||||
1. Scannt Inhalte nach PII-Entitäten mittels Mustererkennung und NLP
|
||||
2. Gibt erkannte Entitäten mit Positionen und Konfidenzwerten zurück
|
||||
3. Maskiert optional erkannte PII in der Ausgabe
|
||||
|
||||
**Konfiguration:**
|
||||
- **Zu erkennende PII-Typen**: Auswahl aus gruppierten Kategorien über Modal-Selektor
|
||||
- **Allgemein**: Personenname, E-Mail, Telefon, Kreditkarte, IP-Adresse usw.
|
||||
- **USA**: SSN, Führerschein, Reisepass usw.
|
||||
- **USA**: Sozialversicherungsnummer, Führerschein, Reisepass usw.
|
||||
- **UK**: NHS-Nummer, Sozialversicherungsnummer
|
||||
- **Spanien**: NIF, NIE, CIF
|
||||
- **Italien**: Steuernummer, Führerschein, Umsatzsteuer-ID
|
||||
@@ -135,17 +126,17 @@ Erkennt personenbezogene Daten mit Microsoft Presidio. Unterstützt über 40 Ent
|
||||
- `passed`: `false` wenn ausgewählte PII-Typen erkannt werden
|
||||
- `detectedEntities`: Array erkannter PII mit Typ, Position und Konfidenz
|
||||
- `maskedText`: Inhalt mit maskierter PII (nur wenn Modus = "Mask")
|
||||
- `error`: Fehlermeldung, wenn die Validierung fehlschlägt
|
||||
- `error`: Fehlermeldung bei fehlgeschlagener Validierung
|
||||
|
||||
**Anwendungsfälle:**
|
||||
- Blockieren von Inhalten mit sensiblen persönlichen Informationen
|
||||
- Maskieren von PII vor der Protokollierung oder Speicherung von Daten
|
||||
- Einhaltung von DSGVO, HIPAA und anderen Datenschutzbestimmungen
|
||||
- Maskieren von personenbezogenen Daten vor der Protokollierung oder Speicherung
|
||||
- Einhaltung der DSGVO, HIPAA und anderer Datenschutzbestimmungen
|
||||
- Bereinigung von Benutzereingaben vor der Verarbeitung
|
||||
|
||||
## Konfiguration
|
||||
|
||||
### Zu validierender Inhalt
|
||||
### Zu validierende Inhalte
|
||||
|
||||
Der zu validierende Eingabeinhalt. Dieser stammt typischerweise aus:
|
||||
- Ausgaben von Agent-Blöcken: `<agent.content>`
|
||||
@@ -163,10 +154,10 @@ Wählen Sie aus vier Validierungstypen:
|
||||
|
||||
## Ausgaben
|
||||
|
||||
Alle Validierungstypen liefern zurück:
|
||||
Alle Validierungstypen geben zurück:
|
||||
|
||||
- **`<guardrails.passed>`**: Boolean, der angibt, ob die Validierung erfolgreich war
|
||||
- **`<guardrails.validationType>`**: Die Art der durchgeführten Validierung
|
||||
- **`<guardrails.passed>`**: Boolescher Wert, der angibt, ob die Validierung bestanden wurde
|
||||
- **`<guardrails.validationType>`**: Der durchgeführte Validierungstyp
|
||||
- **`<guardrails.input>`**: Die ursprüngliche Eingabe, die validiert wurde
|
||||
- **`<guardrails.error>`**: Fehlermeldung, wenn die Validierung fehlgeschlagen ist (optional)
|
||||
|
||||
@@ -178,73 +169,39 @@ Zusätzliche Ausgaben nach Typ:
|
||||
|
||||
**PII-Erkennung:**
|
||||
- **`<guardrails.detectedEntities>`**: Array erkannter PII-Entitäten
|
||||
- **`<guardrails.maskedText>`**: Inhalt mit maskierter PII (wenn Modus = "Mask")
|
||||
- **`<guardrails.maskedText>`**: Inhalt mit maskierten PII (wenn Modus = "Mask")
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### JSON vor dem Parsen validieren
|
||||
**JSON vor dem Parsen validieren** - Stellen Sie sicher, dass die Agent-Ausgabe gültiges JSON ist
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Sicherstellen, dass die Agent-Ausgabe gültiges JSON ist</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Agent generiert strukturierte JSON-Antwort</li>
|
||||
<li>Guardrails validiert das JSON-Format</li>
|
||||
<li>Bedingungsblock prüft `<guardrails.passed>`</li>
|
||||
<li>Bei Erfolg → Daten parsen und verwenden, Bei Fehler → Wiederholen oder Fehler behandeln</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Generate) → Guardrails (Validate) → Condition (Check passed) → Function (Parse)
|
||||
```
|
||||
|
||||
### Halluzinationen verhindern
|
||||
**Halluzinationen verhindern** - Validieren Sie Kundendienstantworten anhand der Wissensdatenbank
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Validierung von Kundendienstantworten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Agent generiert Antwort auf Kundenfrage</li>
|
||||
<li>Guardrails prüft gegen die Wissensdatenbank der Support-Dokumentation</li>
|
||||
<li>Wenn Konfidenzwert ≥ 3 → Antwort senden</li>
|
||||
<li>Wenn Konfidenzwert \< 3 → Für manuelle Überprüfung markieren</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Response) → Guardrails (Check KB) → Condition (Score ≥ 3) → Send or Flag
|
||||
```
|
||||
|
||||
### PII in Benutzereingaben blockieren
|
||||
**PII in Benutzereingaben blockieren** - Bereinigen Sie von Benutzern übermittelte Inhalte
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Bereinigung von benutzergenerierten Inhalten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Benutzer reicht Formular mit Textinhalt ein</li>
|
||||
<li>Guardrails erkennt PII (E-Mails, Telefonnummern, Sozialversicherungsnummern usw.)</li>
|
||||
<li>Bei erkannter PII → Einreichung ablehnen oder sensible Daten maskieren</li>
|
||||
<li>Ohne PII → Normal verarbeiten</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Input → Guardrails (Detect PII) → Condition (No PII) → Process or Reject
|
||||
```
|
||||
|
||||
<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
|
||||
<Video src="guardrails-example.mp4" width={500} height={350} />
|
||||
</div>
|
||||
## Bewährte Praktiken
|
||||
|
||||
### E-Mail-Format validieren
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: E-Mail-Adressformat überprüfen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Agent extrahiert E-Mail aus Text</li>
|
||||
<li>Guardrails validiert mit Regex-Muster</li>
|
||||
<li>Bei Gültigkeit → E-Mail für Benachrichtigung verwenden</li>
|
||||
<li>Bei Ungültigkeit → Korrektur anfordern</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Verkettung mit Condition-Blöcken**: Verwende `<guardrails.passed>` um Workflow-Logik basierend auf Validierungsergebnissen zu verzweigen
|
||||
- **JSON-Validierung vor dem Parsen verwenden**: Validiere immer die JSON-Struktur, bevor du versuchst, LLM-Ausgaben zu parsen
|
||||
- **Passende PII-Typen auswählen**: Wähle nur die PII-Entitätstypen aus, die für deinen Anwendungsfall relevant sind, um bessere Leistung zu erzielen
|
||||
- **Vernünftige Konfidenz-Schwellenwerte festlegen**: Passe für die Halluzinationserkennung den Schwellenwert basierend auf deinen Genauigkeitsanforderungen an (höher = strenger)
|
||||
- **Starke Modelle für Halluzinationserkennung verwenden**: GPT-4o oder Claude 3.7 Sonnet bieten genauere Konfidenz-Bewertungen
|
||||
- **PII für Logging maskieren**: Verwende den "Mask"-Modus, wenn du Inhalte protokollieren oder speichern musst, die PII enthalten könnten
|
||||
- **Regex-Muster testen**: Validiere deine Regex-Muster gründlich, bevor du sie in der Produktion einsetzt
|
||||
- **Validierungsfehler überwachen**: Verfolge `<guardrails.error>` Nachrichten, um häufige Validierungsprobleme zu identifizieren
|
||||
- **Verkettung mit Bedingungsblöcken**: Verwenden Sie `<guardrails.passed>`, um die Workflow-Logik basierend auf Validierungsergebnissen zu verzweigen
|
||||
- **JSON-Validierung vor dem Parsen verwenden**: Validieren Sie immer die JSON-Struktur, bevor Sie versuchen, LLM-Ausgaben zu parsen
|
||||
- **Geeignete PII-Typen auswählen**: Wählen Sie nur die für Ihren Anwendungsfall relevanten PII-Entitätstypen für bessere Leistung
|
||||
- **Angemessene Konfidenzgrenzwerte festlegen**: Passen Sie für die Halluzinationserkennung den Grenzwert an Ihre Genauigkeitsanforderungen an (höher = strenger)
|
||||
- **Starke Modelle für die Halluzinationserkennung verwenden**: GPT-4o oder Claude 3.7 Sonnet bieten genauere Konfidenzwerte
|
||||
- **PII für die Protokollierung maskieren**: Verwenden Sie den Modus "Mask", wenn Sie Inhalte protokollieren oder speichern müssen, die PII enthalten könnten
|
||||
- **Regex-Muster testen**: Validieren Sie Ihre Regex-Muster gründlich, bevor Sie sie in der Produktion einsetzen
|
||||
- **Validierungsfehler überwachen**: Verfolgen Sie `<guardrails.error>`Nachrichten, um häufige Validierungsprobleme zu identifizieren
|
||||
|
||||
<Callout type="info">
|
||||
Guardrails-Validierung erfolgt synchron in deinem Workflow. Für die Halluzinationserkennung solltest du schnellere Modelle (wie GPT-4o-mini) wählen, wenn Latenz kritisch ist.
|
||||
Die Validierung von Guardrails erfolgt synchron in Ihrem Workflow. Für die Erkennung von Halluzinationen sollten Sie schnellere Modelle (wie GPT-4o-mini) wählen, wenn die Latenz kritisch ist.
|
||||
</Callout>
|
||||
|
||||
188
apps/docs/content/docs/de/blocks/human-in-the-loop.mdx
Normal file
188
apps/docs/content/docs/de/blocks/human-in-the-loop.mdx
Normal file
@@ -0,0 +1,188 @@
|
||||
---
|
||||
title: Human in the Loop
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Der Human in the Loop Block pausiert die Workflow-Ausführung und wartet auf menschliches Eingreifen, bevor er fortfährt. Verwenden Sie ihn, um Genehmigungspunkte hinzuzufügen, Feedback zu sammeln oder zusätzliche Eingaben an kritischen Entscheidungspunkten einzuholen.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/hitl-1.png"
|
||||
alt="Human in the Loop Block Konfiguration"
|
||||
width={500}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
Wenn die Ausführung diesen Block erreicht, pausiert der Workflow auf unbestimmte Zeit, bis ein Mensch über das Genehmigungsportal, die API oder den Webhook eine Eingabe macht.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/hitl-2.png"
|
||||
alt="Human in the Loop Genehmigungsportal"
|
||||
width={700}
|
||||
height={500}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Pausierte Ausgabe
|
||||
|
||||
Definiert, welche Daten dem Genehmigenden angezeigt werden. Dies ist der Kontext, der im Genehmigungsportal angezeigt wird, um eine fundierte Entscheidung zu ermöglichen.
|
||||
|
||||
Verwenden Sie den visuellen Builder oder den JSON-Editor, um die Daten zu strukturieren. Referenzieren Sie Workflow-Variablen mit der `<blockName.output>` Syntax.
|
||||
|
||||
```json
|
||||
{
|
||||
"customerName": "<agent1.content.name>",
|
||||
"proposedAction": "<router1.selectedPath>",
|
||||
"confidenceScore": "<evaluator1.score>",
|
||||
"generatedEmail": "<agent2.content>"
|
||||
}
|
||||
```
|
||||
|
||||
### Benachrichtigung
|
||||
|
||||
Konfiguriert, wie Genehmigende benachrichtigt werden, wenn eine Genehmigung erforderlich ist. Unterstützte Kanäle sind:
|
||||
|
||||
- **Slack** - Nachrichten an Kanäle oder DMs
|
||||
- **Gmail** - E-Mail mit Genehmigungslink
|
||||
- **Microsoft Teams** - Team-Kanal-Benachrichtigungen
|
||||
- **SMS** - Textwarnungen über Twilio
|
||||
- **Webhooks** - Benutzerdefinierte Benachrichtigungssysteme
|
||||
|
||||
Fügen Sie die Genehmigungs-URL (`<blockId.url>`) in Ihre Benachrichtigungsnachrichten ein, damit Genehmigende auf das Portal zugreifen können.
|
||||
|
||||
### Fortsetzungseingabe
|
||||
|
||||
Definiert die Felder, die Genehmigende bei der Antwort ausfüllen. Diese Daten werden nach der Fortsetzung des Workflows für nachfolgende Blöcke verfügbar.
|
||||
|
||||
```json
|
||||
{
|
||||
"approved": {
|
||||
"type": "boolean",
|
||||
"description": "Approve or reject this request"
|
||||
},
|
||||
"comments": {
|
||||
"type": "string",
|
||||
"description": "Optional feedback or explanation"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Greifen Sie in nachgelagerten Blöcken auf Wiederaufnahmedaten mit `<blockId.resumeInput.fieldName>` zu.
|
||||
|
||||
## Genehmigungsmethoden
|
||||
|
||||
<Tabs items={['Genehmigungsportal', 'API', 'Webhook']}>
|
||||
<Tab>
|
||||
### Genehmigungsportal
|
||||
|
||||
Jeder Block generiert eine eindeutige Portal-URL (`<blockId.url>`) mit einer visuellen Oberfläche, die alle pausierten Ausgabedaten und Formularfelder für die Fortsetzungseingabe anzeigt. Mobilgerätekompatibel und sicher.
|
||||
|
||||
Teilen Sie diese URL in Benachrichtigungen, damit Genehmiger die Anfragen prüfen und beantworten können.
|
||||
</Tab>
|
||||
<Tab>
|
||||
### REST API
|
||||
|
||||
Workflows programmatisch fortsetzen:
|
||||
|
||||
|
||||
```bash
|
||||
POST /api/workflows/{workflowId}/executions/{executionId}/resume/{blockId}
|
||||
|
||||
{
|
||||
"approved": true,
|
||||
"comments": "Looks good to proceed"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Erstellen Sie benutzerdefinierte Genehmigungs-UIs oder integrieren Sie bestehende Systeme.
|
||||
</Tab>
|
||||
<Tab>
|
||||
### Webhook
|
||||
|
||||
Fügen Sie ein Webhook-Tool im Benachrichtigungsbereich hinzu, um Genehmigungsanfragen an externe Systeme zu senden. Integration mit Ticketing-Systemen wie Jira oder ServiceNow.
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Häufige Anwendungsfälle
|
||||
|
||||
**Inhaltsgenehmigung** - Überprüfung von KI-generierten Inhalten vor der Veröffentlichung
|
||||
|
||||
```
|
||||
Agent → Human in the Loop → API (Publish)
|
||||
```
|
||||
|
||||
**Mehrstufige Genehmigungen** - Verkettung mehrerer Genehmigungsschritte für wichtige Entscheidungen
|
||||
|
||||
```
|
||||
Agent → Human in the Loop (Manager) → Human in the Loop (Director) → Execute
|
||||
```
|
||||
|
||||
**Datenvalidierung** - Überprüfung extrahierter Daten vor der Verarbeitung
|
||||
|
||||
```
|
||||
Agent (Extract) → Human in the Loop (Validate) → Function (Process)
|
||||
```
|
||||
|
||||
**Qualitätskontrolle** - Überprüfung von KI-Ausgaben vor dem Versand an Kunden
|
||||
|
||||
```
|
||||
Agent (Generate) → Human in the Loop (QA) → Gmail (Send)
|
||||
```
|
||||
|
||||
## Block-Ausgaben
|
||||
|
||||
**`url`** - Eindeutige URL für das Genehmigungsportal
|
||||
**`resumeInput.*`** - Alle in der Fortsetzungseingabe definierten Felder werden verfügbar, nachdem der Workflow fortgesetzt wird
|
||||
|
||||
Zugriff über `<blockId.resumeInput.fieldName>`.
|
||||
|
||||
## Beispiel
|
||||
|
||||
**Pausierte Ausgabe:**
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "<agent1.content.title>",
|
||||
"body": "<agent1.content.body>",
|
||||
"qualityScore": "<evaluator1.score>"
|
||||
}
|
||||
```
|
||||
|
||||
**Fortsetzungseingabe:**
|
||||
|
||||
```json
|
||||
{
|
||||
"approved": { "type": "boolean" },
|
||||
"feedback": { "type": "string" }
|
||||
}
|
||||
```
|
||||
|
||||
**Nachgelagerte Verwendung:**
|
||||
|
||||
```javascript
|
||||
// Condition block
|
||||
<approval1.resumeInput.approved> === true
|
||||
```
|
||||
|
||||
Das Beispiel unten zeigt ein Genehmigungsportal, wie es von einem Genehmiger gesehen wird, nachdem der Workflow angehalten wurde. Genehmiger können die Daten überprüfen und Eingaben als Teil der Workflow-Wiederaufnahme bereitstellen. Auf das Genehmigungsportal kann direkt über die eindeutige URL, `<blockId.url>`, zugegriffen werden.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg my-6">
|
||||
<Video src="hitl-resume.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
## Verwandte Blöcke
|
||||
|
||||
- **[Bedingung](/blocks/condition)** - Verzweigung basierend auf Genehmigungsentscheidungen
|
||||
- **[Variablen](/blocks/variables)** - Speichern von Genehmigungsverlauf und Metadaten
|
||||
- **[Antwort](/blocks/response)** - Rückgabe von Workflow-Ergebnissen an API-Aufrufer
|
||||
@@ -31,6 +31,7 @@ Sim bietet wesentliche Blocktypen, die die Kernfunktionen von KI-Workflows abdec
|
||||
### Ablaufsteuerungsblöcke
|
||||
- **[Variablen](/blocks/variables)** - Workflow-bezogene Variablen setzen und verwalten
|
||||
- **[Warten](/blocks/wait)** - Workflow-Ausführung für eine bestimmte Zeitverzögerung pausieren
|
||||
- **[Mensch in der Schleife](/blocks/human-in-the-loop)** - Pausieren für menschliche Genehmigung und Feedback vor dem Fortfahren
|
||||
|
||||
### Ausgabeblöcke
|
||||
- **[Antwort](/blocks/response)** - Formatieren und Zurückgeben der endgültigen Ergebnisse aus Ihrem Workflow
|
||||
@@ -121,19 +122,22 @@ Jeder Blocktyp hat spezifische Konfigurationsoptionen:
|
||||
<Card title="Agent-Block" href="/blocks/agent">
|
||||
Verbindung zu KI-Modellen herstellen und intelligente Antworten erstellen
|
||||
</Card>
|
||||
<Card title="Funktions-Block" href="/blocks/function">
|
||||
<Card title="Funktionsblock" href="/blocks/function">
|
||||
Benutzerdefinierten Code ausführen, um Daten zu verarbeiten und zu transformieren
|
||||
</Card>
|
||||
<Card title="API-Block" href="/blocks/api">
|
||||
Integration mit externen Diensten und APIs
|
||||
</Card>
|
||||
<Card title="Bedingungs-Block" href="/blocks/condition">
|
||||
<Card title="Bedingungsblock" href="/blocks/condition">
|
||||
Verzweigende Logik basierend auf Datenbewertung erstellen
|
||||
</Card>
|
||||
<Card title="Variablen-Block" href="/blocks/variables">
|
||||
<Card title="Mensch-in-der-Schleife-Block" href="/blocks/human-in-the-loop">
|
||||
Pausieren für menschliche Genehmigung und Feedback vor dem Fortfahren
|
||||
</Card>
|
||||
<Card title="Variablenblock" href="/blocks/variables">
|
||||
Workflow-bezogene Variablen setzen und verwalten
|
||||
</Card>
|
||||
<Card title="Warte-Block" href="/blocks/wait">
|
||||
<Card title="Warteblock" href="/blocks/wait">
|
||||
Workflow-Ausführung für bestimmte Zeitverzögerungen pausieren
|
||||
</Card>
|
||||
</Cards>
|
||||
|
||||
@@ -3,46 +3,15 @@ title: Loop
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Der Loop-Block ist ein Container-Block in Sim, der es ermöglicht, iterative Workflows zu erstellen, indem eine Gruppe von Blöcken wiederholt ausgeführt wird. Loops ermöglichen iterative Verarbeitung in deinen Workflows.
|
||||
|
||||
Der Schleifenblock unterstützt vier Arten der Iteration:
|
||||
Der Schleifenblock ist ein Container, der Blöcke wiederholt ausführt. Iteriere über Sammlungen, wiederhole Operationen eine festgelegte Anzahl von Malen oder fahre fort, solange eine Bedingung erfüllt ist.
|
||||
|
||||
<Callout type="info">
|
||||
Loop-Blöcke sind Container-Knoten, die andere Blöcke enthalten können. Die Blöcke innerhalb einer Schleife werden basierend auf deiner Konfiguration mehrfach ausgeführt.
|
||||
Schleifenblöcke sind Container-Knoten, die andere Blöcke in sich enthalten. Die enthaltenen Blöcke werden mehrfach ausgeführt, basierend auf deiner Konfiguration.
|
||||
</Callout>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Loop-Block ermöglicht dir:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Über Sammlungen iterieren</strong>: Arrays oder Objekte Element für Element verarbeiten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Operationen wiederholen</strong>: Blöcke eine festgelegte Anzahl von Malen ausführen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Auf Bedingungen basierte Schleifen</strong>: Ausführung fortsetzen, während oder bis eine Bedingung erfüllt ist
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Ergebnisse aggregieren</strong>: Ausgaben aus allen Schleifendurchläufen sammeln
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Der Loop-Block führt enthaltene Blöcke durch sequentielle Iteration aus:
|
||||
|
||||
1. **Schleife initialisieren** - Iterationsparameter festlegen (Anzahl oder Sammlung)
|
||||
2. **Iteration ausführen** - Enthaltene Blöcke für aktuelle Iteration ausführen
|
||||
3. **Ergebnisse sammeln** - Ausgabe jeder Iteration speichern
|
||||
4. **Fortfahren oder abschließen** - Zur nächsten Iteration übergehen oder Schleife beenden
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Schleifentyp
|
||||
@@ -101,7 +70,7 @@ Wähle zwischen vier Arten von Schleifen:
|
||||
|
||||
</Tab>
|
||||
<Tab>
|
||||
**While-Schleife (Bedingungsbasiert)** - Wird weiter ausgeführt, solange eine Bedingung als wahr ausgewertet wird:
|
||||
**While-Schleife (Bedingungsbasiert)** - Wird ausgeführt, solange eine Bedingung als wahr ausgewertet wird:
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -114,13 +83,12 @@ Wähle zwischen vier Arten von Schleifen:
|
||||
</div>
|
||||
|
||||
Verwende diese, wenn du eine Schleife benötigst, die läuft, bis eine bestimmte Bedingung erfüllt ist. Die Bedingung wird **vor** jeder Iteration überprüft.
|
||||
|
||||
|
||||
```
|
||||
Example: While <variable.i> < 10
|
||||
Example: While {"<variable.i>"} < 10
|
||||
- Check condition → Execute if true
|
||||
- Inside loop: Increment <variable.i>
|
||||
- Inside loop: Variables assigns i = <variable.i> + 1
|
||||
- Inside loop: Increment {"<variable.i>"}
|
||||
- Inside loop: Variables assigns i = {"<variable.i>"} + 1
|
||||
- Check condition → Execute if true
|
||||
- Check condition → Exit if false
|
||||
```
|
||||
@@ -131,7 +99,7 @@ Wähle zwischen vier Arten von Schleifen:
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/loop-3.png"
|
||||
src="/static/blocks/loop-4.png"
|
||||
alt="Do-While-Schleife mit Bedingung"
|
||||
width={500}
|
||||
height={400}
|
||||
@@ -139,14 +107,13 @@ Wähle zwischen vier Arten von Schleifen:
|
||||
/>
|
||||
</div>
|
||||
|
||||
Verwende diese, wenn du mindestens eine Ausführung benötigst und dann eine Schleife, bis eine Bedingung erfüllt ist. Die Bedingung wird **nach** jeder Iteration überprüft.
|
||||
|
||||
Verwende diese, wenn du eine Operation mindestens einmal ausführen musst und dann die Schleife fortsetzen willst, bis eine Bedingung erfüllt ist. Die Bedingung wird **nach** jeder Iteration überprüft.
|
||||
|
||||
```
|
||||
Example: Do-while <variable.i> < 10
|
||||
Example: Do-while {"<variable.i>"} < 10
|
||||
- Execute blocks
|
||||
- Inside loop: Increment <variable.i>
|
||||
- Inside loop: Variables assigns i = <variable.i> + 1
|
||||
- Inside loop: Increment {"<variable.i>"}
|
||||
- Inside loop: Variables assigns i = {"<variable.i>"} + 1
|
||||
- Check condition → Continue if true
|
||||
- Check condition → Exit if false
|
||||
```
|
||||
@@ -165,48 +132,59 @@ Wähle zwischen vier Arten von Schleifen:
|
||||
|
||||
### Auf Ergebnisse zugreifen
|
||||
|
||||
Nach Abschluss einer Schleife können Sie auf die aggregierten Ergebnisse zugreifen:
|
||||
Nach Abschluss einer Schleife kannst du auf aggregierte Ergebnisse zugreifen:
|
||||
|
||||
- **`<loop.results>`**: Array mit Ergebnissen aus allen Schleifendurchläufen
|
||||
- **loop.results**: Array mit Ergebnissen aller Schleifendurchläufe
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Verarbeitung von API-Ergebnissen
|
||||
**Verarbeitung von API-Ergebnissen** - ForEach-Schleife verarbeitet Kundendatensätze aus einer API
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Mehrere Kundendatensätze verarbeiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>API-Block ruft Kundenliste ab</li>
|
||||
<li>ForEach-Schleife iteriert über jeden Kunden</li>
|
||||
<li>Innerhalb der Schleife: Agent analysiert Kundendaten</li>
|
||||
<li>Innerhalb der Schleife: Funktion speichert Analyseergebnisse</li>
|
||||
</ol>
|
||||
</div>
|
||||
```javascript
|
||||
// Beispiel: ForEach-Schleife für API-Ergebnisse
|
||||
const customers = await api.getCustomers();
|
||||
|
||||
### Iterative Inhaltserstellung
|
||||
loop.forEach(customers, (customer) => {
|
||||
// Verarbeite jeden Kunden
|
||||
if (customer.status === 'active') {
|
||||
sendEmail(customer.email, 'Sonderangebot');
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Mehrere Variationen generieren</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>For-Schleife auf 5 Iterationen einstellen</li>
|
||||
<li>Innerhalb der Schleife: Agent generiert Inhaltsvariante</li>
|
||||
<li>Innerhalb der Schleife: Evaluator bewertet den Inhalt</li>
|
||||
<li>Nach der Schleife: Funktion wählt die beste Variante aus</li>
|
||||
</ol>
|
||||
</div>
|
||||
**Iterative Inhaltsgenerierung** - For-Schleife generiert mehrere Inhaltsvariationen
|
||||
|
||||
### Zähler mit While-Schleife
|
||||
```javascript
|
||||
// Beispiel: For-Schleife für Inhaltsgenerierung
|
||||
const variations = [];
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Elemente mit zählerbasierter Schleife verarbeiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Workflow-Variable initialisieren: `i = 0`</li>
|
||||
<li>While-Schleife mit Bedingung: `<variable.i>` \< 10</li>
|
||||
<li>Innerhalb der Schleife: Agent verarbeitet Element am Index `<variable.i>`</li>
|
||||
<li>Innerhalb der Schleife: Variable erhöht `i = <variable.i> + 1`</li>
|
||||
<li>Schleife wird fortgesetzt, solange i kleiner als 10 ist</li>
|
||||
</ol>
|
||||
</div>
|
||||
loop.for(5, (i) => {
|
||||
// Generiere 5 verschiedene Variationen
|
||||
const content = ai.generateContent({
|
||||
prompt: `Variation ${i+1} für Produktbeschreibung`,
|
||||
temperature: 0.7 + (i * 0.1)
|
||||
});
|
||||
variations.push(content);
|
||||
});
|
||||
```
|
||||
|
||||
**Zähler mit While-Schleife** - While-Schleife verarbeitet Elemente mit Zähler
|
||||
|
||||
```javascript
|
||||
// Beispiel: While-Schleife mit Zähler
|
||||
let counter = 0;
|
||||
let processedItems = 0;
|
||||
|
||||
loop.while(() => counter < items.length, () => {
|
||||
if (items[counter].isValid) {
|
||||
processItem(items[counter]);
|
||||
processedItems++;
|
||||
}
|
||||
counter++;
|
||||
});
|
||||
|
||||
console.log(`${processedItems} gültige Elemente verarbeitet`);
|
||||
```
|
||||
|
||||
## Erweiterte Funktionen
|
||||
|
||||
@@ -214,15 +192,15 @@ Nach Abschluss einer Schleife können Sie auf die aggregierten Ergebnisse zugrei
|
||||
|
||||
<Callout type="warning">
|
||||
Container-Blöcke (Schleifen und Parallele) können nicht ineinander verschachtelt werden. Das bedeutet:
|
||||
- Sie können keinen Schleifenblock in einem anderen Schleifenblock platzieren
|
||||
- Sie können keinen Parallelblock in einem Schleifenblock platzieren
|
||||
- Sie können keinen Container-Block in einem anderen Container-Block platzieren
|
||||
- Du kannst keinen Schleifenblock in einen anderen Schleifenblock platzieren
|
||||
- Du kannst keinen Parallel-Block in einen Schleifenblock platzieren
|
||||
- Du kannst keinen Container-Block in einen anderen Container-Block platzieren
|
||||
|
||||
Wenn Sie mehrdimensionale Iterationen benötigen, sollten Sie Ihren Workflow umstrukturieren, um sequentielle Schleifen zu verwenden oder Daten in Stufen zu verarbeiten.
|
||||
Wenn du mehrdimensionale Iterationen benötigst, erwäge eine Umstrukturierung deines Workflows, um sequentielle Schleifen zu verwenden oder Daten in Stufen zu verarbeiten.
|
||||
</Callout>
|
||||
|
||||
<Callout type="info">
|
||||
Schleifen werden sequentiell ausgeführt, nicht parallel. Wenn Sie eine gleichzeitige Ausführung benötigen, verwenden Sie stattdessen den Parallel-Block.
|
||||
Schleifen werden sequentiell ausgeführt, nicht parallel. Wenn du eine gleichzeitige Ausführung benötigst, verwende stattdessen den Parallel-Block.
|
||||
</Callout>
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
@@ -231,16 +209,16 @@ Nach Abschluss einer Schleife können Sie auf die aggregierten Ergebnisse zugrei
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Schleifentyp</strong>: Wählen Sie zwischen 'for', 'forEach', 'while' oder 'doWhile'
|
||||
<strong>Schleifentyp</strong>: Wähle zwischen 'for', 'forEach', 'while' oder 'doWhile'
|
||||
</li>
|
||||
<li>
|
||||
<strong>Iterationen</strong>: Anzahl der Ausführungen (für for-Schleifen)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Sammlung</strong>: Array oder Objekt, über das iteriert werden soll (forEach-Schleifen)
|
||||
<strong>Sammlung</strong>: Array oder Objekt zum Durchlaufen (für forEach-Schleifen)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Bedingung</strong>: Boolescher Ausdruck zur Auswertung (while/do-while-Schleifen)
|
||||
<strong>Bedingung</strong>: Boolescher Ausdruck zur Auswertung (für while/do-while-Schleifen)
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
@@ -253,7 +231,7 @@ Nach Abschluss einer Schleife können Sie auf die aggregierten Ergebnisse zugrei
|
||||
<strong>loop.index</strong>: Aktuelle Iterationsnummer (0-basiert)
|
||||
</li>
|
||||
<li>
|
||||
<strong>loop.items</strong>: Vollständige Sammlung (forEach-Schleifen)
|
||||
<strong>loop.items</strong>: Vollständige Sammlung (für forEach-Schleifen)
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
@@ -274,6 +252,6 @@ Nach Abschluss einer Schleife können Sie auf die aggregierten Ergebnisse zugrei
|
||||
|
||||
## Bewährte Praktiken
|
||||
|
||||
- **Vernünftige Grenzen setzen**: Halten Sie die Anzahl der Iterationen in einem vernünftigen Rahmen, um lange Ausführungszeiten zu vermeiden
|
||||
- **ForEach für Sammlungen verwenden**: Verwenden Sie ForEach statt For-Schleifen, wenn Sie Arrays oder Objekte verarbeiten
|
||||
- **Fehler elegant behandeln**: Erwägen Sie, Fehlerbehandlung innerhalb von Schleifen einzubauen, um robuste Workflows zu gewährleisten
|
||||
- **Setzen Sie vernünftige Grenzen**: Halten Sie die Anzahl der Iterationen in einem vernünftigen Rahmen, um lange Ausführungszeiten zu vermeiden
|
||||
- **Verwenden Sie ForEach für Sammlungen**: Verwenden Sie beim Verarbeiten von Arrays oder Objekten ForEach anstelle von For-Schleifen
|
||||
- **Behandeln Sie Fehler elegant**: Erwägen Sie, Fehlerbehandlung innerhalb von Schleifen hinzuzufügen, um robuste Workflows zu gewährleisten
|
||||
|
||||
@@ -3,46 +3,24 @@ title: Parallel
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Der Parallel-Block ist ein Container-Block in Sim, der es ermöglicht, mehrere Instanzen von Blöcken gleichzeitig auszuführen, um Workflows schneller zu verarbeiten.
|
||||
|
||||
Der Parallel-Block unterstützt zwei Arten der gleichzeitigen Ausführung:
|
||||
Der Parallel-Block ist ein Container, der mehrere Instanzen gleichzeitig ausführt, um Workflows schneller zu verarbeiten. Verarbeiten Sie Elemente simultan statt sequentiell.
|
||||
|
||||
<Callout type="info">
|
||||
Parallel-Blöcke sind Container-Knoten, die ihre Inhalte mehrfach gleichzeitig ausführen, im Gegensatz zu Schleifen, die sequentiell ausgeführt werden.
|
||||
</Callout>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Parallel-Block ermöglicht es dir:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Arbeit zu verteilen</strong>: Mehrere Elemente gleichzeitig zu verarbeiten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Ausführung zu beschleunigen</strong>: Unabhängige Operationen gleichzeitig auszuführen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Massenoperationen zu bewältigen</strong>: Große Datensätze effizient zu verarbeiten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Ergebnisse zu aggregieren</strong>: Ausgaben aus allen parallelen Ausführungen zu sammeln
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Parallel-Typ
|
||||
|
||||
Wähle zwischen zwei Arten der parallelen Ausführung:
|
||||
Wählen Sie zwischen zwei Arten der parallelen Ausführung:
|
||||
|
||||
<Tabs items={['Count-based', 'Collection-based']}>
|
||||
<Tab>
|
||||
**Anzahlbasierte Parallelität** - Führe eine feste Anzahl paralleler Instanzen aus:
|
||||
**Anzahlbasierte Parallelisierung** - Führen Sie eine feste Anzahl paralleler Instanzen aus:
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -54,21 +32,24 @@ Wähle zwischen zwei Arten der parallelen Ausführung:
|
||||
/>
|
||||
</div>
|
||||
|
||||
Verwende dies, wenn du dieselbe Operation mehrmals gleichzeitig ausführen musst.
|
||||
Verwenden Sie diese Option, wenn Sie dieselbe Operation mehrmals gleichzeitig ausführen müssen.
|
||||
|
||||
|
||||
```
|
||||
Example: Run 5 parallel instances
|
||||
- Instance 1 ┐
|
||||
- Instance 2 ├─ All execute simultaneously
|
||||
- Instance 3 │
|
||||
- Instance 4 │
|
||||
- Instance 5 ┘
|
||||
```
|
||||
```javascript
|
||||
// Beispiel: 3 parallele Instanzen ausführen
|
||||
const results = await blocks.parallel({
|
||||
type: 'count',
|
||||
count: 3,
|
||||
async process(index) {
|
||||
// Jede Instanz erhält einen eindeutigen Index (0, 1, 2)
|
||||
return `Ergebnis von Instanz ${index}`;
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
</Tab>
|
||||
<Tab>
|
||||
**Sammlungsbasierte Parallelität** - Verteile eine Sammlung auf parallele Instanzen:
|
||||
**Sammlungsbasierte Parallelisierung** - Verteilen Sie eine Sammlung auf parallele Instanzen:
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -83,45 +64,57 @@ Wähle zwischen zwei Arten der parallelen Ausführung:
|
||||
Jede Instanz verarbeitet gleichzeitig ein Element aus der Sammlung.
|
||||
|
||||
|
||||
```
|
||||
Example: Process ["task1", "task2", "task3"] in parallel
|
||||
- Instance 1: Process "task1" ┐
|
||||
- Instance 2: Process "task2" ├─ All execute simultaneously
|
||||
- Instance 3: Process "task3" ┘
|
||||
```
|
||||
```javascript
|
||||
// Beispiel: Eine Liste von URLs parallel verarbeiten
|
||||
const urls = [
|
||||
'https://example.com/api/1',
|
||||
'https://example.com/api/2',
|
||||
'https://example.com/api/3'
|
||||
];
|
||||
|
||||
const results = await blocks.parallel({
|
||||
type: 'collection',
|
||||
items: urls,
|
||||
async process(url, index) {
|
||||
// Jede Instanz verarbeitet eine URL
|
||||
const response = await fetch(url);
|
||||
return response.json();
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Wie man Parallel-Blöcke verwendet
|
||||
## Verwendung von Parallel-Blöcken
|
||||
|
||||
### Einen Parallel-Block erstellen
|
||||
### Erstellen eines Parallel-Blocks
|
||||
|
||||
1. Ziehe einen Parallel-Block aus der Werkzeugleiste auf deine Leinwand
|
||||
2. Konfiguriere den Parallel-Typ und die Parameter
|
||||
3. Ziehe einen einzelnen Block in den Parallel-Container
|
||||
4. Verbinde den Block nach Bedarf
|
||||
1. Ziehen Sie einen Parallel-Block aus der Symbolleiste auf Ihre Leinwand
|
||||
2. Konfigurieren Sie den Parallel-Typ und die Parameter
|
||||
3. Ziehen Sie einen einzelnen Block in den Parallel-Container
|
||||
4. Verbinden Sie den Block nach Bedarf
|
||||
|
||||
### Auf Ergebnisse zugreifen
|
||||
### Zugriff auf Ergebnisse
|
||||
|
||||
Nach Abschluss eines parallelen Blocks können Sie auf aggregierte Ergebnisse zugreifen:
|
||||
Nach Abschluss eines Parallel-Blocks können Sie auf aggregierte Ergebnisse zugreifen:
|
||||
|
||||
- **`<parallel.results>`**: Array mit Ergebnissen aus allen parallelen Instanzen
|
||||
- **`results`**: Array von Ergebnissen aus allen parallelen Instanzen
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Batch-API-Verarbeitung
|
||||
**Batch-API-Verarbeitung** - Verarbeiten Sie mehrere API-Aufrufe gleichzeitig
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Mehrere API-Aufrufe gleichzeitig verarbeiten</h4>
|
||||
<h4 className="font-medium">Szenario: Mehrere API-Endpunkte abfragen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Paralleler Block mit einer Sammlung von API-Endpunkten</li>
|
||||
<li>Innerhalb des parallelen Blocks: API-Block ruft jeden Endpunkt auf</li>
|
||||
<li>Nach dem parallelen Block: Alle Antworten gemeinsam verarbeiten</li>
|
||||
<li>Sammlungsbasierte Parallelisierung über eine Liste von API-Endpunkten</li>
|
||||
<li>Jede Instanz führt einen API-Aufruf durch und verarbeitet die Antwort</li>
|
||||
<li>Ergebnisse werden in einem Array gesammelt und können weiterverarbeitet werden</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
### Multi-Modell-KI-Verarbeitung
|
||||
**Multi-Modell-KI-Verarbeitung** - Erhalten Sie Antworten von mehreren KI-Modellen gleichzeitig
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Antworten von mehreren KI-Modellen erhalten</h4>
|
||||
@@ -138,11 +131,7 @@ Nach Abschluss eines parallelen Blocks können Sie auf aggregierte Ergebnisse zu
|
||||
|
||||
Ergebnisse aus allen parallelen Instanzen werden automatisch gesammelt:
|
||||
|
||||
```javascript
|
||||
// In a Function block after the parallel
|
||||
const allResults = input.parallel.results;
|
||||
// Returns: [result1, result2, result3, ...]
|
||||
```
|
||||
### Anwendungsbeispiele
|
||||
|
||||
### Instanzisolierung
|
||||
|
||||
@@ -155,27 +144,23 @@ Jede parallele Instanz läuft unabhängig:
|
||||
|
||||
<Callout type="warning">
|
||||
Container-Blöcke (Schleifen und Parallele) können nicht ineinander verschachtelt werden. Das bedeutet:
|
||||
- Sie können keinen Schleifenblock in einen parallelen Block platzieren
|
||||
- Sie können keinen weiteren parallelen Block in einen parallelen Block platzieren
|
||||
- Sie können keinen Schleifenblock in einen Parallelblock platzieren
|
||||
- Sie können keinen weiteren Parallelblock in einen Parallelblock platzieren
|
||||
- Sie können keinen Container-Block in einen anderen Container-Block platzieren
|
||||
</Callout>
|
||||
|
||||
<Callout type="warning">
|
||||
Parallele Blöcke können nur einen einzigen Block enthalten. Sie können nicht mehrere Blöcke haben, die innerhalb eines parallelen Blocks miteinander verbunden sind - in diesem Fall würde nur der erste Block ausgeführt werden.
|
||||
</Callout>
|
||||
|
||||
<Callout type="info">
|
||||
Obwohl die parallele Ausführung schneller ist, sollten Sie Folgendes beachten:
|
||||
Während die parallele Ausführung schneller ist, beachten Sie bitte:
|
||||
- API-Ratenbegrenzungen bei gleichzeitigen Anfragen
|
||||
- Speichernutzung bei großen Datensätzen
|
||||
- Speicherverbrauch bei großen Datensätzen
|
||||
- Maximum von 20 gleichzeitigen Instanzen, um Ressourcenerschöpfung zu vermeiden
|
||||
</Callout>
|
||||
|
||||
## Parallel vs. Loop
|
||||
## Parallel vs. Schleife
|
||||
|
||||
Verstehen, wann was zu verwenden ist:
|
||||
Wann Sie welche Methode verwenden sollten:
|
||||
|
||||
| Funktion | Parallel | Loop |
|
||||
| Funktion | Parallel | Schleife |
|
||||
|---------|----------|------|
|
||||
| Ausführung | Gleichzeitig | Sequentiell |
|
||||
| Geschwindigkeit | Schneller für unabhängige Operationen | Langsamer, aber geordnet |
|
||||
@@ -185,17 +170,17 @@ Verstehen, wann was zu verwenden ist:
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
|
||||
<Tabs items={['Konfiguration', 'Variablen', 'Ergebnisse']}>
|
||||
<Tabs items={['Configuration', 'Variables', 'Results']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Parallel-Typ</strong>: Wählen Sie zwischen 'count' oder 'collection'
|
||||
</li>
|
||||
<li>
|
||||
<strong>Count</strong>: Anzahl der auszuführenden Instanzen (anzahlbasiert)
|
||||
<strong>Anzahl</strong>: Anzahl der auszuführenden Instanzen (anzahlbasiert)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Collection</strong>: Array oder Objekt zur Verteilung (sammlungsbasiert)
|
||||
<strong>Sammlung</strong>: Array oder Objekt zur Verteilung (sammlungsbasiert)
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
@@ -218,7 +203,7 @@ Verstehen, wann was zu verwenden ist:
|
||||
<strong>parallel.results</strong>: Array aller Instanzergebnisse
|
||||
</li>
|
||||
<li>
|
||||
<strong>Access</strong>: Verfügbar in Blöcken nach dem Parallel
|
||||
<strong>Zugriff</strong>: Verfügbar in Blöcken nach der Parallelausführung
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
@@ -227,5 +212,5 @@ Verstehen, wann was zu verwenden ist:
|
||||
## Best Practices
|
||||
|
||||
- **Nur unabhängige Operationen**: Stellen Sie sicher, dass Operationen nicht voneinander abhängen
|
||||
- **Rate-Limits berücksichtigen**: Fügen Sie Verzögerungen oder Drosselungen für API-intensive Workflows hinzu
|
||||
- **Ratenbegrenzungen berücksichtigen**: Fügen Sie Verzögerungen oder Drosselungen für API-intensive Workflows hinzu
|
||||
- **Fehlerbehandlung**: Jede Instanz sollte ihre eigenen Fehler angemessen behandeln
|
||||
|
||||
@@ -3,11 +3,10 @@ title: Antwort
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Der Antwort-Block ist der letzte Schritt in deinem Workflow, der eine strukturierte Antwort formatiert und an API-Aufrufe zurücksendet. Er funktioniert wie eine "return"-Anweisung für deinen gesamten Workflow – er verpackt Ergebnisse und sendet sie zurück.
|
||||
Der Response-Block formatiert und sendet strukturierte HTTP-Antworten zurück an API-Aufrufer. Verwenden Sie ihn, um Workflow-Ergebnisse mit korrekten Statuscodes und Headern zurückzugeben.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -20,57 +19,9 @@ Der Antwort-Block ist der letzte Schritt in deinem Workflow, der eine strukturie
|
||||
</div>
|
||||
|
||||
<Callout type="info">
|
||||
Antwort-Blöcke sind terminale Blöcke - sie beenden die Workflow-Ausführung und können nicht mit anderen Blöcken verbunden werden.
|
||||
Response-Blöcke sind terminale Blöcke - sie beenden die Workflow-Ausführung und können nicht mit anderen Blöcken verbunden werden.
|
||||
</Callout>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Antwort-Block ermöglicht dir:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>API-Antworten formatieren</strong>: Strukturierung von Workflow-Ergebnissen in korrekte HTTP-Antworten
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Statuscodes festlegen</strong>: Konfiguration passender HTTP-Statuscodes basierend auf Workflow-Ergebnissen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Header kontrollieren</strong>: Hinzufügen benutzerdefinierter Header für API-Antworten und Webhooks
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Daten transformieren</strong>: Umwandlung von Workflow-Variablen in client-freundliche Antwortformate
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Wie es funktioniert
|
||||
|
||||
Der Antwort-Block schließt die Workflow-Ausführung ab:
|
||||
|
||||
1. **Daten sammeln** - Sammelt Variablen und Ausgaben von vorherigen Blöcken
|
||||
2. **Antwort formatieren** - Strukturiert Daten gemäß deiner Konfiguration
|
||||
3. **HTTP-Details festlegen** - Wendet Statuscodes und Header an
|
||||
4. **Antwort senden** - Gibt die formatierte Antwort an den API-Aufrufer zurück
|
||||
|
||||
## Wann du Antwort-Blöcke benötigst
|
||||
|
||||
- **API-Endpunkte**: Wenn dein Workflow über eine API aufgerufen wird, formatieren Antwort-Blöcke die Rückgabedaten
|
||||
- **Webhooks**: Rückgabe von Bestätigungen oder Daten an das aufrufende System
|
||||
- **Testen**: Anzeige formatierter Ergebnisse beim Testen deines Workflows
|
||||
|
||||
## Zwei Möglichkeiten zum Erstellen von Antworten
|
||||
|
||||
### Builder-Modus (Empfohlen)
|
||||
Visuelle Oberfläche zum Erstellen der Antwortstruktur:
|
||||
- Felder per Drag-and-Drop einfügen
|
||||
- Einfache Referenzierung von Workflow-Variablen
|
||||
- Visuelle Vorschau der Antwortstruktur
|
||||
|
||||
### Editor-Modus (Fortgeschritten)
|
||||
JSON direkt schreiben:
|
||||
- Volle Kontrolle über das Antwortformat
|
||||
- Unterstützung für komplexe verschachtelte Strukturen
|
||||
- Verwendung der `<variable.name>`Syntax für dynamische Werte
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Antwortdaten
|
||||
@@ -78,42 +29,29 @@ JSON direkt schreiben:
|
||||
Die Antwortdaten sind der Hauptinhalt, der an den API-Aufrufer zurückgesendet wird. Diese sollten als JSON formatiert sein und können Folgendes enthalten:
|
||||
|
||||
- Statische Werte
|
||||
- Dynamische Verweise auf Workflow-Variablen mit der `<variable.name>`Syntax
|
||||
- Dynamische Verweise auf Workflow-Variablen mit der `<variable.name>` Syntax
|
||||
- Verschachtelte Objekte und Arrays
|
||||
- Jede gültige JSON-Struktur
|
||||
|
||||
### Statuscode
|
||||
|
||||
Legen Sie den HTTP-Statuscode für die Antwort fest. Häufige Statuscodes sind:
|
||||
Legen Sie den HTTP-Statuscode für die Antwort fest (standardmäßig 200):
|
||||
|
||||
<Tabs items={['Erfolg (2xx)', 'Client-Fehler (4xx)', 'Server-Fehler (5xx)']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li><strong>200</strong>: OK - Standard-Erfolgsantwort</li>
|
||||
<li><strong>201</strong>: Erstellt - Ressource erfolgreich erstellt</li>
|
||||
<li><strong>204</strong>: Kein Inhalt - Erfolg ohne Antworttext</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li><strong>400</strong>: Ungültige Anfrage - Ungültige Anfrageparameter</li>
|
||||
<li><strong>401</strong>: Nicht autorisiert - Authentifizierung erforderlich</li>
|
||||
<li><strong>404</strong>: Nicht gefunden - Ressource existiert nicht</li>
|
||||
<li><strong>422</strong>: Nicht verarbeitbare Entität - Validierungsfehler</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li><strong>500</strong>: Interner Serverfehler - Serverseitiger Fehler</li>
|
||||
<li><strong>502</strong>: Bad Gateway - Fehler eines externen Dienstes</li>
|
||||
<li><strong>503</strong>: Dienst nicht verfügbar - Dienst vorübergehend nicht erreichbar</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
**Erfolg (2xx):**
|
||||
- **200**: OK - Standard-Erfolgsantwort
|
||||
- **201**: Erstellt - Ressource erfolgreich erstellt
|
||||
- **204**: Kein Inhalt - Erfolg ohne Antworttext
|
||||
|
||||
<div className="mt-4 text-sm text-gray-600 dark:text-gray-400">
|
||||
Der Standard-Statuscode ist 200, wenn nicht anders angegeben.
|
||||
</div>
|
||||
**Client-Fehler (4xx):**
|
||||
- **400**: Ungültige Anfrage - Ungültige Anfrageparameter
|
||||
- **401**: Nicht autorisiert - Authentifizierung erforderlich
|
||||
- **404**: Nicht gefunden - Ressource existiert nicht
|
||||
- **422**: Nicht verarbeitbare Entität - Validierungsfehler
|
||||
|
||||
**Server-Fehler (5xx):**
|
||||
- **500**: Interner Serverfehler - Serverseitiger Fehler
|
||||
- **502**: Bad Gateway - Fehler eines externen Dienstes
|
||||
- **503**: Dienst nicht verfügbar - Dienst vorübergehend nicht erreichbar
|
||||
|
||||
### Antwort-Header
|
||||
|
||||
@@ -129,91 +67,27 @@ Header werden als Schlüssel-Wert-Paare konfiguriert:
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### API-Endpunkt-Antwort
|
||||
**API-Endpunkt-Antwort** - Strukturierte Daten von einer Such-API zurückgeben
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Strukturierte Daten von einer Such-API zurückgeben</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Workflow verarbeitet Suchanfrage und ruft Ergebnisse ab</li>
|
||||
<li>Funktionsblock formatiert und paginiert Ergebnisse</li>
|
||||
<li>Antwortblock gibt JSON mit Daten, Paginierung und Metadaten zurück</li>
|
||||
<li>Client erhält strukturierte Antwort mit Status 200</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Agent (Search) → Function (Format & Paginate) → Response (200, JSON)
|
||||
```
|
||||
|
||||
### Webhook-Bestätigung
|
||||
**Webhook-Bestätigung** - Bestätigung des Webhook-Empfangs und der Verarbeitung
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Bestätigung des Webhook-Empfangs und der Verarbeitung</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Webhook-Trigger empfängt Daten vom externen System</li>
|
||||
<li>Workflow verarbeitet die eingehenden Daten</li>
|
||||
<li>Antwortblock gibt Bestätigung mit Verarbeitungsstatus zurück</li>
|
||||
<li>Externes System erhält Bestätigung</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Webhook Trigger → Function (Process) → Response (200, Confirmation)
|
||||
```
|
||||
|
||||
### Fehlerantwort-Behandlung
|
||||
**Fehlerantwort-Behandlung** - Angemessene Fehlerantworten zurückgeben
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Angemessene Fehlerantworten zurückgeben</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Bedingungsblock erkennt Validierungsfehler oder Systemfehler</li>
|
||||
<li>Router leitet zum Fehlerbehandlungspfad weiter</li>
|
||||
<li>Antwortblock gibt Status 400/500 mit Fehlerdetails zurück</li>
|
||||
<li>Client erhält strukturierte Fehlerinformationen</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Condition (Error Detected) → Router → Response (400/500, Error Details)
|
||||
```
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
## Ausgaben
|
||||
|
||||
<Tabs items={['Konfiguration', 'Variablen', 'Ergebnisse']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Antwortdaten</strong>: JSON-Struktur für den Antworttext
|
||||
</li>
|
||||
<li>
|
||||
<strong>Statuscode</strong>: HTTP-Statuscode (Standard: 200)
|
||||
</li>
|
||||
<li>
|
||||
<strong>Header</strong>: Benutzerdefinierte HTTP-Header als Schlüssel-Wert-Paare
|
||||
</li>
|
||||
<li>
|
||||
<strong>Modus</strong>: Builder- oder Editor-Modus für die Antworterstellung
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>response.data</strong>: Der strukturierte Antworttext
|
||||
</li>
|
||||
<li>
|
||||
<strong>response.status</strong>: Gesendeter HTTP-Statuscode
|
||||
</li>
|
||||
<li>
|
||||
<strong>response.headers</strong>: In der Antwort enthaltene Header
|
||||
</li>
|
||||
<li>
|
||||
<strong>response.success</strong>: Boolescher Wert, der erfolgreichen Abschluss anzeigt
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>HTTP-Antwort</strong>: Vollständige Antwort an den API-Aufrufer
|
||||
</li>
|
||||
<li>
|
||||
<strong>Workflow-Beendigung</strong>: Beendet die Workflow-Ausführung
|
||||
</li>
|
||||
<li>
|
||||
<strong>Zugriff</strong>: Antwortblöcke sind terminal - keine nachfolgenden Blöcke
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
Antwortblöcke sind endgültig - sie beenden die Workflow-Ausführung und senden die HTTP-Antwort an den API-Aufrufer. Es stehen keine Ausgaben für nachgelagerte Blöcke zur Verfügung.
|
||||
|
||||
## Variablenreferenzen
|
||||
|
||||
@@ -240,7 +114,7 @@ Verwenden Sie die `<variable.name>` Syntax, um Workflow-Variablen dynamisch in I
|
||||
## Best Practices
|
||||
|
||||
- **Verwenden Sie aussagekräftige Statuscodes**: Wählen Sie passende HTTP-Statuscodes, die das Ergebnis des Workflows genau widerspiegeln
|
||||
- **Strukturieren Sie Ihre Antworten einheitlich**: Behalten Sie eine konsistente JSON-Struktur über alle API-Endpunkte hinweg für eine bessere Entwicklererfahrung bei
|
||||
- **Fügen Sie relevante Metadaten hinzu**: Ergänzen Sie Zeitstempel und Versionsinformationen, um bei der Fehlersuche und Überwachung zu helfen
|
||||
- **Strukturieren Sie Ihre Antworten einheitlich**: Behalten Sie eine konsistente JSON-Struktur über alle Ihre API-Endpunkte bei, um eine bessere Entwicklererfahrung zu gewährleisten
|
||||
- **Fügen Sie relevante Metadaten hinzu**: Fügen Sie Zeitstempel und Versionsinformationen hinzu, um bei der Fehlerbehebung und Überwachung zu helfen
|
||||
- **Behandeln Sie Fehler elegant**: Verwenden Sie bedingte Logik in Ihrem Workflow, um angemessene Fehlerantworten mit aussagekräftigen Meldungen zu setzen
|
||||
- **Validieren Sie Variablenreferenzen**: Stellen Sie sicher, dass alle referenzierten Variablen existieren und die erwarteten Datentypen enthalten, bevor der Response-Block ausgeführt wird
|
||||
- **Validieren Sie Variablenreferenzen**: Stellen Sie sicher, dass alle referenzierten Variablen existieren und die erwarteten Datentypen enthalten, bevor der Antwortblock ausgeführt wird
|
||||
|
||||
@@ -3,13 +3,10 @@ title: Router
|
||||
---
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Der Router-Block nutzt KI, um intelligent zu entscheiden, welchen Pfad Ihr Workflow als nächstes nehmen sollte, indem er die Workflow-Ausführung basierend auf spezifischen Bedingungen oder Logik leitet. Im Gegensatz zu Bedingungsblöcken, die einfache Regeln verwenden, können Router-Blöcke den Kontext verstehen und intelligente Routing-Entscheidungen auf Basis von Inhaltsanalysen treffen.
|
||||
Der Router-Block verwendet KI, um Workflows basierend auf Inhaltsanalysen intelligent zu leiten. Im Gegensatz zu Bedingungsblöcken, die einfache Regeln verwenden, verstehen Router Kontext und Absicht.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -21,203 +18,83 @@ Der Router-Block nutzt KI, um intelligent zu entscheiden, welchen Pfad Ihr Workf
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Überblick
|
||||
## Router vs. Bedingung
|
||||
|
||||
Der Router-Block ermöglicht Ihnen:
|
||||
**Verwende Router, wenn:**
|
||||
- KI-gestützte Inhaltsanalyse benötigt wird
|
||||
- Mit unstrukturierten oder variierenden Inhalten gearbeitet wird
|
||||
- Absichtsbasierte Weiterleitung erforderlich ist (z.B. "Support-Tickets an Abteilungen weiterleiten")
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Intelligentes Content-Routing</strong>: Nutzung von KI zum Verständnis von Absicht und Kontext
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Dynamische Pfadauswahl</strong>: Routing von Workflows basierend auf unstrukturierter Inhaltsanalyse
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Kontextbewusste Entscheidungen</strong>: Treffen intelligenter Routing-Entscheidungen über einfache Regeln hinaus
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Multi-Pfad-Management</strong>: Verwaltung komplexer Workflows mit mehreren potenziellen Zielen
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Router vs. Bedingungsblöcke
|
||||
|
||||
<Accordions>
|
||||
<Accordion title="Wann Router verwenden">
|
||||
- KI-gestützte Inhaltsanalyse erforderlich
|
||||
- Unstrukturierte oder variierende Inhaltstypen
|
||||
- Absichtsbasiertes Routing (z.B. "Support-Tickets an Abteilungen weiterleiten")
|
||||
- Kontextbewusste Entscheidungsfindung erforderlich
|
||||
</Accordion>
|
||||
<Accordion title="Wann Bedingung verwenden">
|
||||
- Einfache, regelbasierte Entscheidungen
|
||||
- Strukturierte Daten oder numerische Vergleiche
|
||||
- Schnelles, deterministisches Routing erforderlich
|
||||
- Boolesche Logik ausreichend
|
||||
</Accordion>
|
||||
</Accordions>
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Der Router-Block:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Analysiert Inhalte</strong>: Verwendet ein LLM, um Eingabeinhalte und Kontext zu verstehen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Bewertet Ziele</strong>: Vergleicht Inhalte mit verfügbaren Zielblöcken
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Wählt Ziel aus</strong>: Identifiziert den am besten geeigneten Pfad basierend auf der Absicht
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Leitet Ausführung</strong>: Dirigiert den Workflow zum ausgewählten Block
|
||||
</Step>
|
||||
</Steps>
|
||||
**Verwende Bedingung, wenn:**
|
||||
- Einfache regelbasierte Entscheidungen ausreichen
|
||||
- Mit strukturierten Daten oder numerischen Vergleichen gearbeitet wird
|
||||
- Schnelle, deterministische Weiterleitung benötigt wird
|
||||
|
||||
## Konfigurationsoptionen
|
||||
|
||||
### Inhalt/Prompt
|
||||
|
||||
Der Inhalt oder Prompt, den der Router analysiert, um Routing-Entscheidungen zu treffen. Dies kann sein:
|
||||
Der Inhalt oder Prompt, den der Router analysieren wird, um Weiterleitungsentscheidungen zu treffen. Dies kann sein:
|
||||
|
||||
- Eine direkte Benutzeranfrage oder -eingabe
|
||||
- Ausgabe aus einem vorherigen Block
|
||||
- Eine vom System generierte Nachricht
|
||||
- Ausgabe eines vorherigen Blocks
|
||||
- Eine systemgenerierte Nachricht
|
||||
|
||||
### Zielblöcke
|
||||
|
||||
Die möglichen Zielblöcke, aus denen der Router auswählen kann. Der Router erkennt automatisch verbundene Blöcke, aber Sie können auch:
|
||||
Die möglichen Zielblöcke, aus denen der Router auswählen kann. Der Router erkennt automatisch verbundene Blöcke, aber du kannst auch:
|
||||
|
||||
- Die Beschreibungen der Zielblöcke anpassen, um die Routing-Genauigkeit zu verbessern
|
||||
- Routing-Kriterien für jeden Zielblock festlegen
|
||||
- Bestimmte Blöcke von der Berücksichtigung als Routing-Ziele ausschließen
|
||||
- Die Beschreibungen von Zielblöcken anpassen, um die Weiterleitungsgenauigkeit zu verbessern
|
||||
- Weiterleitungskriterien für jeden Zielblock festlegen
|
||||
- Bestimmte Blöcke von der Berücksichtigung als Weiterleitungsziele ausschließen
|
||||
|
||||
### Modellauswahl
|
||||
|
||||
Wählen Sie ein KI-Modell für die Routing-Entscheidung:
|
||||
Wähle ein KI-Modell für die Weiterleitungsentscheidung:
|
||||
|
||||
**OpenAI**: GPT-4o, o1, o3, o4-mini, gpt-4.1 \
|
||||
**Anthropic**: Claude 3.7 Sonnet \
|
||||
**Google**: Gemini 2.5 Pro, Gemini 2.0 Flash \
|
||||
**Andere Anbieter**: Groq, Cerebras, xAI, DeepSeek \
|
||||
**Lokale Modelle**: Jedes Modell, das auf Ollama läuft
|
||||
- **OpenAI**: GPT-4o, o1, o3, o4-mini, gpt-4.1
|
||||
- **Anthropic**: Claude 3.7 Sonnet
|
||||
- **Google**: Gemini 2.5 Pro, Gemini 2.0 Flash
|
||||
- **Andere Anbieter**: Groq, Cerebras, xAI, DeepSeek
|
||||
- **Lokale Modelle**: Ollama oder VLLM-kompatible Modelle
|
||||
|
||||
<div className="w-full max-w-2xl mx-auto overflow-hidden rounded-lg">
|
||||
<Video src="router-model-dropdown.mp4" width={500} height={350} />
|
||||
</div>
|
||||
|
||||
**Empfehlung**: Verwenden Sie Modelle mit starken Reasoning-Fähigkeiten wie GPT-4o oder Claude 3.7 Sonnet für genauere Routing-Entscheidungen.
|
||||
Verwende Modelle mit starken Argumentationsfähigkeiten wie GPT-4o oder Claude 3.7 Sonnet für beste Ergebnisse.
|
||||
|
||||
### API-Schlüssel
|
||||
|
||||
Ihr API-Schlüssel für den ausgewählten LLM-Anbieter. Dieser wird sicher gespeichert und für die Authentifizierung verwendet.
|
||||
|
||||
### Zugriff auf Ergebnisse
|
||||
## Ausgaben
|
||||
|
||||
Nachdem ein Router eine Entscheidung getroffen hat, können Sie auf seine Ausgaben zugreifen:
|
||||
|
||||
- **`<router.prompt>`**: Zusammenfassung des verwendeten Routing-Prompts
|
||||
- **`<router.selected_path>`**: Details zum ausgewählten Zielblock
|
||||
- **`<router.tokens>`**: Token-Nutzungsstatistiken vom LLM
|
||||
- **`<router.cost>`**: Kostenübersicht für den Routing-Aufruf (Eingabe, Ausgabe, Gesamt)
|
||||
- **`<router.model>`**: Das für die Entscheidungsfindung verwendete Modell
|
||||
|
||||
## Erweiterte Funktionen
|
||||
|
||||
### Benutzerdefinierte Routing-Kriterien
|
||||
|
||||
Definieren Sie spezifische Kriterien für jeden Zielblock:
|
||||
|
||||
```javascript
|
||||
// Example routing descriptions
|
||||
Target Block 1: "Technical support issues, API problems, integration questions"
|
||||
Target Block 2: "Billing inquiries, subscription changes, payment issues"
|
||||
Target Block 3: "General questions, feedback, feature requests"
|
||||
```
|
||||
|
||||
## Eingaben und Ausgaben
|
||||
|
||||
<Tabs items={['Konfiguration', 'Variablen']}>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>Inhalt/Prompt</strong>: Zu analysierender Text für Routing-Entscheidungen
|
||||
</li>
|
||||
<li>
|
||||
<strong>Zielblöcke</strong>: Verbundene Blöcke als potenzielle Ziele
|
||||
</li>
|
||||
<li>
|
||||
<strong>Modell</strong>: KI-Modell für Routing-Analyse
|
||||
</li>
|
||||
<li>
|
||||
<strong>API-Schlüssel</strong>: Authentifizierung für ausgewählten LLM-Anbieter
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
<Tab>
|
||||
<ul className="list-disc space-y-2 pl-6">
|
||||
<li>
|
||||
<strong>router.prompt</strong>: Zusammenfassung des verwendeten Routing-Prompts
|
||||
</li>
|
||||
<li>
|
||||
<strong>router.selected_path</strong>: Details zum gewählten Ziel
|
||||
</li>
|
||||
<li>
|
||||
<strong>router.tokens</strong>: Token-Nutzungsstatistiken
|
||||
</li>
|
||||
<li>
|
||||
<strong>router.cost</strong>: Kostenübersicht für den Routing-Aufruf (Eingabe, Ausgabe, Gesamt)
|
||||
</li>
|
||||
<li>
|
||||
<strong>router.model</strong>: Für die Entscheidungsfindung verwendetes Modell
|
||||
</li>
|
||||
</ul>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
- **`<router.prompt>`**: Zusammenfassung des Routing-Prompts
|
||||
- **`<router.selected_path>`**: Ausgewählter Zielblock
|
||||
- **`<router.tokens>`**: Token-Nutzungsstatistiken
|
||||
- **`<router.cost>`**: Geschätzte Routing-Kosten
|
||||
- **`<router.model>`**: Für die Entscheidungsfindung verwendetes Modell
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Kundensupport-Triage
|
||||
**Kundensupport-Triage** - Tickets an spezialisierte Abteilungen weiterleiten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Support-Tickets an spezialisierte Abteilungen weiterleiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Benutzer reicht Supportanfrage über Formular ein</li>
|
||||
<li>Router analysiert Ticket-Inhalt und Kontext</li>
|
||||
<li>Technische Probleme → Engineering-Support-Mitarbeiter</li>
|
||||
<li>Abrechnungsfragen → Finanz-Support-Mitarbeiter</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Input (Ticket) → Router → Agent (Engineering) or Agent (Finance)
|
||||
```
|
||||
|
||||
### Inhaltsklassifizierung
|
||||
**Inhaltsklassifizierung** - Nutzergenerierte Inhalte klassifizieren und weiterleiten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Benutzergenerierte Inhalte klassifizieren und weiterleiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Benutzer reicht Inhalt oder Feedback ein</li>
|
||||
<li>Router analysiert Inhaltstyp und Stimmung</li>
|
||||
<li>Feature-Anfragen → Produkt-Team-Workflow</li>
|
||||
<li>Fehlerberichte → Technischer Support-Workflow</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Input (Feedback) → Router → Workflow (Product) or Workflow (Technical)
|
||||
```
|
||||
|
||||
### Lead-Qualifizierung
|
||||
**Lead-Qualifizierung** - Leads basierend auf Qualifizierungskriterien weiterleiten
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Leads basierend auf Qualifizierungskriterien weiterleiten</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Lead-Informationen aus Formular erfasst</li>
|
||||
<li>Router analysiert Unternehmensgröße, Branche und Bedürfnisse</li>
|
||||
<li>Enterprise-Leads → Vertriebsteam mit individueller Preisgestaltung</li>
|
||||
<li>KMU-Leads → Self-Service-Onboarding-Prozess</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Input (Lead) → Router → Agent (Enterprise Sales) or Workflow (Self-serve)
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Klare Zielbeschreibungen bereitstellen**: Helfen Sie dem Router zu verstehen, wann jedes Ziel mit spezifischen, detaillierten Beschreibungen ausgewählt werden soll
|
||||
- **Klare Zielbeschreibungen bereitstellen**: Helfen Sie dem Router zu verstehen, wann jedes Ziel ausgewählt werden soll, mit spezifischen, detaillierten Beschreibungen
|
||||
- **Spezifische Routing-Kriterien verwenden**: Definieren Sie klare Bedingungen und Beispiele für jeden Pfad, um die Genauigkeit zu verbessern
|
||||
- **Fallback-Pfade implementieren**: Verbinden Sie ein Standardziel für Fälle, in denen kein spezifischer Pfad geeignet ist
|
||||
- **Mit verschiedenen Eingaben testen**: Stellen Sie sicher, dass der Router verschiedene Eingabetypen, Grenzfälle und unerwartete Inhalte verarbeiten kann
|
||||
|
||||
@@ -13,7 +13,7 @@ Der Variablen-Block aktualisiert Workflow-Variablen während der Ausführung. Va
|
||||
src="/static/blocks/variables.png"
|
||||
alt="Variablen-Block"
|
||||
width={500}
|
||||
height={350}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
@@ -22,27 +22,11 @@ Der Variablen-Block aktualisiert Workflow-Variablen während der Ausführung. Va
|
||||
Greife überall in deinem Workflow auf Variablen zu, indem du die `<variable.variableName>` Syntax verwendest.
|
||||
</Callout>
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Variablen-Block ermöglicht dir:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Workflow-Variablen aktualisieren</strong>: Ändere Variablenwerte während der Ausführung
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Dynamische Daten speichern</strong>: Erfasse Block-Ausgaben in Variablen
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Zustand beibehalten</strong>: Verfolge Zähler, Flags und Zwischenergebnisse
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Wie man Variablen verwendet
|
||||
|
||||
### 1. Im Workflow-Variablenbereich initialisieren
|
||||
### 1. Initialisierung in Workflow-Variablen
|
||||
|
||||
Erstelle zunächst deine Variablen im Variablen-Bereich des Workflows (zugänglich über die Workflow-Einstellungen):
|
||||
Erstellen Sie zunächst Ihre Variablen im Variablenbereich des Workflows (zugänglich über die Workflow-Einstellungen):
|
||||
|
||||
```
|
||||
customerEmail = ""
|
||||
@@ -50,9 +34,9 @@ retryCount = 0
|
||||
currentStatus = "pending"
|
||||
```
|
||||
|
||||
### 2. Mit dem Variablen-Block aktualisieren
|
||||
### 2. Aktualisierung mit dem Variablen-Block
|
||||
|
||||
Verwende den Variablen-Block, um diese Werte während der Ausführung zu aktualisieren:
|
||||
Verwenden Sie den Variablen-Block, um diese Werte während der Ausführung zu aktualisieren:
|
||||
|
||||
```
|
||||
customerEmail = <api.email>
|
||||
@@ -62,7 +46,7 @@ currentStatus = "processing"
|
||||
|
||||
### 3. Überall zugreifen
|
||||
|
||||
Referenziere Variablen in jedem Block:
|
||||
Referenzieren Sie Variablen in jedem Block:
|
||||
|
||||
```
|
||||
Agent prompt: "Send email to <variable.customerEmail>"
|
||||
@@ -72,44 +56,23 @@ API body: {"status": "<variable.currentStatus>"}
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### Schleifenzähler und Zustand
|
||||
**Schleifenzähler und Status** - Fortschritt durch Iterationen verfolgen
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Fortschritt durch Schleifeniterationen verfolgen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Im Workflow initialisieren: `itemsProcessed = 0`, `lastResult = ""`</li>
|
||||
<li>Schleife iteriert über Elemente</li>
|
||||
<li>Innerhalb der Schleife: Agent verarbeitet aktuelles Element</li>
|
||||
<li>Innerhalb der Schleife: Variablen aktualisieren `itemsProcessed = <variable.itemsProcessed> + 1`</li>
|
||||
<li>Innerhalb der Schleife: Variablen aktualisieren `lastResult = <agent.content>`</li>
|
||||
<li>Nächste Iteration: Auf `<variable.lastResult>` zugreifen, um mit aktuellem Ergebnis zu vergleichen</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Loop → Agent (Process) → Variables (itemsProcessed + 1) → Variables (Store lastResult)
|
||||
```
|
||||
|
||||
### Wiederholungslogik
|
||||
**Wiederholungslogik** - API-Wiederholungsversuche verfolgen
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: API-Wiederholungsversuche verfolgen</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Im Workflow initialisieren: `retryCount = 0`</li>
|
||||
<li>API-Block versucht Anfrage</li>
|
||||
<li>Bei Fehlschlag erhöht Variablen: `retryCount = <variable.retryCount> + 1`</li>
|
||||
<li>Bedingung prüft, ob `<variable.retryCount>` \< 3 ist, um zu wiederholen oder abzubrechen</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Try) → Variables (retryCount + 1) → Condition (retryCount < 3)
|
||||
```
|
||||
|
||||
### Dynamische Konfiguration
|
||||
**Dynamische Konfiguration** - Benutzerkontext für Workflow speichern
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Benutzerkontext für Workflow speichern</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Im Workflow initialisieren: `userId = ""`, `userTier = ""`</li>
|
||||
<li>API ruft Benutzerprofil ab</li>
|
||||
<li>Variablen speichern: `userId = <api.id>`, `userTier = <api.tier>`</li>
|
||||
<li>Agent personalisiert Antwort mit `<variable.userTier>`</li>
|
||||
<li>API verwendet `<variable.userId>` für Logging</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Fetch Profile) → Variables (userId, userTier) → Agent (Personalize)
|
||||
```
|
||||
|
||||
## Ausgaben
|
||||
|
||||
@@ -117,7 +80,7 @@ API body: {"status": "<variable.currentStatus>"}
|
||||
|
||||
## Bewährte Praktiken
|
||||
|
||||
- **Im Workflow-Einstellungen initialisieren**: Erstellen Sie Variablen immer im Workflow-Variablenbereich, bevor Sie sie verwenden
|
||||
- **Dynamisch aktualisieren**: Verwenden Sie Variablenblöcke, um Werte basierend auf Blockausgaben oder Berechnungen zu aktualisieren
|
||||
- **In Schleifen verwenden**: Perfekt für die Zustandsverfolgung über Iterationen hinweg
|
||||
- **In Workflow-Einstellungen initialisieren**: Erstellen Sie Variablen immer im Variablenbereich des Workflows, bevor Sie sie verwenden
|
||||
- **Dynamisch aktualisieren**: Verwenden Sie Variablen-Blöcke, um Werte basierend auf Block-Ausgaben oder Berechnungen zu aktualisieren
|
||||
- **In Schleifen verwenden**: Perfekt für die Verfolgung des Status über Iterationen hinweg
|
||||
- **Beschreibend benennen**: Verwenden Sie klare Namen wie `currentIndex`, `totalProcessed` oder `lastError`
|
||||
|
||||
@@ -11,89 +11,57 @@ Der Warten-Block pausiert deinen Workflow für eine bestimmte Zeit, bevor er mit
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/wait.png"
|
||||
alt="Warten-Block"
|
||||
alt="Warte-Block"
|
||||
width={500}
|
||||
height={350}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Übersicht
|
||||
|
||||
Mit dem Warten-Block kannst du:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Zeitverzögerungen hinzufügen</strong>: Ausführung zwischen Workflow-Schritten pausieren
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Ratenbegrenzungen einhalten</strong>: API-Aufrufe zeitlich verteilen, um innerhalb der Limits zu bleiben
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Sequenzen planen</strong>: Zeitgesteuerte Workflows mit Verzögerungen zwischen Aktionen erstellen
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Konfiguration
|
||||
|
||||
### Wartezeit
|
||||
|
||||
Gib die Dauer der Ausführungspause ein:
|
||||
Geben Sie die Dauer für die Ausführungspause ein:
|
||||
- **Eingabe**: Positive Zahl
|
||||
- **Maximum**: 600 Sekunden (10 Minuten) oder 10 Minuten
|
||||
|
||||
### Einheit
|
||||
|
||||
Wähle die Zeiteinheit:
|
||||
Wählen Sie die Zeiteinheit:
|
||||
- **Sekunden**: Für kurze, präzise Verzögerungen
|
||||
- **Minuten**: Für längere Pausen
|
||||
|
||||
<Callout type="info">
|
||||
Warten-Blöcke können durch Stoppen des Workflows abgebrochen werden. Die maximale Wartezeit beträgt 10 Minuten.
|
||||
Warteblöcke können durch Stoppen des Workflows abgebrochen werden. Die maximale Wartezeit beträgt 10 Minuten.
|
||||
</Callout>
|
||||
|
||||
## Ausgaben
|
||||
|
||||
- **`<wait.waitDuration>`**: Die Wartezeit in Millisekunden
|
||||
- **`<wait.status>`**: Status des Wartens ('waiting', 'completed' oder 'cancelled')
|
||||
- **`<wait.status>`**: Status der Wartezeit ('waiting', 'completed' oder 'cancelled')
|
||||
|
||||
## Beispielanwendungsfälle
|
||||
|
||||
### API-Ratenbegrenzung
|
||||
**API-Ratenbegrenzung** - Bleiben Sie zwischen Anfragen innerhalb der API-Ratenlimits
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Innerhalb der API-Ratenbegrenzungen bleiben</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>API-Block macht erste Anfrage</li>
|
||||
<li>Warten-Block pausiert für 2 Sekunden</li>
|
||||
<li>API-Block macht zweite Anfrage</li>
|
||||
<li>Prozess läuft weiter, ohne Ratenbegrenzungen zu überschreiten</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Request 1) → Wait (2s) → API (Request 2)
|
||||
```
|
||||
|
||||
### Zeitgesteuerte Benachrichtigungen
|
||||
**Zeitgesteuerte Benachrichtigungen** - Senden Sie Folgenachrichten nach einer Verzögerung
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Folgenachrichten senden</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>Funktion sendet erste E-Mail</li>
|
||||
<li>Warten-Block pausiert für 5 Minuten</li>
|
||||
<li>Funktion sendet Folge-E-Mail</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
Function (Send Email) → Wait (5min) → Function (Follow-up)
|
||||
```
|
||||
|
||||
### Verarbeitungsverzögerungen
|
||||
**Verarbeitungsverzögerungen** - Warten Sie, bis das externe System die Verarbeitung abgeschlossen hat
|
||||
|
||||
<div className="mb-4 rounded-md border p-4">
|
||||
<h4 className="font-medium">Szenario: Warten auf externes System</h4>
|
||||
<ol className="list-decimal pl-5 text-sm">
|
||||
<li>API-Block löst Job im externen System aus</li>
|
||||
<li>Warte-Block pausiert für 30 Sekunden</li>
|
||||
<li>API-Block prüft den Abschlussstatus des Jobs</li>
|
||||
</ol>
|
||||
</div>
|
||||
```
|
||||
API (Trigger Job) → Wait (30s) → API (Check Status)
|
||||
```
|
||||
|
||||
## Bewährte Praktiken
|
||||
|
||||
- **Halte Wartezeiten angemessen**: Verwende Warten für Verzögerungen bis zu 10 Minuten. Für längere Verzögerungen solltest du geplante Workflows in Betracht ziehen
|
||||
- **Überwache die Ausführungszeit**: Denke daran, dass Wartezeiten die Gesamtdauer des Workflows verlängern
|
||||
- **Halten Sie Wartezeiten angemessen**: Verwenden Sie Wait für Verzögerungen bis zu 10 Minuten. Für längere Verzögerungen sollten Sie geplante Workflows in Betracht ziehen
|
||||
- **Überwachen Sie die Ausführungszeit**: Denken Sie daran, dass Wartezeiten die Gesamtdauer des Workflows verlängern
|
||||
|
||||
@@ -12,8 +12,8 @@ import { Image } from '@/components/ui/image'
|
||||
<Image
|
||||
src='/static/blocks/workflow.png'
|
||||
alt='Workflow-Block-Konfiguration'
|
||||
width={400}
|
||||
height={280}
|
||||
width={500}
|
||||
height={400}
|
||||
className='rounded-xl border border-border shadow-sm'
|
||||
/>
|
||||
</div>
|
||||
@@ -24,15 +24,38 @@ Füge einen Workflow-Block hinzu, wenn du einen untergeordneten Workflow als Tei
|
||||
|
||||
1. **Wähle einen Workflow** aus dem Dropdown-Menü (Selbstreferenzen sind blockiert, um Schleifen zu verhindern).
|
||||
2. **Eingaben zuordnen**: Wenn der untergeordnete Workflow einen Eingabeformular-Trigger hat, siehst du jedes Feld und kannst übergeordnete Variablen verbinden. Die zugeordneten Werte sind das, was der untergeordnete Workflow erhält.
|
||||
3. **Ausgaben**: Nach Abschluss des untergeordneten Workflows stellt der Block folgendes bereit:
|
||||
|
||||
<div className='flex justify-center my-6'>
|
||||
<Image
|
||||
src='/static/blocks/workflow-2.png'
|
||||
alt='Workflow-Block mit Beispiel für Eingabezuordnung'
|
||||
width={700}
|
||||
height={400}
|
||||
className='rounded-xl border border-border shadow-sm'
|
||||
/>
|
||||
</div>
|
||||
|
||||
3. **Ausgaben**: Nachdem der untergeordnete Workflow abgeschlossen ist, stellt der Block folgendes bereit:
|
||||
- `result` – die endgültige Antwort des untergeordneten Workflows
|
||||
- `success` – ob er ohne Fehler ausgeführt wurde
|
||||
- `error` – Nachricht, wenn die Ausführung fehlschlägt
|
||||
|
||||
## Ausführungshinweise
|
||||
## Bereitstellungsstatus-Badge
|
||||
|
||||
Der Workflow-Block zeigt ein Bereitstellungsstatus-Badge an, das dir hilft zu verfolgen, ob der untergeordnete Workflow ausführungsbereit ist:
|
||||
|
||||
- **Bereitgestellt** – Der untergeordnete Workflow wurde bereitgestellt und ist einsatzbereit. Der Block führt die aktuell bereitgestellte Version aus.
|
||||
- **Nicht bereitgestellt** – Der untergeordnete Workflow wurde noch nie bereitgestellt. Du musst ihn bereitstellen, bevor der Workflow-Block ihn ausführen kann.
|
||||
- **Erneut bereitstellen** – Seit der letzten Bereitstellung wurden Änderungen im untergeordneten Workflow erkannt. Klicke auf das Badge, um den untergeordneten Workflow mit den neuesten Änderungen erneut bereitzustellen.
|
||||
|
||||
<Callout type="warn">
|
||||
Der Workflow-Block führt immer die zuletzt bereitgestellte Version des untergeordneten Workflows aus, nicht die Editor-Version. Stelle sicher, dass du nach Änderungen eine erneute Bereitstellung durchführst, damit der Block die neueste Logik verwendet.
|
||||
</Callout>
|
||||
|
||||
## Hinweise zur Ausführung
|
||||
|
||||
- Untergeordnete Workflows laufen im gleichen Workspace-Kontext, sodass Umgebungsvariablen und Tools übernommen werden.
|
||||
- Der Block verwendet Deployment-Versionierung: Jede API-, Zeitplan-, Webhook-, manuelle oder Chat-Ausführung ruft den bereitgestellten Snapshot auf. Stelle den untergeordneten Workflow neu bereit, wenn du ihn änderst.
|
||||
- Der Block verwendet Bereitstellungsversionierung: Jede API-, Zeitplan-, Webhook-, manuelle oder Chat-Ausführung ruft den bereitgestellten Snapshot auf. Stelle den untergeordneten Workflow nach Änderungen erneut bereit.
|
||||
- Wenn der untergeordnete Workflow fehlschlägt, löst der Block einen Fehler aus, es sei denn, du behandelst ihn nachgelagert.
|
||||
|
||||
<Callout>
|
||||
|
||||
@@ -4,6 +4,7 @@ title: Grundlagen
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
## Wie Verbindungen funktionieren
|
||||
|
||||
@@ -28,7 +29,11 @@ Verbindungen sind die Pfade, die den Datenfluss zwischen Blöcken in Ihrem Workf
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### Verbindungsfluss
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg my-6">
|
||||
<Video src="connections-build.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
### Verbindungsablauf
|
||||
|
||||
Der Datenfluss durch Verbindungen folgt diesen Prinzipien:
|
||||
|
||||
|
||||
@@ -71,6 +71,16 @@ Diese kontextbezogenen Informationen helfen Copilot, genauere und relevantere Un
|
||||
</Card>
|
||||
</Cards>
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/copilot/copilot-mode.png"
|
||||
alt="Copilot-Modusauswahl-Oberfläche"
|
||||
width={600}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Tiefenebenen
|
||||
|
||||
<Cards>
|
||||
@@ -82,7 +92,7 @@ Diese kontextbezogenen Informationen helfen Copilot, genauere und relevantere Un
|
||||
</span>
|
||||
}
|
||||
>
|
||||
<div className="m-0 text-sm">Am schnellsten und günstigsten. Ideal für kleine Änderungen, einfache Workflows und geringfügige Anpassungen.</div>
|
||||
<div className="m-0 text-sm">Am schnellsten und günstigsten. Ideal für kleine Änderungen, einfache Arbeitsabläufe und geringfügige Anpassungen.</div>
|
||||
</Card>
|
||||
<Card
|
||||
title={
|
||||
@@ -102,7 +112,7 @@ Diese kontextbezogenen Informationen helfen Copilot, genauere und relevantere Un
|
||||
</span>
|
||||
}
|
||||
>
|
||||
<div className="m-0 text-sm">Mehr Denkleistung für umfangreichere Workflows und komplexe Änderungen bei gleichzeitiger Leistungsfähigkeit.</div>
|
||||
<div className="m-0 text-sm">Mehr Denkleistung für umfangreichere Arbeitsabläufe und komplexe Änderungen bei gleichzeitiger Leistungsfähigkeit.</div>
|
||||
</Card>
|
||||
<Card
|
||||
title={
|
||||
@@ -118,7 +128,7 @@ Diese kontextbezogenen Informationen helfen Copilot, genauere und relevantere Un
|
||||
|
||||
### Modusauswahl-Oberfläche
|
||||
|
||||
Du kannst einfach zwischen verschiedenen Denkmodi über den Modusauswähler in der Copilot-Oberfläche wechseln:
|
||||
Du kannst einfach zwischen verschiedenen Denkmodi über die Modusauswahl in der Copilot-Oberfläche wechseln:
|
||||
|
||||
<Image
|
||||
src="/static/copilot/copilot-models.png"
|
||||
@@ -140,8 +150,8 @@ Wähle deinen Modus basierend auf der Komplexität deiner Aufgabe - verwende Sch
|
||||
|
||||
Die Copilot-Nutzung wird pro Token vom zugrundeliegenden LLM abgerechnet:
|
||||
|
||||
- **Eingabe-Tokens**: werden zum Basistarif des Anbieters berechnet (**zum Selbstkostenpreis**)
|
||||
- **Ausgabe-Tokens**: werden mit dem **1,5-fachen** des Basisausgabepreises des Anbieters berechnet
|
||||
- **Eingabe-Tokens**: werden zum Basispreis des Anbieters berechnet (**zum Selbstkostenpreis**)
|
||||
- **Ausgabe-Tokens**: werden mit dem **1,5-fachen** des Basis-Ausgabepreises des Anbieters berechnet
|
||||
|
||||
```javascript
|
||||
copilotCost = (inputTokens × inputPrice + outputTokens × (outputPrice × 1.5)) / 1,000,000
|
||||
@@ -149,13 +159,13 @@ copilotCost = (inputTokens × inputPrice + outputTokens × (outputPrice × 1.5))
|
||||
|
||||
| Komponente | Angewendeter Tarif |
|
||||
|------------|------------------------|
|
||||
| Input | inputPrice |
|
||||
| Output | outputPrice × 1,5 |
|
||||
| Eingabe | inputPrice |
|
||||
| Ausgabe | outputPrice × 1,5 |
|
||||
|
||||
<Callout type="warning">
|
||||
Die angezeigten Preise spiegeln die Tarife vom 4. September 2025 wider. Überprüfen Sie die Anbieterdokumentation für aktuelle Preise.
|
||||
Die angezeigten Preise spiegeln die Tarife vom 4. September 2025 wider. Überprüfen Sie die Anbieter-Dokumentation für aktuelle Preise.
|
||||
</Callout>
|
||||
|
||||
<Callout type="info">
|
||||
Modellpreise werden pro Million Token berechnet. Die Berechnung teilt durch 1.000.000, um die tatsächlichen Kosten zu ermitteln. Siehe <a href="/execution/costs">die Seite zur Kostenberechnung</a> für Hintergründe und Beispiele.
|
||||
Modellpreise werden pro Million Tokens angegeben. Die Berechnung teilt durch 1.000.000, um die tatsächlichen Kosten zu ermitteln. Siehe <a href="/execution/costs">die Seite zur Kostenberechnung</a> für Hintergründe und Beispiele.
|
||||
</Callout>
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
title: Externe API
|
||||
---
|
||||
|
||||
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { CodeBlock } from 'fumadocs-ui/components/codeblock'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Sim bietet eine umfassende externe API zum Abfragen von Workflow-Ausführungsprotokollen und zum Einrichten von Webhooks für Echtzeit-Benachrichtigungen, wenn Workflows abgeschlossen werden.
|
||||
|
||||
@@ -4,9 +4,7 @@ title: Grundlagen
|
||||
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Card, Cards } from 'fumadocs-ui/components/card'
|
||||
import { Step, Steps } from 'fumadocs-ui/components/steps'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Das Verständnis der Workflow-Ausführung in Sim ist entscheidend für die Erstellung effizienter und zuverlässiger Automatisierungen. Die Ausführungs-Engine verwaltet automatisch Abhängigkeiten, Parallelität und Datenfluss, um sicherzustellen, dass Ihre Workflows reibungslos und vorhersehbar ablaufen.
|
||||
|
||||
@@ -77,29 +75,6 @@ Sim bietet verschiedene Arten von Blöcken, die spezifische Zwecke in Ihren Work
|
||||
|
||||
Alle Blöcke werden automatisch basierend auf ihren Abhängigkeiten ausgeführt - Sie müssen die Ausführungsreihenfolge oder das Timing nicht manuell verwalten.
|
||||
|
||||
## Ausführungsauslöser
|
||||
|
||||
Workflows können auf verschiedene Weise ausgelöst werden, abhängig von Ihrem Anwendungsfall:
|
||||
|
||||
### Manuelles Testen
|
||||
Klicken Sie im Workflow-Editor auf "Ausführen", um Ihren Workflow während der Entwicklung zu testen. Perfekt für Debugging und Validierung.
|
||||
|
||||
### Geplante Ausführung
|
||||
Richten Sie wiederkehrende Ausführungen mit Cron-Ausdrücken ein. Ideal für regelmäßige Datenverarbeitung, Berichte oder Wartungsaufgaben.
|
||||
|
||||
### API-Bereitstellung
|
||||
Stellen Sie Workflows als HTTP-Endpunkte bereit, die programmatisch von Ihren Anwendungen aufgerufen werden können.
|
||||
|
||||
### Webhook-Integration
|
||||
Reagieren Sie in Echtzeit auf Ereignisse von externen Diensten wie GitHub, Stripe oder benutzerdefinierten Systemen.
|
||||
|
||||
### Chat-Schnittstelle
|
||||
Erstellen Sie Konversationsschnittstellen, die auf benutzerdefinierten Subdomains für benutzerorientierte KI-Anwendungen gehostet werden.
|
||||
|
||||
<Callout type="info">
|
||||
Erfahren Sie mehr über jeden Auslösertyp im [Abschnitt Auslöser](/triggers) der Dokumentation.
|
||||
</Callout>
|
||||
|
||||
## Ausführungsüberwachung
|
||||
|
||||
Wenn Workflows ausgeführt werden, bietet Sim Echtzeit-Einblick in den Ausführungsprozess:
|
||||
@@ -118,7 +93,7 @@ Wenn Workflows ausgeführt werden, bietet Sim Echtzeit-Einblick in den Ausführu
|
||||
Das Verständnis dieser Grundprinzipien wird Ihnen helfen, bessere Workflows zu erstellen:
|
||||
|
||||
1. **Abhängigkeitsbasierte Ausführung**: Blöcke werden nur ausgeführt, wenn alle ihre Abhängigkeiten abgeschlossen sind
|
||||
2. **Automatische Parallelisierung**: Unabhängige Blöcke laufen gleichzeitig ohne Konfiguration
|
||||
2. **Automatische Parallelisierung**: Unabhängige Blöcke laufen ohne Konfiguration gleichzeitig
|
||||
3. **Intelligenter Datenfluss**: Ausgaben fließen automatisch zu verbundenen Blöcken
|
||||
4. **Fehlerbehandlung**: Fehlgeschlagene Blöcke stoppen ihren Ausführungspfad, beeinflussen aber keine unabhängigen Pfade
|
||||
5. **Zustandspersistenz**: Alle Blockausgaben und Ausführungsdetails werden für die Fehlerbehebung gespeichert
|
||||
@@ -129,4 +104,4 @@ Nachdem Sie die Grundlagen der Ausführung verstanden haben, erkunden Sie:
|
||||
- **[Blocktypen](/blocks)** - Erfahren Sie mehr über spezifische Block-Funktionen
|
||||
- **[Protokollierung](/execution/logging)** - Überwachen Sie Workflow-Ausführungen und beheben Sie Probleme
|
||||
- **[Kostenberechnung](/execution/costs)** - Verstehen und optimieren Sie Workflow-Kosten
|
||||
- **[Auslöser](/triggers)** - Richten Sie verschiedene Möglichkeiten ein, Ihre Workflows auszuführen
|
||||
- **[Trigger](/triggers)** - Richten Sie verschiedene Möglichkeiten ein, Ihre Workflows auszuführen
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Kostenberechnung
|
||||
---
|
||||
|
||||
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion'
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
||||
import { Image } from '@/components/ui/image'
|
||||
@@ -48,71 +47,77 @@ Die Modellaufschlüsselung zeigt:
|
||||
|
||||
## Preisoptionen
|
||||
|
||||
<Tabs items={['Gehostete Modelle', 'Eigener API-Schlüssel']}>
|
||||
<Tabs items={['Hosted Models', 'Bring Your Own API Key']}>
|
||||
<Tab>
|
||||
**Gehostete Modelle** - Sim stellt API-Schlüssel mit einem 2,5-fachen Preismultiplikator bereit:
|
||||
|
||||
|
||||
**OpenAI**
|
||||
| Modell | Basispreis (Eingabe/Ausgabe) | Gehosteter Preis (Eingabe/Ausgabe) |
|
||||
|-------|---------------------------|----------------------------|
|
||||
| GPT-4o | 2,50 $ / 10,00 $ | 6,25 $ / 25,00 $ |
|
||||
| GPT-4.1 | 2,00 $ / 8,00 $ | 5,00 $ / 20,00 $ |
|
||||
| o1 | 15,00 $ / 60,00 $ | 37,50 $ / 150,00 $ |
|
||||
| o3 | 2,00 $ / 8,00 $ | 5,00 $ / 20,00 $ |
|
||||
| Claude 3.5 Sonnet | 3,00 $ / 15,00 $ | 7,50 $ / 37,50 $ |
|
||||
| Claude Opus 4.0 | 15,00 $ / 75,00 $ | 37,50 $ / 187,50 $ |
|
||||
|
||||
| GPT-5.1 | $1,25 / $10,00 | $3,13 / $25,00 |
|
||||
| GPT-5 | $1,25 / $10,00 | $3,13 / $25,00 |
|
||||
| GPT-5 Mini | $0,25 / $2,00 | $0,63 / $5,00 |
|
||||
| GPT-5 Nano | $0,05 / $0,40 | $0,13 / $1,00 |
|
||||
| GPT-4o | $2,50 / $10,00 | $6,25 / $25,00 |
|
||||
| GPT-4.1 | $2,00 / $8,00 | $5,00 / $20,00 |
|
||||
| GPT-4.1 Mini | $0,40 / $1,60 | $1,00 / $4,00 |
|
||||
| GPT-4.1 Nano | $0,10 / $0,40 | $0,25 / $1,00 |
|
||||
| o1 | $15,00 / $60,00 | $37,50 / $150,00 |
|
||||
| o3 | $2,00 / $8,00 | $5,00 / $20,00 |
|
||||
| o4 Mini | $1,10 / $4,40 | $2,75 / $11,00 |
|
||||
|
||||
**Anthropic**
|
||||
| Modell | Basispreis (Eingabe/Ausgabe) | Gehosteter Preis (Eingabe/Ausgabe) |
|
||||
|-------|---------------------------|----------------------------|
|
||||
| Claude Opus 4.5 | $5,00 / $25,00 | $12,50 / $62,50 |
|
||||
| Claude Opus 4.1 | $15,00 / $75,00 | $37,50 / $187,50 |
|
||||
| Claude Sonnet 4.5 | $3,00 / $15,00 | $7,50 / $37,50 |
|
||||
| Claude Sonnet 4.0 | $3,00 / $15,00 | $7,50 / $37,50 |
|
||||
| Claude Haiku 4.5 | $1,00 / $5,00 | $2,50 / $12,50 |
|
||||
|
||||
**Google**
|
||||
| Modell | Basispreis (Eingabe/Ausgabe) | Gehosteter Preis (Eingabe/Ausgabe) |
|
||||
|-------|---------------------------|----------------------------|
|
||||
| Gemini 3 Pro Preview | $2,00 / $12,00 | $5,00 / $30,00 |
|
||||
| Gemini 2.5 Pro | $0,15 / $0,60 | $0,38 / $1,50 |
|
||||
| Gemini 2.5 Flash | $0,15 / $0,60 | $0,38 / $1,50 |
|
||||
|
||||
*Der 2,5-fache Multiplikator deckt Infrastruktur- und API-Verwaltungskosten ab.*
|
||||
</Tab>
|
||||
|
||||
|
||||
<Tab>
|
||||
**Ihre eigenen API-Schlüssel** - Nutzen Sie jedes Modell zum Basispreis:
|
||||
|
||||
| Anbieter | Modelle | Eingabe / Ausgabe |
|
||||
|----------|---------|----------------|
|
||||
| Google | Gemini 2.5 | 0,15 $ / 0,60 $ |
|
||||
| Deepseek | V3, R1 | 0,75 $ / 1,00 $ |
|
||||
| xAI | Grok 4, Grok 3 | 5,00 $ / 25,00 $ |
|
||||
| Groq | Llama 4 Scout | 0,40 $ / 0,60 $ |
|
||||
| Cerebras | Llama 3.3 70B | 0,94 $ / 0,94 $ |
|
||||
**Eigene API-Schlüssel** - Nutzen Sie jedes Modell zum Basispreis:
|
||||
|
||||
| Anbieter | Beispielmodelle | Input / Output |
|
||||
|----------|----------------|----------------|
|
||||
| Deepseek | V3, R1 | $0,75 / $1,00 |
|
||||
| xAI | Grok 4 Latest, Grok 3 | $3,00 / $15,00 |
|
||||
| Groq | Llama 4 Scout, Llama 3.3 70B | $0,11 / $0,34 |
|
||||
| Cerebras | Llama 4 Scout, Llama 3.3 70B | $0,11 / $0,34 |
|
||||
| Ollama | Lokale Modelle | Kostenlos |
|
||||
|
||||
| VLLM | Lokale Modelle | Kostenlos |
|
||||
|
||||
*Bezahlen Sie Anbieter direkt ohne Aufschlag*
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<Callout type="warning">
|
||||
Die angezeigten Preise spiegeln die Tarife vom 10. September 2025 wider. Überprüfen Sie die Anbieterdokumentation für aktuelle Preise.
|
||||
Die angezeigten Preise entsprechen den Tarifen vom 10. September 2025. Überprüfen Sie die Dokumentation der Anbieter für aktuelle Preise.
|
||||
</Callout>
|
||||
|
||||
## Kostenoptimierungsstrategien
|
||||
## Strategien zur Kostenoptimierung
|
||||
|
||||
<Accordions>
|
||||
<Accordion title="Modellauswahl">
|
||||
Wählen Sie Modelle basierend auf der Komplexität der Aufgabe. Einfache Aufgaben können GPT-4.1-nano ($0,10/$0,40) verwenden, während komplexes Denken möglicherweise o1 oder Claude Opus erfordert.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Prompt-Engineering">
|
||||
Gut strukturierte, präzise Prompts reduzieren den Token-Verbrauch ohne Qualitätseinbußen.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Lokale Modelle">
|
||||
Verwenden Sie Ollama für unkritische Aufgaben, um API-Kosten vollständig zu eliminieren.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Caching und Wiederverwendung">
|
||||
Speichern Sie häufig verwendete Ergebnisse in Variablen oder Dateien, um wiederholte KI-Modellaufrufe zu vermeiden.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Batch-Verarbeitung">
|
||||
Verarbeiten Sie mehrere Elemente in einer einzigen KI-Anfrage anstatt einzelne Aufrufe zu tätigen.
|
||||
</Accordion>
|
||||
</Accordions>
|
||||
- **Modellauswahl**: Wählen Sie Modelle basierend auf der Komplexität der Aufgabe. Einfache Aufgaben können GPT-4.1-nano verwenden, während komplexes Denken möglicherweise o1 oder Claude Opus erfordert.
|
||||
- **Prompt-Engineering**: Gut strukturierte, präzise Prompts reduzieren den Token-Verbrauch ohne Qualitätseinbußen.
|
||||
- **Lokale Modelle**: Verwenden Sie Ollama oder VLLM für unkritische Aufgaben, um API-Kosten vollständig zu eliminieren.
|
||||
- **Caching und Wiederverwendung**: Speichern Sie häufig verwendete Ergebnisse in Variablen oder Dateien, um wiederholte KI-Modellaufrufe zu vermeiden.
|
||||
- **Batch-Verarbeitung**: Verarbeiten Sie mehrere Elemente in einer einzigen KI-Anfrage anstatt einzelne Aufrufe zu tätigen.
|
||||
|
||||
## Nutzungsüberwachung
|
||||
|
||||
Überwachen Sie Ihre Nutzung und Abrechnung unter Einstellungen → Abonnement:
|
||||
|
||||
- **Aktuelle Nutzung**: Echtzeit-Nutzung und Kosten für den aktuellen Zeitraum
|
||||
- **Aktuelle Nutzung**: Echtzeit-Nutzung und -Kosten für den aktuellen Zeitraum
|
||||
- **Nutzungslimits**: Plangrenzen mit visuellen Fortschrittsanzeigen
|
||||
- **Abrechnungsdetails**: Prognostizierte Gebühren und Mindestverpflichtungen
|
||||
- **Planverwaltung**: Upgrade-Optionen und Abrechnungsverlauf
|
||||
@@ -155,11 +160,11 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
|
||||
```
|
||||
|
||||
**Antwortfelder:**
|
||||
- `currentPeriodCost` spiegelt die Nutzung im aktuellen Abrechnungszeitraum wider
|
||||
- `limit` wird aus individuellen Limits (Free/Pro) oder gepoolten Organisationslimits (Team/Enterprise) abgeleitet
|
||||
- `currentPeriodCost` zeigt die Nutzung im aktuellen Abrechnungszeitraum
|
||||
- `limit` wird aus individuellen Limits (Free/Pro) oder gebündelten Organisationslimits (Team/Enterprise) abgeleitet
|
||||
- `plan` ist der aktive Plan mit der höchsten Priorität, der mit Ihrem Benutzer verknüpft ist
|
||||
|
||||
## Planlimits
|
||||
## Plan-Limits
|
||||
|
||||
Verschiedene Abonnementpläne haben unterschiedliche Nutzungslimits:
|
||||
|
||||
@@ -167,55 +172,52 @@ Verschiedene Abonnementpläne haben unterschiedliche Nutzungslimits:
|
||||
|------|-------------------|-------------------------|
|
||||
| **Free** | $10 | 5 sync, 10 async |
|
||||
| **Pro** | $100 | 10 sync, 50 async |
|
||||
| **Team** | $500 (gepoolt) | 50 sync, 100 async |
|
||||
| **Team** | $500 (gebündelt) | 50 sync, 100 async |
|
||||
| **Enterprise** | Individuell | Individuell |
|
||||
|
||||
## Best Practices für Kostenmanagement
|
||||
## Abrechnungsmodell
|
||||
|
||||
1. **Regelmäßig überwachen**: Prüfen Sie Ihr Nutzungs-Dashboard häufig, um Überraschungen zu vermeiden
|
||||
2. **Budgets festlegen**: Nutzen Sie Planlimits als Leitplanken für Ihre Ausgaben
|
||||
3. **Workflows optimieren**: Überprüfen Sie kostenintensive Ausführungen und optimieren Sie Prompts oder Modellauswahl
|
||||
4. **Passende Modelle verwenden**: Stimmen Sie die Modellkomplexität auf die Aufgabenanforderungen ab
|
||||
5. **Ähnliche Aufgaben bündeln**: Kombinieren Sie wenn möglich mehrere Anfragen, um den Overhead zu reduzieren
|
||||
Sim verwendet ein **Basisabonnement + Überschreitung** Abrechnungsmodell:
|
||||
|
||||
## Nächste Schritte
|
||||
### Wie es funktioniert
|
||||
|
||||
- Überprüfen Sie Ihre aktuelle Nutzung unter [Einstellungen → Abonnement](https://sim.ai/settings/subscription)
|
||||
- Erfahren Sie mehr über [Logging](/execution/logging), um Ausführungsdetails zu verfolgen
|
||||
- Erkunden Sie die [Externe API](/execution/api) für programmatische Kostenüberwachung
|
||||
- Sehen Sie sich [Workflow-Optimierungstechniken](/blocks) an, um Kosten zu reduzieren
|
||||
**Pro Plan ($20/Monat):**
|
||||
- Monatliches Abonnement beinhaltet $20 Nutzung
|
||||
- Nutzung unter $20 → Keine zusätzlichen Kosten
|
||||
- Nutzung über $20 → Zahlung der Überschreitung am Monatsende
|
||||
- Beispiel: $35 Nutzung = $20 (Abonnement) + $15 (Überschreitung)
|
||||
|
||||
**Team-Plan (40 $/Sitz/Monat):**
|
||||
- Gemeinsame Nutzung für alle Teammitglieder
|
||||
- Überschreitung wird anhand der Gesamtnutzung des Teams berechnet
|
||||
**Team Plan ($40/Benutzer/Monat):**
|
||||
- Gebündelte Nutzung für alle Teammitglieder
|
||||
- Überschreitung wird aus der Gesamtnutzung des Teams berechnet
|
||||
- Organisationsinhaber erhält eine Rechnung
|
||||
|
||||
**Enterprise-Pläne:**
|
||||
**Enterprise Pläne:**
|
||||
- Fester monatlicher Preis, keine Überschreitungen
|
||||
- Benutzerdefinierte Nutzungslimits gemäß Vereinbarung
|
||||
- Individuelle Nutzungslimits gemäß Vereinbarung
|
||||
|
||||
### Schwellenwertabrechnung
|
||||
|
||||
Wenn die nicht abgerechnete Überschreitung 50 $ erreicht, berechnet Sim automatisch den gesamten nicht abgerechneten Betrag.
|
||||
Wenn die nicht abgerechnete Überschreitung $50 erreicht, berechnet Sim automatisch den gesamten nicht abgerechneten Betrag.
|
||||
|
||||
**Beispiel:**
|
||||
- Tag 10: 70 $ Überschreitung → Sofortige Abrechnung von 70 $
|
||||
- Tag 15: Zusätzliche Nutzung von 35 $ (insgesamt 105 $) → Bereits abgerechnet, keine Aktion
|
||||
- Tag 20: Weitere Nutzung von 50 $ (insgesamt 155 $, 85 $ nicht abgerechnet) → Sofortige Abrechnung von 85 $
|
||||
- Tag 10: $70 Überschreitung → Sofortige Abrechnung von $70
|
||||
- Tag 15: Zusätzliche $35 Nutzung ($105 insgesamt) → Bereits abgerechnet, keine Aktion
|
||||
- Tag 20: Weitere $50 Nutzung ($155 insgesamt, $85 nicht abgerechnet) → Sofortige Abrechnung von $85
|
||||
|
||||
Dies verteilt hohe Überschreitungsgebühren über den Monat, anstatt eine große Rechnung am Ende des Abrechnungszeitraums zu stellen.
|
||||
Dies verteilt große Überziehungsgebühren über den Monat, anstatt eine große Rechnung am Ende des Abrechnungszeitraums zu erhalten.
|
||||
|
||||
## Best Practices für Kostenmanagement
|
||||
|
||||
1. **Regelmäßige Überwachung**: Überprüfen Sie Ihr Nutzungs-Dashboard häufig, um Überraschungen zu vermeiden
|
||||
1. **Regelmäßig überwachen**: Überprüfen Sie Ihr Nutzungs-Dashboard häufig, um Überraschungen zu vermeiden
|
||||
2. **Budgets festlegen**: Nutzen Sie Planlimits als Leitplanken für Ihre Ausgaben
|
||||
3. **Workflows optimieren**: Überprüfen Sie kostenintensive Ausführungen und optimieren Sie Prompts oder Modellauswahl
|
||||
4. **Geeignete Modelle verwenden**: Passen Sie die Modellkomplexität an die Aufgabenanforderungen an
|
||||
4. **Passende Modelle verwenden**: Passen Sie die Modellkomplexität an die Aufgabenanforderungen an
|
||||
5. **Ähnliche Aufgaben bündeln**: Kombinieren Sie wenn möglich mehrere Anfragen, um den Overhead zu reduzieren
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
- Überprüfen Sie Ihre aktuelle Nutzung unter [Einstellungen → Abonnement](https://sim.ai/settings/subscription)
|
||||
- Erfahren Sie mehr über [Protokollierung](/execution/logging), um Ausführungsdetails zu verfolgen
|
||||
- Erkunden Sie die [externe API](/execution/api) für programmatische Kostenüberwachung
|
||||
- Sehen Sie sich [Workflow-Optimierungstechniken](/blocks) zur Kostenreduzierung an
|
||||
- Erkunden Sie die [Externe API](/execution/api) für programmatische Kostenüberwachung
|
||||
- Sehen Sie sich [Workflow-Optimierungstechniken](/blocks) an, um Kosten zu reduzieren
|
||||
@@ -52,51 +52,13 @@ Jeder Workflow behält während der Ausführung einen umfangreichen Kontext bei,
|
||||
- Umgebungsvariablen
|
||||
- Routing-Entscheidungen
|
||||
|
||||
## Ausführungsauslöser
|
||||
|
||||
Workflows können über mehrere Kanäle ausgeführt werden:
|
||||
|
||||
- **Manuell**: Testen und debuggen direkt im Editor
|
||||
- **Als API bereitstellen**: Einen HTTP-Endpunkt erstellen, der mit API-Schlüsseln gesichert ist
|
||||
- **Als Chat bereitstellen**: Eine Konversationsschnittstelle auf einer benutzerdefinierten Subdomain erstellen
|
||||
- **Webhooks**: Auf externe Ereignisse von Drittanbieterdiensten reagieren
|
||||
- **Geplant**: Nach einem wiederkehrenden Zeitplan mit Cron-Ausdrücken ausführen
|
||||
|
||||
### Als API bereitstellen
|
||||
|
||||
Wenn Sie einen Workflow als API bereitstellen, macht Sim Folgendes:
|
||||
- Erstellt einen eindeutigen HTTP-Endpunkt: `https://sim.ai/api/workflows/{workflowId}/execute`
|
||||
- Generiert einen API-Schlüssel zur Authentifizierung
|
||||
- Akzeptiert POST-Anfragen mit JSON-Payloads
|
||||
- Gibt Workflow-Ausführungsergebnisse als JSON zurück
|
||||
|
||||
Beispiel für einen API-Aufruf:
|
||||
|
||||
```bash
|
||||
curl -X POST https://sim.ai/api/workflows/your-workflow-id/execute \
|
||||
-H "X-API-Key: your-api-key" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"input": "your data here"}'
|
||||
```
|
||||
|
||||
### Als Chat bereitstellen
|
||||
|
||||
Die Chat-Bereitstellung erstellt eine Konversationsschnittstelle für Ihren Workflow:
|
||||
- Gehostet auf einer benutzerdefinierten Subdomain: `https://your-name.sim.ai`
|
||||
- Optionale Authentifizierung (öffentlich, passwortgeschützt oder E-Mail-basiert)
|
||||
- Anpassbare Benutzeroberfläche mit Ihrem Branding
|
||||
- Streaming-Antworten für Echtzeit-Interaktion
|
||||
- Perfekt für KI-Assistenten, Support-Bots oder interaktive Tools
|
||||
|
||||
Jede Bereitstellungsmethode übergibt Daten an den Starter-Block Ihres Workflows und beginnt so den Ausführungsfluss.
|
||||
|
||||
## Deployment-Snapshots
|
||||
|
||||
Alle öffentlichen Einstiegspunkte—API, Chat, Zeitplan, Webhook und manuelle Ausführungen—führen den aktiven Deployment-Snapshot des Workflows aus. Veröffentliche ein neues Deployment, wann immer du die Arbeitsfläche änderst, damit jeder Trigger die aktualisierte Version verwendet.
|
||||
Alle öffentlichen Einstiegspunkte – API, Chat, Zeitplan, Webhook und manuelle Ausführungen – führen den aktiven Deployment-Snapshot des Workflows aus. Veröffentliche ein neues Deployment, wann immer du die Arbeitsfläche änderst, damit jeder Auslöser die aktualisierte Version verwendet.
|
||||
|
||||
<div className='flex justify-center my-6'>
|
||||
<Image
|
||||
src='/static/execution/deployment-versions-light.png'
|
||||
src='/static/execution/deployment-versions.png'
|
||||
alt='Tabelle mit Deployment-Versionen'
|
||||
width={500}
|
||||
height={280}
|
||||
@@ -104,11 +66,11 @@ Alle öffentlichen Einstiegspunkte—API, Chat, Zeitplan, Webhook und manuelle A
|
||||
/>
|
||||
</div>
|
||||
|
||||
Das Deploy-Modal behält eine vollständige Versionshistorie bei—inspiziere jeden Snapshot, vergleiche ihn mit deinem Entwurf und führe Upgrades oder Rollbacks mit einem Klick durch, wenn du eine frühere Version wiederherstellen musst.
|
||||
Das Deploy-Modal behält eine vollständige Versionshistorie bei – untersuche jeden Snapshot, vergleiche ihn mit deinem Entwurf und führe Upgrades oder Rollbacks mit einem Klick durch, wenn du eine frühere Version wiederherstellen musst.
|
||||
|
||||
## Programmatische Ausführung
|
||||
|
||||
Führe Workflows aus deinen Anwendungen mit unseren offiziellen SDKs aus:
|
||||
Führe Workflows aus deinen Anwendungen heraus mit unseren offiziellen SDKs aus:
|
||||
|
||||
```bash
|
||||
# TypeScript/JavaScript
|
||||
@@ -138,12 +100,12 @@ const result = await client.executeWorkflow('workflow-id', {
|
||||
- Verwende Umgebungsvariablen für sensible Daten
|
||||
- Füge Logging zu Funktionsblöcken für Debugging hinzu
|
||||
|
||||
### Leistung optimieren
|
||||
### Optimiere Performance
|
||||
- Minimiere externe API-Aufrufe wo möglich
|
||||
- Nutze parallele Ausführung für unabhängige Operationen
|
||||
- Cache Ergebnisse mit Memory-Blöcken, wenn angemessen
|
||||
- Cache Ergebnisse mit Memory-Blöcken wenn angemessen
|
||||
|
||||
### Ausführungen überwachen
|
||||
### Überwache Ausführungen
|
||||
- Überprüfe Logs regelmäßig, um Leistungsmuster zu verstehen
|
||||
- Verfolge Kosten für KI-Modellnutzung
|
||||
- Verwende Workflow-Snapshots zur Fehlerbehebung
|
||||
|
||||
@@ -24,20 +24,19 @@ import {
|
||||
import { Video } from '@/components/ui/video'
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
Dieses Tutorial führt dich durch den Aufbau deines ersten KI-Workflows in Sim. Wir erstellen einen Personen-Recherche-Agenten, der Informationen über Personen mithilfe modernster LLM-Suchwerkzeuge finden kann.
|
||||
Erstelle deinen ersten KI-Workflow in 10 Minuten. In diesem Tutorial wirst du einen Personenrecherche-Agenten erstellen, der fortschrittliche LLM-gestützte Suchwerkzeuge nutzt, um Informationen über Personen zu extrahieren und zu strukturieren.
|
||||
|
||||
<Callout type="info">
|
||||
Dieses Tutorial dauert etwa 10 Minuten und behandelt die wesentlichen Konzepte zum Erstellen von Workflows in Sim.
|
||||
Dieses Tutorial behandelt die wesentlichen Konzepte zum Erstellen von Workflows in Sim. Geschätzte Bearbeitungszeit: 10 Minuten.
|
||||
</Callout>
|
||||
|
||||
## Was wir erstellen
|
||||
## Was du erstellen wirst
|
||||
|
||||
Einen Personen-Recherche-Agenten, der:
|
||||
1. Den Namen einer Person über eine Chat-Schnittstelle empfängt
|
||||
2. Einen KI-Agenten mit erweiterten Suchfähigkeiten nutzt
|
||||
3. Das Web mithilfe modernster LLM-Suchwerkzeuge (Exa und Linkup) durchsucht
|
||||
4. Strukturierte Informationen mithilfe eines Antwortformats extrahiert
|
||||
5. Umfassende Daten über die Person zurückgibt
|
||||
Einen Personenrecherche-Agenten, der:
|
||||
1. Benutzereingaben über eine Chat-Schnittstelle akzeptiert
|
||||
2. Das Web mit KI-gestützten Tools durchsucht (Exa und Linkup)
|
||||
3. Informationen über Personen extrahiert und strukturiert
|
||||
4. Formatierte JSON-Daten mit Standort, Beruf und Ausbildung zurückgibt
|
||||
|
||||
<Image
|
||||
src="/static/getting-started/started-1.png"
|
||||
@@ -49,74 +48,71 @@ Einen Personen-Recherche-Agenten, der:
|
||||
## Schritt-für-Schritt-Anleitung
|
||||
|
||||
<Steps>
|
||||
<Step title="Workflow erstellen und KI-Agenten hinzufügen">
|
||||
Öffne Sim und klicke im Dashboard auf "Neuer Workflow". Benenne ihn "Erste Schritte".
|
||||
<Step title="Workflow erstellen und einen KI-Agenten hinzufügen">
|
||||
Klicke im Dashboard auf **Neuer Workflow** und benenne ihn "Getting Started".
|
||||
|
||||
Wenn du einen neuen Workflow erstellst, enthält er automatisch einen **Start-Block** - dies ist der Einstiegspunkt, der Eingaben von Benutzern empfängt. Für dieses Beispiel werden wir den Workflow über den Chat auslösen, daher müssen wir am Start-Block nichts konfigurieren.
|
||||
Jeder neue Workflow enthält standardmäßig einen **Start-Block** – dies ist der Eingangspunkt, der Benutzereingaben empfängt. Da wir diesen Workflow über Chat auslösen werden, ist keine Konfiguration für den Start-Block erforderlich.
|
||||
|
||||
Ziehe nun einen **Agenten-Block** aus dem Blockbereich auf der linken Seite auf die Arbeitsfläche.
|
||||
|
||||
Konfiguriere den Agenten-Block:
|
||||
Ziehe einen **Agenten-Block** aus dem linken Bereich auf die Arbeitsfläche und konfiguriere ihn:
|
||||
- **Modell**: Wähle "OpenAI GPT-4o"
|
||||
- **System-Prompt**: "Du bist ein Personen-Recherche-Agent. Wenn dir ein Personenname gegeben wird, nutze deine verfügbaren Suchwerkzeuge, um umfassende Informationen über diese Person zu finden, einschließlich ihres Standorts, Berufs, Bildungshintergrunds und anderer relevanter Details."
|
||||
- **Benutzer-Prompt**: Ziehe die Verbindung vom Ausgabefeld des Start-Blocks in dieses Feld (dies verbindet `<start.input>` mit dem Benutzer-Prompt)
|
||||
- **System-Prompt**: "Du bist ein Personenrecherche-Agent. Wenn dir ein Name einer Person gegeben wird, nutze deine verfügbaren Suchwerkzeuge, um umfassende Informationen über sie zu finden, einschließlich ihres Standorts, Berufs, Bildungshintergrunds und anderer relevanter Details."
|
||||
- **Benutzer-Prompt**: Ziehe die Verbindung vom Ausgabefeld des Start-Blocks in dieses Feld, um `<start.input>` mit dem Benutzer-Prompt zu verbinden
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="getting-started/started-2.mp4" width={700} height={450} />
|
||||
</div>
|
||||
</Step>
|
||||
|
||||
<Step title="Werkzeuge zum Agenten hinzufügen">
|
||||
Verbessern wir unseren Agenten mit Werkzeugen für bessere Fähigkeiten. Klicke auf den Agenten-Block, um ihn auszuwählen.
|
||||
<Step title="Suchwerkzeuge zum Agenten hinzufügen">
|
||||
Erweitere deinen Agenten mit Websuche-Funktionen. Klicke auf den Agenten-Block, um ihn auszuwählen.
|
||||
|
||||
Im Bereich **Werkzeuge**:
|
||||
- Klicke auf **Werkzeug hinzufügen**
|
||||
- Wähle **Exa** aus den verfügbaren Werkzeugen
|
||||
- Wähle **Linkup** aus den verfügbaren Werkzeugen
|
||||
- Füge deine API-Schlüssel für beide Werkzeuge hinzu (dies ermöglicht dem Agenten, das Web zu durchsuchen und auf zusätzliche Informationen zuzugreifen)
|
||||
Im Bereich **Tools**:
|
||||
- Klicke auf **Tool hinzufügen**
|
||||
- Wähle **Exa** und **Linkup** aus den verfügbaren Tools
|
||||
- Gib deine API-Schlüssel für beide Tools ein, um Websuche und Datenzugriff zu ermöglichen
|
||||
|
||||
<div className="mx-auto w-3/5 overflow-hidden rounded-lg">
|
||||
<Video src="getting-started/started-3.mp4" width={700} height={450} />
|
||||
</div>
|
||||
</Step>
|
||||
|
||||
<Step title="Den grundlegenden Workflow testen">
|
||||
Jetzt testen wir unseren Workflow. Gehe zum **Chat-Panel** auf der rechten Seite des Bildschirms.
|
||||
<Step title="Workflow testen">
|
||||
Teste deinen Workflow mit dem **Chat-Panel** auf der rechten Seite des Bildschirms.
|
||||
|
||||
Im Chat-Panel:
|
||||
- Klicke auf das Dropdown-Menü und wähle `agent1.content` (dies zeigt uns die Ausgabe unseres Agenten)
|
||||
- Gib eine Testnachricht ein, wie: "John ist ein Softwareentwickler aus San Francisco, der Informatik an der Stanford University studiert hat."
|
||||
- Klicke auf "Senden", um den Workflow auszuführen
|
||||
- Klicke auf das Dropdown-Menü und wähle `agent1.content`, um die Ausgabe des Agenten anzuzeigen
|
||||
- Gib eine Testnachricht ein: "John ist ein Softwareentwickler aus San Francisco, der Informatik an der Stanford University studiert hat."
|
||||
- Klicke auf **Senden**, um den Workflow auszuführen
|
||||
|
||||
Du solltest die Antwort des Agenten sehen, der die in deinem Text beschriebene Person analysiert.
|
||||
Der Agent wird die Person analysieren und strukturierte Informationen zurückgeben.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="getting-started/started-4.mp4" width={700} height={450} />
|
||||
</div>
|
||||
</Step>
|
||||
|
||||
<Step title="Strukturierte Ausgabe hinzufügen">
|
||||
Jetzt lassen wir unseren Agenten strukturierte Daten zurückgeben. Klicke auf den Agenten-Block, um ihn auszuwählen.
|
||||
<Step title="Strukturierte Ausgabe konfigurieren">
|
||||
Konfiguriere deinen Agenten, um strukturierte JSON-Daten zurückzugeben. Klicke auf den Agenten-Block, um ihn auszuwählen.
|
||||
|
||||
Im Bereich **Antwortformat**:
|
||||
- Klicke auf das **Zauberstab-Symbol** (✨) neben dem Schema-Feld
|
||||
- Gib in der erscheinenden Aufforderung ein: "Erstelle ein Schema namens Person, das Standort, Beruf und Bildung enthält"
|
||||
- Die KI generiert automatisch ein JSON-Schema für dich
|
||||
- Gib den Prompt ein: "Erstelle ein Schema namens person, das Standort, Beruf und Ausbildung enthält"
|
||||
- Die KI wird automatisch das JSON-Schema generieren
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="getting-started/started-5.mp4" width={700} height={450} />
|
||||
</div>
|
||||
</Step>
|
||||
|
||||
<Step title="Die strukturierte Ausgabe testen">
|
||||
Gehe zurück zum **Chat-Panel**.
|
||||
<Step title="Mit strukturierter Ausgabe testen">
|
||||
Kehre zum **Chat-Panel** zurück, um das strukturierte Antwortformat zu testen.
|
||||
|
||||
Da wir ein Antwortformat hinzugefügt haben, sind jetzt neue Ausgabeoptionen verfügbar:
|
||||
- Klicke auf das Dropdown-Menü und wähle die neue Option für strukturierte Ausgabe (das Schema, das wir gerade erstellt haben)
|
||||
- Gib eine neue Testnachricht ein, wie: "Sarah ist eine Marketing-Managerin aus New York, die einen MBA von der Harvard Business School hat."
|
||||
- Klicke auf "Senden", um den Workflow erneut auszuführen
|
||||
Mit dem konfigurierten Antwortformat sind jetzt neue Ausgabeoptionen verfügbar:
|
||||
- Klicke auf das Dropdown-Menü und wähle die Option für strukturierte Ausgabe (das Schema, das du gerade erstellt hast)
|
||||
- Gib eine Testnachricht ein: "Sarah ist eine Marketing-Managerin aus New York mit einem MBA von der Harvard Business School."
|
||||
- Klicke auf **Senden**, um den Workflow auszuführen
|
||||
|
||||
Du solltest jetzt eine strukturierte JSON-Ausgabe sehen, bei der die Informationen der Person in die Felder Standort, Beruf und Bildung gegliedert sind.
|
||||
Der Agent wird nun strukturierte JSON-Ausgabe zurückgeben, wobei die Informationen der Person in die Felder Standort, Beruf und Ausbildung organisiert sind.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="getting-started/started-6.mp4" width={700} height={450} />
|
||||
@@ -124,15 +120,15 @@ Einen Personen-Recherche-Agenten, der:
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Was du gerade erstellt hast
|
||||
## Was du erstellt hast
|
||||
|
||||
Herzlichen Glückwunsch! Du hast deinen ersten KI-Workflow erstellt, der:
|
||||
- ✅ Texteingaben über eine Chat-Schnittstelle empfängt
|
||||
- ✅ KI nutzt, um Informationen aus unstrukturiertem Text zu extrahieren
|
||||
- ✅ Externe Tools (Exa und Linkup) für erweiterte Funktionen integriert
|
||||
Du hast erfolgreich einen KI-Workflow erstellt, der:
|
||||
- ✅ Benutzereingaben über eine Chat-Schnittstelle akzeptiert
|
||||
- ✅ Unstrukturierten Text mit KI verarbeitet
|
||||
- ✅ Externe Suchwerkzeuge integriert (Exa und Linkup)
|
||||
- ✅ Strukturierte JSON-Daten mit KI-generierten Schemas zurückgibt
|
||||
- ✅ Workflow-Tests und Iterationen demonstriert
|
||||
- ✅ Die Leistungsfähigkeit des visuellen Workflow-Aufbaus zeigt
|
||||
- ✅ Echtzeit-Tests und Iteration demonstriert
|
||||
- ✅ Die Leistungsfähigkeit der visuellen, codefreien Entwicklung zeigt
|
||||
|
||||
## Wichtige Konzepte, die du gelernt hast
|
||||
|
||||
@@ -153,41 +149,48 @@ Herzlichen Glückwunsch! Du hast deinen ersten KI-Workflow erstellt, der:
|
||||
|
||||
### Grundlegende Workflow-Konzepte
|
||||
|
||||
**Datenfluss**: Variablen fließen zwischen Blöcken durch das Ziehen von Verbindungen
|
||||
**Datenfluss**
|
||||
Verbinde Blöcke durch Ziehen von Verbindungen, um Daten zwischen Workflow-Schritten zu übertragen
|
||||
|
||||
**Chat-Schnittstelle**: Teste Workflows in Echtzeit mit dem Chat-Panel mit verschiedenen Ausgabeoptionen
|
||||
**Chat-Schnittstelle**
|
||||
Teste Workflows in Echtzeit mit dem Chat-Panel und wähle verschiedene Ausgabeoptionen
|
||||
|
||||
**Tool-Integration**: Erweitere die Fähigkeiten des Agenten durch Hinzufügen externer Tools wie Exa und Linkup
|
||||
**Tool-Integration**
|
||||
Erweitere die Fähigkeiten des Agenten durch Integration externer Dienste wie Exa und Linkup
|
||||
|
||||
**Variablenreferenzen**: Greife auf Block-Ausgaben mit der `<blockName.output>` Syntax zu
|
||||
**Variablenreferenzen**
|
||||
Greife auf Block-Ausgaben mit der `<blockName.output>` Syntax zu
|
||||
|
||||
**Strukturierte Ausgabe**: Verwende JSON-Schemas, um konsistente, strukturierte Daten von der KI zu erhalten
|
||||
**Strukturierte Ausgabe**
|
||||
Definiere JSON-Schemas, um konsistente, formatierte Antworten von der KI zu gewährleisten
|
||||
|
||||
**KI-generierte Schemas**: Nutze den Zauberstab (✨), um Schemas mit natürlicher Sprache zu generieren
|
||||
**KI-generierte Schemas**
|
||||
Verwende den Zauberstab (✨), um Schemas aus natürlichsprachigen Eingabeaufforderungen zu generieren
|
||||
|
||||
**Iterative Entwicklung**: Teste, modifiziere und teste Workflows einfach erneut
|
||||
**Iterative Entwicklung**
|
||||
Erstelle, teste und verfeinere Workflows schnell mit sofortigem Feedback
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
<Cards>
|
||||
<Card title="Weitere Blöcke hinzufügen" href="/blocks">
|
||||
Erfahre mehr über API-, Funktions- und Bedingungsblöcke
|
||||
<Card title="Workflow-Blöcke erkunden" href="/blocks">
|
||||
Entdecke API-, Funktions-, Bedingungs- und andere Workflow-Blöcke
|
||||
</Card>
|
||||
<Card title="Tools verwenden" href="/tools">
|
||||
Integration mit externen Diensten wie Gmail, Slack und Notion
|
||||
<Card title="Integrationen durchsuchen" href="/tools">
|
||||
Verbinde über 80 Dienste einschließlich Gmail, Slack, Notion und mehr
|
||||
</Card>
|
||||
<Card title="Benutzerdefinierte Logik hinzufügen" href="/blocks/function">
|
||||
Verwende Funktionsblöcke für benutzerdefinierte Datenverarbeitung
|
||||
Schreibe benutzerdefinierte Funktionen für fortgeschrittene Datenverarbeitung
|
||||
</Card>
|
||||
<Card title="Deinen Workflow bereitstellen" href="/execution">
|
||||
Mache deinen Workflow über REST API zugänglich
|
||||
Mache deinen Workflow über REST API oder Webhooks zugänglich
|
||||
</Card>
|
||||
</Cards>
|
||||
|
||||
## Brauchst du Hilfe?
|
||||
## Ressourcen
|
||||
|
||||
**Bei einem Schritt hängengeblieben?** Schau in unserer [Blocks-Dokumentation](/blocks) nach detaillierten Erklärungen zu jeder Komponente.
|
||||
**Brauchst du detaillierte Erklärungen?** Besuche die [Blocks-Dokumentation](/blocks) für umfassende Anleitungen zu jeder Komponente.
|
||||
|
||||
**Möchten Sie mehr Beispiele sehen?** Durchsuchen Sie unsere [Tools-Dokumentation](/tools), um zu sehen, welche Integrationen verfügbar sind.
|
||||
**Suchst du nach Integrationen?** Erkunde die [Tools-Dokumentation](/tools), um alle 80+ verfügbaren Integrationen zu sehen.
|
||||
|
||||
**Bereit für die Bereitstellung?** Erfahren Sie mehr über [Ausführung und Bereitstellung](/execution), um Ihre Workflows zu aktivieren.
|
||||
**Bereit für den Livebetrieb?** Erfahre mehr über [Ausführung und Bereitstellung](/execution), um deine Workflows produktionsreif zu machen.
|
||||
|
||||
@@ -46,15 +46,12 @@ Willkommen bei Sim, einem visuellen Workflow-Builder für KI-Anwendungen. Erstel
|
||||
|
||||
<Cards>
|
||||
<Card title="Team-Management" href="/permissions/roles-and-permissions">
|
||||
Richten Sie Workspace-Rollen und Berechtigungen ein
|
||||
</Card>
|
||||
<Card title="YAML-Konfiguration" href="/yaml">
|
||||
Definieren Sie Workflows als Code
|
||||
Workspace-Rollen und Berechtigungen einrichten
|
||||
</Card>
|
||||
<Card title="MCP-Integration" href="/mcp">
|
||||
Verbinden Sie externe Dienste mit dem Model Context Protocol
|
||||
Externe Dienste mit dem Model Context Protocol verbinden
|
||||
</Card>
|
||||
<Card title="SDKs" href="/sdks">
|
||||
Integrieren Sie Sim in Ihre Anwendungen
|
||||
Sim in Ihre Anwendungen integrieren
|
||||
</Card>
|
||||
</Cards>
|
||||
@@ -5,8 +5,9 @@ title: Einführung
|
||||
import { Card, Cards } from 'fumadocs-ui/components/card'
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Video } from '@/components/ui/video'
|
||||
|
||||
Sim ist ein visueller Workflow-Builder für KI-Anwendungen, mit dem Sie KI-Agenten-Workflows visuell erstellen können. Erstellen Sie leistungsstarke KI-Agenten, Automatisierungs-Workflows und Datenverarbeitungs-Pipelines, indem Sie Blöcke auf einer Leinwand verbinden – ganz ohne Programmierung.
|
||||
Sim ist ein Open-Source-Tool zur visuellen Workflow-Erstellung für die Entwicklung und Bereitstellung von KI-Agenten-Workflows. Entwerfen Sie intelligente Automatisierungssysteme mit einer No-Code-Oberfläche – verbinden Sie KI-Modelle, Datenbanken, APIs und Business-Tools über eine intuitive Drag-and-Drop-Oberfläche. Ob Sie Chatbots entwickeln, Geschäftsprozesse automatisieren oder komplexe Datenpipelines orchestrieren – Sim bietet die Werkzeuge, um Ihre KI-Workflows zum Leben zu erwecken.
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
@@ -20,50 +21,81 @@ Sim ist ein visueller Workflow-Builder für KI-Anwendungen, mit dem Sie KI-Agent
|
||||
|
||||
## Was Sie erstellen können
|
||||
|
||||
**KI-Assistenten & Chatbots**
|
||||
Erstellen Sie intelligente Agenten, die im Web suchen, auf Ihren Kalender zugreifen, E-Mails senden und mit Ihren Geschäftstools interagieren können.
|
||||
**KI-Assistenten & Chatbots**
|
||||
Entwickeln Sie intelligente Konversationsagenten, die sich in Ihre Tools und Daten integrieren lassen. Ermöglichen Sie Funktionen wie Websuche, Kalenderverwaltung, E-Mail-Automatisierung und nahtlose Interaktion mit Geschäftssystemen.
|
||||
|
||||
**Geschäftsprozessautomatisierung**
|
||||
Automatisieren Sie wiederkehrende Aufgaben wie Dateneingabe, Berichtserstellung, Kundenservice-Antworten und Content-Erstellung.
|
||||
**Automatisierung von Geschäftsprozessen**
|
||||
Beseitigen Sie manuelle Aufgaben in Ihrer gesamten Organisation. Automatisieren Sie Dateneingaben, erstellen Sie Berichte, beantworten Sie Kundenanfragen und optimieren Sie Workflows zur Inhaltserstellung.
|
||||
|
||||
**Datenverarbeitung & -analyse**
|
||||
Gewinnen Sie Erkenntnisse aus Dokumenten, analysieren Sie Datensätze, erstellen Sie Berichte und synchronisieren Sie Daten zwischen Systemen.
|
||||
**Datenverarbeitung & -analyse**
|
||||
Verwandeln Sie Rohdaten in umsetzbare Erkenntnisse. Extrahieren Sie Informationen aus Dokumenten, führen Sie Datensatzanalysen durch, erstellen Sie automatisierte Berichte und synchronisieren Sie Daten über verschiedene Plattformen hinweg.
|
||||
|
||||
**API-Integrations-Workflows**
|
||||
Verbinden Sie mehrere Dienste zu einheitlichen Endpunkten, orchestrieren Sie komplexe Geschäftslogik und verwalten Sie ereignisgesteuerte Automatisierung.
|
||||
**API-Integrations-Workflows**
|
||||
Orchestieren Sie komplexe Interaktionen zwischen mehreren Diensten. Erstellen Sie einheitliche API-Endpunkte, implementieren Sie anspruchsvolle Geschäftslogik und bauen Sie ereignisgesteuerte Automatisierungssysteme.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg my-6">
|
||||
<Video src="introduction/chat-workflow.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
## Wie es funktioniert
|
||||
|
||||
**Visuelle Leinwand**
|
||||
Ziehen Sie Blöcke per Drag-and-drop, um Workflows zu erstellen. Verbinden Sie KI-Modelle, Datenbanken, APIs und Geschäftstools mit einfachen Point-and-Click-Verbindungen.
|
||||
**Visueller Workflow-Editor**
|
||||
Entwerfen Sie Workflows mit einer intuitiven Drag-and-Drop-Oberfläche. Verbinden Sie KI-Modelle, Datenbanken, APIs und Dienste von Drittanbietern über eine visuelle No-Code-Schnittstelle, die komplexe Automatisierungslogik leicht verständlich und wartbar macht.
|
||||
|
||||
**Intelligente Blöcke**
|
||||
Wählen Sie aus Verarbeitungsblöcken (KI-Agenten, APIs, Funktionen), Logikblöcken (Bedingungen, Schleifen, Router) und Ausgabeblöcken (Antworten, Evaluatoren).
|
||||
**Modulares Blocksystem**
|
||||
Bauen Sie mit spezialisierten Komponenten: Verarbeitungsblöcke (KI-Agenten, API-Aufrufe, benutzerdefinierte Funktionen), Logikblöcke (bedingte Verzweigungen, Schleifen, Router) und Ausgabeblöcke (Antworten, Evaluatoren). Jeder Block übernimmt eine bestimmte Aufgabe in Ihrem Workflow.
|
||||
|
||||
**Mehrere Auslöser**
|
||||
Starten Sie Workflows über Chat-Schnittstelle, REST API, Webhooks, geplante Jobs oder externe Ereignisse von Diensten wie Slack und GitHub.
|
||||
**Flexible Ausführungsauslöser**
|
||||
Starten Sie Workflows über mehrere Kanäle, einschließlich Chat-Schnittstellen, REST-APIs, Webhooks, geplante Cron-Jobs oder externe Ereignisse von Plattformen wie Slack und GitHub.
|
||||
|
||||
**Team-Zusammenarbeit**
|
||||
Arbeiten Sie gleichzeitig mit Teammitgliedern am selben Workflow mit Echtzeit-Bearbeitung und Berechtigungsverwaltung.
|
||||
**Echtzeit-Zusammenarbeit**
|
||||
Ermöglichen Sie Ihrem Team, gemeinsam zu arbeiten. Mehrere Benutzer können Workflows gleichzeitig bearbeiten, mit Live-Updates und detaillierten Berechtigungskontrollen.
|
||||
|
||||
## Integrierte Anbindungen
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg my-6">
|
||||
<Video src="introduction/build-workflow.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
Sim verbindet sich von Haus aus mit über 80 Diensten:
|
||||
## Integrationen
|
||||
|
||||
- **KI-Modelle**: OpenAI, Anthropic, Google, Groq, Cerebras, lokale Ollama-Modelle
|
||||
- **Kommunikation**: Gmail, Slack, Teams, Telegram, WhatsApp
|
||||
- **Produktivität**: Notion, Google Sheets, Airtable, Monday.com
|
||||
- **Entwicklung**: GitHub, Jira, Linear, Browser-Automatisierung
|
||||
- **Suche & Web**: Google Search, Perplexity, Firecrawl, Exa AI
|
||||
Sim bietet native Integrationen mit über 80 Diensten in verschiedenen Kategorien:
|
||||
|
||||
- **KI-Modelle**: OpenAI, Anthropic, Google Gemini, Groq, Cerebras, lokale Modelle über Ollama oder VLLM
|
||||
- **Kommunikation**: Gmail, Slack, Microsoft Teams, Telegram, WhatsApp
|
||||
- **Produktivität**: Notion, Google Workspace, Airtable, Monday.com
|
||||
- **Entwicklung**: GitHub, Jira, Linear, automatisierte Browser-Tests
|
||||
- **Suche & Daten**: Google Search, Perplexity, Firecrawl, Exa AI
|
||||
- **Datenbanken**: PostgreSQL, MySQL, Supabase, Pinecone, Qdrant
|
||||
|
||||
Benötigen Sie etwas Maßgeschneidertes? Nutzen Sie unsere [MCP-Integration](/mcp), um jeden externen Dienst anzubinden.
|
||||
Für benutzerdefinierte Integrationen nutzen Sie unsere [MCP (Model Context Protocol)-Unterstützung](/mcp), um beliebige externe Dienste oder Tools anzubinden.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg my-6">
|
||||
<Video src="introduction/integrations-sidebar.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
## KI-gesteuerter Copilot
|
||||
|
||||
**Fragen stellen & Anleitung erhalten**
|
||||
Der Copilot beantwortet Fragen zu Sim, erklärt Ihre Workflows und gibt Verbesserungsvorschläge. Verwenden Sie das `@` Symbol, um auf Workflows, Blöcke, Dokumentation, Wissen und Protokolle für kontextbezogene Unterstützung zu verweisen.
|
||||
|
||||
**Workflows erstellen & bearbeiten**
|
||||
Wechseln Sie in den Agent-Modus, damit der Copilot Änderungen direkt auf Ihrer Arbeitsfläche vorschlagen und anwenden kann. Fügen Sie Blöcke hinzu, konfigurieren Sie Einstellungen, verbinden Sie Variablen und strukturieren Sie Workflows mit natürlichsprachlichen Befehlen um.
|
||||
|
||||
**Adaptive Reasoning-Stufen**
|
||||
Wählen Sie zwischen den Modi Schnell, Auto, Erweitert oder Behemoth, je nach Komplexität der Aufgabe. Beginnen Sie mit Schnell für einfache Fragen und steigern Sie sich bis zu Behemoth für komplexe architektonische Änderungen und tiefgehendes Debugging.
|
||||
|
||||
Erfahren Sie mehr über [Copilot-Funktionen](/copilot) und wie Sie die Produktivität mit KI-Unterstützung maximieren können.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg my-6">
|
||||
<Video src="introduction/copilot-workflow.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
## Bereitstellungsoptionen
|
||||
|
||||
**Cloud-gehostet**: Starten Sie sofort bei [sim.ai](https://sim.ai) mit verwalteter Infrastruktur, automatischer Skalierung und integriertem Monitoring.
|
||||
**Cloud-Hosting**
|
||||
Starten Sie sofort bei [sim.ai](https://sim.ai) mit vollständig verwalteter Infrastruktur, automatischer Skalierung und integrierter Beobachtbarkeit. Konzentrieren Sie sich auf den Aufbau von Workflows, während wir den Betrieb übernehmen.
|
||||
|
||||
**Selbst-gehostet**: Stellen Sie die Anwendung auf Ihrer eigenen Infrastruktur mit Docker bereit, mit Unterstützung für lokale KI-Modelle über Ollama für vollständige Datenprivatsphäre.
|
||||
**Self-Hosting**
|
||||
Stellen Sie die Lösung auf Ihrer eigenen Infrastruktur mit Docker Compose oder Kubernetes bereit. Behalten Sie die vollständige Kontrolle über Ihre Daten mit Unterstützung für lokale KI-Modelle durch Ollama-Integration.
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
@@ -73,11 +105,11 @@ Bereit, Ihren ersten KI-Workflow zu erstellen?
|
||||
<Card title="Erste Schritte" href="/getting-started">
|
||||
Erstellen Sie Ihren ersten Workflow in 10 Minuten
|
||||
</Card>
|
||||
<Card title="Workflow-Bausteine" href="/blocks">
|
||||
<Card title="Workflow-Blöcke" href="/blocks">
|
||||
Erfahren Sie mehr über die Bausteine
|
||||
</Card>
|
||||
<Card title="Tools & Integrationen" href="/tools">
|
||||
Entdecken Sie über 60 integrierte Schnittstellen
|
||||
Entdecken Sie über 80 integrierte Integrationen
|
||||
</Card>
|
||||
<Card title="Team-Berechtigungen" href="/permissions/roles-and-permissions">
|
||||
Richten Sie Workspace-Rollen und Berechtigungen ein
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: MCP (Model Context Protocol)
|
||||
---
|
||||
|
||||
import { Video } from '@/components/ui/video'
|
||||
import { Image } from '@/components/ui/image'
|
||||
import { Callout } from 'fumadocs-ui/components/callout'
|
||||
|
||||
Das Model Context Protocol ([MCP](https://modelcontextprotocol.com/)) ermöglicht es Ihnen, externe Tools und Dienste über ein standardisiertes Protokoll zu verbinden, wodurch Sie APIs und Dienste direkt in Ihre Workflows integrieren können. Mit MCP können Sie die Fähigkeiten von Sim erweitern, indem Sie benutzerdefinierte Integrationen hinzufügen, die nahtlos mit Ihren Agenten und Workflows zusammenarbeiten.
|
||||
@@ -16,16 +16,18 @@ MCP ist ein offener Standard, der es KI-Assistenten ermöglicht, sich sicher mit
|
||||
- Benutzerdefinierte Tools und Skripte auszuführen
|
||||
- Sicheren, kontrollierten Zugriff auf externe Ressourcen zu gewährleisten
|
||||
|
||||
## Hinzufügen von MCP-Servern
|
||||
## Konfiguration von MCP-Servern
|
||||
|
||||
MCP-Server stellen Sammlungen von Tools bereit, die Ihre Agenten nutzen können. Sie können MCP-Server auf zwei Arten hinzufügen:
|
||||
MCP-Server stellen Sammlungen von Tools bereit, die Ihre Agenten nutzen können. Konfigurieren Sie diese in den Workspace-Einstellungen:
|
||||
|
||||
### Über die Workspace-Einstellungen
|
||||
|
||||
Konfigurieren Sie MCP-Server auf Workspace-Ebene, damit alle Teammitglieder sie nutzen können:
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="mcp-1.mp4" width={700} height={450} />
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/mcp-1.png"
|
||||
alt="Konfiguration eines MCP-Servers in den Einstellungen"
|
||||
width={700}
|
||||
height={450}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
1. Navigieren Sie zu Ihren Workspace-Einstellungen
|
||||
@@ -35,29 +37,25 @@ Konfigurieren Sie MCP-Server auf Workspace-Ebene, damit alle Teammitglieder sie
|
||||
5. Speichern Sie die Konfiguration
|
||||
|
||||
<Callout type="info">
|
||||
MCP-Server, die in den Workspace-Einstellungen konfiguriert sind, stehen allen Workspace-Mitgliedern entsprechend ihrer Berechtigungsstufen zur Verfügung.
|
||||
Sie können MCP-Server auch direkt über die Symbolleiste in einem Agent-Block für eine schnelle Einrichtung konfigurieren.
|
||||
</Callout>
|
||||
|
||||
### Über die Agenten-Konfiguration
|
||||
|
||||
Sie können MCP-Server auch direkt innerhalb eines Agenten-Blocks hinzufügen und konfigurieren:
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="mcp-2.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
Dies ist nützlich, wenn Sie schnell eine bestimmte Integration für einen speziellen Workflow einrichten müssen.
|
||||
|
||||
## Verwendung von MCP-Tools in Agenten
|
||||
|
||||
Sobald MCP-Server konfiguriert sind, werden ihre Tools innerhalb Ihrer Agentenblöcke verfügbar:
|
||||
Sobald MCP-Server konfiguriert sind, werden ihre Tools innerhalb Ihrer Agent-Blöcke verfügbar:
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="mcp-3.mp4" width={700} height={450} />
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/mcp-2.png"
|
||||
alt="Verwendung eines MCP-Tools im Agent-Block"
|
||||
width={700}
|
||||
height={450}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
1. Öffnen Sie einen **Agenten**-Block
|
||||
2. Im Abschnitt **Tools** sehen Sie verfügbare MCP-Tools
|
||||
1. Öffnen Sie einen **Agent**-Block
|
||||
2. Im Abschnitt **Tools** sehen Sie die verfügbaren MCP-Tools
|
||||
3. Wählen Sie die Tools aus, die der Agent verwenden soll
|
||||
4. Der Agent kann nun während der Ausführung auf diese Tools zugreifen
|
||||
|
||||
@@ -65,8 +63,14 @@ Sobald MCP-Server konfiguriert sind, werden ihre Tools innerhalb Ihrer Agentenbl
|
||||
|
||||
Für eine genauere Kontrolle können Sie den dedizierten MCP-Tool-Block verwenden, um bestimmte MCP-Tools auszuführen:
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="mcp-4.mp4" width={700} height={450} />
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/mcp-3.png"
|
||||
alt="Eigenständiger MCP-Tool-Block"
|
||||
width={700}
|
||||
height={450}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
Der MCP-Tool-Block ermöglicht es Ihnen:
|
||||
@@ -94,9 +98,9 @@ MCP-Funktionalität erfordert spezifische Workspace-Berechtigungen:
|
||||
| Aktion | Erforderliche Berechtigung |
|
||||
|--------|-------------------|
|
||||
| MCP-Server in den Einstellungen konfigurieren | **Admin** |
|
||||
| MCP-Tools in Agenten verwenden | **Schreiben** oder **Admin** |
|
||||
| Verfügbare MCP-Tools anzeigen | **Lesen**, **Schreiben** oder **Admin** |
|
||||
| MCP-Tool-Blöcke ausführen | **Schreiben** oder **Admin** |
|
||||
| MCP-Tools in Agenten verwenden | **Write** oder **Admin** |
|
||||
| Verfügbare MCP-Tools anzeigen | **Read**, **Write** oder **Admin** |
|
||||
| MCP-Tool-Blöcke ausführen | **Write** oder **Admin** |
|
||||
|
||||
## Häufige Anwendungsfälle
|
||||
|
||||
@@ -113,14 +117,14 @@ Lesen, schreiben und bearbeiten Sie Dateien auf lokalen oder entfernten Dateisys
|
||||
Führen Sie benutzerdefinierte Skripte oder Tools aus, die auf die Bedürfnisse Ihrer Organisation zugeschnitten sind.
|
||||
|
||||
### Echtzeit-Datenzugriff
|
||||
Rufen Sie während der Workflow-Ausführung Live-Daten von externen Systemen ab.
|
||||
Rufen Sie Live-Daten von externen Systemen während der Workflow-Ausführung ab.
|
||||
|
||||
## Sicherheitsüberlegungen
|
||||
|
||||
- MCP-Server laufen mit den Berechtigungen des Benutzers, der sie konfiguriert hat
|
||||
- Überprüfen Sie immer die Quellen von MCP-Servern vor der Installation
|
||||
- Überprüfen Sie immer die MCP-Server-Quellen vor der Installation
|
||||
- Verwenden Sie Umgebungsvariablen für sensible Konfigurationsdaten
|
||||
- Überprüfen Sie die Fähigkeiten des MCP-Servers, bevor Sie Agenten Zugriff gewähren
|
||||
- Überprüfen Sie die MCP-Server-Funktionen, bevor Sie Agenten Zugriff gewähren
|
||||
|
||||
## Fehlerbehebung
|
||||
|
||||
@@ -137,4 +141,4 @@ Rufen Sie während der Workflow-Ausführung Live-Daten von externen Systemen ab.
|
||||
### Berechtigungsfehler
|
||||
- Bestätigen Sie Ihre Workspace-Berechtigungsstufe
|
||||
- Prüfen Sie, ob der MCP-Server zusätzliche Authentifizierung erfordert
|
||||
- Überprüfen Sie, ob der Server für Ihren Workspace richtig konfiguriert ist
|
||||
- Stellen Sie sicher, dass der Server für Ihren Workspace richtig konfiguriert ist
|
||||
@@ -8,37 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="airtable"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 -20.5 256 256'
|
||||
version='1.1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
preserveAspectRatio='xMidYMid'
|
||||
>
|
||||
<g>
|
||||
<path
|
||||
d='M114.25873,2.70101695 L18.8604023,42.1756384 C13.5552723,44.3711638 13.6102328,51.9065311 18.9486282,54.0225085 L114.746142,92.0117514 C123.163769,95.3498757 132.537419,95.3498757 140.9536,92.0117514 L236.75256,54.0225085 C242.08951,51.9065311 242.145916,44.3711638 236.83934,42.1756384 L141.442459,2.70101695 C132.738459,-0.900338983 122.961284,-0.900338983 114.25873,2.70101695'
|
||||
fill='#FFBF00'
|
||||
/>
|
||||
<path
|
||||
d='M136.349071,112.756863 L136.349071,207.659101 C136.349071,212.173089 140.900664,215.263892 145.096461,213.600615 L251.844122,172.166219 C254.281184,171.200072 255.879376,168.845451 255.879376,166.224705 L255.879376,71.3224678 C255.879376,66.8084791 251.327783,63.7176768 247.131986,65.3809537 L140.384325,106.815349 C137.94871,107.781496 136.349071,110.136118 136.349071,112.756863'
|
||||
fill='#26B5F8'
|
||||
/>
|
||||
<path
|
||||
d='M111.422771,117.65355 L79.742409,132.949912 L76.5257763,134.504714 L9.65047684,166.548104 C5.4112904,168.593211 0.000578531073,165.503855 0.000578531073,160.794612 L0.000578531073,71.7210757 C0.000578531073,70.0173017 0.874160452,68.5463864 2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355'
|
||||
fill='#ED3049'
|
||||
/>
|
||||
<path
|
||||
d='M111.422771,117.65355 L79.742409,132.949912 L2.04568588,67.4384994 C2.53454463,66.9481944 3.08848814,66.5446689 3.66412655,66.2250305 C5.26231864,65.2661153 7.54173107,65.0101153 9.47981017,65.7766689 L110.890522,105.957098 C116.045234,108.002206 116.450206,115.225166 111.422771,117.65355'
|
||||
fillOpacity='0.25'
|
||||
fill='#000000'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
89
apps/docs/content/docs/de/tools/apify.mdx
Normal file
89
apps/docs/content/docs/de/tools/apify.mdx
Normal file
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: Apify
|
||||
description: Führe Apify-Akteure aus und rufe Ergebnisse ab
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="apify"
|
||||
color="#E0E0E0"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Apify](https://apify.com/) ist eine leistungsstarke Plattform zum Erstellen, Bereitstellen und Ausführen von Web-Automatisierung und Web-Scraping-Akteuren im großen Maßstab. Apify ermöglicht es dir, nützliche Daten von jeder Website zu extrahieren, Arbeitsabläufe zu automatisieren und deine Datenpipelines nahtlos zu verbinden.
|
||||
|
||||
Mit Apify kannst du:
|
||||
|
||||
- **Vorgefertigte oder benutzerdefinierte Akteure ausführen**: Integriere öffentliche Akteure oder entwickle deine eigenen, um eine breite Palette von Webdatenextraktions- und Browser-Aufgaben zu automatisieren.
|
||||
- **Datensätze abrufen**: Greife auf strukturierte Datensätze zu, die von Akteuren in Echtzeit gesammelt wurden, und verwalte sie.
|
||||
- **Web-Automatisierung skalieren**: Nutze Cloud-Infrastruktur, um Aufgaben zuverlässig, asynchron oder synchron mit robuster Fehlerbehandlung auszuführen.
|
||||
|
||||
In Sim ermöglicht die Apify-Integration deinen Agenten, grundlegende Apify-Operationen programmatisch durchzuführen:
|
||||
|
||||
- **Akteur ausführen (Synchron)**: Verwende `apify_run_actor_sync`, um einen Apify-Akteur zu starten und auf dessen Abschluss zu warten, wobei die Ergebnisse sofort nach Beendigung des Laufs abgerufen werden.
|
||||
- **Akteur ausführen (Asynchron)**: Verwende `apify_run_actor_async`, um einen Akteur im Hintergrund zu starten und regelmäßig nach Ergebnissen zu fragen, was für längere oder komplexe Aufgaben geeignet ist.
|
||||
|
||||
Diese Operationen statten deine Agenten aus, um Datenerfassungs- oder Browser-Automatisierungsaufgaben direkt in Workflows zu automatisieren, zu scrapen und zu orchestrieren – alles mit flexibler Konfiguration und Ergebnisverarbeitung, ohne dass manuelle Ausführungen oder externe Tools erforderlich sind. Integriere Apify als dynamische Automatisierungs- und Datenextraktions-Engine, die programmatisch die webbasierten Workflows deiner Agenten antreibt.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Gebrauchsanweisung
|
||||
|
||||
Integriere Apify in deinen Workflow. Führe jeden Apify-Akteur mit benutzerdefinierter Eingabe aus und rufe Ergebnisse ab. Unterstützt sowohl synchrone als auch asynchrone Ausführung mit automatischem Datensatz-Abruf.
|
||||
|
||||
## Tools
|
||||
|
||||
### `apify_run_actor_sync`
|
||||
|
||||
Führe einen APIFY-Aktor synchron aus und erhalte Ergebnisse (maximal 5 Minuten)
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | APIFY API-Token von console.apify.com/account#/integrations |
|
||||
| `actorId` | string | Ja | Aktor-ID oder Benutzername/Aktor-Name \(z.B. "janedoe/my-actor" oder Aktor-ID\) |
|
||||
| `input` | string | Nein | Aktor-Eingabe als JSON-String. Siehe Aktor-Dokumentation für erforderliche Felder. |
|
||||
| `timeout` | number | Nein | Timeout in Sekunden \(Standard: Aktor-Standard\) |
|
||||
| `build` | string | Nein | Aktor-Build zum Ausführen \(z.B. "latest", "beta" oder Build-Tag/Nummer\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Aktor-Ausführung erfolgreich war |
|
||||
| `runId` | string | APIFY-Ausführungs-ID |
|
||||
| `status` | string | Ausführungsstatus \(SUCCEEDED, FAILED, usw.\) |
|
||||
| `datasetId` | string | Dataset-ID mit Ergebnissen |
|
||||
| `items` | array | Dataset-Elemente \(falls abgeschlossen\) |
|
||||
|
||||
### `apify_run_actor_async`
|
||||
|
||||
Führe einen APIFY-Aktor asynchron mit Polling für lang laufende Aufgaben aus
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | APIFY API-Token von console.apify.com/account#/integrations |
|
||||
| `actorId` | string | Ja | Aktor-ID oder Benutzername/Aktor-Name \(z.B. "janedoe/my-actor" oder Aktor-ID\) |
|
||||
| `input` | string | Nein | Aktor-Eingabe als JSON-String |
|
||||
| `waitForFinish` | number | Nein | Anfängliche Wartezeit in Sekunden \(0-60\) bevor Polling beginnt |
|
||||
| `itemLimit` | number | Nein | Maximale Anzahl an Dataset-Elementen zum Abrufen \(1-250000, Standard 100\) |
|
||||
| `timeout` | number | Nein | Timeout in Sekunden \(Standard: Aktor-Standard\) |
|
||||
| `build` | string | Nein | Aktor-Build zum Ausführen \(z.B. "latest", "beta" oder Build-Tag/Nummer\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob der Actor-Lauf erfolgreich war |
|
||||
| `runId` | string | APIFY-Lauf-ID |
|
||||
| `status` | string | Laufstatus \(SUCCEEDED, FAILED, usw.\) |
|
||||
| `datasetId` | string | Dataset-ID mit Ergebnissen |
|
||||
| `items` | array | Dataset-Elemente \(falls abgeschlossen\) |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `apify`
|
||||
574
apps/docs/content/docs/de/tools/apollo.mdx
Normal file
574
apps/docs/content/docs/de/tools/apollo.mdx
Normal file
@@ -0,0 +1,574 @@
|
||||
---
|
||||
title: Apollo
|
||||
description: Suchen, anreichern und verwalten Sie Kontakte mit Apollo.io
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="apollo"
|
||||
color="#EBF212"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Apollo.io](https://apollo.io/) ist eine führende Plattform für Vertriebsintelligenz und -engagement, die Benutzern ermöglicht, Kontakte und Unternehmen im großen Maßstab zu finden, anzureichern und zu kontaktieren. Apollo.io kombiniert eine umfangreiche Kontaktdatenbank mit robusten Anreicherungs- und Workflow-Automatisierungstools und unterstützt Vertriebs-, Marketing- und Recruiting-Teams bei der Beschleunigung des Wachstums.
|
||||
|
||||
Mit Apollo.io können Sie:
|
||||
|
||||
- **Millionen von Kontakten und Unternehmen durchsuchen**: Finden Sie präzise Leads mit erweiterten Filtern
|
||||
- **Leads und Accounts anreichern**: Füllen Sie fehlende Details mit verifizierten Daten und aktuellen Informationen
|
||||
- **CRM-Datensätze verwalten und organisieren**: Halten Sie Ihre Personen- und Unternehmensdaten genau und handlungsfähig
|
||||
- **Outreach automatisieren**: Fügen Sie Kontakte zu Sequenzen hinzu und erstellen Sie Follow-up-Aufgaben direkt aus Apollo.io
|
||||
|
||||
In Sim ermöglicht die Apollo.io-Integration Ihren Agenten, zentrale Apollo-Operationen programmatisch durchzuführen:
|
||||
|
||||
- **Personen und Unternehmen suchen**: Verwenden Sie `apollo_people_search`, um neue Leads mit flexiblen Filtern zu entdecken.
|
||||
- **Personendaten anreichern**: Verwenden Sie `apollo_people_enrich`, um Kontakte mit verifizierten Informationen zu ergänzen.
|
||||
- **Personen in Masse anreichern**: Verwenden Sie `apollo_people_bulk_enrich` für die großflächige Anreicherung mehrerer Kontakte auf einmal.
|
||||
- **Unternehmen suchen und anreichern**: Verwenden Sie `apollo_company_search` und `apollo_company_enrich`, um wichtige Unternehmensinformationen zu entdecken und zu aktualisieren.
|
||||
|
||||
Dies ermöglicht Ihren Agenten, leistungsstarke Workflows für Prospecting, CRM-Anreicherung und Automatisierung zu erstellen, ohne manuelle Dateneingabe oder Tabwechsel. Integrieren Sie Apollo.io als dynamische Datenquelle und CRM-Engine – und befähigen Sie Ihre Agenten, Leads nahtlos als Teil ihrer täglichen Arbeit zu identifizieren, zu qualifizieren und zu kontaktieren.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Gebrauchsanweisung
|
||||
|
||||
Integriert Apollo.io in den Workflow. Suche nach Personen und Unternehmen, reichere Kontaktdaten an, verwalte deine CRM-Kontakte und Konten, füge Kontakte zu Sequenzen hinzu und erstelle Aufgaben.
|
||||
|
||||
## Tools
|
||||
|
||||
### `apollo_people_search`
|
||||
|
||||
Apollo durchsuchen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `person_titles` | array | Nein | Zu suchende Berufsbezeichnungen (z.B. ["CEO", "VP of Sales"]) |
|
||||
| `person_locations` | array | Nein | Orte, in denen gesucht werden soll (z.B. ["San Francisco, CA", "New York, NY"]) |
|
||||
| `person_seniorities` | array | Nein | Hierarchieebenen (z.B. ["senior", "executive", "manager"]) |
|
||||
| `organization_names` | array | Nein | Unternehmensnamen, in denen gesucht werden soll |
|
||||
| `q_keywords` | string | Nein | Zu suchende Schlüsselwörter |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung (Standard: 1) |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite (Standard: 25, max: 100) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `people` | json | Array von Personen, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich page, per_page und total_entries |
|
||||
|
||||
### `apollo_people_enrich`
|
||||
|
||||
Daten für eine einzelne Person mit Apollo anreichern
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `first_name` | string | Nein | Vorname der Person |
|
||||
| `last_name` | string | Nein | Nachname der Person |
|
||||
| `email` | string | Nein | E-Mail-Adresse der Person |
|
||||
| `organization_name` | string | Nein | Name des Unternehmens, in dem die Person arbeitet |
|
||||
| `domain` | string | Nein | Unternehmensdomäne (z.B. apollo.io) |
|
||||
| `linkedin_url` | string | Nein | LinkedIn-Profil-URL |
|
||||
| `reveal_personal_emails` | boolean | Nein | Persönliche E-Mail-Adressen aufdecken (verbraucht Credits) |
|
||||
| `reveal_phone_number` | boolean | Nein | Telefonnummern aufdecken (verbraucht Credits) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `person` | json | Angereicherte Personendaten von Apollo |
|
||||
| `metadata` | json | Anreicherungsmetadaten einschließlich Anreicherungsstatus |
|
||||
|
||||
### `apollo_people_bulk_enrich`
|
||||
|
||||
Daten für bis zu 10 Personen gleichzeitig mit Apollo anreichern
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `people` | array | Ja | Array von Personen zur Anreicherung (max. 10) |
|
||||
| `reveal_personal_emails` | boolean | Nein | Persönliche E-Mail-Adressen anzeigen (verbraucht Credits) |
|
||||
| `reveal_phone_number` | boolean | Nein | Telefonnummern anzeigen (verbraucht Credits) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `people` | json | Array von angereicherten Personendaten |
|
||||
| `metadata` | json | Metadaten zur Massenanreicherung einschließlich Gesamt- und angereicherter Anzahl |
|
||||
|
||||
### `apollo_organization_search`
|
||||
|
||||
Apollo durchsuchen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `organization_locations` | array | Nein | Zu durchsuchende Unternehmensstandorte |
|
||||
| `organization_num_employees_ranges` | array | Nein | Bereiche der Mitarbeiterzahl (z.B. ["1-10", "11-50"]) |
|
||||
| `q_organization_keyword_tags` | array | Nein | Branchen- oder Schlüsselwort-Tags |
|
||||
| `q_organization_name` | string | Nein | Zu suchender Organisationsname |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite (max: 100) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `organizations` | json | Array von Organisationen, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich page, per_page und total_entries |
|
||||
|
||||
### `apollo_organization_enrich`
|
||||
|
||||
Daten für eine einzelne Organisation mit Apollo anreichern
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `organization_name` | string | Nein | Name der Organisation \(mindestens einer von organization_name oder domain ist erforderlich\) |
|
||||
| `domain` | string | Nein | Unternehmensdomäne \(z.B. apollo.io\) \(mindestens einer von domain oder organization_name ist erforderlich\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `organization` | json | Angereicherte Organisationsdaten von Apollo |
|
||||
| `metadata` | json | Anreicherungsmetadaten einschließlich des Anreicherungsstatus |
|
||||
|
||||
### `apollo_organization_bulk_enrich`
|
||||
|
||||
Daten für bis zu 10 Organisationen gleichzeitig mit Apollo anreichern
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `organizations` | array | Ja | Array von zu anreichernden Organisationen \(max. 10\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `organizations` | json | Array von angereicherten Organisationsdaten |
|
||||
| `metadata` | json | Metadaten zur Massenanreicherung einschließlich Gesamt- und angereicherte Anzahl |
|
||||
|
||||
### `apollo_contact_create`
|
||||
|
||||
Einen neuen Kontakt in Ihrer Apollo-Datenbank erstellen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `first_name` | string | Ja | Vorname des Kontakts |
|
||||
| `last_name` | string | Ja | Nachname des Kontakts |
|
||||
| `email` | string | Nein | E-Mail-Adresse des Kontakts |
|
||||
| `title` | string | Nein | Berufsbezeichnung |
|
||||
| `account_id` | string | Nein | Apollo-Konto-ID für die Zuordnung |
|
||||
| `owner_id` | string | Nein | Benutzer-ID des Kontaktinhabers |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `contact` | json | Erstellte Kontaktdaten von Apollo |
|
||||
| `metadata` | json | Erstellungsmetadaten einschließlich Erstellungsstatus |
|
||||
|
||||
### `apollo_contact_update`
|
||||
|
||||
Einen bestehenden Kontakt in Ihrer Apollo-Datenbank aktualisieren
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `contact_id` | string | Ja | ID des zu aktualisierenden Kontakts |
|
||||
| `first_name` | string | Nein | Vorname des Kontakts |
|
||||
| `last_name` | string | Nein | Nachname des Kontakts |
|
||||
| `email` | string | Nein | E-Mail-Adresse |
|
||||
| `title` | string | Nein | Berufsbezeichnung |
|
||||
| `account_id` | string | Nein | Apollo-Konto-ID |
|
||||
| `owner_id` | string | Nein | Benutzer-ID des Kontaktinhabers |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `contact` | json | Aktualisierte Kontaktdaten von Apollo |
|
||||
| `metadata` | json | Aktualisierte Metadaten einschließlich des aktualisierten Status |
|
||||
|
||||
### `apollo_contact_search`
|
||||
|
||||
Dein Team durchsuchen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `q_keywords` | string | Nein | Suchbegriffe |
|
||||
| `contact_stage_ids` | array | Nein | Nach Kontaktphasen-IDs filtern |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite \(max: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `contacts` | json | Array von Kontakten, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich page, per_page und total_entries |
|
||||
|
||||
### `apollo_contact_bulk_create`
|
||||
|
||||
Erstelle bis zu 100 Kontakte auf einmal in deiner Apollo-Datenbank. Unterstützt Deduplizierung, um das Erstellen von Duplikaten zu verhindern. Master-Schlüssel erforderlich.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel \(Master-Schlüssel erforderlich\) |
|
||||
| `contacts` | array | Ja | Array von zu erstellenden Kontakten \(max. 100\). Jeder Kontakt sollte first_name, last_name und optional email, title, account_id, owner_id enthalten |
|
||||
| `run_dedupe` | boolean | Nein | Aktiviere Deduplizierung, um das Erstellen von Duplikaten zu verhindern. Bei true werden bestehende Kontakte ohne Änderung zurückgegeben |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `created_contacts` | json | Array neu erstellter Kontakte |
|
||||
| `existing_contacts` | json | Array bestehender Kontakte \(wenn Deduplizierung aktiviert ist\) |
|
||||
| `metadata` | json | Metadaten zur Massenerstellung einschließlich Anzahl erstellter und bestehender Kontakte |
|
||||
|
||||
### `apollo_contact_bulk_update`
|
||||
|
||||
Aktualisieren Sie bis zu 100 bestehende Kontakte gleichzeitig in Ihrer Apollo-Datenbank. Jeder Kontakt muss ein ID-Feld enthalten. Master-Key erforderlich.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel \(Master-Key erforderlich\) |
|
||||
| `contacts` | array | Ja | Array zu aktualisierender Kontakte \(max. 100\). Jeder Kontakt muss ein ID-Feld enthalten und optional first_name, last_name, email, title, account_id, owner_id |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `updated_contacts` | json | Array erfolgreich aktualisierter Kontakte |
|
||||
| `failed_contacts` | json | Array von Kontakten, deren Aktualisierung fehlgeschlagen ist |
|
||||
| `metadata` | json | Metadaten zur Massenaktualisierung einschließlich Anzahl aktualisierter und fehlgeschlagener Kontakte |
|
||||
|
||||
### `apollo_account_create`
|
||||
|
||||
Erstellen Sie ein neues Konto (Unternehmen) in Ihrer Apollo-Datenbank
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `name` | string | Ja | Unternehmensname |
|
||||
| `website_url` | string | Nein | Unternehmens-Website-URL |
|
||||
| `phone` | string | Nein | Telefonnummer des Unternehmens |
|
||||
| `owner_id` | string | Nein | Benutzer-ID des Kontoinhabers |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `account` | json | Erstellte Kontodaten von Apollo |
|
||||
| `metadata` | json | Erstellungsmetadaten einschließlich Erstellungsstatus |
|
||||
|
||||
### `apollo_account_update`
|
||||
|
||||
Aktualisieren eines vorhandenen Kontos in Ihrer Apollo-Datenbank
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `account_id` | string | Ja | ID des zu aktualisierenden Kontos |
|
||||
| `name` | string | Nein | Firmenname |
|
||||
| `website_url` | string | Nein | Firmen-Website-URL |
|
||||
| `phone` | string | Nein | Telefonnummer des Unternehmens |
|
||||
| `owner_id` | string | Nein | Benutzer-ID des Kontoinhabers |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `account` | json | Aktualisierte Kontodaten von Apollo |
|
||||
| `metadata` | json | Aktualisierungsmetadaten einschließlich Aktualisierungsstatus |
|
||||
|
||||
### `apollo_account_search`
|
||||
|
||||
Durchsuchen Ihres Teams
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel \(Hauptschlüssel erforderlich\) |
|
||||
| `q_keywords` | string | Nein | Suchbegriffe für Kontodaten |
|
||||
| `owner_id` | string | Nein | Filtern nach Benutzer-ID des Kontoinhabers |
|
||||
| `account_stage_ids` | array | Nein | Filtern nach Kontophase-IDs |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite \(max: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `accounts` | json | Array von Konten, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich page, per_page und total_entries |
|
||||
|
||||
### `apollo_account_bulk_create`
|
||||
|
||||
Erstellen Sie bis zu 100 Konten auf einmal in Ihrer Apollo-Datenbank. Hinweis: Apollo wendet keine Deduplizierung an - doppelte Konten können erstellt werden, wenn Einträge ähnliche Namen oder Domains haben. Master-Key erforderlich.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel \(Master-Key erforderlich\) |
|
||||
| `accounts` | array | Ja | Array von zu erstellenden Konten \(max. 100\). Jedes Konto sollte einen Namen \(erforderlich\) und optional website_url, phone, owner_id enthalten |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `created_accounts` | json | Array neu erstellter Konten |
|
||||
| `failed_accounts` | json | Array von Konten, deren Erstellung fehlgeschlagen ist |
|
||||
| `metadata` | json | Metadaten zur Massenerstellung einschließlich Anzahl erstellter und fehlgeschlagener Konten |
|
||||
|
||||
### `apollo_account_bulk_update`
|
||||
|
||||
Aktualisieren Sie bis zu 1000 bestehende Konten auf einmal in Ihrer Apollo-Datenbank (höheres Limit als bei Kontakten!). Jedes Konto muss ein id-Feld enthalten. Master-Key erforderlich.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel \(Master-Key erforderlich\) |
|
||||
| `accounts` | array | Ja | Array zu aktualisierender Konten \(max. 1000\). Jedes Konto muss ein id-Feld enthalten und optional name, website_url, phone, owner_id |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `updated_accounts` | json | Array der erfolgreich aktualisierten Konten |
|
||||
| `failed_accounts` | json | Array der Konten, deren Aktualisierung fehlgeschlagen ist |
|
||||
| `metadata` | json | Metadaten zur Massenaktualisierung, einschließlich der Anzahl aktualisierter und fehlgeschlagener Konten |
|
||||
|
||||
### `apollo_opportunity_create`
|
||||
|
||||
Erstellen Sie einen neuen Deal für ein Konto in Ihrer Apollo-Datenbank (Master-Key erforderlich)
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel \(Master-Key erforderlich\) |
|
||||
| `name` | string | Ja | Name der Opportunity/des Deals |
|
||||
| `account_id` | string | Ja | ID des Kontos, zu dem diese Opportunity gehört |
|
||||
| `amount` | number | Nein | Geldwert der Opportunity |
|
||||
| `stage_id` | string | Nein | ID der Deal-Phase |
|
||||
| `owner_id` | string | Nein | Benutzer-ID des Opportunity-Eigentümers |
|
||||
| `close_date` | string | Nein | Erwartetes Abschlussdatum \(ISO 8601-Format\) |
|
||||
| `description` | string | Nein | Beschreibung oder Notizen zur Opportunity |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `opportunity` | json | Erstellte Opportunity-Daten von Apollo |
|
||||
| `metadata` | json | Erstellungsmetadaten einschließlich Erstellungsstatus |
|
||||
|
||||
### `apollo_opportunity_search`
|
||||
|
||||
Suchen und listen Sie alle Deals/Opportunities in Ihrem Team auf
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `q_keywords` | string | Nein | Suchbegriffe für die Suche in Opportunity-Namen |
|
||||
| `account_ids` | array | Nein | Nach bestimmten Account-IDs filtern |
|
||||
| `stage_ids` | array | Nein | Nach Deal-Phase-IDs filtern |
|
||||
| `owner_ids` | array | Nein | Nach Opportunity-Besitzer-IDs filtern |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite \(max: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `opportunities` | json | Array von Opportunities, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich page, per_page und total_entries |
|
||||
|
||||
### `apollo_opportunity_get`
|
||||
|
||||
Vollständige Details eines bestimmten Deals/Opportunity anhand der ID abrufen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `opportunity_id` | string | Ja | ID der abzurufenden Opportunity |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `opportunity` | json | Vollständige Opportunity-Daten von Apollo |
|
||||
| `metadata` | json | Abruf-Metadaten einschließlich Gefunden-Status |
|
||||
|
||||
### `apollo_opportunity_update`
|
||||
|
||||
Einen bestehenden Deal/Opportunity in Ihrer Apollo-Datenbank aktualisieren
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel |
|
||||
| `opportunity_id` | string | Ja | ID der zu aktualisierenden Opportunity |
|
||||
| `name` | string | Nein | Name der Opportunity/des Deals |
|
||||
| `amount` | number | Nein | Geldwert der Opportunity |
|
||||
| `stage_id` | string | Nein | ID der Deal-Phase |
|
||||
| `owner_id` | string | Nein | Benutzer-ID des Opportunity-Eigentümers |
|
||||
| `close_date` | string | Nein | Erwartetes Abschlussdatum (ISO 8601-Format) |
|
||||
| `description` | string | Nein | Beschreibung oder Notizen zur Opportunity |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `opportunity` | json | Aktualisierte Opportunity-Daten von Apollo |
|
||||
| `metadata` | json | Aktualisierungsmetadaten einschließlich Aktualisierungsstatus |
|
||||
|
||||
### `apollo_sequence_search`
|
||||
|
||||
Suche nach Sequenzen/Kampagnen in deinem Team
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel (Master-Schlüssel erforderlich) |
|
||||
| `q_name` | string | Nein | Sequenzen nach Namen durchsuchen |
|
||||
| `active` | boolean | Nein | Nach Aktivitätsstatus filtern (true für aktive Sequenzen, false für inaktive) |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite (max: 100) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `sequences` | json | Array von Sequenzen/Kampagnen, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich page, per_page und total_entries |
|
||||
|
||||
### `apollo_sequence_add_contacts`
|
||||
|
||||
Kontakte zu einer Apollo-Sequenz hinzufügen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel (Master-Schlüssel erforderlich) |
|
||||
| `sequence_id` | string | Ja | ID der Sequenz, zu der Kontakte hinzugefügt werden sollen |
|
||||
| `contact_ids` | array | Ja | Array von Kontakt-IDs, die zur Sequenz hinzugefügt werden sollen |
|
||||
| `emailer_campaign_id` | string | Nein | Optionale E-Mail-Kampagnen-ID |
|
||||
| `send_email_from_user_id` | string | Nein | Benutzer-ID, von der E-Mails gesendet werden sollen |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `contacts_added` | json | Array von Kontakt-IDs, die zur Sequenz hinzugefügt wurden |
|
||||
| `metadata` | json | Sequenz-Metadaten einschließlich sequence_id und total_added Anzahl |
|
||||
|
||||
### `apollo_task_create`
|
||||
|
||||
Eine neue Aufgabe in Apollo erstellen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel (Master-Schlüssel erforderlich) |
|
||||
| `note` | string | Ja | Aufgabennotiz/Beschreibung |
|
||||
| `contact_id` | string | Nein | Zu verknüpfende Kontakt-ID |
|
||||
| `account_id` | string | Nein | Zu verknüpfende Account-ID |
|
||||
| `due_at` | string | Nein | Fälligkeitsdatum im ISO-Format |
|
||||
| `priority` | string | Nein | Aufgabenpriorität |
|
||||
| `type` | string | Nein | Aufgabentyp |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `task` | json | Erstellte Aufgabendaten von Apollo |
|
||||
| `metadata` | json | Erstellungsmetadaten einschließlich des Erstellungsstatus |
|
||||
|
||||
### `apollo_task_search`
|
||||
|
||||
Suche nach Aufgaben in Apollo
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel (Master-Schlüssel erforderlich) |
|
||||
| `contact_id` | string | Nein | Nach Kontakt-ID filtern |
|
||||
| `account_id` | string | Nein | Nach Konto-ID filtern |
|
||||
| `completed` | boolean | Nein | Nach Abschlussstatus filtern |
|
||||
| `page` | number | Nein | Seitennummer für Paginierung |
|
||||
| `per_page` | number | Nein | Ergebnisse pro Seite (max: 100) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `tasks` | json | Array von Aufgaben, die den Suchkriterien entsprechen |
|
||||
| `metadata` | json | Paginierungsinformationen einschließlich Seite, pro_Seite und Gesamteinträge |
|
||||
|
||||
### `apollo_email_accounts`
|
||||
|
||||
Liste des Teams abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Apollo API-Schlüssel (Master-Schlüssel erforderlich) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `email_accounts` | json | Array von Team-E-Mail-Konten, die in Apollo verknüpft sind |
|
||||
| `metadata` | json | Metadaten einschließlich der Gesamtanzahl von E-Mail-Konten |
|
||||
|
||||
## Notizen
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `apollo`
|
||||
@@ -8,26 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="arxiv"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" id='logomark' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17.732 24.269'>
|
||||
<g id='tiny'>
|
||||
<path
|
||||
d='M573.549,280.916l2.266,2.738,6.674-7.84c.353-.47.52-.717.353-1.117a1.218,1.218,0,0,0-1.061-.748h0a.953.953,0,0,0-.712.262Z'
|
||||
transform='translate(-566.984 -271.548)'
|
||||
fill='#bdb9b4'
|
||||
/>
|
||||
<path
|
||||
d='M579.525,282.225l-10.606-10.174a1.413,1.413,0,0,0-.834-.5,1.09,1.09,0,0,0-1.027.66c-.167.4-.047.681.319,1.206l8.44,10.242h0l-6.282,7.716a1.336,1.336,0,0,0-.323,1.3,1.114,1.114,0,0,0,1.04.69A.992.992,0,0,0,571,293l8.519-7.92A1.924,1.924,0,0,0,579.525,282.225Z'
|
||||
transform='translate(-566.984 -271.548)'
|
||||
fill='#b31b1b'
|
||||
/>
|
||||
<path
|
||||
d='M584.32,293.912l-8.525-10.275,0,0L573.53,280.9l-1.389,1.254a2.063,2.063,0,0,0,0,2.965l10.812,10.419a.925.925,0,0,0,.742.282,1.039,1.039,0,0,0,.953-.667A1.261,1.261,0,0,0,584.32,293.912Z'
|
||||
transform='translate(-566.984 -271.548)'
|
||||
fill='#bdb9b4'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
141
apps/docs/content/docs/de/tools/asana.mdx
Normal file
141
apps/docs/content/docs/de/tools/asana.mdx
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
title: Asana
|
||||
description: Mit Asana interagieren
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="asana"
|
||||
color="#E0E0E0"
|
||||
/>
|
||||
|
||||
## Nutzungsanleitung
|
||||
|
||||
Integriere Asana in den Workflow. Kann Aufgaben lesen, schreiben und aktualisieren.
|
||||
|
||||
## Tools
|
||||
|
||||
### `asana_get_task`
|
||||
|
||||
Eine einzelne Aufgabe anhand der GID abrufen oder mehrere Aufgaben mit Filtern erhalten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `taskGid` | string | Nein | Die global eindeutige Kennung \(GID\) der Aufgabe. Wenn nicht angegeben, werden mehrere Aufgaben abgerufen. |
|
||||
| `workspace` | string | Nein | Workspace-GID zum Filtern von Aufgaben \(erforderlich, wenn taskGid nicht verwendet wird\) |
|
||||
| `project` | string | Nein | Projekt-GID zum Filtern von Aufgaben |
|
||||
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Aufgaben \(Standard: 50\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Details einer einzelnen Aufgabe oder Array von Aufgaben, abhängig davon, ob taskGid angegeben wurde |
|
||||
|
||||
### `asana_create_task`
|
||||
|
||||
Eine neue Aufgabe in Asana erstellen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `workspace` | string | Ja | Workspace-GID, in dem die Aufgabe erstellt wird |
|
||||
| `name` | string | Ja | Name der Aufgabe |
|
||||
| `notes` | string | Nein | Notizen oder Beschreibung für die Aufgabe |
|
||||
| `assignee` | string | Nein | Benutzer-GID, dem die Aufgabe zugewiesen werden soll |
|
||||
| `due_on` | string | Nein | Fälligkeitsdatum im Format JJJJ-MM-TT |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Details der erstellten Aufgabe mit Zeitstempel, GID, Name, Notizen und Permalink |
|
||||
|
||||
### `asana_update_task`
|
||||
|
||||
Eine bestehende Aufgabe in Asana aktualisieren
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `taskGid` | string | Ja | Die global eindeutige Kennung (GID) der zu aktualisierenden Aufgabe |
|
||||
| `name` | string | Nein | Aktualisierter Name für die Aufgabe |
|
||||
| `notes` | string | Nein | Aktualisierte Notizen oder Beschreibung für die Aufgabe |
|
||||
| `assignee` | string | Nein | Aktualisierte Benutzer-GID des Zugewiesenen |
|
||||
| `completed` | boolean | Nein | Aufgabe als abgeschlossen oder nicht abgeschlossen markieren |
|
||||
| `due_on` | string | Nein | Aktualisiertes Fälligkeitsdatum im Format JJJJ-MM-TT |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Aktualisierte Aufgabendetails mit Zeitstempel, GID, Name, Notizen und Änderungszeitstempel |
|
||||
|
||||
### `asana_get_projects`
|
||||
|
||||
Alle Projekte aus einem Asana-Workspace abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `workspace` | string | Ja | Workspace-GID, aus der Projekte abgerufen werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Liste der Projekte mit ihrer GID, Name und Ressourcentyp |
|
||||
|
||||
### `asana_search_tasks`
|
||||
|
||||
Nach Aufgaben in einem Asana-Workspace suchen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `workspace` | string | Ja | Workspace-GID, in der nach Aufgaben gesucht werden soll |
|
||||
| `text` | string | Nein | Text, nach dem in Aufgabennamen gesucht werden soll |
|
||||
| `assignee` | string | Nein | Aufgaben nach Bearbeiter-GID filtern |
|
||||
| `projects` | array | Nein | Array von Projekt-GIDs, nach denen Aufgaben gefiltert werden sollen |
|
||||
| `completed` | boolean | Nein | Nach Abschlussstatus filtern |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Liste der Aufgaben, die den Suchkriterien entsprechen |
|
||||
|
||||
### `asana_add_comment`
|
||||
|
||||
Einen Kommentar (Story) zu einer Asana-Aufgabe hinzufügen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `taskGid` | string | Ja | Die global eindeutige Kennung \(GID\) der Aufgabe |
|
||||
| `text` | string | Ja | Der Textinhalt des Kommentars |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Kommentardetails einschließlich gid, Text, Erstellungszeitstempel und Autor |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `asana`
|
||||
@@ -8,36 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="browser_use"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
version='1.0'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox='0 0 150 150'
|
||||
preserveAspectRatio='xMidYMid meet'
|
||||
>
|
||||
<g transform='translate(0,150) scale(0.05,-0.05)' fill='#000000' stroke='none'>
|
||||
<path
|
||||
d='M786 2713 c-184 -61 -353 -217 -439 -405 -76 -165 -65 -539 19 -666
|
||||
l57 -85 -48 -124 c-203 -517 -79 -930 346 -1155 159 -85 441 -71 585 28 l111
|
||||
77 196 -76 c763 -293 1353 304 1051 1063 -77 191 -77 189 -14 282 163 239 97
|
||||
660 -140 893 -235 231 -528 256 -975 83 l-96 -37 -121 67 c-144 79 -383 103
|
||||
-532 55z m459 -235 c88 -23 96 -51 22 -79 -29 -11 -84 -47 -121 -80 -57 -50
|
||||
-84 -59 -178 -59 -147 0 -190 -44 -238 -241 -102 -424 -230 -440 -230 -29 1
|
||||
417 289 606 745 488z m1046 -18 c174 -85 266 -309 239 -582 -26 -256 -165
|
||||
-165 -230 151 -73 356 -469 332 -954 -58 -587 -472 -829 -1251 -388 -1251 108
|
||||
0 126 -7 214 -80 54 -44 104 -80 113 -80 54 0 -2 -43 -89 -69 -220 -66 -426
|
||||
-22 -568 120 -599 599 871 2232 1663 1849z m-234 -510 c969 -1036 357 -1962
|
||||
-787 -1190 -254 171 -348 303 -323 454 21 128 40 123 231 -59 691 -658 1362
|
||||
-583 1052 117 -106 239 -366 585 -504 671 l-72 44 98 45 c150 68 169 63 305
|
||||
-82z m-329 -310 c161 -184 163 -160 -30 -338 -188 -173 -180 -173 -386 19
|
||||
-163 153 -163 157 7 324 218 213 219 213 409 -5z m354 -375 c92 -239 -179
|
||||
-462 -377 -309 l-46 35 186 163 c211 186 209 185 237 111z'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
172
apps/docs/content/docs/de/tools/calendly.mdx
Normal file
172
apps/docs/content/docs/de/tools/calendly.mdx
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
title: Calendly
|
||||
description: Verwalte Calendly-Terminplanung und Ereignisse
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="calendly"
|
||||
color="#FFFFFF"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Calendly](https://calendly.com/) ist eine beliebte Plattform zur Terminplanungsautomatisierung, die Ihnen hilft, Meetings, Events und Termine mühelos zu buchen. Mit Calendly können Teams und Einzelpersonen die Terminplanung optimieren, den E-Mail-Austausch reduzieren und Aufgaben rund um Veranstaltungen automatisieren.
|
||||
|
||||
Mit der Sim Calendly-Integration können Ihre Agenten:
|
||||
|
||||
- **Informationen über Ihr Konto und geplante Ereignisse abrufen**: Verwenden Sie Tools, um Benutzerinformationen, Ereignistypen und geplante Ereignisse für Analysen oder Automatisierungen abzurufen.
|
||||
- **Ereignistypen und Terminplanung verwalten**: Greifen Sie auf verfügbare Ereignistypen für Benutzer oder Organisationen zu und listen Sie diese auf, rufen Sie Details zu bestimmten Ereignistypen ab und überwachen Sie geplante Meetings und Teilnehmerdaten.
|
||||
- **Automatisieren Sie Follow-ups und Workflows**: Wenn Benutzer Meetings planen, umplanen oder stornieren, können Sim-Agenten automatisch entsprechende Workflows auslösen – wie das Senden von Erinnerungen, das Aktualisieren von CRMs oder das Benachrichtigen von Teilnehmern.
|
||||
- **Einfache Integration über Webhooks**: Richten Sie Sim-Workflows ein, um auf Calendly-Webhook-Ereignisse in Echtzeit zu reagieren, einschließlich wenn Eingeladene Termine planen, stornieren oder mit Routing-Formularen interagieren.
|
||||
|
||||
Ob Sie die Meeting-Vorbereitung automatisieren, Einladungen verwalten oder benutzerdefinierte Workflows als Reaktion auf Planungsaktivitäten ausführen möchten – die Calendly-Tools in Sim bieten Ihnen flexiblen und sicheren Zugriff. Erschließen Sie neue Automatisierungsmöglichkeiten, indem Sie sofort auf Planungsänderungen reagieren – und optimieren Sie so die Abläufe und die Kommunikation Ihres Teams.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Nutzungsanweisungen
|
||||
|
||||
Integrieren Sie Calendly in Ihren Workflow. Verwalten Sie Ereignistypen, geplante Ereignisse, Eingeladene und Webhooks. Kann auch Workflows basierend auf Calendly-Webhook-Ereignissen auslösen (Eingeladener hat Termin vereinbart, Eingeladener hat storniert, Routing-Formular wurde eingereicht). Erfordert einen persönlichen Zugriffstoken.
|
||||
|
||||
## Tools
|
||||
|
||||
### `calendly_get_current_user`
|
||||
|
||||
Informationen über den aktuell authentifizierten Calendly-Benutzer abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönlicher Zugriffstoken |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `resource` | object | Informationen zum aktuellen Benutzer |
|
||||
|
||||
### `calendly_list_event_types`
|
||||
|
||||
Eine Liste aller Ereignistypen für einen Benutzer oder eine Organisation abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönliches Zugriffstoken |
|
||||
| `user` | string | Nein | Nur Ereignistypen zurückgeben, die zu diesem Benutzer gehören \(URI-Format\) |
|
||||
| `organization` | string | Nein | Nur Ereignistypen zurückgeben, die zu dieser Organisation gehören \(URI-Format\) |
|
||||
| `count` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard: 20, max: 100\) |
|
||||
| `pageToken` | string | Nein | Seitentoken für Paginierung |
|
||||
| `sort` | string | Nein | Sortierreihenfolge für Ergebnisse \(z.B. "name:asc", "name:desc"\) |
|
||||
| `active` | boolean | Nein | Bei true werden nur aktive Ereignistypen angezeigt. Bei false oder nicht ausgewählt werden alle Ereignistypen angezeigt \(sowohl aktive als auch inaktive\). |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `collection` | array | Array von Ereignistyp-Objekten |
|
||||
|
||||
### `calendly_get_event_type`
|
||||
|
||||
Detaillierte Informationen über einen bestimmten Ereignistyp abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönliches Zugriffstoken |
|
||||
| `eventTypeUuid` | string | Ja | Ereignistyp-UUID \(kann vollständige URI oder nur die UUID sein\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `resource` | object | Details zum Ereignistyp |
|
||||
|
||||
### `calendly_list_scheduled_events`
|
||||
|
||||
Eine Liste geplanter Ereignisse für einen Benutzer oder eine Organisation abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönliches Zugriffstoken |
|
||||
| `user` | string | Nein | Gibt Ereignisse zurück, die zu diesem Benutzer gehören \(URI-Format\). Entweder "user" oder "organization" muss angegeben werden. |
|
||||
| `organization` | string | Nein | Gibt Ereignisse zurück, die zu dieser Organisation gehören \(URI-Format\). Entweder "user" oder "organization" muss angegeben werden. |
|
||||
| `invitee_email` | string | Nein | Gibt Ereignisse zurück, bei denen der Eingeladene diese E-Mail hat |
|
||||
| `count` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard: 20, max: 100\) |
|
||||
| `max_start_time` | string | Nein | Gibt Ereignisse mit Startzeit vor diesem Zeitpunkt zurück \(ISO 8601-Format\) |
|
||||
| `min_start_time` | string | Nein | Gibt Ereignisse mit Startzeit nach diesem Zeitpunkt zurück \(ISO 8601-Format\) |
|
||||
| `pageToken` | string | Nein | Seitentoken für Paginierung |
|
||||
| `sort` | string | Nein | Sortierreihenfolge für Ergebnisse \(z.B. "start_time:asc", "start_time:desc"\) |
|
||||
| `status` | string | Nein | Nach Status filtern \("active" oder "canceled"\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `collection` | array | Array von geplanten Ereignisobjekten |
|
||||
|
||||
### `calendly_get_scheduled_event`
|
||||
|
||||
Detaillierte Informationen über ein bestimmtes geplantes Ereignis abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönliches Zugriffstoken |
|
||||
| `eventUuid` | string | Ja | UUID des geplanten Ereignisses \(kann vollständige URI oder nur die UUID sein\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `resource` | object | Details zum geplanten Ereignis |
|
||||
|
||||
### `calendly_list_event_invitees`
|
||||
|
||||
Eine Liste der Eingeladenen für ein geplantes Ereignis abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönliches Zugriffstoken |
|
||||
| `eventUuid` | string | Ja | UUID des geplanten Ereignisses \(kann vollständige URI oder nur die UUID sein\) |
|
||||
| `count` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard: 20, max: 100\) |
|
||||
| `email` | string | Nein | Eingeladene nach E-Mail-Adresse filtern |
|
||||
| `pageToken` | string | Nein | Seitentoken für Paginierung |
|
||||
| `sort` | string | Nein | Sortierreihenfolge für Ergebnisse \(z.B. "created_at:asc", "created_at:desc"\) |
|
||||
| `status` | string | Nein | Nach Status filtern \("active" oder "canceled"\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `collection` | array | Array von Eingeladenen-Objekten |
|
||||
|
||||
### `calendly_cancel_event`
|
||||
|
||||
Ein geplantes Ereignis stornieren
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Calendly persönliches Zugriffstoken |
|
||||
| `eventUuid` | string | Ja | UUID des zu stornierenden geplanten Ereignisses \(kann vollständige URI oder nur die UUID sein\) |
|
||||
| `reason` | string | Nein | Grund für die Stornierung \(wird an Eingeladene gesendet\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `resource` | object | Stornierungsdetails |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `calendly`
|
||||
@@ -8,167 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="clay"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'>
|
||||
<path
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='#41B9FD'
|
||||
d=' M225.000000,1.000000 C227.042313,1.000000 229.084641,1.000000 231.903046,1.237045
|
||||
C233.981308,1.648251 235.283447,1.974177 236.585678,1.974532 C276.426849,1.985374 316.268005,1.964254 356.349304,2.036658
|
||||
C356.713806,2.242061 356.838165,2.358902 357.013062,2.696568 C357.361633,3.243123 357.659729,3.568854 358.029053,3.919451
|
||||
C358.100250,3.944317 358.064270,4.090822 358.043335,4.397895 C358.300018,5.454089 358.577637,6.203210 358.919647,7.420082
|
||||
C358.919891,27.877140 358.855774,47.866444 358.406097,67.910400 C355.200592,68.111740 352.380737,68.384270 349.560669,68.386124
|
||||
C311.434967,68.411194 273.308777,68.303810 235.184082,68.495499 C229.321579,68.524979 223.465759,69.888084 217.280884,70.633224
|
||||
C216.309952,70.742836 215.664993,70.853645 214.722351,70.824722 C211.834686,71.349052 209.244675,72.013123 206.377716,72.681381
|
||||
C205.743713,72.776283 205.386673,72.866997 204.740524,72.831818 C198.868668,74.719879 193.285919,76.733833 187.518951,78.776100
|
||||
C187.334747,78.804405 187.002716,78.975388 186.619080,78.955429 C183.339905,80.398605 180.444336,81.861732 177.450043,83.356339
|
||||
C177.351318,83.387817 177.199478,83.528885 176.863098,83.476791 C174.940445,84.544197 173.354172,85.663696 171.490601,86.873726
|
||||
C170.873749,87.151909 170.534180,87.339554 169.900208,87.480209 C169.065109,87.950676 168.524414,88.468132 167.772736,89.059799
|
||||
C167.561722,89.134003 167.180191,89.367592 166.874084,89.344360 C166.036011,89.874809 165.504074,90.428497 164.768677,91.071411
|
||||
C164.565247,91.160652 164.195068,91.406326 163.886719,91.361374 C162.847015,91.962418 162.115631,92.608421 161.328308,93.267891
|
||||
C161.272369,93.281357 161.208405,93.377022 160.867157,93.365463 C158.692642,94.907082 156.859375,96.460266 154.780716,98.176086
|
||||
C154.099411,98.731529 153.663513,99.124352 153.029877,99.558502 C152.562164,99.788048 152.505905,100.026695 152.411484,100.477333
|
||||
C151.745850,101.065102 151.332077,101.491318 150.666687,101.980057 C150.244827,102.329651 150.074554,102.616714 149.702332,103.025635
|
||||
C149.247330,103.342041 149.041901,103.578056 148.626404,103.921570 C148.191071,104.281303 148.013428,104.574989 147.660767,104.971512
|
||||
C147.485733,105.074348 147.185501,105.347694 146.854645,105.346924 C145.509140,106.645203 144.494507,107.944252 143.328308,109.398895
|
||||
C143.176773,109.554497 142.944397,109.921532 142.688324,109.990189 C142.263062,110.355179 142.093887,110.651512 141.672485,111.133896
|
||||
C140.733337,112.108200 140.046402,112.896461 139.056610,113.710732 C138.269180,114.554047 137.784592,115.371346 137.263580,116.208557
|
||||
C137.227158,116.228470 137.222885,116.311386 136.910522,116.418571 C134.917343,118.573212 133.067978,120.505791 131.581848,122.685951
|
||||
C117.236908,143.729858 109.909592,167.062012 108.797867,192.458298 C106.874710,236.390839 120.176277,274.069336 154.210175,303.200592
|
||||
C157.543198,306.053497 161.524918,308.148560 165.395065,310.715118 C165.584625,310.834839 166.004089,310.993286 166.112747,311.305908
|
||||
C169.421280,313.480804 172.621170,315.343109 176.067993,317.436401 C196.154831,328.754059 217.585236,333.047546 240.138840,332.968475
|
||||
C276.608368,332.840607 313.078613,332.912872 349.548553,332.932007 C352.369659,332.933472 355.190643,333.181519 358.042847,333.756317
|
||||
C358.105377,352.504913 358.140625,370.812134 358.166443,389.119385 C358.179047,398.047455 357.157593,399.080383 348.101379,399.081543
|
||||
C309.488556,399.086456 270.875702,399.088837 232.262939,399.034698 C229.118195,399.030304 225.976639,398.454163 222.828934,398.396088
|
||||
C219.876633,398.341614 216.918152,398.621979 213.655640,398.750488 C212.946808,398.674561 212.544739,398.603149 211.932861,398.249359
|
||||
C205.139450,396.920532 198.555878,395.874084 191.660583,394.785370 C190.959366,394.590973 190.569855,394.438812 189.976242,394.044556
|
||||
C188.751892,393.631897 187.731628,393.461365 186.520462,393.271667 C186.329559,393.252502 185.966660,393.127686 185.711517,392.875610
|
||||
C179.817810,390.901337 174.179230,389.179169 168.376038,387.422913 C168.211411,387.388824 167.919205,387.222443 167.713623,386.935791
|
||||
C163.177170,384.926636 158.846298,383.204132 154.354828,381.442505 C154.194229,381.403320 153.913010,381.229431 153.720596,380.940063
|
||||
C150.958603,379.507599 148.389023,378.364502 145.862350,377.112976 C145.905273,377.004486 145.834991,377.222992 145.696899,376.907410
|
||||
C143.278778,375.470276 140.998734,374.348724 138.546249,373.152405 C138.373810,373.077606 138.071228,372.854553 137.964508,372.539856
|
||||
C136.491272,371.591217 135.124771,370.957306 133.835419,370.230103 C133.912552,370.136810 133.731659,370.297668 133.638489,369.968719
|
||||
C130.257477,367.557678 126.969620,365.475616 123.676697,363.365906 C123.671616,363.338226 123.618034,363.355438 123.527176,363.037048
|
||||
C122.530983,362.219849 121.625641,361.721039 120.554291,361.141144 C120.388283,361.060028 120.099663,360.829254 120.012115,360.507904
|
||||
C116.854935,357.864441 113.785301,355.542328 110.448624,353.088013 C109.480820,352.261383 108.780060,351.566956 108.005241,350.545807
|
||||
C106.569366,349.183838 105.207550,348.148560 103.618164,346.953125 C102.887856,346.250793 102.385124,345.708649 101.851944,344.819275
|
||||
C99.227608,341.972198 96.633736,339.472412 93.829559,336.814728 C93.315529,336.231140 93.011803,335.805389 92.626633,335.113678
|
||||
C92.241318,334.653351 91.937447,334.458984 91.470352,334.116333 C91.113121,333.744141 90.954285,333.497589 90.815475,332.884094
|
||||
C89.432999,331.125000 88.065689,329.710205 86.750458,328.261658 C86.802551,328.227905 86.679573,328.244812 86.625587,328.004700
|
||||
C86.408173,327.453064 86.154968,327.258301 85.840820,327.092529 C85.869644,327.004852 85.792236,327.175934 85.788193,326.847412
|
||||
C85.086029,325.775726 84.387909,325.032593 83.748154,324.192444 C83.806519,324.095428 83.656967,324.265442 83.677109,323.924805
|
||||
C82.691200,322.493195 81.685143,321.402222 80.701370,320.271667 C80.723648,320.232025 80.638077,320.262756 80.664627,319.911865
|
||||
C79.348137,317.824493 78.005081,316.088074 76.632942,314.335297 C76.603851,314.318970 76.610863,314.252594 76.569603,314.015747
|
||||
C76.383919,313.466492 76.145622,313.265167 75.849998,313.133301 C75.886536,313.091675 75.786301,313.138794 75.787926,312.843567
|
||||
C75.413757,312.136780 75.037964,311.725281 74.650452,311.296570 C74.638725,311.279388 74.605232,311.254669 74.648026,310.925659
|
||||
C74.042847,309.802277 73.394867,309.007935 72.848984,308.101166 C72.951088,307.988739 72.736649,308.207153 72.749344,307.902405
|
||||
C72.247162,307.034119 71.732277,306.470612 71.116684,305.727478 C71.015976,305.547882 70.879890,305.159210 70.904739,304.782593
|
||||
C66.198082,293.805145 61.429871,283.220459 56.753250,272.595459 C54.901436,268.388306 53.253181,264.091522 51.402115,259.538025
|
||||
C51.225922,258.823547 51.159870,258.406525 51.280235,257.681335 C50.130058,252.530197 48.793461,247.687271 47.372990,242.549011
|
||||
C47.250717,241.846664 47.212318,241.439667 47.345688,240.702484 C46.854862,237.196991 46.192276,234.021698 45.439560,230.551788
|
||||
C45.308647,229.849213 45.267864,229.441223 45.399055,228.679535 C45.646000,226.680176 45.810993,225.032898 45.781715,223.389099
|
||||
C45.543224,209.998566 45.243523,196.609085 45.021889,183.218307 C44.965343,179.801880 45.121227,176.381912 45.183868,172.656006
|
||||
C45.260223,171.945328 45.332214,171.542252 45.692661,170.944855 C46.379547,167.156143 46.777977,163.561768 47.196243,159.658173
|
||||
C47.326954,158.952240 47.437832,158.555511 47.816860,157.951569 C48.405701,156.819183 48.802628,155.912750 49.035774,154.966003
|
||||
C53.321564,137.562775 58.709690,120.561356 67.075592,104.614586 C68.431061,102.030846 69.442665,99.266708 70.700943,96.329689
|
||||
C70.963600,95.758194 71.138519,95.442963 71.626465,95.023987 C72.881813,93.185463 73.824142,91.450684 74.833984,89.540924
|
||||
C74.901497,89.365936 75.115746,89.058022 75.414856,88.950439 C76.055374,88.124435 76.396790,87.406006 76.808441,86.516800
|
||||
C76.878685,86.346008 77.099190,86.049721 77.426208,85.968033 C78.773079,84.202591 79.792938,82.518845 80.906425,80.889481
|
||||
C81.000053,80.943871 80.811523,80.846413 81.112083,80.718071 C81.899254,79.675362 82.385872,78.760994 82.980141,77.647797
|
||||
C83.256111,77.193130 83.468399,76.981361 83.972061,76.695953 C84.379341,76.259384 84.539192,75.940521 84.777573,75.467239
|
||||
C84.856110,75.312813 85.091125,75.058212 85.387177,74.957954 C86.071411,74.171829 86.459602,73.485962 86.959831,72.547165
|
||||
C87.574921,71.763893 88.077972,71.233551 88.917511,70.614960 C90.438446,68.934166 91.622894,67.341637 92.892502,65.577087
|
||||
C92.977646,65.405067 93.223930,65.110596 93.540451,65.035034 C94.925735,63.668842 95.994484,62.378204 97.037460,61.053047
|
||||
C97.011688,61.018532 97.086418,61.061367 97.418701,60.997078 C100.387512,58.135143 103.024048,55.337498 105.840828,52.291214
|
||||
C107.274651,50.972633 108.528229,49.902691 110.120842,48.821507 C111.324287,47.898228 112.188705,46.986183 113.028954,46.039188
|
||||
C113.004784,46.004234 113.069771,46.059036 113.418266,46.038719 C115.379044,44.556744 116.991333,43.095085 118.618896,41.600952
|
||||
C118.634186,41.568470 118.705971,41.569565 118.943619,41.531807 C119.496582,41.345333 119.686287,41.099613 119.875092,40.861622
|
||||
C119.999825,40.966347 119.751175,40.750431 120.085175,40.695145 C121.552383,39.660774 122.685600,38.681686 123.971207,37.539024
|
||||
C124.353516,37.180477 124.609665,37.030270 125.248093,36.934944 C127.105858,35.720867 128.607605,34.496674 130.284821,33.157169
|
||||
C130.460281,33.041859 130.850082,32.885620 131.191956,32.879478 C132.720169,31.979248 133.906525,31.085161 135.242615,30.070633
|
||||
C135.392365,29.950191 135.742935,29.792681 136.116943,29.797058 C144.044449,25.665834 151.597931,21.530237 159.443359,17.267967
|
||||
C160.335373,16.929420 160.935471,16.717543 161.932648,16.610218 C166.284805,15.022083 170.239853,13.329394 174.481018,11.497526
|
||||
C175.179947,11.265512 175.592758,11.172676 176.284058,11.232684 C181.045059,9.931384 185.527557,8.477241 190.283020,6.942632
|
||||
C190.929428,6.798172 191.302902,6.734176 192.106628,6.758037 C200.661499,5.630559 208.799301,4.494970 216.903397,3.155535
|
||||
C219.646088,2.702227 222.303574,1.733297 225.000000,1.000000 z'
|
||||
/>
|
||||
<path
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='#CF207F'
|
||||
d=' M139.359467,113.684723 C140.046402,112.896461 140.733337,112.108200 141.935272,111.074768
|
||||
C142.614975,110.526917 142.779678,110.224220 142.944397,109.921524 C142.944397,109.921532 143.176773,109.554497 143.635193,109.340279
|
||||
C145.124252,107.866608 146.154877,106.607147 147.185501,105.347694 C147.185501,105.347694 147.485733,105.074348 147.925735,104.915680
|
||||
C148.538528,104.456520 148.711319,104.156021 148.884109,103.855530 C149.041901,103.578056 149.247330,103.342041 149.974884,103.098984
|
||||
C150.636948,103.055161 150.824478,103.059845 151.047058,103.134651 C151.082077,103.204781 151.296890,103.193550 151.296890,103.193550
|
||||
C151.296890,103.193550 151.065384,103.011589 151.060242,102.733826 C151.009506,102.276550 150.963913,102.097046 150.918304,101.917534
|
||||
C151.332077,101.491318 151.745850,101.065102 152.635773,100.460251 C153.111908,100.281609 153.497894,100.049179 153.789368,100.038872
|
||||
C154.772659,99.452271 155.464478,98.875984 156.408234,98.117584 C157.490311,97.320854 158.320465,96.706223 159.411987,96.018272
|
||||
C160.091385,95.613731 160.509415,95.282509 161.005707,94.693756 C161.125443,94.083160 161.166931,93.730095 161.208405,93.377022
|
||||
C161.208405,93.377022 161.272369,93.281357 161.637833,93.283844 C162.733887,92.659668 163.464478,92.032997 164.195068,91.406326
|
||||
C164.195068,91.406326 164.565247,91.160652 165.074371,91.083725 C166.115738,90.460403 166.647964,89.913994 167.180191,89.367592
|
||||
C167.180191,89.367592 167.561722,89.134003 168.067535,89.083694 C169.113785,88.531319 169.654205,88.029266 170.194611,87.527206
|
||||
C170.534180,87.339554 170.873749,87.151909 171.836243,86.913345 C174.039276,85.751251 175.619370,84.640068 177.199478,83.528885
|
||||
C177.199478,83.528885 177.351318,83.387817 177.799438,83.385483 C179.820572,82.883362 181.393585,82.383591 183.170273,81.808777
|
||||
C183.633362,81.599014 183.861649,81.423775 184.373871,81.123398 C185.491287,80.703987 186.293686,80.369202 187.361908,79.991440
|
||||
C188.096588,79.696411 188.565445,79.444366 189.280243,79.140625 C189.689667,79.052353 189.853149,79.015762 190.210281,78.900085
|
||||
C190.651642,78.688210 190.867310,78.515427 191.369507,78.235207 C192.110519,78.067825 192.532990,77.967896 193.244263,77.853729
|
||||
C194.045349,77.588539 194.557632,77.337585 195.404114,77.018097 C196.821823,76.607903 197.905350,76.266235 199.266159,75.907867
|
||||
C200.036407,75.656876 200.529373,75.422592 201.364365,75.106812 C202.827423,74.692017 203.948425,74.358734 205.380356,74.019363
|
||||
C206.468277,73.766235 207.245285,73.519203 208.389984,73.226074 C209.493317,73.091133 210.228912,73.002289 211.290283,72.935577
|
||||
C212.412201,72.683113 213.208344,72.408524 214.267502,72.100060 C214.705307,72.039871 214.880112,72.013565 215.424881,71.999588
|
||||
C217.201248,71.734070 218.607666,71.456200 220.413910,71.153488 C221.880417,71.070969 222.947083,71.013298 224.279190,71.170303
|
||||
C226.068039,70.992416 227.591461,70.599854 229.423401,70.196625 C230.143173,70.169228 230.554443,70.152512 231.313034,70.332619
|
||||
C235.115021,70.382599 238.569687,70.235756 242.491425,70.087082 C280.953430,70.102844 318.948334,70.120430 357.053223,70.529343
|
||||
C357.455536,73.045441 357.992554,75.169182 358.001373,77.295113 C358.070374,93.940338 358.043671,110.585976 358.034363,127.231491
|
||||
C358.030548,134.046967 358.016937,134.057816 351.099701,134.059860 C310.817535,134.071823 270.534180,133.934753 230.254730,134.268967
|
||||
C225.246338,134.310516 220.258575,136.842316 215.230850,138.283905 C215.200439,138.347610 215.065262,138.306870 214.806305,138.286804
|
||||
C214.115921,138.505325 213.684479,138.743896 213.009598,139.115082 C212.583405,139.275208 212.400635,139.302734 211.833679,139.280731
|
||||
C208.407166,140.913559 205.364853,142.595886 202.282257,144.308472 C202.241974,144.338730 202.168381,144.269897 201.973877,144.345428
|
||||
C201.529541,144.568588 201.364868,144.781921 201.061798,145.322937 C200.647766,145.713150 200.457306,145.841385 199.948059,145.977448
|
||||
C197.417572,147.954681 195.205872,149.924103 192.993881,151.942596 C192.993607,151.991669 192.895477,151.990555 192.549149,152.015503
|
||||
C187.409988,154.769379 184.238312,158.680161 183.252487,164.111267 C183.188980,163.991821 183.294250,164.239044 182.950150,164.345627
|
||||
C180.427338,169.367905 177.154861,174.103409 176.308884,179.238663 C174.781265,188.511490 174.320831,198.014923 174.115677,207.437317
|
||||
C173.843521,219.937164 178.269516,231.196472 184.901489,241.604797 C185.796005,243.008667 187.567444,243.853790 188.990707,244.966980
|
||||
C189.048599,244.976334 189.032700,245.092545 189.039658,245.443787 C189.760330,247.068161 190.225784,248.594147 191.225662,249.575775
|
||||
C202.884888,261.022064 217.215424,267.483948 233.244598,267.746521 C272.873535,268.395599 312.520477,268.025818 352.159454,267.873199
|
||||
C356.777344,267.855408 358.164368,269.300385 358.106323,273.876007 C357.865570,292.859802 357.967224,311.847900 357.480347,330.882874
|
||||
C338.906525,330.962463 320.795410,331.052429 302.684601,331.010834 C276.765686,330.951324 250.846970,330.795715 224.637268,330.524200
|
||||
C223.236160,330.268494 222.125992,330.169708 220.602966,330.058136 C219.095612,329.927734 218.001114,329.810120 216.705780,329.546783
|
||||
C216.025055,329.282104 215.545151,329.163147 214.711487,329.008087 C213.887634,328.910431 213.417526,328.848877 212.660461,328.610291
|
||||
C211.246506,328.304504 210.119537,328.175751 208.744629,328.011780 C208.333069,327.943604 208.169434,327.910645 207.938263,327.637787
|
||||
C207.248444,327.303284 206.626129,327.208649 205.594803,327.076263 C204.102722,326.877716 203.019669,326.716858 201.800995,326.447266
|
||||
C201.471100,326.205719 201.260620,326.107544 200.685684,325.968201 C199.212677,325.508331 198.087952,325.124298 196.745544,324.584839
|
||||
C196.008286,324.314789 195.488724,324.200195 194.630951,324.040466 C193.850174,323.890259 193.407623,323.785156 192.841400,323.544250
|
||||
C192.535934,323.239014 192.330688,323.105682 192.067078,322.987274 C192.032166,322.966125 191.968018,322.915680 191.729294,322.721558
|
||||
C190.699036,322.352661 189.907501,322.177887 188.818344,321.917145 C188.322571,321.773010 188.124420,321.714844 187.806183,321.529083
|
||||
C187.508530,321.243896 187.309464,321.121094 186.809235,320.966248 C186.343460,320.853546 186.157333,320.807709 185.820770,320.618958
|
||||
C185.449020,320.300232 185.201187,320.178223 184.579239,320.017242 C183.123337,319.463867 182.015015,319.003296 180.807480,318.445465
|
||||
C180.565079,318.228424 180.407501,318.132172 179.911469,317.900696 C178.706055,317.357391 177.824753,316.972839 176.813736,316.472290
|
||||
C176.496887,316.208344 176.292038,316.091339 175.768234,315.863037 C174.296906,315.078705 173.126801,314.436676 171.834732,313.642029
|
||||
C171.530289,313.298096 171.319397,313.146332 170.800644,312.938660 C170.334427,312.781097 170.147659,312.718903 169.839874,312.529358
|
||||
C169.543640,312.242981 169.349289,312.112366 168.837830,311.854187 C167.694580,311.463196 166.849335,311.228241 166.004089,310.993286
|
||||
C166.004089,310.993286 165.584625,310.834839 165.340561,310.390503 C163.548645,308.481201 162.131165,306.841003 160.433350,305.577545
|
||||
C135.450775,286.986084 120.418205,262.047058 113.761909,231.918289 C110.147652,215.558807 109.790779,198.967697 111.782127,182.339249
|
||||
C113.832611,165.216965 118.597160,148.944382 127.160858,133.886154 C130.497955,128.018265 133.867905,122.169083 137.222885,116.311386
|
||||
C137.222885,116.311386 137.227158,116.228470 137.540863,116.214661 C138.211945,116.106445 138.569351,116.012032 139.062988,115.851028
|
||||
C139.427094,115.546883 139.469406,115.275383 139.372986,114.756676 C139.495758,114.250427 139.475632,113.964195 139.359467,113.684723 z'
|
||||
/>
|
||||
<path
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='#FFC947'
|
||||
d=' M200.266830,145.969620 C200.457306,145.841385 200.647766,145.713150 201.270264,145.275589
|
||||
C201.994553,144.826004 202.149918,144.593887 202.168381,144.269897 C202.168381,144.269897 202.241974,144.338730 202.627762,144.274597
|
||||
C206.081650,142.583710 209.149765,140.956970 212.217880,139.330231 C212.400635,139.302734 212.583405,139.275208 213.260132,139.131683
|
||||
C214.191147,138.779388 214.628204,138.543121 215.065262,138.306854 C215.065262,138.306870 215.200439,138.347610 215.615753,138.262543
|
||||
C222.236084,137.117767 228.435684,135.178802 234.646988,135.140549 C276.033936,134.885590 317.423431,135.036758 358.812073,135.055969
|
||||
C358.822845,178.409409 358.833618,221.762833 358.350433,265.618347 C317.222778,266.132172 276.588776,266.228516 235.955917,266.054840
|
||||
C230.533264,266.031647 225.031219,265.015839 219.714111,263.807587 C207.453613,261.021515 197.827393,253.684341 189.032700,245.092545
|
||||
C189.032700,245.092545 189.048599,244.976334 188.932205,244.635071 C178.652054,231.033371 175.024597,215.782471 175.030136,199.385284
|
||||
C175.034317,187.007950 178.389404,175.448639 183.294250,164.239044 C183.294250,164.239044 183.188980,163.991821 183.536774,163.962189
|
||||
C186.888184,159.951889 189.891830,155.971222 192.895477,151.990555 C192.895477,151.990555 192.993607,151.991669 193.307098,151.842606
|
||||
C195.835999,149.785568 198.051407,147.877594 200.266830,145.969620 z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,22 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="confluence"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 3 21 24'
|
||||
focusable='false'
|
||||
fill='none'
|
||||
aria-hidden='true'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
fill='#1868DB'
|
||||
d='M20.602 20.234c-6.584-3.183-8.507-3.66-11.281-3.66-3.255 0-6.03 1.355-8.507 5.16l-.407.622c-.333.513-.407.696-.407.915s.111.403.518.659l4.18 2.598c.221.146.406.22.591.22.222 0 .37-.11.592-.44l.666-1.024c1.035-1.574 1.96-2.086 3.144-2.086 1.035 0 2.256.293 3.772 1.025l4.365 2.049c.444.22.925.11 1.146-.403l2.072-4.537c.222-.512.074-.842-.444-1.098M1.406 12.22c6.583 3.184 8.507 3.66 11.28 3.66 3.256 0 6.03-1.354 8.508-5.16l.407-.622c.332-.512.406-.695.406-.915s-.11-.402-.518-.658L17.31 5.927c-.222-.147-.407-.22-.592-.22-.222 0-.37.11-.592.44l-.665 1.024c-1.036 1.573-1.96 2.086-3.144 2.086-1.036 0-2.257-.293-3.773-1.025L4.18 6.183c-.444-.22-.925-.11-1.147.402L.962 11.123c-.222.512-.074.841.444 1.098'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,25 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="discord"
|
||||
color="#5865F2"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 -28.5 256 256'
|
||||
version='1.1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
preserveAspectRatio='xMidYMid'
|
||||
>
|
||||
<g>
|
||||
<path
|
||||
d='M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z'
|
||||
fill='currentColor'
|
||||
fillRule='nonzero'
|
||||
/>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,18 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="elevenlabs"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox='0 0 876 876'
|
||||
fill='none'
|
||||
>
|
||||
<path d='M498 138H618V738H498V138Z' fill='currentColor' />
|
||||
<path d='M258 138H378V738H258V138Z' fill='currentColor' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,29 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="file"
|
||||
color="#40916C"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 0 23 28'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d='M8 15.2H15.2M8 20H11.6M2 4.4V23.6C2 24.2365 2.25286 24.847 2.70294 25.2971C3.15303 25.7471 3.76348 26 4.4 26H18.8C19.4365 26 20.047 25.7471 20.4971 25.2971C20.9471 24.847 21.2 24.2365 21.2 23.6V9.6104C21.2 9.29067 21.136 8.97417 21.012 8.67949C20.8879 8.38481 20.7062 8.11789 20.4776 7.8944L15.1496 2.684C14.7012 2.24559 14.0991 2.00008 13.472 2H4.4C3.76348 2 3.15303 2.25286 2.70294 2.70294C2.25286 3.15303 2 3.76348 2 4.4Z'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2.25'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
/>
|
||||
<path
|
||||
d='M14 2V6.8C14 7.43652 14.2529 8.04697 14.7029 8.49706C15.153 8.94714 15.7635 9.2 16.4 9.2H21.2'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2.25'
|
||||
strokeLinejoin='round'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,29 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="firecrawl"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 642 600' xmlns='http://www.w3.org/2000/svg' >
|
||||
<path
|
||||
d='M301 63C299 91 303 122 298 149C295 158 289 165 283 169C274 172 266 170 261 167C253 176 248 183 244 191C230 226 226 263 226 301C216 310 203 317 192 310C179 295 175 277 174 259C161 273 153 288 146 304C141 321 138 336 137 352C140 372 145 388 152 402C161 421 174 435 187 449C181 462 165 453 157 450C158 454 161 458 165 461C195 490 231 500 268 509C240 494 211 471 195 442C179 413 172 378 180 344C191 353 200 362 211 364C223 365 232 361 236 353C247 274 299 214 323 143C322 136 327 140 329 142C354 165 367 191 375 218C387 254 381 294 379 329C393 345 413 334 424 329C429 342 432 352 429 362C427 378 417 388 413 400C422 407 433 403 440 400C432 423 419 442 404 460C383 483 358 501 335 512C379 502 420 491 449 459C443 458 427 464 428 452C443 437 464 423 472 403C482 383 485 362 484 339C482 307 472 280 458 254C459 267 452 276 445 284C434 289 426 279 424 272C415 247 424 220 418 198C415 179 405 165 397 150C370 114 336 86 303 64'
|
||||
fill='rgb(253,76,31)'
|
||||
/>
|
||||
<path
|
||||
d='M324 141C303 214 249 273 244 354C235 359 229 364 223 366C205 367 193 357 182 347C180 350 179 353 180 357C178 374 178 390 182 403C185 421 193 434 200 448C212 465 227 480 243 491C258 500 269 513 285 512C284 508 257 485 252 468C241 450 235 433 233 414C241 415 254 420 263 412C260 387 265 363 273 343C281 323 293 306 310 295C317 289 324 285 330 282C328 307 328 331 329 355C330 368 332 379 338 389C358 394 376 384 388 370C383 386 377 401 371 415C376 414 381 411 385 408C383 421 380 431 376 441C366 467 356 491 334 510C358 499 381 483 400 461C418 442 430 423 440 403C432 404 421 410 413 404C414 386 428 377 427 360C429 349 428 340 424 332C413 336 404 341 392 339C386 338 381 334 379 330C380 292 385 248 371 214C366 195 358 180 349 165C341 155 333 145 323 140'
|
||||
fill='rgb(254,156,69)'
|
||||
/>
|
||||
<path
|
||||
d='M330 284C309 293 289 311 279 332C267 356 261 383 265 411C256 420 242 418 235 412C237 438 245 459 258 479C269 493 281 507 295 513C288 495 265 472 265 446C272 447 281 454 288 444C296 425 303 407 309 388C317 406 321 427 336 443C346 449 358 446 363 438C355 464 348 489 334 511C344 501 352 491 357 480C370 457 379 435 385 412C380 411 376 416 371 418C376 401 382 386 387 371C379 382 369 388 358 391C348 394 337 392 334 383C324 353 328 316 330 285'
|
||||
fill='rgb(254,220,87)'
|
||||
/>
|
||||
<path
|
||||
d='M311 389C303 407 297 426 289 445C282 454 273 450 268 445C267 472 285 492 302 512C299 514 297 514 294 514C297 514 299 514 301 514C314 515 325 512 334 513C341 495 355 467 362 443C357 446 351 448 344 447C337 446 334 441 330 438C320 422 316 406 311 391'
|
||||
fill='rgb(251,250,202)'
|
||||
/>
|
||||
<path
|
||||
d='M187 163C188 181 167 187 164 203C158 215 158 228 159 241C172 233 183 221 188 209C193 194 192 178 188 166'
|
||||
fill='rgb(253,76,31)'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -5,33 +5,32 @@ description: Empfangen Sie Webhooks von jedem Dienst durch Konfiguration eines
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
import { Image } from '@/components/ui/image'
|
||||
|
||||
<BlockInfoCard
|
||||
type="generic_webhook"
|
||||
color="#10B981"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
fill='currentColor'
|
||||
|
||||
|
||||
viewBox='0 0 24 24'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path d='M17.974 7A4.967 4.967 0 0 0 18 6.5a5.5 5.5 0 1 0-8.672 4.491L7.18 15.114A2.428 2.428 0 0 0 6.496 15 2.5 2.5 0 1 0 9 17.496a2.36 2.36 0 0 0-.93-1.925l2.576-4.943-.41-.241A4.5 4.5 0 1 1 17 6.5a4.8 4.8 0 0 1-.022.452zM6.503 18.999a1.5 1.5 0 1 1 1.496-1.503A1.518 1.518 0 0 1 6.503 19zM18.5 12a5.735 5.735 0 0 0-1.453.157l-2.744-3.941A2.414 2.414 0 0 0 15 6.5a2.544 2.544 0 1 0-1.518 2.284l3.17 4.557.36-.13A4.267 4.267 0 0 1 18.5 13a4.5 4.5 0 1 1-.008 9h-.006a4.684 4.684 0 0 1-3.12-1.355l-.703.71A5.653 5.653 0 0 0 18.49 23h.011a5.5 5.5 0 0 0 0-11zM11 6.5A1.5 1.5 0 1 1 12.5 8 1.509 1.509 0 0 1 11 6.5zM18.5 20a2.5 2.5 0 1 0-2.447-3h-5.05l-.003.497A4.546 4.546 0 0 1 6.5 22 4.526 4.526 0 0 1 2 17.5a4.596 4.596 0 0 1 3.148-4.37l-.296-.954A5.606 5.606 0 0 0 1 17.5 5.532 5.532 0 0 0 6.5 23a5.573 5.573 0 0 0 5.478-5h4.08a2.487 2.487 0 0 0 2.442 2zm0-4a1.5 1.5 0 1 1-1.5 1.5 1.509 1.509 0 0 1 1.5-1.5z' />
|
||||
<path fill='none' d='M0 0h24v24H0z' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
<div className="flex justify-center">
|
||||
<Image
|
||||
src="/static/blocks/webhook.png"
|
||||
alt="Webhook-Block-Konfiguration"
|
||||
width={500}
|
||||
height={400}
|
||||
className="my-6"
|
||||
/>
|
||||
</div>
|
||||
|
||||
## Übersicht
|
||||
|
||||
Der Generic Webhook-Block ermöglicht es Ihnen, Webhooks von jedem externen Dienst zu empfangen. Dies ist ein flexibler Auslöser, der jede JSON-Nutzlast verarbeiten kann und sich daher ideal für die Integration mit Diensten eignet, die keinen dedizierten Sim-Block haben.
|
||||
Der generische Webhook-Block ermöglicht den Empfang von Webhooks von jedem externen Dienst. Dies ist ein flexibler Trigger, der jede JSON-Nutzlast verarbeiten kann und sich daher ideal für die Integration mit Diensten eignet, die keinen dedizierten Sim-Block haben.
|
||||
|
||||
## Grundlegende Verwendung
|
||||
|
||||
### Einfacher Durchleitungsmodus
|
||||
|
||||
Ohne ein Eingabeformat zu definieren, leitet der Webhook den gesamten Anforderungstext unverändert weiter:
|
||||
Ohne ein definiertes Eingabeformat leitet der Webhook den gesamten Anforderungstext unverändert weiter:
|
||||
|
||||
```bash
|
||||
curl -X POST https://sim.ai/api/webhooks/trigger/{webhook-path} \
|
||||
@@ -49,7 +48,7 @@ Greifen Sie in nachgelagerten Blöcken auf die Daten zu mit:
|
||||
- `<webhook1.message>` → "Test webhook trigger"
|
||||
- `<webhook1.data.key>` → "value"
|
||||
|
||||
### Strukturiertes Eingabeformat (Optional)
|
||||
### Strukturiertes Eingabeformat (optional)
|
||||
|
||||
Definieren Sie ein Eingabeschema, um typisierte Felder zu erhalten und erweiterte Funktionen wie Datei-Uploads zu aktivieren:
|
||||
|
||||
@@ -127,7 +126,7 @@ Zum Übergeben vorhandener Datei-URLs:
|
||||
|
||||
### Zugriff auf Dateien in nachgelagerten Blöcken
|
||||
|
||||
Dateien werden in `UserFile`Objekte mit folgenden Eigenschaften verarbeitet:
|
||||
Dateien werden in `UserFile`Objekte mit den folgenden Eigenschaften verarbeitet:
|
||||
|
||||
```typescript
|
||||
{
|
||||
@@ -148,7 +147,7 @@ Dateien werden in `UserFile`Objekte mit folgenden Eigenschaften verarbeitet:
|
||||
- `<webhook1.documents[0].size>` → 524288
|
||||
- `<webhook1.documents[0].type>` → "application/pdf"
|
||||
|
||||
### Vollständiges Beispiel für Datei-Upload
|
||||
### Vollständiges Datei-Upload-Beispiel
|
||||
|
||||
```bash
|
||||
# Create a base64-encoded file
|
||||
@@ -174,7 +173,7 @@ curl -X POST https://sim.ai/api/webhooks/trigger/{webhook-path} \
|
||||
|
||||
## Authentifizierung
|
||||
|
||||
### Authentifizierung konfigurieren (optional)
|
||||
### Authentifizierung konfigurieren (Optional)
|
||||
|
||||
In der Webhook-Konfiguration:
|
||||
1. Aktiviere "Authentifizierung erforderlich"
|
||||
@@ -208,7 +207,7 @@ curl -X POST https://sim.ai/api/webhooks/trigger/{webhook-path} \
|
||||
|
||||
2. **Authentifizierung**: Aktiviere immer die Authentifizierung für Produktions-Webhooks, um unbefugten Zugriff zu verhindern.
|
||||
|
||||
3. **Dateigrößenbeschränkungen**: Halte Dateien unter 20 MB. Verwende für größere Dateien stattdessen URL-Referenzen.
|
||||
3. **Dateigrößenbeschränkungen**: Halte Dateien unter 20 MB. Verwende für größere Dateien URL-Referenzen.
|
||||
|
||||
4. **Dateiablauf**: Heruntergeladene Dateien haben URLs mit einer Gültigkeit von 5 Minuten. Verarbeite sie umgehend oder speichere sie an anderer Stelle, wenn sie länger benötigt werden.
|
||||
|
||||
|
||||
@@ -8,13 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="github"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'>
|
||||
<path
|
||||
d='M13 0C11.2928 0 9.60235 0.336255 8.02511 0.989566C6.44788 1.64288 5.01477 2.60045 3.80761 3.80761C1.36964 6.24558 0 9.55219 0 13C0 18.746 3.731 23.621 8.892 25.35C9.542 25.454 9.75 25.051 9.75 24.7V22.503C6.149 23.283 5.382 20.761 5.382 20.761C4.784 19.253 3.939 18.85 3.939 18.85C2.756 18.044 4.03 18.07 4.03 18.07C5.33 18.161 6.019 19.409 6.019 19.409C7.15 21.385 9.061 20.8 9.802 20.488C9.919 19.643 10.257 19.071 10.621 18.746C7.735 18.421 4.706 17.303 4.706 12.35C4.706 10.907 5.2 9.75 6.045 8.827C5.915 8.502 5.46 7.15 6.175 5.395C6.175 5.395 7.267 5.044 9.75 6.721C10.777 6.435 11.895 6.292 13 6.292C14.105 6.292 15.223 6.435 16.25 6.721C18.733 5.044 19.825 5.395 19.825 5.395C20.54 7.15 20.085 8.502 19.955 8.827C20.8 9.75 21.294 10.907 21.294 12.35C21.294 17.316 18.252 18.408 15.353 18.733C15.821 19.136 16.25 19.929 16.25 21.138V24.7C16.25 25.051 16.458 25.467 17.121 25.35C22.282 23.608 26 18.746 26 13C26 11.2928 25.6637 9.60235 25.0104 8.02511C24.3571 6.44788 23.3995 5.01477 22.1924 3.80761C20.9852 2.60045 19.5521 1.64288 17.9749 0.989566C16.3977 0.336255 14.7072 0 13 0Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -9,29 +9,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="gmail"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 48 48'
|
||||
|
||||
|
||||
|
||||
>
|
||||
<path fill='#4caf50' d='M45,16.2l-5,2.75l-5,4.75L35,40h7c1.657,0,3-1.343,3-3V16.2z' />
|
||||
<path fill='#1e88e5' d='M3,16.2l3.614,1.71L13,23.7V40H6c-1.657,0-3-1.343-3-3V16.2z' />
|
||||
<polygon
|
||||
fill='#e53935'
|
||||
points='35,11.2 24,19.45 13,11.2 12,17 13,23.7 24,31.95 35,23.7 36,17'
|
||||
/>
|
||||
<path
|
||||
fill='#c62828'
|
||||
d='M3,12.298V16.2l10,7.5V11.2L9.876,8.859C9.132,8.301,8.228,8,7.298,8h0C4.924,8,3,9.924,3,12.298z'
|
||||
/>
|
||||
<path
|
||||
fill='#fbc02d'
|
||||
d='M45,12.298V16.2l-10,7.5V11.2l3.124-2.341C38.868,8.301,39.772,8,40.702,8h0 C43.076,8,45,9.924,45,12.298z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,69 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_calendar"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
version='1.1'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
xmlnsXlink='http://www.w3.org/1999/xlink'
|
||||
x='0px'
|
||||
y='0px'
|
||||
viewBox='0 0 200 200'
|
||||
enableBackground='new 0 0 200 200'
|
||||
xmlSpace='preserve'
|
||||
>
|
||||
<g>
|
||||
<g transform='translate(3.75 3.75)'>
|
||||
<path
|
||||
fill='#FFFFFF'
|
||||
d='M148.882,43.618l-47.368-5.263l-57.895,5.263L38.355,96.25l5.263,52.632l52.632,6.579l52.632-6.579
|
||||
l5.263-53.947L148.882,43.618z'
|
||||
/>
|
||||
<path
|
||||
fill='#1A73E8'
|
||||
d='M65.211,125.276c-3.934-2.658-6.658-6.539-8.145-11.671l9.132-3.763c0.829,3.158,2.276,5.605,4.342,7.342
|
||||
c2.053,1.737,4.553,2.592,7.474,2.592c2.987,0,5.553-0.908,7.697-2.724s3.224-4.132,3.224-6.934c0-2.868-1.132-5.211-3.395-7.026
|
||||
s-5.105-2.724-8.5-2.724h-5.276v-9.039H76.5c2.921,0,5.382-0.789,7.382-2.368c2-1.579,3-3.737,3-6.487
|
||||
c0-2.447-0.895-4.395-2.684-5.855s-4.053-2.197-6.803-2.197c-2.684,0-4.816,0.711-6.395,2.145s-2.724,3.197-3.447,5.276
|
||||
l-9.039-3.763c1.197-3.395,3.395-6.395,6.618-8.987c3.224-2.592,7.342-3.895,12.342-3.895c3.697,0,7.026,0.711,9.974,2.145
|
||||
c2.947,1.434,5.263,3.421,6.934,5.947c1.671,2.539,2.5,5.382,2.5,8.539c0,3.224-0.776,5.947-2.329,8.184
|
||||
c-1.553,2.237-3.461,3.947-5.724,5.145v0.539c2.987,1.25,5.421,3.158,7.342,5.724c1.908,2.566,2.868,5.632,2.868,9.211
|
||||
s-0.908,6.776-2.724,9.579c-1.816,2.803-4.329,5.013-7.513,6.618c-3.197,1.605-6.789,2.421-10.776,2.421
|
||||
C73.408,129.263,69.145,127.934,65.211,125.276z'
|
||||
/>
|
||||
<path
|
||||
fill='#1A73E8'
|
||||
d='M121.25,79.961l-9.974,7.25l-5.013-7.605l17.987-12.974h6.895v61.197h-9.895L121.25,79.961z'
|
||||
/>
|
||||
<path
|
||||
fill='#EA4335'
|
||||
d='M148.882,196.25l47.368-47.368l-23.684-10.526l-23.684,10.526l-10.526,23.684L148.882,196.25z'
|
||||
/>
|
||||
<path
|
||||
fill='#34A853'
|
||||
d='M33.092,172.566l10.526,23.684h105.263v-47.368H43.618L33.092,172.566z'
|
||||
/>
|
||||
<path
|
||||
fill='#4285F4'
|
||||
d='M12.039-3.75C3.316-3.75-3.75,3.316-3.75,12.039v136.842l23.684,10.526l23.684-10.526V43.618h105.263
|
||||
l10.526-23.684L148.882-3.75H12.039z'
|
||||
/>
|
||||
<path
|
||||
fill='#188038'
|
||||
d='M-3.75,148.882v31.579c0,8.724,7.066,15.789,15.789,15.789h31.579v-47.368H-3.75z'
|
||||
/>
|
||||
<path
|
||||
fill='#FBBC04'
|
||||
d='M148.882,43.618v105.263h47.368V43.618l-23.684-10.526L148.882,43.618z'
|
||||
/>
|
||||
<path
|
||||
fill='#1967D2'
|
||||
d='M196.25,43.618V12.039c0-8.724-7.066-15.789-15.789-15.789h-31.579v47.368H196.25z'
|
||||
/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,22 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_docs"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 48 48'
|
||||
|
||||
|
||||
>
|
||||
<path
|
||||
fill='#2196f3'
|
||||
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='#bbdefb' d='M40 13L30 13 30 3z' />
|
||||
<path fill='#1565c0' d='M30 13L40 23 40 13z' />
|
||||
<path fill='#e3f2fd' d='M15 23H33V25H15zM15 27H33V29H15zM15 31H33V33H15zM15 35H25V37H15z' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,39 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_drive"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 87.3 78'
|
||||
|
||||
|
||||
|
||||
>
|
||||
<path
|
||||
d='m6.6 66.85 3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8h-27.5c0 1.55.4 3.1 1.2 4.5z'
|
||||
fill='#0066da'
|
||||
/>
|
||||
<path
|
||||
d='m43.65 25-13.75-23.8c-1.35.8-2.5 1.9-3.3 3.3l-25.4 44a9.06 9.06 0 0 0 -1.2 4.5h27.5z'
|
||||
fill='#00ac47'
|
||||
/>
|
||||
<path
|
||||
d='m73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75 7.65-13.25c.8-1.4 1.2-2.95 1.2-4.5h-27.502l5.852 11.5z'
|
||||
fill='#ea4335'
|
||||
/>
|
||||
<path
|
||||
d='m43.65 25 13.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6 0-3.15.45-4.5 1.2z'
|
||||
fill='#00832d'
|
||||
/>
|
||||
<path
|
||||
d='m59.8 53h-32.3l-13.75 23.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z'
|
||||
fill='#2684fc'
|
||||
/>
|
||||
<path
|
||||
d='m73.4 26.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75 23.8 16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z'
|
||||
fill='#ffba00'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,34 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_forms"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 65' fill='none'>
|
||||
<path
|
||||
d='M29.583 0H4.438C1.997 0 0 1.997 0 4.438v56.208C0 63.086 1.997 65.083 4.438 65.083h38.458c2.44 0 4.437-1.997 4.437-4.437V17.75L36.979 10.354 29.583 0Z'
|
||||
fill='#673AB7'
|
||||
/>
|
||||
<path
|
||||
d='M29.583 0v10.354c0 2.45 1.986 4.438 4.438 4.438h13.312L36.979 10.354 29.583 0Z'
|
||||
fill='#B39DDB'
|
||||
/>
|
||||
<path
|
||||
d='M19.229 50.292h16.271v-2.959H19.229v2.959Zm0-17.75v2.958h16.271v-2.958H19.229Zm-3.698 1.479c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm0 7.396c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm0 7.396c0 1.224-0.995 2.219-2.219 2.219s-2.219-0.995-2.219-2.219c0-1.224 0.995-2.219 2.219-2.219s2.219 0.995 2.219 2.219Zm3.698-5.917h16.271v-2.959H19.229v2.959Z'
|
||||
fill='#F1F1F1'
|
||||
/>
|
||||
<defs>
|
||||
<linearGradient
|
||||
id='gf-gradient'
|
||||
x1='30.881'
|
||||
y1='16.452'
|
||||
x2='47.333'
|
||||
y2='32.9'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
>
|
||||
<stop stopColor='#9575CD' />
|
||||
<stop offset='1' stopColor='#7E57C2' />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,25 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_search"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' >
|
||||
<path
|
||||
fill='#fbc02d'
|
||||
d='M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12 s5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24s8.955,20,20,20 s20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z'
|
||||
/>
|
||||
<path
|
||||
fill='#e53935'
|
||||
d='M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039 l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z'
|
||||
/>
|
||||
<path
|
||||
fill='#4caf50'
|
||||
d='M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36 c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z'
|
||||
/>
|
||||
<path
|
||||
fill='#1565c0'
|
||||
d='M43.611,20.083L43.595,20L42,20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571 c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,25 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_sheets"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 48 48'
|
||||
|
||||
|
||||
>
|
||||
<path
|
||||
fill='#43a047'
|
||||
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='#c8e6c9' d='M40 13L30 13 30 3z' />
|
||||
<path fill='#2e7d32' d='M30 13L40 23 40 13z' />
|
||||
<path
|
||||
fill='#e8f5e9'
|
||||
d='M31,23H17h-2v2v2v2v2v2v2v2h18v-2v-2v-2v-2v-2v-2v-2H31z M17,25h4v2h-4V25z M17,29h4v2h-4V29z M17,33h4v2h-4V33z M31,35h-8v-2h8V35z M31,31h-8v-2h8V31z M31,27h-8v-2h8V27z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -9,19 +9,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="google_vault"
|
||||
color="#E8F0FE"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 82'>
|
||||
<path
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
d='M58.0251 41.1399L63.8516 36.7242L69.0032 30.157C67.372 26.032 63.097 18.4149 63.097 18.4149C63.097 18.4149 55.6204 14.618 51.9923 13.193L45.3454 17.918L41.0563 24.0492L36.7626 17.8336L30.2001 13.1133C26.5391 14.5195 19.0063 18.7805 19.0063 18.7805C19.0063 18.7805 14.6423 25.9852 12.9923 30.157L18.1532 36.7336L23.9048 41.0742L17.7969 45.7289L12.8798 52.0195C14.3329 55.807 18.3501 63.0352 18.3501 63.0352C18.3501 63.0352 25.8735 67.6289 29.9188 69.232L36.1016 64.4649L41.0001 58.1649L45.3454 63.9258L52.072 69.2367C55.8595 67.7414 63.0595 63.6305 63.0595 63.6305C63.0595 63.6305 67.4798 56.1961 69.036 52.2258L63.9782 45.7102L58.0251 41.1399ZM41.0048 53.4633C34.2501 53.4633 28.7704 47.9883 28.7704 41.2289C28.7704 34.4742 34.2454 28.9945 41.0048 28.9945C47.7641 28.9945 53.2391 34.4695 53.2391 41.2289C53.2391 47.9883 47.7595 53.4633 41.0048 53.4633Z'
|
||||
fill='#1967D2'
|
||||
/>
|
||||
<path
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
d='M58.025 41.1401L69.0078 30.1573C70.3672 33.5839 71.1172 37.3198 71.1172 41.2292C71.1172 45.1104 70.3766 48.8183 69.036 52.2261L58.025 41.1401ZM12.9969 30.162C11.6422 33.5886 10.8875 37.3198 10.8875 41.2292C10.8875 45.0354 11.6 48.6683 12.8891 52.0198L23.9094 41.0745L12.9969 30.162ZM51.9969 13.1933C48.5891 11.8573 44.886 11.1167 41.0047 11.1167C37.1985 11.1167 33.561 11.8292 30.2047 13.1183L41.061 24.0495L51.9969 13.1933ZM29.9328 69.2323C33.3594 70.5917 37.0953 71.3417 41.0047 71.3417C44.9141 71.3417 48.6453 70.587 52.0719 69.2323L41 58.1651L29.9328 69.2323ZM69.036 52.2261C65.9891 59.9839 59.8203 66.1667 52.0719 69.2323L62.811 79.9714C64.2828 81.4433 66.6641 81.4433 68.136 79.9714L79.761 68.3464C81.2282 66.8792 81.2328 64.5026 79.7703 63.0308L69.036 52.2261ZM69.0078 30.1573L79.9766 19.1886C81.4485 17.7167 81.4485 15.3354 79.9766 13.8636L68.3516 2.23857C66.8844 0.771387 64.5078 0.766699 63.036 2.2292L51.9922 13.1933C59.7547 16.2401 65.9422 22.4089 69.0078 30.1573ZM12.8891 52.0198L2.03284 62.8011C0.551587 64.2683 0.551587 66.6589 2.02346 68.1354L13.8641 79.9761C15.336 81.4479 17.7172 81.4479 19.1891 79.9761L29.9328 69.2323C22.1141 66.1386 15.9078 59.8761 12.8891 52.0198ZM30.2047 13.1183L19.1985 2.03232C17.7313 0.551074 15.3406 0.551074 13.8641 2.02295L2.02346 13.8636C0.551587 15.3354 0.551587 17.7167 2.02346 19.1886L12.9969 30.162C16.0906 22.3479 22.3532 16.137 30.2047 13.1183Z'
|
||||
fill='#4285F4'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
## Nutzungsanleitung
|
||||
|
||||
275
apps/docs/content/docs/de/tools/hubspot.mdx
Normal file
275
apps/docs/content/docs/de/tools/hubspot.mdx
Normal file
@@ -0,0 +1,275 @@
|
||||
---
|
||||
title: HubSpot
|
||||
description: Interagieren Sie mit HubSpot CRM oder lösen Sie Workflows von
|
||||
HubSpot-Ereignissen aus
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="hubspot"
|
||||
color="#FF7A59"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[HubSpot](https://www.hubspot.com) ist eine umfassende CRM-Plattform, die eine vollständige Suite von Marketing-, Vertriebs- und Kundenservice-Tools bietet, um Unternehmen beim besseren Wachstum zu unterstützen. Mit seinen leistungsstarken Automatisierungsfunktionen und umfangreicher API ist HubSpot zu einer der weltweit führenden CRM-Plattformen geworden, die Unternehmen aller Größen und Branchen bedient.
|
||||
|
||||
HubSpot CRM bietet eine komplette Lösung für die Verwaltung von Kundenbeziehungen, vom ersten Kontakt bis zum langfristigen Kundenerfolg. Die Plattform kombiniert Kontaktverwaltung, Deal-Tracking, Marketing-Automatisierung und Kundenservice-Tools in einem einheitlichen System, das Teams dabei hilft, aufeinander abgestimmt und auf den Kundenerfolg fokussiert zu bleiben.
|
||||
|
||||
Zu den wichtigsten Funktionen von HubSpot CRM gehören:
|
||||
|
||||
- Kontakt- & Unternehmensverwaltung: Umfassende Datenbank zur Speicherung und Organisation von Kunden- und Interessenteninformationen
|
||||
- Deal-Pipeline: Visuelle Vertriebspipeline zur Verfolgung von Verkaufschancen durch anpassbare Phasen
|
||||
- Marketing-Events: Verfolgen und Verwalten von Marketingkampagnen und Veranstaltungen mit detaillierter Attribution
|
||||
- Ticket-Management: Kundenservice-Ticketsystem zur Verfolgung und Lösung von Kundenproblemen
|
||||
- Angebote & Artikelpositionen: Erstellen und Verwalten von Verkaufsangeboten mit detaillierten Produktpositionen
|
||||
- Benutzer- & Teamverwaltung: Teams organisieren, Verantwortlichkeiten zuweisen und Benutzeraktivitäten auf der gesamten Plattform verfolgen
|
||||
|
||||
In Sim ermöglicht die HubSpot-Integration Ihren KI-Agenten eine nahtlose Interaktion mit Ihren CRM-Daten und die Automatisierung wichtiger Geschäftsprozesse. Dies schafft leistungsstarke Möglichkeiten für intelligente Lead-Qualifizierung, automatisierte Kontaktanreicherung, Deal-Management, Kundenservice-Automatisierung und Datensynchronisierung in Ihrem Tech-Stack. Die Integration ermöglicht Agenten das Erstellen, Abrufen, Aktualisieren und Durchsuchen aller wichtigen HubSpot-Objekte und ermöglicht so anspruchsvolle Workflows, die auf CRM-Ereignisse reagieren, die Datenqualität aufrechterhalten und sicherstellen, dass Ihr Team über die aktuellsten Kundeninformationen verfügt. Durch die Verbindung von Sim mit HubSpot können Sie KI-Agenten erstellen, die automatisch Leads qualifizieren, Support-Tickets weiterleiten, Deal-Phasen basierend auf Kundeninteraktionen aktualisieren, Angebote generieren und Ihre CRM-Daten mit anderen Geschäftssystemen synchronisieren – was letztendlich die Teamproduktivität steigert und die Kundenerfahrung verbessert.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Nutzungsanleitung
|
||||
|
||||
Integrieren Sie HubSpot in Ihren Workflow. Verwalten Sie Kontakte, Unternehmen, Deals, Tickets und andere CRM-Objekte mit leistungsstarken Automatisierungsfunktionen. Kann im Trigger-Modus verwendet werden, um Workflows zu starten, wenn Kontakte erstellt, gelöscht oder aktualisiert werden.
|
||||
|
||||
## Tools
|
||||
|
||||
### `hubspot_get_users`
|
||||
|
||||
Alle Benutzer vom HubSpot-Konto abrufen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `limit` | string | No | Anzahl der zurückzugebenden Ergebnisse \(Standard: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Benutzerdaten |
|
||||
|
||||
### `hubspot_list_contacts`
|
||||
|
||||
Alle Kontakte vom HubSpot-Konto mit Paginierungsunterstützung abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `limit` | string | Nein | Maximale Anzahl von Ergebnissen pro Seite \(max. 100, Standard 100\) |
|
||||
| `after` | string | Nein | Paginierungscursor für die nächste Ergebnisseite |
|
||||
| `properties` | string | Nein | Kommagetrennte Liste der zurückzugebenden Eigenschaften \(z.B. "email,firstname,lastname"\) |
|
||||
| `associations` | string | Nein | Kommagetrennte Liste der Objekttypen, für die zugehörige IDs abgerufen werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Kontaktdaten |
|
||||
|
||||
### `hubspot_get_contact`
|
||||
|
||||
Einen einzelnen Kontakt anhand von ID oder E-Mail aus HubSpot abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `contactId` | string | Ja | Die ID oder E-Mail des abzurufenden Kontakts |
|
||||
| `idProperty` | string | Nein | Eigenschaft, die als eindeutiger Identifikator verwendet werden soll \(z.B. "email"\). Falls nicht angegeben, wird die Datensatz-ID verwendet |
|
||||
| `properties` | string | Nein | Kommagetrennte Liste der zurückzugebenden Eigenschaften |
|
||||
| `associations` | string | Nein | Kommagetrennte Liste der Objekttypen, für die zugehörige IDs abgerufen werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Kontaktdaten |
|
||||
|
||||
### `hubspot_create_contact`
|
||||
|
||||
Erstellt einen neuen Kontakt in HubSpot. Erfordert mindestens eines der folgenden Felder: E-Mail, Vorname oder Nachname
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `properties` | object | Ja | Kontakteigenschaften als JSON-Objekt. Muss mindestens eines der folgenden Felder enthalten: E-Mail, Vorname oder Nachname |
|
||||
| `associations` | array | Nein | Array von Verknüpfungen, die mit dem Kontakt erstellt werden sollen \(z.B. Unternehmen, Deals\). Jedes Objekt sollte "to" \(mit "id"\) und "types" \(mit "associationCategory" und "associationTypeId"\) enthalten |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Daten des erstellten Kontakts |
|
||||
|
||||
### `hubspot_update_contact`
|
||||
|
||||
Aktualisiert einen bestehenden Kontakt in HubSpot anhand von ID oder E-Mail
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `contactId` | string | Ja | Die ID oder E-Mail des zu aktualisierenden Kontakts |
|
||||
| `idProperty` | string | Nein | Eigenschaft, die als eindeutiger Identifikator verwendet werden soll \(z.B. "email"\). Wenn nicht angegeben, wird die Datensatz-ID verwendet |
|
||||
| `properties` | object | Ja | Zu aktualisierende Kontakteigenschaften als JSON-Objekt |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Daten des aktualisierten Kontakts |
|
||||
|
||||
### `hubspot_search_contacts`
|
||||
|
||||
Suche nach Kontakten in HubSpot mit Filtern, Sortierung und Abfragen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `filterGroups` | array | Nein | Array von Filtergruppen. Jede Gruppe enthält Filter mit propertyName, operator und value |
|
||||
| `sorts` | array | Nein | Array von Sortierobjekten mit propertyName und direction ("ASCENDING" oder "DESCENDING") |
|
||||
| `query` | string | Nein | Suchabfragestring |
|
||||
| `properties` | array | Nein | Array von Eigenschaftsnamen, die zurückgegeben werden sollen |
|
||||
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse (max. 100) |
|
||||
| `after` | string | Nein | Paginierungscursor für die nächste Seite |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Suchergebnisse |
|
||||
|
||||
### `hubspot_list_companies`
|
||||
|
||||
Alle Unternehmen aus dem HubSpot-Konto mit Paginierungsunterstützung abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `limit` | string | Nein | Maximale Anzahl der Ergebnisse pro Seite (max. 100, Standard 100) |
|
||||
| `after` | string | Nein | Paginierungscursor für die nächste Ergebnisseite |
|
||||
| `properties` | string | Nein | Kommagetrennte Liste der zurückzugebenden Eigenschaften |
|
||||
| `associations` | string | Nein | Kommagetrennte Liste der Objekttypen, für die zugehörige IDs abgerufen werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Unternehmensdaten |
|
||||
|
||||
### `hubspot_get_company`
|
||||
|
||||
Ruft ein einzelnes Unternehmen anhand der ID oder Domain von HubSpot ab
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `companyId` | string | Ja | Die ID oder Domain des abzurufenden Unternehmens |
|
||||
| `idProperty` | string | Nein | Eigenschaft, die als eindeutiger Identifikator verwendet wird (z.B. "domain"). Falls nicht angegeben, wird die Datensatz-ID verwendet |
|
||||
| `properties` | string | Nein | Kommagetrennte Liste der zurückzugebenden Eigenschaften |
|
||||
| `associations` | string | Nein | Kommagetrennte Liste der Objekttypen, für die zugehörige IDs abgerufen werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Unternehmensdaten |
|
||||
|
||||
### `hubspot_create_company`
|
||||
|
||||
Erstellt ein neues Unternehmen in HubSpot
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `properties` | object | Ja | Unternehmensdaten als JSON-Objekt (z.B. Name, Domain, Stadt, Branche) |
|
||||
| `associations` | array | Nein | Array von Verknüpfungen, die mit dem Unternehmen erstellt werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Daten des erstellten Unternehmens |
|
||||
|
||||
### `hubspot_update_company`
|
||||
|
||||
Aktualisiert ein bestehendes Unternehmen in HubSpot anhand der ID oder Domain
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `companyId` | string | Ja | Die ID oder Domain des zu aktualisierenden Unternehmens |
|
||||
| `idProperty` | string | Nein | Eigenschaft, die als eindeutiger Identifikator verwendet wird (z.B. "domain"). Falls nicht angegeben, wird die Datensatz-ID verwendet |
|
||||
| `properties` | object | Ja | Zu aktualisierende Unternehmensdaten als JSON-Objekt |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Aktualisierte Unternehmensdaten |
|
||||
|
||||
### `hubspot_search_companies`
|
||||
|
||||
Suche nach Unternehmen in HubSpot mit Filtern, Sortierung und Abfragen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `filterGroups` | array | Nein | Array von Filtergruppen. Jede Gruppe enthält Filter mit propertyName, operator und value |
|
||||
| `sorts` | array | Nein | Array von Sortierobjekten mit propertyName und direction ("ASCENDING" oder "DESCENDING") |
|
||||
| `query` | string | Nein | Suchabfragestring |
|
||||
| `properties` | array | Nein | Array von Eigenschaftsnamen, die zurückgegeben werden sollen |
|
||||
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ergebnisse (max. 100) |
|
||||
| `after` | string | Nein | Paginierungscursor für die nächste Seite |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Suchergebnisse |
|
||||
|
||||
### `hubspot_list_deals`
|
||||
|
||||
Alle Deals vom HubSpot-Konto mit Paginierungsunterstützung abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `limit` | string | Nein | Maximale Anzahl von Ergebnissen pro Seite (max. 100, Standard 100) |
|
||||
| `after` | string | Nein | Paginierungscursor für die nächste Ergebnisseite |
|
||||
| `properties` | string | Nein | Kommagetrennte Liste der zurückzugebenden Eigenschaften |
|
||||
| `associations` | string | Nein | Kommagetrennte Liste der Objekttypen, für die zugehörige IDs abgerufen werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Deals-Daten |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `hubspot`
|
||||
File diff suppressed because one or more lines are too long
@@ -8,20 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="hunter"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 0 20 19'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d='M12.0671 8.43455C11.6625 8.55094 11.2164 8.55288 10.7992 8.53525C10.3141 8.51472 9.80024 8.45339 9.35223 8.25426C8.98359 8.09047 8.68787 7.79493 8.84262 7.36805C8.95175 7.06699 9.19361 6.79803 9.47319 6.64644C9.78751 6.4759 10.1329 6.50361 10.4474 6.65774C10.8005 6.83082 11.0942 7.11235 11.3604 7.3964C11.5 7.54536 11.6332 7.70002 11.7646 7.85617C11.8252 7.92801 12.2364 8.33865 12.0671 8.43455ZM18.7923 8.58131C18.17 8.43655 17.4348 8.4884 16.811 8.38867C15.8284 8.23146 14.3648 7.08576 13.5714 5.92122C13.0201 5.11202 12.757 4.28785 12.3356 3.28356C12.0415 2.58257 11.4001 0.365389 10.5032 1.40318C10.1339 1.83057 9.7204 3.23752 9.41837 3.2177C9.19467 3.26971 9.15818 2.83371 9.08739 2.64738C8.95886 2.30903 8.89071 1.9176 8.7185 1.59854C8.58086 1.34353 8.40014 1.03806 8.12337 0.91412C7.63027 0.660572 7.03575 1.42476 6.74072 2.33095C6.61457 2.81687 5.76653 3.75879 5.39721 3.9866C3.71684 5.02352 0.344233 6.11595 0.000262184 9.75358C-0.00114142 9.76867 0.000262182 9.81455 0.0573714 9.77323C0.459591 9.48197 5.02183 6.19605 2.09392 12.5476C0.300195 16.439 8.96062 18.917 9.40582 18.9271C9.46582 18.9284 9.46144 18.9011 9.46347 18.8832C10.1546 12.6724 16.9819 13.3262 18.5718 11.8387C20.1474 10.3649 20.1796 8.93816 18.7923 8.58131Z'
|
||||
fill='#FA5320'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,23 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="image_generator"
|
||||
color="#4D5FFF"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 0 26 26'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<path d='M24.903 10.32C16.0897 9.10933 8.48966 15.6533 9.00033 24.3333M5.66699 7.66667C5.66699 8.37391 5.94794 9.05219 6.44804 9.55228C6.94814 10.0524 7.62641 10.3333 8.33366 10.3333C9.0409 10.3333 9.71918 10.0524 10.2193 9.55228C10.7194 9.05219 11.0003 8.37391 11.0003 7.66667C11.0003 6.95942 10.7194 6.28115 10.2193 5.78105C9.71918 5.28095 9.0409 5 8.33366 5C7.62641 5 6.94814 5.28095 6.44804 5.78105C5.94794 6.28115 5.66699 6.95942 5.66699 7.66667Z' />
|
||||
<path d='M1 14.4213C4.70667 13.908 8.03333 15.6986 9.832 18.5546' />
|
||||
<path d='M1 9.53333C1 6.54667 1 5.05333 1.58133 3.912C2.09265 2.90851 2.90851 2.09265 3.912 1.58133C5.05333 1 6.54667 1 9.53333 1H16.4667C19.4533 1 20.9467 1 22.088 1.58133C23.0915 2.09265 23.9073 2.90851 24.4187 3.912C25 5.05333 25 6.54667 25 9.53333V16.4667C25 19.4533 25 20.9467 24.4187 22.088C23.9073 23.0915 23.0915 23.9073 22.088 24.4187C20.9467 25 19.4533 25 16.4667 25H9.53333C6.54667 25 5.05333 25 3.912 24.4187C2.90851 23.9073 2.09265 23.0915 1.58133 22.088C1 20.9467 1 19.4533 1 16.4667V9.53333Z' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
841
apps/docs/content/docs/de/tools/incidentio.mdx
Normal file
841
apps/docs/content/docs/de/tools/incidentio.mdx
Normal file
@@ -0,0 +1,841 @@
|
||||
---
|
||||
title: incidentio
|
||||
description: Verwalte Vorfälle mit incident.io
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="incidentio"
|
||||
color="#E0E0E0"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
Verbessere dein Vorfallmanagement mit [incident.io](https://incident.io) – der führenden Plattform für die Orchestrierung von Vorfällen, die Optimierung von Reaktionsprozessen und die Nachverfolgung von Maßnahmen an einem Ort. Integriere incident.io nahtlos in deine automatisierten Arbeitsabläufe, um die Kontrolle über die Erstellung von Vorfällen, Echtzeit-Zusammenarbeit, Nachverfolgungen, Terminplanung, Eskalationen und vieles mehr zu übernehmen.
|
||||
|
||||
Mit dem incident.io-Tool kannst du:
|
||||
|
||||
- **Vorfälle auflisten und durchsuchen**: Rufe schnell eine Liste laufender oder historischer Vorfälle ab, komplett mit Metadaten wie Schweregrad, Status und Zeitstempeln, mit `incidentio_incidents_list`.
|
||||
- **Neue Vorfälle erstellen**: Löse die Erstellung neuer Vorfälle programmatisch über `incidentio_incidents_create` aus, wobei du Schweregrad, Name, Typ und benutzerdefinierte Details angeben kannst, um sicherzustellen, dass nichts deine Reaktion verlangsamt.
|
||||
- **Automatisiere Vorfallnachverfolgungen**: Nutze die leistungsstarke Automatisierung von incident.io, um sicherzustellen, dass wichtige Maßnahmen und Erkenntnisse nicht übersehen werden, was Teams hilft, Probleme zu lösen und Prozesse zu verbessern.
|
||||
- **Arbeitsabläufe anpassen**: Integriere maßgeschneiderte Vorfalltypen, Schweregrade und benutzerdefinierte Felder, die auf die Bedürfnisse deiner Organisation zugeschnitten sind.
|
||||
- **Bewährte Praktiken mit Zeitplänen & Eskalationen durchsetzen**: Optimiere Bereitschaftsdienste und Vorfallmanagement durch automatische Zuweisung, Benachrichtigung und Eskalation, wenn sich Situationen entwickeln.
|
||||
|
||||
incident.io befähigt moderne Organisationen, schneller zu reagieren, Teams zu koordinieren und Erkenntnisse für kontinuierliche Verbesserung zu erfassen. Ob du SRE-, DevOps-, Sicherheits- oder IT-Vorfälle verwaltest, incident.io bringt zentralisierte, erstklassige Vorfallreaktion programmatisch in deine Agent-Workflows.
|
||||
|
||||
**Verfügbare Schlüsseloperationen**:
|
||||
- `incidentio_incidents_list`: Liste, paginiere und filtere Vorfälle mit vollständigen Details.
|
||||
- `incidentio_incidents_create`: Eröffne programmatisch neue Vorfälle mit benutzerdefinierten Attributen und Kontrolle über Duplizierung (Idempotenz).
|
||||
- ...und mehr in Zukunft!
|
||||
|
||||
Verbessere deine Zuverlässigkeit, Verantwortlichkeit und betriebliche Exzellenz, indem du incident.io noch heute in deine Workflow-Automatisierungen integrierst.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Nutzungsanweisungen
|
||||
|
||||
Integrieren Sie incident.io in den Workflow. Verwalten Sie Vorfälle, Maßnahmen, Nachverfolgungen, Workflows, Zeitpläne, Eskalationen, benutzerdefinierte Felder und mehr.
|
||||
|
||||
## Tools
|
||||
|
||||
### `incidentio_incidents_list`
|
||||
|
||||
Listet Vorfälle von incident.io auf. Gibt eine Liste von Vorfällen mit ihren Details zurück, einschließlich Schweregrad, Status und Zeitstempeln.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `page_size` | number | Nein | Anzahl der Vorfälle, die pro Seite zurückgegeben werden sollen \(Standard: 25\) |
|
||||
| `after` | string | Nein | Paginierungscursor zum Abrufen der nächsten Ergebnisseite |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incidents` | array | Liste der Vorfälle |
|
||||
|
||||
### `incidentio_incidents_create`
|
||||
|
||||
Erstellt einen neuen Vorfall in incident.io. Erfordert idempotency_key, severity_id und visibility. Akzeptiert optional name, summary, type und status.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `idempotency_key` | string | Ja | Eindeutiger Identifikator zur Vermeidung doppelter Vorfallserstellung. Verwenden Sie eine UUID oder einen eindeutigen String. |
|
||||
| `name` | string | Nein | Name des Vorfalls \(optional\) |
|
||||
| `summary` | string | Nein | Kurze Zusammenfassung des Vorfalls |
|
||||
| `severity_id` | string | Ja | ID des Schweregrads \(erforderlich\) |
|
||||
| `incident_type_id` | string | Nein | ID des Vorfalltyps |
|
||||
| `incident_status_id` | string | Nein | ID des anfänglichen Vorfallstatus |
|
||||
| `visibility` | string | Ja | Sichtbarkeit des Vorfalls: "public" oder "private" \(erforderlich\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident` | object | Das erstellte Vorfall-Objekt |
|
||||
|
||||
### `incidentio_incidents_show`
|
||||
|
||||
Ruft detaillierte Informationen über einen bestimmten Vorfall von incident.io anhand seiner ID ab. Gibt vollständige Vorfalldetails zurück, einschließlich benutzerdefinierter Felder und Rollenzuweisungen.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | ID des abzurufenden Vorfalls |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident` | object | Detaillierte Vorfallsinformationen |
|
||||
|
||||
### `incidentio_incidents_update`
|
||||
|
||||
Aktualisiert einen bestehenden Vorfall in incident.io. Kann Name, Zusammenfassung, Schweregrad, Status oder Typ aktualisieren.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | ID des zu aktualisierenden Vorfalls |
|
||||
| `name` | string | Nein | Aktualisierter Name des Vorfalls |
|
||||
| `summary` | string | Nein | Aktualisierte Zusammenfassung des Vorfalls |
|
||||
| `severity_id` | string | Nein | Aktualisierte Schweregrad-ID für den Vorfall |
|
||||
| `incident_status_id` | string | Nein | Aktualisierte Status-ID für den Vorfall |
|
||||
| `incident_type_id` | string | Nein | Aktualisierte Vorfalltyp-ID |
|
||||
| `notify_incident_channel` | boolean | Ja | Ob der Vorfallkanal über diese Aktualisierung benachrichtigt werden soll |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident` | object | Das aktualisierte Vorfall-Objekt |
|
||||
|
||||
### `incidentio_actions_list`
|
||||
|
||||
Listet Aktionen von incident.io auf. Optional nach Vorfall-ID filtern.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `incident_id` | string | Nein | Aktionen nach Vorfall-ID filtern |
|
||||
| `page_size` | number | Nein | Anzahl der Aktionen, die pro Seite zurückgegeben werden sollen |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `actions` | array | Liste der Aktionen |
|
||||
|
||||
### `incidentio_actions_show`
|
||||
|
||||
Ruft detaillierte Informationen über eine bestimmte Aktion von incident.io ab.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Aktions-ID |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `action` | object | Aktionsdetails |
|
||||
|
||||
### `incidentio_follow_ups_list`
|
||||
|
||||
Listet Follow-ups von incident.io auf. Optional nach Vorfall-ID filtern.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `incident_id` | string | Nein | Follow-ups nach Vorfall-ID filtern |
|
||||
| `page_size` | number | Nein | Anzahl der Follow-ups, die pro Seite zurückgegeben werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `follow_ups` | array | Liste der Follow-ups |
|
||||
|
||||
### `incidentio_follow_ups_show`
|
||||
|
||||
Erhalte detaillierte Informationen über ein bestimmtes Follow-up von incident.io.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Follow-up ID |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `follow_up` | object | Follow-up Details |
|
||||
|
||||
### `incidentio_users_list`
|
||||
|
||||
Liste alle Benutzer in deinem Incident.io Workspace auf. Gibt Benutzerdetails zurück, einschließlich ID, Name, E-Mail und Rolle.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Incident.io API-Schlüssel |
|
||||
| `page_size` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard: 25\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `users` | array | Liste der Benutzer im Workspace |
|
||||
|
||||
### `incidentio_users_show`
|
||||
|
||||
Erhalte detaillierte Informationen über einen bestimmten Benutzer in deinem Incident.io Workspace anhand seiner ID.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die eindeutige Kennung des abzurufenden Benutzers |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `user` | object | Details des angeforderten Benutzers |
|
||||
|
||||
### `incidentio_workflows_list`
|
||||
|
||||
Liste alle Workflows in deinem incident.io Workspace auf.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `page_size` | number | Nein | Anzahl der Workflows, die pro Seite zurückgegeben werden sollen |
|
||||
| `after` | string | Nein | Paginierungscursor zum Abrufen der nächsten Ergebnisseite |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `workflows` | array | Liste der Workflows |
|
||||
|
||||
### `incidentio_workflows_show`
|
||||
|
||||
Rufe Details eines bestimmten Workflows in incident.io ab.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des abzurufenden Workflows |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `workflow` | object | Die Workflow-Details |
|
||||
|
||||
### `incidentio_workflows_update`
|
||||
|
||||
Aktualisiere einen vorhandenen Workflow in incident.io.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des zu aktualisierenden Workflows |
|
||||
| `name` | string | Nein | Neuer Name für den Workflow |
|
||||
| `state` | string | Nein | Neuer Status für den Workflow \(active, draft oder disabled\) |
|
||||
| `folder` | string | Nein | Neuer Ordner für den Workflow |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `workflow` | object | Der aktualisierte Workflow |
|
||||
|
||||
### `incidentio_workflows_delete`
|
||||
|
||||
Löscht einen Workflow in incident.io.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des zu löschenden Workflows |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Erfolgsmeldung |
|
||||
|
||||
### `incidentio_schedules_list`
|
||||
|
||||
Listet alle Zeitpläne in incident.io auf
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `page_size` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard: 25\) |
|
||||
| `after` | string | Nein | Paginierungscursor zum Abrufen der nächsten Ergebnisseite |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `schedules` | array | Liste der Zeitpläne |
|
||||
|
||||
### `incidentio_schedules_create`
|
||||
|
||||
Erstellt einen neuen Zeitplan in incident.io
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `name` | string | Ja | Name des Zeitplans |
|
||||
| `timezone` | string | Ja | Zeitzone für den Zeitplan \(z.B. America/New_York\) |
|
||||
| `config` | string | Ja | 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
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `schedule` | object | Der erstellte Zeitplan |
|
||||
|
||||
### `incidentio_schedules_show`
|
||||
|
||||
Details zu einem bestimmten Zeitplan in incident.io abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des Zeitplans |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `schedule` | object | Die Zeitplandetails |
|
||||
|
||||
### `incidentio_schedules_update`
|
||||
|
||||
Einen bestehenden Zeitplan in incident.io aktualisieren
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `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\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `schedule` | object | Der aktualisierte Zeitplan |
|
||||
|
||||
### `incidentio_schedules_delete`
|
||||
|
||||
Einen Zeitplan in incident.io löschen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des zu löschenden Zeitplans |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Erfolgsmeldung |
|
||||
|
||||
### `incidentio_escalations_list`
|
||||
|
||||
Alle Eskalationsrichtlinien in incident.io auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `page_size` | number | Nein | Anzahl der Ergebnisse pro Seite \(Standard: 25\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `escalations` | array | Liste der Eskalationsrichtlinien |
|
||||
|
||||
### `incidentio_escalations_create`
|
||||
|
||||
Eine neue Eskalationsrichtlinie in incident.io erstellen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `idempotency_key` | string | Ja | Eindeutiger Identifikator zur Vermeidung doppelter Eskalationserstellung. Verwenden Sie eine UUID oder eindeutige Zeichenfolge. |
|
||||
| `title` | string | Ja | Titel der Eskalation |
|
||||
| `escalation_path_id` | string | Nein | ID des zu verwendenden Eskalationspfads \(erforderlich, wenn user_ids nicht angegeben wird\) |
|
||||
| `user_ids` | string | Nein | Kommagetrennte Liste von Benutzer-IDs, die benachrichtigt werden sollen \(erforderlich, wenn escalation_path_id nicht angegeben wird\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `escalation` | object | Die erstellte Eskalationsrichtlinie |
|
||||
|
||||
### `incidentio_escalations_show`
|
||||
|
||||
Details zu einer bestimmten Eskalationsrichtlinie in incident.io abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID der Eskalationsrichtlinie |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `escalation` | object | Die Details der Eskalationsrichtlinie |
|
||||
|
||||
### `incidentio_custom_fields_list`
|
||||
|
||||
Listet alle benutzerdefinierten Felder von incident.io auf.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `custom_fields` | array | Liste der benutzerdefinierten Felder |
|
||||
|
||||
### `incidentio_custom_fields_create`
|
||||
|
||||
Erstellt ein neues benutzerdefiniertes Feld in incident.io.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `name` | string | Ja | Name des benutzerdefinierten Feldes |
|
||||
| `description` | string | Ja | Beschreibung des benutzerdefinierten Feldes \(erforderlich\) |
|
||||
| `field_type` | string | Ja | Typ des benutzerdefinierten Feldes \(z.B. text, single_select, multi_select, numeric, datetime, link, user, team\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `custom_field` | object | Erstelltes benutzerdefiniertes Feld |
|
||||
|
||||
### `incidentio_custom_fields_show`
|
||||
|
||||
Erhalten Sie detaillierte Informationen über ein bestimmtes benutzerdefiniertes Feld von incident.io.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Benutzerdefinierte Feld-ID |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `custom_field` | object | Details des benutzerdefinierten Feldes |
|
||||
|
||||
### `incidentio_custom_fields_update`
|
||||
|
||||
Aktualisieren Sie ein bestehendes benutzerdefiniertes Feld in incident.io.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Benutzerdefinierte Feld-ID |
|
||||
| `name` | string | Ja | Neuer Name für das benutzerdefinierte Feld \(erforderlich\) |
|
||||
| `description` | string | Ja | Neue Beschreibung für das benutzerdefinierte Feld \(erforderlich\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `custom_field` | object | Aktualisiertes benutzerdefiniertes Feld |
|
||||
|
||||
### `incidentio_custom_fields_delete`
|
||||
|
||||
Löschen Sie ein benutzerdefiniertes Feld von incident.io.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Benutzerdefinierte Feld-ID |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Erfolgsmeldung |
|
||||
|
||||
### `incidentio_severities_list`
|
||||
|
||||
Liste alle konfigurierten Schweregrade in deinem Incident.io Workspace auf. Gibt Schweregrad-Details zurück, einschließlich ID, Name, Beschreibung und Rang.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Incident.io API-Schlüssel |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `severities` | array | Liste der Schweregrade |
|
||||
|
||||
### `incidentio_incident_statuses_list`
|
||||
|
||||
Liste alle konfigurierten Vorfallstatus in deinem Incident.io Workspace auf. Gibt Status-Details zurück, einschließlich ID, Name, Beschreibung und Kategorie.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Incident.io API-Schlüssel |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_statuses` | array | Liste der Vorfallstatus |
|
||||
|
||||
### `incidentio_incident_types_list`
|
||||
|
||||
Liste alle konfigurierten Vorfalltypen in deinem Incident.io Workspace auf. Gibt Typ-Details zurück, einschließlich ID, Name, Beschreibung und Standard-Flag.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Incident.io API-Schlüssel |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_types` | array | Liste der Vorfalltypen |
|
||||
|
||||
### `incidentio_incident_roles_list`
|
||||
|
||||
Liste alle Vorfallrollen in incident.io auf
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_roles` | array | Liste der Vorfallrollen |
|
||||
|
||||
### `incidentio_incident_roles_create`
|
||||
|
||||
Eine neue Vorfallrolle in incident.io erstellen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `name` | string | Ja | Name der Vorfallrolle |
|
||||
| `description` | string | Ja | Beschreibung der Vorfallrolle |
|
||||
| `instructions` | string | Ja | Anweisungen für die Vorfallrolle |
|
||||
| `shortform` | string | Ja | Kurzform-Abkürzung für die Rolle |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_role` | object | Die erstellte Vorfallrolle |
|
||||
|
||||
### `incidentio_incident_roles_show`
|
||||
|
||||
Details zu einer bestimmten Vorfallrolle in incident.io abrufen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID der Vorfallrolle |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_role` | object | Die Details der Vorfallrolle |
|
||||
|
||||
### `incidentio_incident_roles_update`
|
||||
|
||||
Eine bestehende Vorfallrolle in incident.io aktualisieren
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID der zu aktualisierenden Vorfallrolle |
|
||||
| `name` | string | Ja | Name der Vorfallrolle |
|
||||
| `description` | string | Ja | Beschreibung der Vorfallrolle |
|
||||
| `instructions` | string | Ja | Anweisungen für die Vorfallrolle |
|
||||
| `shortform` | string | Ja | Kurzform-Abkürzung für die Rolle |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_role` | object | Die aktualisierte Vorfallrolle |
|
||||
|
||||
### `incidentio_incident_roles_delete`
|
||||
|
||||
Eine Vorfallrolle in incident.io löschen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID der zu löschenden Vorfallrolle |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Erfolgsmeldung |
|
||||
|
||||
### `incidentio_incident_timestamps_list`
|
||||
|
||||
Alle Vorfallzeitstempel-Definitionen in incident.io auflisten
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_timestamps` | array | Liste der Vorfallzeitstempel-Definitionen |
|
||||
|
||||
### `incidentio_incident_timestamps_show`
|
||||
|
||||
Details einer bestimmten Vorfallzeitstempel-Definition in incident.io abrufen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des Vorfallzeitstempels |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_timestamp` | object | Die Details des Vorfallzeitstempels |
|
||||
|
||||
### `incidentio_incident_updates_list`
|
||||
|
||||
Alle Updates für einen bestimmten Vorfall in incident.io auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `incident_id` | string | Nein | Die ID des Vorfalls, für den Updates abgerufen werden sollen \(optional - wenn nicht angegeben, werden alle Updates zurückgegeben\) |
|
||||
| `page_size` | number | Nein | Anzahl der Ergebnisse pro Seite |
|
||||
| `after` | string | Nein | Cursor für Paginierung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `incident_updates` | array | Liste der Vorfallaktualisierungen |
|
||||
|
||||
### `incidentio_schedule_entries_list`
|
||||
|
||||
Alle Einträge für einen bestimmten Zeitplan in incident.io auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `schedule_id` | string | Ja | Die ID des Zeitplans, für den Einträge abgerufen werden sollen |
|
||||
| `entry_window_start` | string | Nein | Startdatum/-zeit zur Filterung der Einträge \(ISO 8601-Format\) |
|
||||
| `entry_window_end` | string | Nein | Enddatum/-zeit zur Filterung der Einträge \(ISO 8601-Format\) |
|
||||
| `page_size` | number | Nein | Anzahl der Ergebnisse pro Seite |
|
||||
| `after` | string | Nein | Cursor für Paginierung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `schedule_entries` | array | Liste der Zeitplaneinträge |
|
||||
|
||||
### `incidentio_schedule_overrides_create`
|
||||
|
||||
Erstellen Sie eine neue Zeitplanüberschreibung in incident.io
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `rotation_id` | string | Ja | Die ID der zu überschreibenden Rotation |
|
||||
| `schedule_id` | string | Ja | Die ID des Zeitplans |
|
||||
| `user_id` | string | Nein | Die ID des zuzuweisenden Benutzers \(geben Sie eines an: user_id, user_email oder user_slack_id\) |
|
||||
| `user_email` | string | Nein | Die E-Mail des zuzuweisenden Benutzers \(geben Sie eines an: user_id, user_email oder user_slack_id\) |
|
||||
| `user_slack_id` | string | Nein | Die Slack-ID des zuzuweisenden Benutzers \(geben Sie eines an: user_id, user_email oder user_slack_id\) |
|
||||
| `start_at` | string | Ja | Wann die Überschreibung beginnt \(ISO 8601-Format\) |
|
||||
| `end_at` | string | Ja | Wann die Überschreibung endet \(ISO 8601-Format\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `override` | object | Die erstellte Zeitplanüberschreibung |
|
||||
|
||||
### `incidentio_escalation_paths_create`
|
||||
|
||||
Erstellen Sie einen neuen Eskalationspfad in incident.io
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `name` | string | Ja | Name des Eskalationspfads |
|
||||
| `path` | json | Ja | Array von Eskalationsstufen mit Zielen und Bestätigungszeit in Sekunden. Jede Stufe sollte enthalten: targets \(Array von \{id, type, schedule_id?, user_id?, urgency\}\) und time_to_ack_seconds \(Zahl\) |
|
||||
| `working_hours` | json | Nein | Optionale Konfiguration der Arbeitszeiten. Array von \{weekday, start_time, end_time\} |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `escalation_path` | object | Der erstellte Eskalationspfad |
|
||||
|
||||
### `incidentio_escalation_paths_show`
|
||||
|
||||
Details zu einem bestimmten Eskalationspfad in incident.io abrufen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des Eskalationspfads |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `escalation_path` | object | Die Details des Eskalationspfads |
|
||||
|
||||
### `incidentio_escalation_paths_update`
|
||||
|
||||
Einen bestehenden Eskalationspfad in incident.io aktualisieren
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des zu aktualisierenden Eskalationspfads |
|
||||
| `name` | string | Nein | Neuer Name für den Eskalationspfad |
|
||||
| `path` | json | Nein | Neue Konfiguration des Eskalationspfads. Array von Eskalationsstufen mit Zielen und time_to_ack_seconds |
|
||||
| `working_hours` | json | Nein | Neue Konfiguration der Arbeitszeiten. Array von \{weekday, start_time, end_time\} |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `escalation_path` | object | Der aktualisierte Eskalationspfad |
|
||||
|
||||
### `incidentio_escalation_paths_delete`
|
||||
|
||||
Einen Eskalationspfad in incident.io löschen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | incident.io API-Schlüssel |
|
||||
| `id` | string | Ja | Die ID des zu löschenden Eskalationspfads |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Erfolgsmeldung |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `incidentio`
|
||||
@@ -5,41 +5,45 @@ description: Leistungsstarke tools zur verbesserung ihrer agentischen workflows
|
||||
|
||||
import { Card, Cards } from "fumadocs-ui/components/card";
|
||||
import { Step, Steps } from "fumadocs-ui/components/steps";
|
||||
import { Tab, Tabs } from "fumadocs-ui/components/tabs";
|
||||
import { Video } from '@/components/ui/video';
|
||||
|
||||
Tools sind leistungsstarke komponenten in Sim, die es ihren workflows ermöglichen, mit externen diensten zu interagieren, daten zu verarbeiten und spezialisierte aufgaben auszuführen. Sie erweitern die fähigkeiten ihrer agenten und workflows, indem sie zugang zu verschiedenen APIs und diensten bieten.
|
||||
|
||||
<div className="mx-auto w-full overflow-hidden rounded-lg">
|
||||
<Video src="toolbar.mp4" width={700} height={450} />
|
||||
</div>
|
||||
|
||||
## Was ist ein Tool?
|
||||
|
||||
Ein tool ist eine spezialisierte komponente, die eine bestimmte funktionalität oder integration mit externen diensten bietet. Tools können verwendet werden, um im web zu suchen, mit datenbanken zu interagieren, bilder zu verarbeiten, text oder bilder zu generieren, über messaging-plattformen zu kommunizieren und vieles mehr.
|
||||
Ein Tool ist eine spezialisierte Komponente, die eine bestimmte Funktionalität oder Integration mit externen Diensten bietet. Tools können verwendet werden, um im Web zu suchen, mit Datenbanken zu interagieren, Bilder zu verarbeiten, Text oder Bilder zu generieren, über Messaging-Plattformen zu kommunizieren und vieles mehr.
|
||||
|
||||
## Verwendung von Tools in Workflows
|
||||
|
||||
Es gibt zwei hauptsächliche wege, tools in ihren Sim-workflows zu verwenden:
|
||||
Es gibt zwei Hauptmöglichkeiten, Tools in Ihren Sim-Workflows zu verwenden:
|
||||
|
||||
<Steps>
|
||||
<Step>
|
||||
<strong>Als eigenständige blöcke</strong>: Tools können als einzelne
|
||||
blöcke auf der arbeitsfläche hinzugefügt werden, wenn sie deterministischen, direkten zugriff auf deren
|
||||
funktionalität benötigen. Dies gibt ihnen präzise kontrolle darüber, wann und wie das tool
|
||||
aufgerufen wird.
|
||||
<strong>Als eigenständige Blöcke</strong>: Tools können als einzelne
|
||||
Blöcke auf der Arbeitsfläche hinzugefügt werden, wenn Sie deterministischen,
|
||||
direkten Zugriff auf ihre Funktionalität benötigen. Dies gibt Ihnen präzise
|
||||
Kontrolle darüber, wann und wie das Tool aufgerufen wird.
|
||||
</Step>
|
||||
<Step>
|
||||
<strong>Als agenten-tools</strong>: Tools können zu agenten-blöcken hinzugefügt werden, indem
|
||||
sie auf "Tools hinzufügen" klicken und die erforderlichen parameter konfigurieren. Dies ermöglicht
|
||||
agenten, dynamisch zu entscheiden, welche tools basierend auf dem kontext und
|
||||
den anforderungen der aufgabe verwendet werden sollen.
|
||||
<strong>Als Agent-Tools</strong>: Tools können zu Agent-Blöcken hinzugefügt werden,
|
||||
indem Sie auf "Tools hinzufügen" klicken und die erforderlichen Parameter konfigurieren.
|
||||
Dies ermöglicht es Agenten, dynamisch zu entscheiden, welche Tools basierend auf dem
|
||||
Kontext und den Anforderungen der Aufgabe verwendet werden sollen.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Tool-Konfiguration
|
||||
|
||||
Jedes tool erfordert eine spezifische konfiguration, um ordnungsgemäß zu funktionieren. Zu den gängigen konfigurationselementen gehören:
|
||||
Jedes Tool erfordert eine spezifische Konfiguration, um ordnungsgemäß zu funktionieren. Zu den gängigen Konfigurationselementen gehören:
|
||||
|
||||
- **API-Schlüssel**: Viele tools erfordern authentifizierung durch API-schlüssel
|
||||
- **Verbindungsparameter**: Endpunkte, datenbankidentifikatoren usw.
|
||||
- **Eingabeformatierung**: Wie daten für das tool strukturiert werden sollten
|
||||
- **Ausgabebehandlung**: Wie die ergebnisse des tools verarbeitet werden sollen
|
||||
- **API-Schlüssel**: Viele Tools erfordern eine Authentifizierung über API-Schlüssel
|
||||
- **Verbindungsparameter**: Endpunkte, Datenbankidentifikatoren usw.
|
||||
- **Eingabeformatierung**: Wie Daten für das Tool strukturiert werden sollten
|
||||
- **Ausgabebehandlung**: Wie die Ergebnisse des Tools verarbeitet werden sollen
|
||||
|
||||
## Verfügbare Tools
|
||||
|
||||
@@ -63,15 +67,4 @@ Tools liefern typischerweise strukturierte Daten, die von nachfolgenden Blöcken
|
||||
- Metadaten über die Operation
|
||||
- Statusinformationen
|
||||
|
||||
Informationen zum genauen Ausgabeformat finden Sie in der spezifischen Dokumentation jedes Tools.
|
||||
|
||||
## YAML-Konfiguration
|
||||
|
||||
Detaillierte Informationen zur YAML-Workflow-Konfiguration und -Syntax finden Sie in der [YAML-Workflow-Referenz](/yaml) Dokumentation. Diese umfasst umfassende Anleitungen für:
|
||||
|
||||
- **Block-Referenz-Syntax**: Wie Daten zwischen Blöcken verbunden und referenziert werden
|
||||
- **Tool-Konfiguration**: Verwendung von Tools sowohl in eigenständigen Blöcken als auch in Agentenkonfigurationen
|
||||
- **Umgebungsvariablen**: Sichere Handhabung von API-Schlüsseln und Anmeldedaten
|
||||
- **Vollständige Beispiele**: Praxisnahe Workflow-Muster und Konfigurationen
|
||||
|
||||
Spezifische Tool-Parameter und Konfigurationsoptionen finden Sie auf der individuellen Dokumentationsseite jedes Tools.
|
||||
Informieren Sie sich in der spezifischen Dokumentation jedes Tools, um das genaue Ausgabeformat zu verstehen.
|
||||
|
||||
353
apps/docs/content/docs/de/tools/intercom.mdx
Normal file
353
apps/docs/content/docs/de/tools/intercom.mdx
Normal file
@@ -0,0 +1,353 @@
|
||||
---
|
||||
title: Intercom
|
||||
description: Verwalte Kontakte, Unternehmen, Gespräche, Tickets und Nachrichten in Intercom
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="intercom"
|
||||
color="#E0E0E0"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Intercom](https://www.intercom.com/) ist eine führende Kundenkommunikationsplattform, die es dir ermöglicht, deine Interaktionen mit Kontakten, Unternehmen, Gesprächen, Tickets und Nachrichten an einem Ort zu verwalten und zu automatisieren. Die Intercom-Integration in Sim ermöglicht es deinen Agenten, Kundenbeziehungen, Support-Anfragen und Gespräche direkt aus deinen automatisierten Workflows heraus programmatisch zu verwalten.
|
||||
|
||||
Mit den Intercom-Tools kannst du:
|
||||
|
||||
- **Kontaktverwaltung:** Erstellen, abrufen, aktualisieren, auflisten, suchen und löschen von Kontakten – automatisiere deine CRM-Prozesse und halte deine Kundendaten aktuell.
|
||||
- **Unternehmensverwaltung:** Erstelle neue Unternehmen, rufe Unternehmensdetails ab und liste alle Unternehmen auf, die mit deinen Nutzern oder Geschäftskunden verbunden sind.
|
||||
- **Gesprächshandling:** Abrufen, auflisten, beantworten und durchsuchen von Gesprächen – ermöglicht Agenten, laufende Support-Threads zu verfolgen, Antworten zu geben und Folgemaßnahmen zu automatisieren.
|
||||
- **Ticket-Management:** Erstelle und rufe Tickets programmatisch ab, um Kundendienst, Tracking von Support-Problemen und Workflow-Eskalationen zu automatisieren.
|
||||
- **Nachrichten senden:** Löse Nachrichten an Nutzer oder Leads für Onboarding, Support oder Marketing aus, alles innerhalb deiner Workflow-Automatisierung.
|
||||
|
||||
Durch die Integration von Intercom-Tools in Sim ermöglichst du deinen Workflows, direkt mit deinen Nutzern zu kommunizieren, Kundensupport-Prozesse zu automatisieren, Leads zu verwalten und die Kommunikation im großen Maßstab zu optimieren. Egal ob du neue Kontakte erstellen, Kundendaten synchronisieren, Support-Tickets verwalten oder personalisierte Engagement-Nachrichten senden musst – die Intercom-Tools bieten eine umfassende Möglichkeit, Kundeninteraktionen als Teil deiner intelligenten Automatisierungen zu verwalten.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Nutzungsanweisungen
|
||||
|
||||
Integriere Intercom in den Workflow. Kann Kontakte erstellen, abrufen, aktualisieren, auflisten, suchen und löschen; Unternehmen erstellen, abrufen und auflisten; Gespräche abrufen, auflisten, beantworten und durchsuchen; Tickets erstellen und abrufen; sowie Nachrichten erstellen.
|
||||
|
||||
## Tools
|
||||
|
||||
### `intercom_create_contact`
|
||||
|
||||
Erstellen Sie einen neuen Kontakt in Intercom mit E-Mail, external_id oder Rolle
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `email` | string | Nein | Die E-Mail-Adresse des Kontakts |
|
||||
| `external_id` | string | Nein | Eine eindeutige Kennung für den Kontakt, die vom Client bereitgestellt wird |
|
||||
| `phone` | string | Nein | Die Telefonnummer des Kontakts |
|
||||
| `name` | string | Nein | Der Name des Kontakts |
|
||||
| `avatar` | string | Nein | Eine Avatar-Bild-URL für den Kontakt |
|
||||
| `signed_up_at` | number | Nein | Der Zeitpunkt der Registrierung des Benutzers als Unix-Zeitstempel |
|
||||
| `last_seen_at` | number | Nein | Der Zeitpunkt, zu dem der Benutzer zuletzt gesehen wurde, als Unix-Zeitstempel |
|
||||
| `owner_id` | string | Nein | Die ID eines Administrators, dem die Kontoinhaberschaft des Kontakts zugewiesen wurde |
|
||||
| `unsubscribed_from_emails` | boolean | Nein | Ob der Kontakt E-Mails abbestellt hat |
|
||||
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt \(z.B. \{"attribute_name": "value"\}\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Erstellte Kontaktdaten |
|
||||
|
||||
### `intercom_get_contact`
|
||||
|
||||
Einen einzelnen Kontakt anhand der ID von Intercom abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `contactId` | string | Ja | Kontakt-ID zum Abrufen |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Kontaktdaten |
|
||||
|
||||
### `intercom_update_contact`
|
||||
|
||||
Einen bestehenden Kontakt in Intercom aktualisieren
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `contactId` | string | Ja | Zu aktualisierende Kontakt-ID |
|
||||
| `email` | string | Nein | Die E-Mail-Adresse des Kontakts |
|
||||
| `phone` | string | Nein | Die Telefonnummer des Kontakts |
|
||||
| `name` | string | Nein | Der Name des Kontakts |
|
||||
| `avatar` | string | Nein | Eine Avatar-Bild-URL für den Kontakt |
|
||||
| `signed_up_at` | number | Nein | Der Zeitpunkt der Registrierung des Benutzers als Unix-Timestamp |
|
||||
| `last_seen_at` | number | Nein | Der Zeitpunkt, zu dem der Benutzer zuletzt gesehen wurde, als Unix-Timestamp |
|
||||
| `owner_id` | string | Nein | Die ID eines Administrators, dem die Kontoeigentümerschaft des Kontakts zugewiesen wurde |
|
||||
| `unsubscribed_from_emails` | boolean | Nein | Ob der Kontakt E-Mails abbestellt hat |
|
||||
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt \(z.B. \{"attribut_name": "wert"\}\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Aktualisierte Kontaktdaten |
|
||||
|
||||
### `intercom_list_contacts`
|
||||
|
||||
Alle Kontakte von Intercom mit Paginierungsunterstützung auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite (max: 150) |
|
||||
| `starting_after` | string | Nein | Cursor für Paginierung - ID, nach der begonnen werden soll |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Liste der Kontakte |
|
||||
|
||||
### `intercom_search_contacts`
|
||||
|
||||
Suche nach Kontakten in Intercom mit einer Abfrage
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Ja | Suchabfrage (z.B., \{"field":"email","operator":"=","value":"user@example.com"\}) |
|
||||
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite (max: 150) |
|
||||
| `starting_after` | string | Nein | Cursor für Paginierung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Suchergebnisse |
|
||||
|
||||
### `intercom_delete_contact`
|
||||
|
||||
Einen Kontakt aus Intercom nach ID löschen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `contactId` | string | Ja | Kontakt-ID zum Löschen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Löschergebnis |
|
||||
|
||||
### `intercom_create_company`
|
||||
|
||||
Ein Unternehmen in Intercom erstellen oder aktualisieren
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `company_id` | string | Ja | Ihre eindeutige Kennung für das Unternehmen |
|
||||
| `name` | string | Nein | Der Name des Unternehmens |
|
||||
| `website` | string | Nein | Die Unternehmenswebsite |
|
||||
| `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 |
|
||||
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Erstellte oder aktualisierte Unternehmensdaten |
|
||||
|
||||
### `intercom_get_company`
|
||||
|
||||
Ein einzelnes Unternehmen anhand der ID von Intercom abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `companyId` | string | Ja | Unternehmens-ID zum Abrufen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Unternehmensdaten |
|
||||
|
||||
### `intercom_list_companies`
|
||||
|
||||
Alle Unternehmen von Intercom mit Paginierungsunterstützung auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite |
|
||||
| `page` | number | Nein | Seitennummer |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Liste der Unternehmen |
|
||||
|
||||
### `intercom_get_conversation`
|
||||
|
||||
Eine einzelne Konversation anhand der ID von Intercom abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `conversationId` | string | Ja | Konversations-ID zum Abrufen |
|
||||
| `display_as` | string | Nein | Auf "plaintext" setzen, um Nachrichten im Klartext abzurufen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Konversationsdaten |
|
||||
|
||||
### `intercom_list_conversations`
|
||||
|
||||
Alle Konversationen von Intercom mit Paginierungsunterstützung auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite \(max: 150\) |
|
||||
| `starting_after` | string | Nein | Cursor für Paginierung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Liste der Konversationen |
|
||||
|
||||
### `intercom_reply_conversation`
|
||||
|
||||
Als Administrator auf eine Konversation in Intercom antworten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `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) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Aktualisierte Konversation mit Antwort |
|
||||
|
||||
### `intercom_search_conversations`
|
||||
|
||||
Nach Konversationen in Intercom mit einer Abfrage suchen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `query` | string | Ja | Suchabfrage als JSON-Objekt |
|
||||
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite (max: 150) |
|
||||
| `starting_after` | string | Nein | Cursor für Paginierung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Status des Operationserfolgs |
|
||||
| `output` | object | Suchergebnisse |
|
||||
|
||||
### `intercom_create_ticket`
|
||||
|
||||
Ein neues Ticket in Intercom erstellen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `ticket_type_id` | string | Ja | Die ID des Ticket-Typs |
|
||||
| `contacts` | string | Ja | JSON-Array von Kontakt-Identifikatoren (z.B. \{"id": "contact_id"\}) |
|
||||
| `ticket_attributes` | string | Ja | JSON-Objekt mit Ticket-Attributen einschließlich _default_title_ und _default_description_ |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Erstellte Ticket-Daten |
|
||||
|
||||
### `intercom_get_ticket`
|
||||
|
||||
Ein einzelnes Ticket anhand der ID von Intercom abrufen
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `ticketId` | string | Ja | Ticket-ID zum Abrufen |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Ticket-Daten |
|
||||
|
||||
### `intercom_create_message`
|
||||
|
||||
Eine neue vom Administrator initiierte Nachricht in Intercom erstellen und senden
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `message_type` | string | Ja | Nachrichtentyp: "inapp" oder "email" |
|
||||
| `subject` | string | Nein | Der Betreff der Nachricht \(für E-Mail-Typ\) |
|
||||
| `body` | string | Ja | Der Inhalt der Nachricht |
|
||||
| `from_type` | string | Ja | Absendertyp: "admin" |
|
||||
| `from_id` | string | Ja | Die ID des Administrators, der die Nachricht sendet |
|
||||
| `to_type` | string | Ja | Empfängertyp: "contact" |
|
||||
| `to_id` | string | Ja | Die ID des Kontakts, der die Nachricht empfängt |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `output` | object | Erstellte Nachrichtendaten |
|
||||
|
||||
## Notizen
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `intercom`
|
||||
@@ -8,40 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="jina"
|
||||
color="#333333"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='0 0 30 14'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
>
|
||||
<path
|
||||
d='M17.1516 5.25628C17.1724 5.25598 17.1932 5.25598 17.2146 5.25569C17.2831 5.2551 17.3514 5.2554 17.4197 5.25598C17.468 5.25569 17.5161 5.25569 17.5644 5.2554C17.6655 5.2554 17.7665 5.25569 17.8679 5.25628C17.9956 5.25686 18.1237 5.25657 18.2514 5.25569C19.3043 5.251 20.25 5.39426 21.0642 6.12112C21.0958 6.14632 21.1275 6.17122 21.1594 6.19612C21.8277 6.7885 22.2088 7.68733 22.2704 8.56624C22.278 8.73762 22.2777 8.90901 22.2768 9.08069C22.2771 9.1346 22.2771 9.1885 22.2771 9.24241C22.2774 9.35432 22.2771 9.46594 22.2768 9.57786C22.2762 9.72083 22.2765 9.8638 22.2771 10.0068C22.2774 10.1178 22.2774 10.2285 22.2771 10.3393C22.2771 10.3923 22.2771 10.445 22.2774 10.4978C22.2774 10.571 22.2771 10.6446 22.2765 10.7181C22.2768 10.7395 22.2771 10.7612 22.2771 10.7831C22.2753 10.9405 22.2408 11.0615 22.1335 11.1789C21.9882 11.292 21.8977 11.3102 21.7163 11.3108C21.6862 11.3108 21.6862 11.3108 21.6551 11.3111C21.5874 11.3114 21.5198 11.3114 21.4521 11.3114C21.4035 11.3114 21.3551 11.3116 21.3065 11.3116C21.1746 11.3122 21.0428 11.3122 20.9107 11.3125C20.8284 11.3125 20.746 11.3125 20.6637 11.3128C20.4059 11.3131 20.1481 11.3134 19.8903 11.3137C19.5926 11.3137 19.2953 11.3143 18.9976 11.3152C18.7676 11.3157 18.5376 11.316 18.3077 11.316C18.1703 11.316 18.0329 11.3163 17.8954 11.3169C17.7663 11.3172 17.6368 11.3172 17.5076 11.3172C17.4601 11.3169 17.4129 11.3172 17.3655 11.3175C17.3007 11.3178 17.2357 11.3178 17.1709 11.3175C17.1349 11.3175 17.0986 11.3175 17.0614 11.3175C16.933 11.3034 16.8343 11.2621 16.7385 11.1748C16.6243 11.0278 16.6067 10.9246 16.6067 10.7436C16.6064 10.7111 16.6064 10.7111 16.6064 10.678C16.6061 10.605 16.6058 10.5321 16.6058 10.4594C16.6055 10.4073 16.6055 10.3551 16.6052 10.303C16.6046 10.1313 16.6043 9.95989 16.604 9.78821C16.6037 9.72932 16.6037 9.67014 16.6037 9.61126C16.6032 9.33382 16.6026 9.05637 16.6023 8.77893C16.602 8.45872 16.6014 8.1385 16.6002 7.81858C16.5994 7.57102 16.5988 7.32346 16.5988 7.07591C16.5988 6.92825 16.5985 6.7803 16.5976 6.63264C16.597 6.49348 16.597 6.35432 16.5973 6.21516C16.5973 6.16419 16.597 6.11321 16.5967 6.06223C16.5929 5.56565 16.5929 5.56565 16.7283 5.3887C16.8583 5.27737 16.9811 5.25657 17.1516 5.25628Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d='M28.4893 5.83187C28.5341 5.86966 28.5786 5.90745 28.6229 5.94554C28.6407 5.95931 28.6586 5.97337 28.6771 5.98773C29.2217 6.42161 29.5281 7.12093 29.6483 7.79124C29.6509 7.83665 29.6524 7.88206 29.6527 7.92777C29.6529 7.96761 29.6529 7.96761 29.6532 8.00804C29.6532 8.03704 29.6535 8.06575 29.6535 8.09534C29.6538 8.12611 29.6538 8.15657 29.6541 8.18821C29.6547 8.28929 29.655 8.39036 29.6553 8.49144C29.6553 8.52601 29.6556 8.56058 29.6556 8.59603C29.6562 8.77884 29.6568 8.96165 29.6571 9.14446C29.6573 9.33314 29.6582 9.52181 29.6594 9.71077C29.6603 9.85579 29.6606 10.0011 29.6606 10.1461C29.6609 10.2159 29.6612 10.2856 29.6617 10.355C29.6623 10.4523 29.6623 10.5498 29.662 10.6471C29.6626 10.6902 29.6626 10.6902 29.6632 10.7341C29.662 10.9002 29.6474 11.0025 29.5311 11.1311C29.3805 11.2661 29.2481 11.265 29.0556 11.2632C29.0257 11.2635 28.9958 11.2638 28.9654 11.2638C28.8669 11.2644 28.7685 11.2641 28.67 11.2638C28.6012 11.2638 28.5323 11.2638 28.4635 11.2641C28.3191 11.2641 28.1746 11.2641 28.0302 11.2635C27.8462 11.2626 27.6625 11.2632 27.4785 11.2638C27.3362 11.2644 27.1938 11.2641 27.0517 11.2638C26.9837 11.2638 26.916 11.2638 26.8484 11.2641C25.9759 11.2667 25.1834 11.0508 24.5488 10.4268C24.5201 10.3981 24.4914 10.3691 24.4627 10.3401C24.4384 10.3155 24.4138 10.2909 24.3889 10.2657C23.8404 9.68851 23.5985 8.90687 23.6087 8.12435C23.6301 7.32191 23.9899 6.59681 24.5506 6.03343C25.6158 5.02562 27.3318 4.91839 28.4893 5.83187Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d='M8.6422 5.41793C8.7591 5.5858 8.7424 5.76246 8.74093 5.95904C8.74122 5.99566 8.74123 6.03228 8.74123 6.07037C8.74152 6.17086 8.74122 6.27164 8.74093 6.37213C8.74064 6.47818 8.74064 6.58424 8.74064 6.69C8.74093 6.86842 8.74035 7.04713 8.74005 7.22554C8.73947 7.43004 8.73917 7.63482 8.73947 7.83961C8.73947 8.03765 8.73947 8.23599 8.73917 8.43404C8.73888 8.51783 8.73888 8.60133 8.73888 8.68511C8.73947 9.82125 8.63869 10.9436 7.85119 11.8339C7.82951 11.8588 7.80753 11.8837 7.78527 11.9095C7.72023 11.9831 7.65402 12.0551 7.58751 12.1269C7.57199 12.1442 7.55675 12.1618 7.54064 12.1796C6.93712 12.8277 5.99757 13.1886 5.12746 13.2276C5.10197 13.2291 5.07619 13.2302 5.04982 13.2314C4.98771 13.2346 4.92531 13.2373 4.8629 13.2402C4.86085 12.0302 4.86085 10.8203 4.86261 9.61031C4.86291 9.44918 4.8629 9.28804 4.8632 9.12691C4.86349 8.63941 4.86466 8.15191 4.86671 7.6647C4.86789 7.45552 4.86847 7.24634 4.86876 7.03717C4.86876 6.84058 4.86964 6.64371 4.87082 6.44713C4.8714 6.37506 4.8714 6.30299 4.8714 6.23092C4.87111 6.13248 4.87199 6.03404 4.87287 5.9356C4.87257 5.90718 4.87228 5.87877 4.87199 5.84947C4.87521 5.66051 4.91417 5.53306 5.03869 5.38863C5.1673 5.27232 5.31642 5.28756 5.48107 5.28756C5.51066 5.28726 5.54025 5.28697 5.57101 5.28668C5.66886 5.28551 5.76701 5.28521 5.86515 5.28463C5.93341 5.28404 6.00167 5.28345 6.06994 5.28287C6.2132 5.2817 6.35617 5.28082 6.49914 5.27994C6.68253 5.27906 6.86564 5.27759 7.04874 5.27584C7.18996 5.27467 7.33087 5.27349 7.47179 5.27261C7.53947 5.27203 7.60685 5.27174 7.67453 5.27115C7.76886 5.27027 7.86349 5.26998 7.95812 5.26939C7.98566 5.2691 8.01349 5.26881 8.0422 5.26881C8.4632 5.26734 8.4632 5.26734 8.6422 5.41793Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d='M11.2636 5.26714C11.2897 5.26685 11.3155 5.26685 11.3421 5.26655C11.3705 5.26655 11.3987 5.26626 11.428 5.26626C11.4578 5.26597 11.4877 5.26597 11.5185 5.26567C11.6175 5.26509 11.7165 5.26479 11.8158 5.2645C11.8665 5.26421 11.8665 5.26421 11.9184 5.26421C12.0974 5.26362 12.2767 5.26304 12.456 5.26274C12.6408 5.26245 12.8257 5.26157 13.0109 5.2604C13.1532 5.25952 13.2953 5.25923 13.4377 5.25923C13.506 5.25894 13.5742 5.25864 13.6422 5.25806C13.7377 5.25747 13.8332 5.25747 13.9287 5.25776C13.9569 5.25718 13.985 5.25688 14.0137 5.25659C14.1895 5.25776 14.3278 5.28501 14.4731 5.38872C14.6096 5.55659 14.6231 5.68052 14.6234 5.89233C14.6234 5.91343 14.6237 5.93481 14.6237 5.95679C14.6239 6.02798 14.6237 6.09917 14.6237 6.17036C14.6239 6.22134 14.6239 6.27261 14.6239 6.32358C14.6242 6.46216 14.6245 6.60103 14.6245 6.73989C14.6245 6.85562 14.6245 6.97134 14.6245 7.08735C14.6248 7.36069 14.6248 7.63403 14.6248 7.90708C14.6248 8.18921 14.6251 8.47105 14.6257 8.75288C14.626 8.99487 14.6263 9.23687 14.6263 9.47886C14.6263 9.62358 14.6263 9.76802 14.6266 9.91245C14.6269 10.0487 14.6269 10.1846 14.6266 10.3206C14.6266 10.3704 14.6266 10.4202 14.6269 10.47C14.6272 10.5382 14.6269 10.6065 14.6269 10.6745C14.6269 10.7128 14.6269 10.7509 14.6269 10.7902C14.616 10.9469 14.5935 11.0638 14.4895 11.1839C14.2952 11.3498 14.1092 11.3404 13.8655 11.3401C13.8233 11.3404 13.8233 11.3404 13.7802 11.3404C13.687 11.3407 13.5939 11.3407 13.501 11.341C13.436 11.341 13.3712 11.341 13.3065 11.3413C13.1705 11.3413 13.0346 11.3413 12.8987 11.3413C12.7249 11.3413 12.5509 11.3418 12.3772 11.3421C12.2433 11.3424 12.1091 11.3427 11.9752 11.3427C11.9114 11.3427 11.8472 11.3427 11.783 11.343C11.6934 11.3433 11.6034 11.3433 11.5138 11.343C11.4745 11.3433 11.4745 11.3433 11.4341 11.3436C11.2425 11.3424 11.0609 11.3348 10.9044 11.2132C10.7761 11.0486 10.7412 10.9103 10.7412 10.7035C10.7409 10.6821 10.7409 10.6607 10.7406 10.6387C10.7404 10.5672 10.7406 10.496 10.7409 10.4249C10.7409 10.3736 10.7406 10.322 10.7404 10.2708C10.7401 10.1319 10.7404 9.99272 10.7406 9.85386C10.7406 9.70796 10.7406 9.56235 10.7404 9.41675C10.7404 9.17183 10.7404 8.9272 10.7409 8.68257C10.7412 8.40015 10.7412 8.11743 10.7406 7.83472C10.7404 7.59185 10.7404 7.34897 10.7404 7.1061C10.7406 6.96108 10.7406 6.81636 10.7404 6.67134C10.7401 6.53511 10.7404 6.39858 10.7406 6.26235C10.7409 6.21255 10.7409 6.16245 10.7406 6.11265C10.7404 6.04409 10.7406 5.97583 10.7412 5.90757C10.7412 5.86919 10.7412 5.8311 10.7412 5.79185C10.7582 5.62397 10.7963 5.47515 10.9264 5.36118C11.0421 5.28325 11.1262 5.26802 11.2636 5.26714Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d='M3.58833 9.8857C3.97827 10.2715 4.18628 10.7596 4.20093 11.3066C4.18452 11.8662 3.96245 12.3628 3.56226 12.7527C3.194 13.0776 2.70064 13.2692 2.20523 13.2466C2.18326 13.2446 2.16158 13.2425 2.13902 13.2402C2.11031 13.2376 2.08159 13.2349 2.05201 13.232C1.51617 13.1658 1.08199 12.9168 0.732767 12.5078C0.370071 12.0132 0.294193 11.4762 0.364505 10.8783C0.476126 10.3738 0.798392 9.944 1.23081 9.66598C1.99693 9.22125 2.9148 9.30006 3.58833 9.8857Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
<path
|
||||
d='M12.6714 0.74873C12.6995 0.748437 12.7273 0.748145 12.756 0.747559C13.2318 0.749609 13.693 0.952637 14.0349 1.28105C14.3838 1.6335 14.5947 2.0791 14.6 2.57627C14.5965 3.14111 14.4632 3.62246 14.063 4.04111C13.6912 4.40293 13.2008 4.59365 12.686 4.60859C12.1434 4.59453 11.6864 4.40234 11.2941 4.02969C10.9086 3.62305 10.7357 3.13232 10.7466 2.57598C10.7659 2.08145 10.9883 1.60625 11.3384 1.25791C11.7245 0.919824 12.1578 0.742578 12.6714 0.74873Z'
|
||||
fill='currentColor'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,21 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="jira"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 30 30'
|
||||
|
||||
|
||||
focusable='false'
|
||||
aria-hidden='true'
|
||||
>
|
||||
<path
|
||||
fill='#1868DB'
|
||||
d='M11.034 21.99h-2.22c-3.346 0-5.747-2.05-5.747-5.052h11.932c.619 0 1.019.44 1.019 1.062v12.007c-2.983 0-4.984-2.416-4.984-5.784zm5.893-5.967h-2.219c-3.347 0-5.748-2.013-5.748-5.015h11.933c.618 0 1.055.402 1.055 1.025V24.04c-2.983 0-5.02-2.416-5.02-5.784zm5.93-5.93h-2.219c-3.347 0-5.748-2.05-5.748-5.052h11.933c.618 0 1.018.439 1.018 1.025v12.007c-2.983 0-4.984-2.416-4.984-5.784z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,26 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="knowledge"
|
||||
color="#00B0B0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
stroke='currentColor'
|
||||
strokeWidth='1.5'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<path d='M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14' />
|
||||
<path d='m7.5 4.27 9 5.15' />
|
||||
<polyline points='3.29 7 12 12 20.71 7' />
|
||||
<line x1='12' x2='12' y1='22' y2='12' />
|
||||
<circle cx='18.5' cy='15.5' r='2.5' />
|
||||
<path d='M20.27 17.27 22 19' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
@@ -60,10 +40,14 @@ Suche nach ähnlichen Inhalten in einer Wissensdatenbank mittels Vektorähnlichk
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `knowledgeBaseId` | string | Ja | ID der Wissensdatenbank, in der gesucht werden soll |
|
||||
| `knowledgeBaseId` | string | Ja | ID der zu durchsuchenden Wissensdatenbank |
|
||||
| `query` | string | Nein | Suchanfragentext \(optional bei Verwendung von Tag-Filtern\) |
|
||||
| `topK` | number | Nein | Anzahl der ähnlichsten Ergebnisse, die zurückgegeben werden sollen \(1-100\) |
|
||||
| `tagFilters` | array | Nein | Array von Tag-Filtern mit tagName- und tagValue-Eigenschaften |
|
||||
| `items` | object | Nein | Keine Beschreibung |
|
||||
| `properties` | string | Nein | Keine Beschreibung |
|
||||
| `tagName` | string | Nein | Keine Beschreibung |
|
||||
| `tagValue` | string | Nein | Keine Beschreibung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -108,6 +92,11 @@ Ein neues Dokument in einer Wissensdatenbank erstellen
|
||||
| `tag6` | string | Nein | Tag 6-Wert für das Dokument |
|
||||
| `tag7` | string | Nein | Tag 7-Wert für das Dokument |
|
||||
| `documentTagsData` | array | Nein | Strukturierte Tag-Daten mit Namen, Typen und Werten |
|
||||
| `items` | object | Nein | Keine Beschreibung |
|
||||
| `properties` | string | Nein | Keine Beschreibung |
|
||||
| `tagName` | string | Nein | Keine Beschreibung |
|
||||
| `tagValue` | string | Nein | Keine Beschreibung |
|
||||
| `tagType` | string | Nein | Keine Beschreibung |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
|
||||
@@ -8,17 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="linear"
|
||||
color="#5E6AD2"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
fill='currentColor'
|
||||
viewBox='0 0 100 100'
|
||||
>
|
||||
<path
|
||||
fill='currentColor'
|
||||
d='M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
@@ -50,14 +39,24 @@ Tickets von Linear abrufen und filtern
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `teamId` | string | Ja | Linear Team-ID |
|
||||
| `projectId` | string | Ja | Linear Projekt-ID |
|
||||
| `teamId` | string | Nein | Linear Team-ID zum Filtern |
|
||||
| `projectId` | string | Nein | Linear Projekt-ID zum Filtern |
|
||||
| `assigneeId` | string | Nein | Benutzer-ID zum Filtern nach Zugewiesenem |
|
||||
| `stateId` | string | Nein | Workflow-Status-ID zum Filtern nach Status |
|
||||
| `priority` | number | Nein | Priorität zum Filtern \(0=Keine Priorität, 1=Dringend, 2=Hoch, 3=Normal, 4=Niedrig\) |
|
||||
| `labelIds` | array | Nein | Array von Label-IDs zum Filtern |
|
||||
| `createdAfter` | string | Nein | Tickets filtern, die nach diesem Datum erstellt wurden \(ISO 8601 Format\) |
|
||||
| `updatedAfter` | string | Nein | Tickets filtern, die nach diesem Datum aktualisiert wurden \(ISO 8601 Format\) |
|
||||
| `includeArchived` | boolean | Nein | Archivierte Tickets einschließen \(Standard: false\) |
|
||||
| `first` | number | Nein | Anzahl der zurückzugebenden Tickets \(Standard: 50, max: 250\) |
|
||||
| `after` | string | Nein | Paginierungscursor für die nächste Seite |
|
||||
| `orderBy` | string | Nein | Sortierreihenfolge: "createdAt" oder "updatedAt" \(Standard: "updatedAt"\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `issues` | array | Array von Tickets aus dem angegebenen Linear Team und Projekt, jedes enthält id, title, description, state, teamId und projectId |
|
||||
| `issues` | array | Array von gefilterten Tickets aus Linear |
|
||||
|
||||
### `linear_get_issue`
|
||||
|
||||
@@ -84,15 +83,25 @@ Ein neues Ticket in Linear erstellen
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `teamId` | string | Ja | Linear Team-ID |
|
||||
| `projectId` | string | Ja | Linear Projekt-ID |
|
||||
| `projectId` | string | Nein | Linear Projekt-ID |
|
||||
| `title` | string | Ja | Ticket-Titel |
|
||||
| `description` | string | Nein | Ticket-Beschreibung |
|
||||
| `stateId` | string | Nein | Workflow-Status-ID \(Status\) |
|
||||
| `assigneeId` | string | Nein | Benutzer-ID, dem das Ticket zugewiesen werden soll |
|
||||
| `priority` | number | Nein | Priorität \(0=Keine Priorität, 1=Dringend, 2=Hoch, 3=Normal, 4=Niedrig\) |
|
||||
| `estimate` | number | Nein | Schätzung in Punkten |
|
||||
| `labelIds` | array | Nein | Array von Label-IDs, die dem Ticket zugewiesen werden sollen |
|
||||
| `cycleId` | string | Nein | Zyklus-ID, dem das Ticket zugewiesen werden soll |
|
||||
| `parentId` | string | Nein | Übergeordnete Ticket-ID \(für die Erstellung von Untertickets\) |
|
||||
| `dueDate` | string | Nein | Fälligkeitsdatum im ISO 8601-Format \(nur Datum: JJJJ-MM-TT\) |
|
||||
| `subscriberIds` | array | Nein | Array von Benutzer-IDs, die das Ticket abonnieren sollen |
|
||||
| `projectMilestoneId` | string | Nein | Projektmeilenstein-ID, die mit dem Ticket verknüpft werden soll |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `issue` | object | Das erstellte Ticket mit id, title, description, state, teamId und projectId |
|
||||
| `issue` | object | Das erstellte Ticket mit allen seinen Eigenschaften |
|
||||
|
||||
### `linear_update_issue`
|
||||
|
||||
@@ -109,7 +118,13 @@ Ein bestehendes Ticket in Linear aktualisieren
|
||||
| `assigneeId` | string | Nein | Benutzer-ID, dem das Ticket zugewiesen werden soll |
|
||||
| `priority` | number | Nein | Priorität \(0=Keine Priorität, 1=Dringend, 2=Hoch, 3=Normal, 4=Niedrig\) |
|
||||
| `estimate` | number | Nein | Schätzung in Punkten |
|
||||
| `labelIds` | array | Nein | Array von Label-IDs, die dem Ticket zugewiesen werden sollen |
|
||||
| `labelIds` | array | Nein | Array von Label-IDs, die für das Ticket gesetzt werden sollen \(ersetzt alle vorhandenen Labels\) |
|
||||
| `projectId` | string | Nein | Projekt-ID, zu der das Ticket verschoben werden soll |
|
||||
| `cycleId` | string | Nein | Zyklus-ID, dem das Ticket zugewiesen werden soll |
|
||||
| `parentId` | string | Nein | Übergeordnete Ticket-ID \(um dieses zu einem Unterticket zu machen\) |
|
||||
| `dueDate` | string | Nein | Fälligkeitsdatum im ISO 8601-Format \(nur Datum: JJJJ-MM-TT\) |
|
||||
| `addedLabelIds` | array | Nein | Array von Label-IDs, die dem Ticket hinzugefügt werden sollen \(ohne vorhandene Labels zu ersetzen\) |
|
||||
| `removedLabelIds` | array | Nein | Array von Label-IDs, die vom Ticket entfernt werden sollen |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -247,8 +262,8 @@ Einen Kommentar in Linear bearbeiten
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `commentId` | string | Ja | Kommentar-ID, die aktualisiert werden soll |
|
||||
| `body` | string | Ja | Neuer Kommentartext \(unterstützt Markdown\) |
|
||||
| `commentId` | string | Ja | Kommentar-ID zum Aktualisieren |
|
||||
| `body` | string | Nein | Neuer Kommentartext \(unterstützt Markdown\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -355,14 +370,14 @@ Ein bestehendes Projekt in Linear aktualisieren
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `projectId` | string | Ja | Projekt-ID, die aktualisiert werden soll |
|
||||
| `projectId` | string | Ja | Projekt-ID zum Aktualisieren |
|
||||
| `name` | string | Nein | Neuer Projektname |
|
||||
| `description` | string | Nein | Neue Projektbeschreibung |
|
||||
| `state` | string | Nein | Projektstatus (geplant, gestartet, abgeschlossen, abgebrochen) |
|
||||
| `state` | string | Nein | Projektstatus \(planned, started, completed, canceled\) |
|
||||
| `leadId` | string | Nein | Benutzer-ID des Projektleiters |
|
||||
| `startDate` | string | Nein | Projektstartdatum (ISO-Format) |
|
||||
| `targetDate` | string | Nein | Projektzieldatum (ISO-Format) |
|
||||
| `priority` | number | Nein | Projektpriorität (0-4) |
|
||||
| `startDate` | string | Nein | Projektstartdatum \(ISO-Format: JJJJ-MM-TT\) |
|
||||
| `targetDate` | string | Nein | Projektzieldatum \(ISO-Format: JJJJ-MM-TT\) |
|
||||
| `priority` | number | Nein | Projektpriorität \(0=Keine Priorität, 1=Dringend, 2=Hoch, 3=Normal, 4=Niedrig\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -536,11 +551,11 @@ Einen neuen Workflow-Status in Linear erstellen
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `teamId` | string | Ja | Team-ID, in dem der Status erstellt werden soll |
|
||||
| `name` | string | Ja | Name des Status \(z.B. "In Prüfung"\) |
|
||||
| `color` | string | Ja | Farbe des Status \(Hex-Format\) |
|
||||
| `teamId` | string | Ja | Team-ID, in der der Status erstellt werden soll |
|
||||
| `name` | string | Ja | Statusname \(z.B. "In Prüfung"\) |
|
||||
| `color` | string | Nein | Statusfarbe \(Hex-Format\) |
|
||||
| `type` | string | Ja | Statustyp: "backlog", "unstarted", "started", "completed" oder "canceled" |
|
||||
| `description` | string | Nein | Beschreibung des Status |
|
||||
| `description` | string | Nein | Statusbeschreibung |
|
||||
| `position` | number | Nein | Position im Workflow |
|
||||
|
||||
#### Ausgabe
|
||||
@@ -646,9 +661,9 @@ Einen Anhang zu einem Ticket in Linear hinzufügen
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `issueId` | string | Ja | Ticket-ID, an die der Anhang angehängt werden soll |
|
||||
| `issueId` | string | Ja | Ticket-ID, an die angehängt werden soll |
|
||||
| `url` | string | Ja | URL des Anhangs |
|
||||
| `title` | string | Nein | Titel des Anhangs |
|
||||
| `title` | string | Ja | Titel des Anhangs |
|
||||
| `subtitle` | string | Nein | Untertitel/Beschreibung des Anhangs |
|
||||
|
||||
#### Ausgabe
|
||||
@@ -684,7 +699,7 @@ Metadaten eines Anhangs in Linear aktualisieren
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `attachmentId` | string | Ja | Anhang-ID zum Aktualisieren |
|
||||
| `title` | string | Nein | Neuer Titel des Anhangs |
|
||||
| `title` | string | Ja | Neuer Titel des Anhangs |
|
||||
| `subtitle` | string | Nein | Neuer Untertitel des Anhangs |
|
||||
|
||||
#### Ausgabe
|
||||
@@ -718,8 +733,8 @@ Zwei Tickets in Linear miteinander verknüpfen (blockiert, bezieht sich auf, dup
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `issueId` | string | Ja | Quell-Ticket-ID |
|
||||
| `relatedIssueId` | string | Ja | Ziel-Ticket-ID für die Verknüpfung |
|
||||
| `type` | string | Ja | Beziehungstyp: "blocks", "blocked", "duplicate", "related" |
|
||||
| `relatedIssueId` | string | Ja | Ziel-Ticket-ID, mit der verknüpft werden soll |
|
||||
| `type` | string | Ja | Beziehungstyp: "blocks", "duplicate" oder "related". Hinweis: Wenn "blocks" von A nach B erstellt wird, wird die umgekehrte Beziehung \(B blockiert durch A\) automatisch erstellt. |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -1228,7 +1243,8 @@ Ein neues Projekt-Label in Linear erstellen
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `name` | string | Ja | Projekt-Label-Name |
|
||||
| `projectId` | string | Ja | Das Projekt für dieses Label |
|
||||
| `name` | string | Ja | Projektlabel-Name |
|
||||
| `color` | string | Nein | Label-Farbe \(Hex-Code\) |
|
||||
| `description` | string | Nein | Label-Beschreibung |
|
||||
| `isGroup` | boolean | Nein | Ob dies eine Label-Gruppe ist |
|
||||
@@ -1405,6 +1421,7 @@ Einen neuen Projektstatus in Linear erstellen
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `projectId` | string | Ja | Das Projekt, für das der Status erstellt werden soll |
|
||||
| `name` | string | Ja | Name des Projektstatus |
|
||||
| `color` | string | Ja | Statusfarbe \(Hex-Code\) |
|
||||
| `description` | string | Nein | Statusbeschreibung |
|
||||
|
||||
83
apps/docs/content/docs/de/tools/linkedin.mdx
Normal file
83
apps/docs/content/docs/de/tools/linkedin.mdx
Normal file
@@ -0,0 +1,83 @@
|
||||
---
|
||||
title: LinkedIn
|
||||
description: Teilen Sie Beiträge und verwalten Sie Ihre LinkedIn-Präsenz
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="linkedin"
|
||||
color="#0072B1"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[LinkedIn](https://www.linkedin.com) ist die weltweit größte professionelle Netzwerkplattform, die Nutzern ermöglicht, ihre Karriere aufzubauen, sich mit ihrem Netzwerk zu verbinden und berufliche Inhalte zu teilen. LinkedIn wird von Fachleuten aus verschiedenen Branchen für persönliches Branding, Recruiting, Jobsuche und Geschäftsentwicklung genutzt.
|
||||
|
||||
Mit LinkedIn können Sie ganz einfach Beiträge in Ihrem persönlichen Feed teilen, um mit Ihrem Netzwerk in Kontakt zu treten, und auf Informationen über Ihr Profil zugreifen, um Ihre beruflichen Erfolge hervorzuheben. Die automatisierte Integration mit Sim ermöglicht es Ihnen, LinkedIn-Funktionen programmatisch zu nutzen – so können Agenten und Workflows Updates posten, über Ihre berufliche Präsenz berichten und Ihren Feed aktiv halten, ohne dass manuelle Arbeit erforderlich ist.
|
||||
|
||||
Zu den wichtigsten LinkedIn-Funktionen, die über diese Integration verfügbar sind, gehören:
|
||||
|
||||
- **Beiträge teilen:** Veröffentlichen Sie automatisch berufliche Updates, Artikel oder Ankündigungen in Ihrem persönlichen LinkedIn-Feed.
|
||||
- **Profilinformationen:** Rufen Sie detaillierte Informationen über Ihr LinkedIn-Profil ab, um diese zu überwachen oder in nachgelagerten Aufgaben innerhalb Ihrer Workflows zu verwenden.
|
||||
|
||||
Diese Funktionen machen es einfach, Ihr LinkedIn-Netzwerk zu pflegen und Ihre berufliche Reichweite effizient zu erweitern – als Teil Ihrer KI- oder Workflow-Automatisierungsstrategie.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Nutzungsanleitung
|
||||
|
||||
Integrieren Sie LinkedIn in Workflows. Teilen Sie Beiträge in Ihrem persönlichen Feed und greifen Sie auf Ihre LinkedIn-Profilinformationen zu.
|
||||
|
||||
## Tools
|
||||
|
||||
### `linkedin_share_post`
|
||||
|
||||
Einen Beitrag in Ihrem persönlichen LinkedIn-Feed teilen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `text` | string | Ja | Der Textinhalt Ihres LinkedIn-Beitrags |
|
||||
| `visibility` | string | Nein | Wer diesen Beitrag sehen kann: "PUBLIC" oder "CONNECTIONS" \(Standard: "PUBLIC"\) |
|
||||
| `request` | string | Nein | Keine Beschreibung |
|
||||
| `output` | string | Nein | Keine Beschreibung |
|
||||
| `output` | string | Nein | Keine Beschreibung |
|
||||
| `specificContent` | string | Nein | Keine Beschreibung |
|
||||
| `shareCommentary` | string | Nein | Keine Beschreibung |
|
||||
| `visibility` | string | Nein | Keine Beschreibung |
|
||||
| `headers` | string | Nein | Keine Beschreibung |
|
||||
| `output` | string | Nein | Keine Beschreibung |
|
||||
| `output` | string | Nein | Keine Beschreibung |
|
||||
| `output` | string | Nein | Keine Beschreibung |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `postId` | string | Erstellte Beitrags-ID |
|
||||
| `profile` | json | LinkedIn-Profilinformationen |
|
||||
| `error` | string | Fehlermeldung bei fehlgeschlagener Operation |
|
||||
|
||||
### `linkedin_get_profile`
|
||||
|
||||
Rufen Sie Ihre LinkedIn-Profilinformationen ab
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Erfolgsstatus der Operation |
|
||||
| `postId` | string | Erstellte Beitrags-ID |
|
||||
| `profile` | json | LinkedIn-Profilinformationen |
|
||||
| `error` | string | Fehlermeldung bei fehlgeschlagener Operation |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `linkedin`
|
||||
@@ -8,23 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="linkup"
|
||||
color="#D6D3C7"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 24 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>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
1475
apps/docs/content/docs/de/tools/mailchimp.mdx
Normal file
1475
apps/docs/content/docs/de/tools/mailchimp.mdx
Normal file
File diff suppressed because it is too large
Load Diff
216
apps/docs/content/docs/de/tools/mailgun.mdx
Normal file
216
apps/docs/content/docs/de/tools/mailgun.mdx
Normal file
@@ -0,0 +1,216 @@
|
||||
---
|
||||
title: Mailgun
|
||||
description: E-Mails versenden und Mailinglisten mit Mailgun verwalten
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="mailgun"
|
||||
color="#F06248"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Mailgun](https://www.mailgun.com) ist ein leistungsstarker E-Mail-Zustelldienst, der für Entwickler und Unternehmen konzipiert wurde, um E-Mails mühelos zu versenden, zu empfangen und zu verfolgen. Mailgun ermöglicht es Ihnen, robuste APIs für zuverlässige Transaktions- und Marketing-E-Mails, flexible Mailinglisten-Verwaltung und fortschrittliches Event-Tracking zu nutzen.
|
||||
|
||||
Mit Mailguns umfassendem Funktionsumfang können Sie wichtige E-Mail-Operationen automatisieren und die Zustellbarkeit sowie das Engagement der Empfänger genau überwachen. Dies macht es zu einer idealen Lösung für Workflow-Automatisierung, bei der Kommunikation, Benachrichtigungen und Kampagnen-Mails zentrale Bestandteile Ihrer Prozesse sind.
|
||||
|
||||
Zu den wichtigsten Funktionen von Mailgun gehören:
|
||||
|
||||
- **Versand von Transaktions-E-Mails:** Zustellung von E-Mails mit hohem Volumen wie Kontobenachrichtigungen, Quittungen, Warnmeldungen und Passwort-Zurücksetzungen.
|
||||
- **Reichhaltige E-Mail-Inhalte:** Versenden Sie sowohl Nur-Text- als auch HTML-E-Mails und verwenden Sie Tags zur Kategorisierung und Verfolgung Ihrer Nachrichten.
|
||||
- **Mailinglisten-Verwaltung:** Erstellen, aktualisieren und verwalten Sie Mailinglisten und Mitglieder, um Gruppenkommunikation effizient zu versenden.
|
||||
- **Domain-Informationen:** Rufen Sie Details zu Ihren Sende-Domains ab, um Konfiguration und Zustand zu überwachen.
|
||||
- **Event-Tracking:** Analysieren Sie die Zustellbarkeit von E-Mails und das Engagement mit detaillierten Ereignisdaten zu gesendeten Nachrichten.
|
||||
- **Nachrichtenabruf:** Greifen Sie auf gespeicherte Nachrichten für Compliance-, Analyse- oder Fehlerbehebungszwecke zu.
|
||||
|
||||
Durch die Integration von Mailgun in Sim können Ihre Agenten programmatisch E-Mails versenden, E-Mail-Listen verwalten, auf Domain-Informationen zugreifen und Ereignisse in Echtzeit überwachen – als Teil automatisierter Workflows. Dies ermöglicht eine intelligente, datengesteuerte Interaktion mit Ihren Nutzern direkt aus Ihren KI-gestützten Prozessen heraus.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Nutzungsanleitung
|
||||
|
||||
Integrieren Sie Mailgun in Ihren Workflow. Senden Sie Transaktions-E-Mails, verwalten Sie Mailinglisten und Mitglieder, sehen Sie Domain-Informationen ein und verfolgen Sie E-Mail-Ereignisse. Unterstützt Text- und HTML-E-Mails, Tags für Tracking und umfassende Listenverwaltung.
|
||||
|
||||
## Tools
|
||||
|
||||
### `mailgun_send_message`
|
||||
|
||||
E-Mail über die Mailgun API versenden
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `domain` | string | Ja | Mailgun-Domain \(z.B. mg.example.com\) |
|
||||
| `from` | string | Ja | E-Mail-Adresse des Absenders |
|
||||
| `to` | string | Ja | E-Mail-Adresse des Empfängers \(durch Komma getrennt für mehrere\) |
|
||||
| `subject` | string | Ja | Betreff der E-Mail |
|
||||
| `text` | string | Nein | Nur-Text-Inhalt der E-Mail |
|
||||
| `html` | string | Nein | HTML-Inhalt der E-Mail |
|
||||
| `cc` | string | Nein | CC-E-Mail-Adresse \(durch Komma getrennt für mehrere\) |
|
||||
| `bcc` | string | Nein | BCC-E-Mail-Adresse \(durch Komma getrennt für mehrere\) |
|
||||
| `tags` | string | Nein | Tags für die E-Mail \(durch Komma getrennt\) |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Nachricht erfolgreich gesendet wurde |
|
||||
| `id` | string | Nachrichten-ID |
|
||||
| `message` | string | Antwortnachricht von Mailgun |
|
||||
|
||||
### `mailgun_get_message`
|
||||
|
||||
Eine gespeicherte Nachricht anhand ihres Schlüssels abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `domain` | string | Ja | Mailgun-Domain |
|
||||
| `messageKey` | string | Ja | Speicherschlüssel der Nachricht |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Anfrage erfolgreich war |
|
||||
| `recipients` | string | Nachrichtenempfänger |
|
||||
| `from` | string | Absender-E-Mail |
|
||||
| `subject` | string | Nachrichtenbetreff |
|
||||
| `bodyPlain` | string | Nur-Text-Inhalt |
|
||||
| `strippedText` | string | Bereinigter Text |
|
||||
| `strippedSignature` | string | Bereinigte Signatur |
|
||||
| `bodyHtml` | string | HTML-Inhalt |
|
||||
| `strippedHtml` | string | Bereinigtes HTML |
|
||||
| `attachmentCount` | number | Anzahl der Anhänge |
|
||||
| `timestamp` | number | Nachrichtenzeitstempel |
|
||||
| `messageHeaders` | json | Nachrichtenheader |
|
||||
| `contentIdMap` | json | Content-ID-Zuordnung |
|
||||
|
||||
### `mailgun_list_messages`
|
||||
|
||||
Ereignisse (Logs) für über Mailgun gesendete Nachrichten auflisten
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `domain` | string | Ja | Mailgun-Domain |
|
||||
| `event` | string | Nein | Nach Ereignistyp filtern \(accepted, delivered, failed, opened, clicked, usw.\) |
|
||||
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Ereignisse \(Standard: 100\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Anfrage erfolgreich war |
|
||||
| `items` | json | Array von Ereigniselementen |
|
||||
| `paging` | json | Paginierungsinformationen |
|
||||
|
||||
### `mailgun_create_mailing_list`
|
||||
|
||||
Eine neue Mailingliste erstellen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `address` | string | Ja | Mailinglisten-Adresse \(z.B. liste@beispiel.com\) |
|
||||
| `name` | string | Nein | Name der Mailingliste |
|
||||
| `description` | string | Nein | Beschreibung der Mailingliste |
|
||||
| `accessLevel` | string | Nein | Zugriffsebene: readonly, members oder everyone |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Liste erfolgreich erstellt wurde |
|
||||
| `message` | string | Antwortnachricht |
|
||||
| `list` | json | Details der erstellten Mailingliste |
|
||||
|
||||
### `mailgun_get_mailing_list`
|
||||
|
||||
Details einer Mailingliste abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `address` | string | Ja | Mailinglisten-Adresse |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Anfrage erfolgreich war |
|
||||
| `list` | json | Details der Mailingliste |
|
||||
|
||||
### `mailgun_add_list_member`
|
||||
|
||||
Ein Mitglied zu einer Mailingliste hinzufügen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `listAddress` | string | Ja | Mailinglisten-Adresse |
|
||||
| `address` | string | Ja | E-Mail-Adresse des Mitglieds |
|
||||
| `name` | string | Nein | Name des Mitglieds |
|
||||
| `vars` | string | Nein | JSON-String mit benutzerdefinierten Variablen |
|
||||
| `subscribed` | boolean | Nein | Ob das Mitglied abonniert ist |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob das Mitglied erfolgreich hinzugefügt wurde |
|
||||
| `message` | string | Antwortnachricht |
|
||||
| `member` | json | Details des hinzugefügten Mitglieds |
|
||||
|
||||
### `mailgun_list_domains`
|
||||
|
||||
Alle Domains für Ihr Mailgun-Konto auflisten
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Anfrage erfolgreich war |
|
||||
| `totalCount` | number | Gesamtanzahl der Domains |
|
||||
| `items` | json | Array von Domain-Objekten |
|
||||
|
||||
### `mailgun_get_domain`
|
||||
|
||||
Details einer bestimmten Domain abrufen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Ja | Mailgun API-Schlüssel |
|
||||
| `domain` | string | Ja | Domainname |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob die Anfrage erfolgreich war |
|
||||
| `domain` | json | Domain-Details |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
- Typ: `mailgun`
|
||||
@@ -8,22 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="mcp"
|
||||
color="#181C1E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<rect x='2' y='2' rx='2' ry='2' />
|
||||
<rect x='2' y='14' rx='2' ry='2' />
|
||||
<line x1='6' x2='6.01' y1='6' y2='6' />
|
||||
<line x1='6' x2='6.01' y1='18' y2='18' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
## Gebrauchsanweisung
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,29 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="memory"
|
||||
color="#F64F9E"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox='0 0 24 24'
|
||||
fill='none'
|
||||
stroke='currentColor'
|
||||
strokeWidth='2'
|
||||
strokeLinecap='round'
|
||||
strokeLinejoin='round'
|
||||
>
|
||||
<path d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z' />
|
||||
<path d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z' />
|
||||
<path d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4' />
|
||||
<path d='M17.599 6.5a3 3 0 0 0 .399-1.375' />
|
||||
<path d='M6.003 5.125A3 3 0 0 0 6.401 6.5' />
|
||||
<path d='M3.477 10.896a4 4 0 0 1 .585-.396' />
|
||||
<path d='M19.938 10.5a4 4 0 0 1 .585.396' />
|
||||
<path d='M6 18a4 4 0 0 1-1.967-.516' />
|
||||
<path d='M19.967 17.484A4 4 0 0 1 18 18' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
## Gebrauchsanweisung
|
||||
@@ -47,9 +24,11 @@ Füge eine neue Erinnerung zur Datenbank hinzu oder ergänze bestehende Erinneru
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | string | Ja | Kennung für die Erinnerung. Wenn bereits eine Erinnerung mit dieser ID existiert, werden die neuen Daten hinzugefügt. |
|
||||
| `role` | string | Ja | Rolle für Agent-Erinnerung \(user, assistant oder system\) |
|
||||
| `conversationId` | string | Nein | Konversationskennung (z.B. user-123, session-abc). Wenn bereits eine Erinnerung mit dieser conversationId für diesen Block existiert, wird die neue Nachricht angehängt. |
|
||||
| `id` | string | Nein | Legacy-Parameter für die Konversationskennung. Verwenden Sie stattdessen conversationId. Für Abwärtskompatibilität bereitgestellt. |
|
||||
| `role` | string | Ja | Rolle für Agent-Erinnerung (user, assistant oder system) |
|
||||
| `content` | string | Ja | Inhalt für Agent-Erinnerung |
|
||||
| `blockId` | string | Nein | Optionale Block-ID. Wenn nicht angegeben, wird die aktuelle Block-ID aus dem Ausführungskontext verwendet oder standardmäßig "default" gesetzt. |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -61,22 +40,25 @@ Füge eine neue Erinnerung zur Datenbank hinzu oder ergänze bestehende Erinneru
|
||||
|
||||
### `memory_get`
|
||||
|
||||
Einen bestimmten Speicher anhand seiner ID abrufen
|
||||
Erinnerungen nach conversationId, blockId, blockName oder einer Kombination abrufen. Gibt alle übereinstimmenden Erinnerungen zurück.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | string | Ja | Kennung für den abzurufenden Speicher |
|
||||
| `conversationId` | string | Nein | Konversationskennung (z.B. user-123, session-abc). Wenn allein angegeben, werden alle Erinnerungen für diese Konversation über alle Blöcke hinweg zurückgegeben. |
|
||||
| `id` | string | Nein | Legacy-Parameter für die Konversationskennung. Verwenden Sie stattdessen conversationId. Für Abwärtskompatibilität bereitgestellt. |
|
||||
| `blockId` | string | Nein | Block-Kennung. Wenn allein angegeben, werden alle Erinnerungen für diesen Block über alle Konversationen hinweg zurückgegeben. Wenn mit conversationId angegeben, werden Erinnerungen für diese spezifische Konversation in diesem Block zurückgegeben. |
|
||||
| `blockName` | string | Nein | Blockname. Alternative zu blockId. Wenn allein angegeben, werden alle Erinnerungen für Blöcke mit diesem Namen zurückgegeben. Wenn mit conversationId angegeben, werden Erinnerungen für diese Konversation in Blöcken mit diesem Namen zurückgegeben. |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob der Speicher erfolgreich abgerufen wurde |
|
||||
| `memories` | array | Array von Speicherdaten für die angeforderte ID |
|
||||
| `success` | boolean | Ob die Erinnerung erfolgreich abgerufen wurde |
|
||||
| `memories` | array | Array von Speicherobjekten mit conversationId, blockId, blockName und data-Feldern |
|
||||
| `message` | string | Erfolgs- oder Fehlermeldung |
|
||||
| `error` | string | Fehlermeldung, falls der Vorgang fehlgeschlagen ist |
|
||||
| `error` | string | Fehlermeldung, wenn der Vorgang fehlgeschlagen ist |
|
||||
|
||||
### `memory_get_all`
|
||||
|
||||
@@ -91,20 +73,23 @@ Alle Speicher aus der Datenbank abrufen
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `success` | boolean | Ob alle Speicher erfolgreich abgerufen wurden |
|
||||
| `memories` | array | Array aller Speicherobjekte mit Schlüsseln, Typen und Daten |
|
||||
| `success` | boolean | Ob alle Erinnerungen erfolgreich abgerufen wurden |
|
||||
| `memories` | array | Array aller Speicherobjekte mit key, conversationId, blockId, blockName und data-Feldern |
|
||||
| `message` | string | Erfolgs- oder Fehlermeldung |
|
||||
| `error` | string | Fehlermeldung, falls der Vorgang fehlgeschlagen ist |
|
||||
| `error` | string | Fehlermeldung, wenn der Vorgang fehlgeschlagen ist |
|
||||
|
||||
### `memory_delete`
|
||||
|
||||
Eine bestimmte Erinnerung anhand ihrer ID löschen
|
||||
Löschen von Erinnerungen nach conversationId, blockId, blockName oder einer Kombination davon. Unterstützt Massenlöschung.
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `id` | string | Ja | Kennung für die zu löschende Erinnerung |
|
||||
| `conversationId` | string | Nein | Konversationskennung (z.B. user-123, session-abc). Wenn allein angegeben, werden alle Erinnerungen für diese Konversation über alle Blöcke hinweg gelöscht. |
|
||||
| `id` | string | Nein | Legacy-Parameter für die Konversationskennung. Verwenden Sie stattdessen conversationId. Für Abwärtskompatibilität bereitgestellt. |
|
||||
| `blockId` | string | Nein | Block-Kennung. Wenn allein angegeben, werden alle Erinnerungen für diesen Block über alle Konversationen hinweg gelöscht. Wenn mit conversationId angegeben, werden Erinnerungen für diese spezifische Konversation in diesem Block gelöscht. |
|
||||
| `blockName` | string | Nein | Blockname. Alternative zu blockId. Wenn allein angegeben, werden alle Erinnerungen für Blöcke mit diesem Namen gelöscht. Wenn mit conversationId angegeben, werden Erinnerungen für diese Konversation in Blöcken mit diesem Namen gelöscht. |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
|
||||
79
apps/docs/content/docs/de/tools/meta.json
Normal file
79
apps/docs/content/docs/de/tools/meta.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"pages": [
|
||||
"index",
|
||||
"airtable",
|
||||
"arxiv",
|
||||
"asana",
|
||||
"browser_use",
|
||||
"clay",
|
||||
"confluence",
|
||||
"discord",
|
||||
"elevenlabs",
|
||||
"exa",
|
||||
"file",
|
||||
"firecrawl",
|
||||
"github",
|
||||
"gmail",
|
||||
"google_calendar",
|
||||
"google_docs",
|
||||
"google_drive",
|
||||
"google_forms",
|
||||
"google_search",
|
||||
"google_sheets",
|
||||
"google_vault",
|
||||
"hubspot",
|
||||
"huggingface",
|
||||
"hunter",
|
||||
"image_generator",
|
||||
"jina",
|
||||
"jira",
|
||||
"knowledge",
|
||||
"linear",
|
||||
"linkup",
|
||||
"mem0",
|
||||
"memory",
|
||||
"microsoft_excel",
|
||||
"microsoft_planner",
|
||||
"microsoft_teams",
|
||||
"mistral_parse",
|
||||
"mongodb",
|
||||
"mysql",
|
||||
"notion",
|
||||
"onedrive",
|
||||
"openai",
|
||||
"outlook",
|
||||
"parallel_ai",
|
||||
"perplexity",
|
||||
"pinecone",
|
||||
"pipedrive",
|
||||
"postgresql",
|
||||
"qdrant",
|
||||
"reddit",
|
||||
"resend",
|
||||
"s3",
|
||||
"salesforce",
|
||||
"serper",
|
||||
"sharepoint",
|
||||
"slack",
|
||||
"stagehand",
|
||||
"stagehand_agent",
|
||||
"stripe",
|
||||
"supabase",
|
||||
"tavily",
|
||||
"telegram",
|
||||
"thinking",
|
||||
"translate",
|
||||
"trello",
|
||||
"twilio_sms",
|
||||
"twilio_voice",
|
||||
"typeform",
|
||||
"vision",
|
||||
"wealthbox",
|
||||
"webflow",
|
||||
"whatsapp",
|
||||
"wikipedia",
|
||||
"x",
|
||||
"youtube",
|
||||
"zep"
|
||||
]
|
||||
}
|
||||
@@ -8,73 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="microsoft_excel"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
version='1.1'
|
||||
id='Livello_1'
|
||||
x='0px'
|
||||
y='0px'
|
||||
viewBox='0 0 2289.75 2130'
|
||||
enableBackground='new 0 0 2289.75 2130'
|
||||
>
|
||||
<path
|
||||
fill='#185C37'
|
||||
d='M1437.75,1011.75L532.5,852v1180.393c0,53.907,43.7,97.607,97.607,97.607l0,0h1562.036 c53.907,0,97.607-43.7,97.607-97.607l0,0V1597.5L1437.75,1011.75z'
|
||||
/>
|
||||
<path
|
||||
fill='#21A366'
|
||||
d='M1437.75,0H630.107C576.2,0,532.5,43.7,532.5,97.607c0,0,0,0,0,0V532.5l905.25,532.5L1917,1224.75 L2289.75,1065V532.5L1437.75,0z'
|
||||
/>
|
||||
<path fill='#107C41' d='M532.5,532.5h905.25V1065H532.5V532.5z' />
|
||||
<path
|
||||
opacity='0.1'
|
||||
enableBackground='new'
|
||||
d='M1180.393,426H532.5v1331.25h647.893c53.834-0.175,97.432-43.773,97.607-97.607 V523.607C1277.825,469.773,1234.227,426.175,1180.393,426z'
|
||||
/>
|
||||
<path
|
||||
opacity='0.2'
|
||||
enableBackground='new'
|
||||
d='M1127.143,479.25H532.5V1810.5h594.643 c53.834-0.175,97.432-43.773,97.607-97.607V576.857C1224.575,523.023,1180.977,479.425,1127.143,479.25z'
|
||||
/>
|
||||
<path
|
||||
opacity='0.2'
|
||||
enableBackground='new'
|
||||
d='M1127.143,479.25H532.5V1704h594.643c53.834-0.175,97.432-43.773,97.607-97.607 V576.857C1224.575,523.023,1180.977,479.425,1127.143,479.25z'
|
||||
/>
|
||||
<path
|
||||
opacity='0.2'
|
||||
enableBackground='new'
|
||||
d='M1073.893,479.25H532.5V1704h541.393c53.834-0.175,97.432-43.773,97.607-97.607 V576.857C1171.325,523.023,1127.727,479.425,1073.893,479.25z'
|
||||
/>
|
||||
<linearGradient
|
||||
id='SVGID_1_'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
x1='203.5132'
|
||||
y1='1729.0183'
|
||||
x2='967.9868'
|
||||
y2='404.9817'
|
||||
gradientTransform='matrix(1 0 0 -1 0 2132)'
|
||||
>
|
||||
<stop offset='0' style={{ stopColor: '#18884F' }} />
|
||||
<stop offset='0.5' style={{ stopColor: '#117E43' }} />
|
||||
<stop offset='1' style={{ stopColor: '#0B6631' }} />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill='url(#SVGID_1_)'
|
||||
d='M97.607,479.25h976.285c53.907,0,97.607,43.7,97.607,97.607v976.285 c0,53.907-43.7,97.607-97.607,97.607H97.607C43.7,1650.75,0,1607.05,0,1553.143V576.857C0,522.95,43.7,479.25,97.607,479.25z'
|
||||
/>
|
||||
<path
|
||||
fill='#FFFFFF'
|
||||
d='M302.3,1382.264l205.332-318.169L319.5,747.683h151.336l102.666,202.35 c9.479,19.223,15.975,33.494,19.49,42.919h1.331c6.745-15.336,13.845-30.228,21.3-44.677L725.371,747.79h138.929l-192.925,314.548 L869.2,1382.263H721.378L602.79,1160.158c-5.586-9.45-10.326-19.376-14.164-29.66h-1.757c-3.474,10.075-8.083,19.722-13.739,28.755 l-122.102,223.011H302.3z'
|
||||
/>
|
||||
<path
|
||||
fill='#33C481'
|
||||
d='M2192.143,0H1437.75v532.5h852V97.607C2289.75,43.7,2246.05,0,2192.143,0L2192.143,0z'
|
||||
/>
|
||||
<path fill='#107C41' d='M1437.75,1065h852v532.5h-852V1065z' />
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
@@ -93,7 +26,7 @@ In Sim bietet die Microsoft Excel-Integration nahtlosen Zugriff auf Tabellenkalk
|
||||
|
||||
## Nutzungsanweisungen
|
||||
|
||||
Integrieren Sie Microsoft Excel in den Workflow. Kann Tabellen lesen, schreiben, aktualisieren und ergänzen. Erfordert OAuth.
|
||||
Integrieren Sie Microsoft Excel in den Workflow. Kann lesen, schreiben, aktualisieren, zu Tabellen hinzufügen und neue Arbeitsblätter erstellen.
|
||||
|
||||
## Tools
|
||||
|
||||
@@ -158,6 +91,23 @@ Neue Zeilen zu einer Microsoft Excel-Tabelle hinzufügen
|
||||
| `values` | array | Array von Zeilen, die zur Tabelle hinzugefügt wurden |
|
||||
| `metadata` | object | Metadaten der Tabellenkalkulation |
|
||||
|
||||
### `microsoft_excel_worksheet_add`
|
||||
|
||||
Ein neues Arbeitsblatt (Tabellenblatt) in einer Microsoft Excel-Arbeitsmappe erstellen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `spreadsheetId` | string | Ja | Die ID der Excel-Arbeitsmappe, zu der das Arbeitsblatt hinzugefügt werden soll |
|
||||
| `worksheetName` | string | Ja | Der Name des neuen Arbeitsblatts. Muss innerhalb der Arbeitsmappe eindeutig sein und darf 31 Zeichen nicht überschreiten |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `worksheet` | object | Details des neu erstellten Arbeitsblatts |
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kategorie: `tools`
|
||||
|
||||
@@ -8,102 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="microsoft_planner"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" fill='currentColor' viewBox='-1 -1 27 27' xmlns='http://www.w3.org/2000/svg'>
|
||||
<defs>
|
||||
<linearGradient
|
||||
id='paint0_linear_3984_11038'
|
||||
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='paint1_linear_3984_11038'
|
||||
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='paint2_linear_3984_11038'
|
||||
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='paint3_linear_3984_11038'
|
||||
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='paint4_linear_3984_11038'
|
||||
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='paint5_linear_3984_11038'
|
||||
x1='18.2164'
|
||||
y1='7.92626'
|
||||
x2='10.5237'
|
||||
y2='22.9363'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
>
|
||||
<stop stopColor='#3DCBFF' />
|
||||
<stop offset='1' stopColor='#4A40D4' />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<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(#paint0_linear_3984_11038)'
|
||||
/>
|
||||
<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(#paint1_linear_3984_11038)'
|
||||
/>
|
||||
<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(#paint2_linear_3984_11038)'
|
||||
/>
|
||||
<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(#paint3_linear_3984_11038)'
|
||||
/>
|
||||
<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(#paint4_linear_3984_11038)'
|
||||
/>
|
||||
<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(#paint5_linear_3984_11038)'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,75 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="microsoft_teams"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2228.833 2073.333'>
|
||||
<path
|
||||
fill='#5059C9'
|
||||
d='M1554.637,777.5h575.713c54.391,0,98.483,44.092,98.483,98.483c0,0,0,0,0,0v524.398 c0,199.901-162.051,361.952-361.952,361.952h0h-1.711c-199.901,0.028-361.975-162-362.004-361.901c0-0.017,0-0.034,0-0.052V828.971 C1503.167,800.544,1526.211,777.5,1554.637,777.5L1554.637,777.5z'
|
||||
/>
|
||||
<circle fill='#5059C9' cx='1943.75' cy='440.583' r='233.25' />
|
||||
<circle fill='#7B83EB' cx='1218.083' cy='336.917' r='336.917' />
|
||||
<path
|
||||
fill='#7B83EB'
|
||||
d='M1667.323,777.5H717.01c-53.743,1.33-96.257,45.931-95.01,99.676v598.105 c-7.505,322.519,247.657,590.16,570.167,598.053c322.51-7.893,577.671-275.534,570.167-598.053V877.176 C1763.579,823.431,1721.066,778.83,1667.323,777.5z'
|
||||
/>
|
||||
<path
|
||||
opacity='.1'
|
||||
d='M1244,777.5v838.145c-0.258,38.435-23.549,72.964-59.09,87.598 c-11.316,4.787-23.478,7.254-35.765,7.257H667.613c-6.738-17.105-12.958-34.21-18.142-51.833 c-18.144-59.477-27.402-121.307-27.472-183.49V877.02c-1.246-53.659,41.198-98.19,94.855-99.52H1244z'
|
||||
/>
|
||||
<path
|
||||
opacity='.2'
|
||||
d='M1192.167,777.5v889.978c-0.002,12.287-2.47,24.449-7.257,35.765 c-14.634,35.541-49.163,58.833-87.598,59.09H691.975c-8.812-17.105-17.105-34.21-24.362-51.833 c-7.257-17.623-12.958-34.21-18.142-51.833c-18.144-59.476-27.402-121.307-27.472-183.49V877.02 c-1.246-53.659,41.198-98.19,94.855-99.52H1192.167z'
|
||||
/>
|
||||
<path
|
||||
opacity='.2'
|
||||
d='M1192.167,777.5v786.312c-0.395,52.223-42.632,94.46-94.855,94.855h-447.84 c-18.144-59.476-27.402-121.307-27.472-183.49V877.02c-1.246-53.659,41.198-98.19,94.855-99.52H1192.167z'
|
||||
/>
|
||||
<path
|
||||
opacity='.2'
|
||||
d='M1140.333,777.5v786.312c-0.395,52.223-42.632,94.46-94.855,94.855H649.472 c-18.144-59.476-27.402-121.307-27.472-183.49V877.02c-1.246-53.659,41.198-98.19,94.855-99.52H1140.333z'
|
||||
/>
|
||||
<path
|
||||
opacity='.1'
|
||||
d='M1244,509.522v163.275c-8.812,0.518-17.105,1.037-25.917,1.037 c-8.812,0-17.105-0.518-25.917-1.037c-17.496-1.161-34.848-3.937-51.833-8.293c-104.963-24.857-191.679-98.469-233.25-198.003 c-7.153-16.715-12.706-34.071-16.587-51.833h258.648C1201.449,414.866,1243.801,457.217,1244,509.522z'
|
||||
/>
|
||||
<path
|
||||
opacity='.2'
|
||||
d='M1192.167,561.355v111.442c-17.496-1.161-34.848-3.937-51.833-8.293 c-104.963-24.857-191.679-98.469-233.25-198.003h190.228C1149.616,466.699,1191.968,509.051,1192.167,561.355z'
|
||||
/>
|
||||
<path
|
||||
opacity='.2'
|
||||
d='M1192.167,561.355v111.442c-17.496-1.161-34.848-3.937-51.833-8.293 c-104.963-24.857-191.679-98.469-233.25-198.003h190.228C1149.616,466.699,1191.968,509.051,1192.167,561.355z'
|
||||
/>
|
||||
<path
|
||||
opacity='.2'
|
||||
d='M1140.333,561.355v103.148c-104.963-24.857-191.679-98.469-233.25-198.003 h138.395C1097.783,466.699,1140.134,509.051,1140.333,561.355z'
|
||||
/>
|
||||
<linearGradient
|
||||
id='a'
|
||||
gradientUnits='userSpaceOnUse'
|
||||
x1='198.099'
|
||||
y1='1683.0726'
|
||||
x2='942.2344'
|
||||
y2='394.2607'
|
||||
gradientTransform='matrix(1 0 0 -1 0 2075.3333)'
|
||||
>
|
||||
<stop offset='0' stopColor='#5a62c3' />
|
||||
<stop offset='.5' stopColor='#4d55bd' />
|
||||
<stop offset='1' stopColor='#3940ab' />
|
||||
<stop offset='0' stopColor='#5a62c3' />
|
||||
<stop offset='.5' stopColor='#4d55bd' />
|
||||
<stop offset='1' stopColor='#3940ab' />
|
||||
</linearGradient>
|
||||
<path
|
||||
fill='url(#a)'
|
||||
d='M95.01,466.5h950.312c52.473,0,95.01,42.538,95.01,95.01v950.312c0,52.473-42.538,95.01-95.01,95.01 H95.01c-52.473,0-95.01-42.538-95.01-95.01V561.51C0,509.038,42.538,466.5,95.01,466.5z'
|
||||
/>
|
||||
<path
|
||||
fill='#FFF'
|
||||
d='M820.211,828.193H630.241v517.297H509.211V828.193H320.123V727.844h500.088V828.193z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,58 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="mistral_parse"
|
||||
color="#000000"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
|
||||
|
||||
viewBox='1 0.5 24 22'
|
||||
fill='none'
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
preserveAspectRatio='xMidYMid meet'
|
||||
>
|
||||
<g clipPath='url(#clip0_1621_58)'>
|
||||
<path d='M17.4541 0H21.8177V4.39481H17.4541V0Z' fill='black' />
|
||||
<path d='M19.6367 0H24.0003V4.39481H19.6367V0Z' fill='#F7D046' />
|
||||
<path
|
||||
d='M0 0H4.36359V4.39481H0V0ZM0 4.39481H4.36359V8.78961H0V4.39481ZM0 8.78971H4.36359V13.1845H0V8.78971ZM0 13.1845H4.36359V17.5793H0V13.1845ZM0 17.5794H4.36359V21.9742H0V17.5794Z'
|
||||
fill='black'
|
||||
/>
|
||||
<path d='M2.18164 0H6.54523V4.39481H2.18164V0Z' fill='#F7D046' />
|
||||
<path
|
||||
d='M19.6362 4.39478H23.9998V8.78958H19.6362V4.39478ZM2.18164 4.39478H6.54523V8.78958H2.18164V4.39478Z'
|
||||
fill='#F2A73B'
|
||||
/>
|
||||
<path d='M13.0908 4.39478H17.4544V8.78958H13.0908V4.39478Z' fill='black' />
|
||||
<path
|
||||
d='M15.2732 4.39478H19.6368V8.78958H15.2732V4.39478ZM6.5459 4.39478H10.9095V8.78958H6.5459V4.39478Z'
|
||||
fill='#F2A73B'
|
||||
/>
|
||||
<path
|
||||
d='M10.9096 8.78979H15.2732V13.1846H10.9096V8.78979ZM15.2732 8.78979H19.6368V13.1846H15.2732V8.78979ZM6.5459 8.78979H10.9096V13.1846H6.5459V8.78979Z'
|
||||
fill='#EE792F'
|
||||
/>
|
||||
<path d='M8.72754 13.1846H13.0911V17.5794H8.72754V13.1846Z' fill='black' />
|
||||
<path d='M10.9092 13.1846H15.2728V17.5794H10.9092V13.1846Z' fill='#EB5829' />
|
||||
<path
|
||||
d='M19.6362 8.78979H23.9998V13.1846H19.6362V8.78979ZM2.18164 8.78979H6.54523V13.1846H2.18164V8.78979Z'
|
||||
fill='#EE792F'
|
||||
/>
|
||||
<path d='M17.4541 13.1846H21.8177V17.5794H17.4541V13.1846Z' fill='black' />
|
||||
<path d='M19.6367 13.1846H24.0003V17.5794H19.6367V13.1846Z' fill='#EB5829' />
|
||||
<path d='M17.4541 17.5793H21.8177V21.9742H17.4541V17.5793Z' fill='black' />
|
||||
<path d='M2.18164 13.1846H6.54523V17.5794H2.18164V13.1846Z' fill='#EB5829' />
|
||||
<path
|
||||
d='M19.6362 17.5793H23.9998V21.9742H19.6362V17.5793ZM2.18164 17.5793H6.54523V21.9742H2.18164V17.5793Z'
|
||||
fill='#EA3326'
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id='clip0_1621_58'>
|
||||
<rect fill='white' />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
@@ -8,144 +8,59 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="mongodb"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='currentColor'
|
||||
d='M88.038 42.812c1.605 4.643 2.761 9.383 3.141 14.296.472 6.095.256 12.147-1.029 18.142-.035.165-.109.32-.164.48-.403.001-.814-.049-1.208.012-3.329.523-6.655 1.065-9.981 1.604-3.438.557-6.881 1.092-10.313 1.687-1.216.21-2.721-.041-3.212 1.641-.014.046-.154.054-.235.08l.166-10.051-.169-24.252 1.602-.275c2.62-.429 5.24-.864 7.862-1.281 3.129-.497 6.261-.98 9.392-1.465 1.381-.215 2.764-.412 4.148-.618z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#45A538'
|
||||
d='M61.729 110.054c-1.69-1.453-3.439-2.842-5.059-4.37-8.717-8.222-15.093-17.899-18.233-29.566-.865-3.211-1.442-6.474-1.627-9.792-.13-2.322-.318-4.665-.154-6.975.437-6.144 1.325-12.229 3.127-18.147l.099-.138c.175.233.427.439.516.702 1.759 5.18 3.505 10.364 5.242 15.551 5.458 16.3 10.909 32.604 16.376 48.9.107.318.384.579.583.866l-.87 2.969z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#46A037'
|
||||
d='M88.038 42.812c-1.384.206-2.768.403-4.149.616-3.131.485-6.263.968-9.392 1.465-2.622.417-5.242.852-7.862 1.281l-1.602.275-.012-1.045c-.053-.859-.144-1.717-.154-2.576-.069-5.478-.112-10.956-.18-16.434-.042-3.429-.105-6.857-.175-10.285-.043-2.13-.089-4.261-.185-6.388-.052-1.143-.236-2.28-.311-3.423-.042-.657.016-1.319.029-1.979.817 1.583 1.616 3.178 2.456 4.749 1.327 2.484 3.441 4.314 5.344 6.311 7.523 7.892 12.864 17.068 16.193 27.433z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#409433'
|
||||
d='M65.036 80.753c.081-.026.222-.034.235-.08.491-1.682 1.996-1.431 3.212-1.641 3.432-.594 6.875-1.13 10.313-1.687 3.326-.539 6.652-1.081 9.981-1.604.394-.062.805-.011 1.208-.012-.622 2.22-1.112 4.488-1.901 6.647-.896 2.449-1.98 4.839-3.131 7.182a49.142 49.142 0 01-6.353 9.763c-1.919 2.308-4.058 4.441-6.202 6.548-1.185 1.165-2.582 2.114-3.882 3.161l-.337-.23-1.214-1.038-1.256-2.753a41.402 41.402 0 01-1.394-9.838l.023-.561.171-2.426c.057-.828.133-1.655.168-2.485.129-2.982.241-5.964.359-8.946z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#4FAA41'
|
||||
d='M65.036 80.753c-.118 2.982-.23 5.964-.357 8.947-.035.83-.111 1.657-.168 2.485l-.765.289c-1.699-5.002-3.399-9.951-5.062-14.913-2.75-8.209-5.467-16.431-8.213-24.642a4498.887 4498.887 0 00-6.7-19.867c-.105-.31-.407-.552-.617-.826l4.896-9.002c.168.292.39.565.496.879a6167.476 6167.476 0 016.768 20.118c2.916 8.73 5.814 17.467 8.728 26.198.116.349.308.671.491 1.062l.67-.78-.167 10.052z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#4AA73C'
|
||||
d='M43.155 32.227c.21.274.511.516.617.826a4498.887 4498.887 0 016.7 19.867c2.746 8.211 5.463 16.433 8.213 24.642 1.662 4.961 3.362 9.911 5.062 14.913l.765-.289-.171 2.426-.155.559c-.266 2.656-.49 5.318-.814 7.968-.163 1.328-.509 2.632-.772 3.947-.198-.287-.476-.548-.583-.866-5.467-16.297-10.918-32.6-16.376-48.9a3888.972 3888.972 0 00-5.242-15.551c-.089-.263-.34-.469-.516-.702l3.272-8.84z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#57AE47'
|
||||
d='M65.202 70.702l-.67.78c-.183-.391-.375-.714-.491-1.062-2.913-8.731-5.812-17.468-8.728-26.198a6167.476 6167.476 0 00-6.768-20.118c-.105-.314-.327-.588-.496-.879l6.055-7.965c.191.255.463.482.562.769 1.681 4.921 3.347 9.848 5.003 14.778 1.547 4.604 3.071 9.215 4.636 13.813.105.308.47.526.714.786l.012 1.045c.058 8.082.115 16.167.171 24.251z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#60B24F'
|
||||
d='M65.021 45.404c-.244-.26-.609-.478-.714-.786-1.565-4.598-3.089-9.209-4.636-13.813-1.656-4.93-3.322-9.856-5.003-14.778-.099-.287-.371-.514-.562-.769 1.969-1.928 3.877-3.925 5.925-5.764 1.821-1.634 3.285-3.386 3.352-5.968.003-.107.059-.214.145-.514l.519 1.306c-.013.661-.072 1.322-.029 1.979.075 1.143.259 2.28.311 3.423.096 2.127.142 4.258.185 6.388.069 3.428.132 6.856.175 10.285.067 5.478.111 10.956.18 16.434.008.861.098 1.718.152 2.577z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#A9AA88'
|
||||
d='M62.598 107.085c.263-1.315.609-2.62.772-3.947.325-2.649.548-5.312.814-7.968l.066-.01.066.011a41.402 41.402 0 001.394 9.838c-.176.232-.425.439-.518.701-.727 2.05-1.412 4.116-2.143 6.166-.1.28-.378.498-.574.744l-.747-2.566.87-2.969z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#B6B598'
|
||||
d='M62.476 112.621c.196-.246.475-.464.574-.744.731-2.05 1.417-4.115 2.143-6.166.093-.262.341-.469.518-.701l1.255 2.754c-.248.352-.59.669-.728 1.061l-2.404 7.059c-.099.283-.437.483-.663.722l-.695-3.985z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#C2C1A7'
|
||||
d='M63.171 116.605c.227-.238.564-.439.663-.722l2.404-7.059c.137-.391.48-.709.728-1.061l1.215 1.037c-.587.58-.913 1.25-.717 2.097l-.369 1.208c-.168.207-.411.387-.494.624-.839 2.403-1.64 4.819-2.485 7.222-.107.305-.404.544-.614.812-.109-1.387-.22-2.771-.331-4.158z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#CECDB7'
|
||||
d='M63.503 120.763c.209-.269.506-.508.614-.812.845-2.402 1.646-4.818 2.485-7.222.083-.236.325-.417.494-.624l-.509 5.545c-.136.157-.333.294-.398.477-.575 1.614-1.117 3.24-1.694 4.854-.119.333-.347.627-.525.938-.158-.207-.441-.407-.454-.623-.051-.841-.016-1.688-.013-2.533z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#DBDAC7'
|
||||
d='M63.969 123.919c.178-.312.406-.606.525-.938.578-1.613 1.119-3.239 1.694-4.854.065-.183.263-.319.398-.477l.012 3.64-1.218 3.124-1.411-.495z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#EBE9DC'
|
||||
d='M65.38 124.415l1.218-3.124.251 3.696-1.469-.572z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#CECDB7'
|
||||
d='M67.464 110.898c-.196-.847.129-1.518.717-2.097l.337.23-1.054 1.867z'
|
||||
/>
|
||||
<path
|
||||
fillRule='evenodd'
|
||||
clipRule='evenodd'
|
||||
fill='#4FAA41'
|
||||
d='M64.316 95.172l-.066-.011-.066.01.155-.559-.023.56z'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
Das [MongoDB](https://www.mongodb.com/)-Tool ermöglicht es Ihnen, eine Verbindung zu einer MongoDB-Datenbank herzustellen und eine Vielzahl von dokumentenorientierten Operationen direkt innerhalb Ihrer agentischen Workflows durchzuführen. Mit flexibler Konfiguration und sicherem Verbindungsmanagement können Sie einfach mit Ihren Daten interagieren und diese manipulieren.
|
||||
|
||||
Mit dem MongoDB-Tool können Sie:
|
||||
|
||||
- **Dokumente finden**: Sammlungen abfragen und Dokumente mit der `mongodb_query`Operation unter Verwendung umfangreicher Abfragefilter abrufen.
|
||||
- **Dokumente einfügen**: Fügen Sie ein oder mehrere Dokumente zu einer Sammlung mit der `mongodb_insert`Operation hinzu.
|
||||
- **Dokumente aktualisieren**: Ändern Sie bestehende Dokumente mit der `mongodb_update`Operation, indem Sie Filterkriterien und Aktualisierungsaktionen angeben.
|
||||
- **Dokumente löschen**: Entfernen Sie Dokumente aus einer Sammlung mit der `mongodb_delete`Operation, indem Sie Filter und Löschoptionen angeben.
|
||||
- **Daten aggregieren**: Führen Sie komplexe Aggregationspipelines mit der `mongodb_execute`Operation aus, um Ihre Daten zu transformieren und zu analysieren.
|
||||
|
||||
Das MongoDB-Tool ist ideal für Workflows, bei denen Ihre Agenten strukturierte, dokumentenbasierte Daten verwalten oder analysieren müssen. Ob bei der Verarbeitung von benutzergenerierten Inhalten, der Verwaltung von App-Daten oder der Unterstützung von Analysen - das MongoDB-Tool vereinfacht den Datenzugriff und die Datenmanipulation auf sichere, programmatische Weise.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
## Gebrauchsanweisung
|
||||
|
||||
MongoDB in den Workflow integrieren. Kann Daten finden, einfügen, aktualisieren, löschen und aggregieren.
|
||||
Integrieren Sie MongoDB in den Workflow. Kann Daten finden, einfügen, aktualisieren, löschen und aggregieren.
|
||||
|
||||
## Tools
|
||||
|
||||
### `mongodb_query`
|
||||
|
||||
Führt eine Find-Operation auf einer MongoDB-Kollektion aus
|
||||
Führt eine Suchoperation in einer MongoDB-Sammlung aus
|
||||
|
||||
#### Eingabe
|
||||
|
||||
| Parameter | Typ | Erforderlich | Beschreibung |
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `host` | string | Ja | MongoDB-Server-Hostname oder IP-Adresse |
|
||||
| `port` | number | Ja | MongoDB-Server-Port \(Standard: 27017\) |
|
||||
| `database` | string | Ja | Name der Datenbank, zu der verbunden werden soll |
|
||||
| `username` | string | Nein | MongoDB-Benutzername |
|
||||
| `password` | string | Nein | MongoDB-Passwort |
|
||||
| `authSource` | string | Nein | Authentifizierungsdatenbank |
|
||||
| `ssl` | string | Nein | SSL-Verbindungsmodus \(disabled, required, preferred\) |
|
||||
| `collection` | string | Ja | Name der zu abfragenden Kollektion |
|
||||
| `query` | string | Nein | MongoDB-Abfragefilter als JSON-String |
|
||||
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Dokumente |
|
||||
| `sort` | string | Nein | Sortierkriterien als JSON-String |
|
||||
| `host` | string | Yes | MongoDB-Server-Hostname oder IP-Adresse |
|
||||
| `port` | number | Yes | MongoDB-Server-Port \(Standard: 27017\) |
|
||||
| `database` | string | Yes | Datenbankname, zu dem eine Verbindung hergestellt werden soll |
|
||||
| `username` | string | No | MongoDB-Benutzername |
|
||||
| `password` | string | No | MongoDB-Passwort |
|
||||
| `authSource` | string | No | Authentifizierungsdatenbank |
|
||||
| `ssl` | string | No | SSL-Verbindungsmodus \(disabled, required, preferred\) |
|
||||
| `collection` | string | Yes | Name der abzufragenden Sammlung |
|
||||
| `query` | string | No | MongoDB-Abfragefilter als JSON-String |
|
||||
| `limit` | number | No | Maximale Anzahl der zurückzugebenden Dokumente |
|
||||
| `sort` | string | No | Sortierkriterien als JSON-String |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Statusmeldung der Operation |
|
||||
| `documents` | array | Array von Dokumenten, die von der Abfrage zurückgegeben wurden |
|
||||
| `documents` | array | Array der aus der Abfrage zurückgegebenen Dokumente |
|
||||
| `documentCount` | number | Anzahl der zurückgegebenen Dokumente |
|
||||
|
||||
### `mongodb_insert`
|
||||
|
||||
Dokumente in MongoDB-Kollektion einfügen
|
||||
Dokumente in MongoDB-Sammlung einfügen
|
||||
|
||||
#### Eingabe
|
||||
|
||||
@@ -158,8 +73,8 @@ Dokumente in MongoDB-Kollektion einfügen
|
||||
| `password` | string | Nein | MongoDB-Passwort |
|
||||
| `authSource` | string | Nein | Authentifizierungsdatenbank |
|
||||
| `ssl` | string | Nein | SSL-Verbindungsmodus \(disabled, required, preferred\) |
|
||||
| `collection` | string | Ja | Name der Kollektion, in die eingefügt werden soll |
|
||||
| `documents` | array | Ja | Array von einzufügenden Dokumenten |
|
||||
| `collection` | string | Ja | Name der Sammlung, in die eingefügt werden soll |
|
||||
| `documents` | array | Ja | Array der einzufügenden Dokumente |
|
||||
|
||||
#### Ausgabe
|
||||
|
||||
@@ -168,7 +83,7 @@ Dokumente in MongoDB-Kollektion einfügen
|
||||
| `message` | string | Statusmeldung der Operation |
|
||||
| `documentCount` | number | Anzahl der eingefügten Dokumente |
|
||||
| `insertedId` | string | ID des eingefügten Dokuments \(einzelnes Einfügen\) |
|
||||
| `insertedIds` | array | Array der eingefügten Dokument-IDs \(mehrfaches Einfügen\) |
|
||||
| `insertedIds` | array | Array der IDs der eingefügten Dokumente \(mehrfaches Einfügen\) |
|
||||
|
||||
### `mongodb_update`
|
||||
|
||||
@@ -198,7 +113,7 @@ Dokumente in MongoDB-Sammlung aktualisieren
|
||||
| `message` | string | Statusmeldung der Operation |
|
||||
| `matchedCount` | number | Anzahl der vom Filter gefundenen Dokumente |
|
||||
| `modifiedCount` | number | Anzahl der geänderten Dokumente |
|
||||
| `documentCount` | number | Gesamtanzahl der betroffenen Dokumente |
|
||||
| `documentCount` | number | Gesamtzahl der betroffenen Dokumente |
|
||||
| `insertedId` | string | ID des eingefügten Dokuments \(bei Upsert\) |
|
||||
|
||||
### `mongodb_delete`
|
||||
@@ -226,7 +141,7 @@ Dokumente aus MongoDB-Sammlung löschen
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Statusmeldung der Operation |
|
||||
| `deletedCount` | number | Anzahl der gelöschten Dokumente |
|
||||
| `documentCount` | number | Gesamtzahl der betroffenen Dokumente |
|
||||
| `documentCount` | number | Gesamtanzahl der betroffenen Dokumente |
|
||||
|
||||
### `mongodb_execute`
|
||||
|
||||
@@ -251,7 +166,7 @@ MongoDB-Aggregationspipeline ausführen
|
||||
| Parameter | Typ | Beschreibung |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Statusmeldung der Operation |
|
||||
| `documents` | array | Array von Dokumenten, die aus der Aggregation zurückgegeben wurden |
|
||||
| `documents` | array | Array von Dokumenten, die von der Aggregation zurückgegeben wurden |
|
||||
| `documentCount` | number | Anzahl der zurückgegebenen Dokumente |
|
||||
|
||||
## Hinweise
|
||||
|
||||
@@ -8,21 +8,6 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
<BlockInfoCard
|
||||
type="mysql"
|
||||
color="#E0E0E0"
|
||||
icon={true}
|
||||
iconSvg={`<svg className="block-icon"
|
||||
|
||||
xmlns='http://www.w3.org/2000/svg'
|
||||
|
||||
|
||||
viewBox='0 0 25.6 25.6'
|
||||
>
|
||||
<path
|
||||
d='M179.076 94.886c-3.568-.1-6.336.268-8.656 1.25-.668.27-1.74.27-1.828 1.116.357.355.4.936.713 1.428.535.893 1.473 2.096 2.32 2.72l2.855 2.053c1.74 1.07 3.703 1.695 5.398 2.766.982.625 1.963 1.428 2.945 2.098.5.357.803.938 1.428 1.16v-.135c-.312-.4-.402-.98-.713-1.428l-1.34-1.293c-1.293-1.74-2.9-3.258-4.64-4.506-1.428-.982-4.55-2.32-5.13-3.97l-.088-.1c.98-.1 2.14-.447 3.078-.715 1.518-.4 2.9-.312 4.46-.713l2.143-.625v-.4c-.803-.803-1.383-1.874-2.23-2.632-2.275-1.963-4.775-3.882-7.363-5.488-1.383-.892-3.168-1.473-4.64-2.23-.537-.268-1.428-.402-1.74-.848-.805-.98-1.25-2.275-1.83-3.436l-3.658-7.763c-.803-1.74-1.295-3.48-2.275-5.086-4.596-7.585-9.594-12.18-17.268-16.687-1.65-.937-3.613-1.34-5.7-1.83l-3.346-.18c-.715-.312-1.428-1.16-2.053-1.562-2.543-1.606-9.102-5.086-10.977-.5-1.205 2.9 1.785 5.755 2.8 7.228.76 1.026 1.74 2.186 2.277 3.346.3.758.4 1.562.713 2.365.713 1.963 1.383 4.15 2.32 5.98.5.937 1.025 1.92 1.65 2.767.357.5.982.714 1.115 1.517-.625.893-.668 2.23-1.025 3.347-1.607 5.042-.982 11.288 1.293 15 .715 1.115 2.4 3.57 4.686 2.632 2.008-.803 1.56-3.346 2.14-5.577.135-.535.045-.892.312-1.25v.1l1.83 3.703c1.383 2.186 3.793 4.462 5.8 5.98 1.07.803 1.918 2.187 3.256 2.677v-.135h-.088c-.268-.4-.67-.58-1.027-.892-.803-.803-1.695-1.785-2.32-2.677-1.873-2.498-3.523-5.265-4.996-8.12-.715-1.383-1.34-2.9-1.918-4.283-.27-.536-.27-1.34-.715-1.606-.67.98-1.65 1.83-2.143 3.034-.848 1.918-.936 4.283-1.248 6.737-.18.045-.1 0-.18.1-1.426-.356-1.918-1.83-2.453-3.078-1.338-3.168-1.562-8.254-.402-11.913.312-.937 1.652-3.882 1.117-4.774-.27-.848-1.16-1.338-1.652-2.008-.58-.848-1.203-1.918-1.605-2.855-1.07-2.5-1.605-5.265-2.766-7.764-.537-1.16-1.473-2.365-2.232-3.435-.848-1.205-1.783-2.053-2.453-3.48-.223-.5-.535-1.294-.178-1.83.088-.357.268-.5.623-.58.58-.5 2.232.134 2.812.4 1.65.67 3.033 1.294 4.416 2.23.625.446 1.295 1.294 2.098 1.518h.938c1.428.312 3.033.1 4.37.5 2.365.76 4.506 1.874 6.426 3.08 5.844 3.703 10.664 8.968 13.92 15.26.535 1.026.758 1.963 1.25 3.034.938 2.187 2.098 4.417 3.033 6.56.938 2.097 1.83 4.24 3.168 5.98.67.937 3.346 1.427 4.55 1.918.893.4 2.275.76 3.08 1.25 1.516.937 3.033 2.008 4.46 3.034.713.534 2.945 1.65 3.078 2.54zm-45.5-38.772a7.09 7.09 0 0 0-1.828.223v.1h.088c.357.714.982 1.205 1.428 1.83l1.027 2.142.088-.1c.625-.446.938-1.16.938-2.23-.268-.312-.312-.625-.535-.937-.268-.446-.848-.67-1.206-1.026z'
|
||||
transform='matrix(.390229 0 0 .38781 -46.300037 -16.856717)'
|
||||
fillRule='evenodd'
|
||||
fill='#00678c'
|
||||
/>
|
||||
</svg>`}
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user