Compare commits

...

135 Commits

Author SHA1 Message Date
waleed
6943735bb2 improvement(byok): updated styling for byok page 2025-12-25 08:29:21 -08:00
Waleed
8b05d7cc50 feat(i18n): update translations (#2578) 2025-12-25 08:29:21 -08:00
Vikhyath Mondreti
a74fbe3225 fix type 2025-12-24 19:22:49 -08:00
Vikhyath Mondreti
303934f09e fix autolayout 2025-12-24 19:20:04 -08:00
Vikhyath Mondreti
6a88b591f7 improvement(byok): remove web search block exa 2025-12-24 19:09:04 -08:00
Vikhyath Mondreti
a96437b232 remove exa from byok 2025-12-24 19:01:17 -08:00
Vikhyath Mondreti
47a259b428 feat(byok): byok for hosted model capabilities (#2574)
* feat(byok): byok for hosted model capabilities

* fix type

* add ignore lint

* accidentally added feature flags

* centralize byok fetch for LLM calls

* remove feature flags ts

* fix tests

* update docs
2025-12-24 18:20:54 -08:00
Waleed
40a6bf5c8c improvement(variables): update workflows to use deployed variables, not local ones to align with the rest of the canvas components (#2577)
* improvement(variables): update workflows to use deployed variables, not local ones to align with the rest of the canvas components

* update change detection to ignore trigger id since it is runtime metadata and not actually required to be redeployed
2025-12-24 17:40:23 -08:00
Waleed
da7eca9590 fix(change-detection): move change detection logic to client-side to prevent unnecessary API calls, consolidate utils (#2576)
* fix(change-detection): move change detection logic to client-side to prevent unnecessary API calls, consolidate utils

* added tests

* ack PR comments

* added isPublished to API response
2025-12-24 17:16:35 -08:00
Waleed
92b2e34d25 feat(autolayout): add fitToView on autolayout and reduce horizontal spacing between blocks (#2575)
* feat(autolayout): add fitToView on autolayout and reduce horizontal spacing between blocks

* remove additional yaml code
2025-12-24 16:19:29 -08:00
Vikhyath Mondreti
77521a3a57 fix(cancel-workflow-exec): move cancellation tracking for multi-task envs to redis (#2573)
* fix(cancel-workflow-exec): move cancellation tracking for multi-task envs to redis

* cleanup cancellation keys after execution
2025-12-24 11:51:09 -08:00
Waleed
cb8b9c547a fix(router): update router to handle azure creds the same way the agent block does (#2572)
* fix(router): update router to handle azure creds the same way the agent block does

* cleanup
2025-12-24 10:22:47 -08:00
Vikhyath Mondreti
b1cd8d151d fix(executor): workflow abort has to send abort signal to route for correct state update (#2571) 2025-12-24 02:50:58 -08:00
Waleed
1145f5c043 fix(shortcut): fixed global keyboard commands provider to follow latest ref pattern (#2569)
* fix(shortcut): fixed global commands provider to follow best practices

* cleanup

* ack PR comment
2025-12-24 00:25:15 -08:00
Waleed
3a50ce4d99 feat(i18n): update translations (#2568)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-23 19:03:43 -08:00
Waleed
810d2089cf feat(schedules): remove save button for schedules, couple schedule deployment with workflow deployment (#2566)
* feat(schedules): remove save button for schedules, couple schedule deployment with workflow deployment

* added tests

* ack PR comments

* update turborepo

* cleanup, edge cases

* ack PR comment
2025-12-23 18:53:40 -08:00
Vikhyath Mondreti
8c89507247 improvement(logs): state machine of workflow execution (#2560)
* improvement(logs): state machine of workflow execution

* cleanup more code

* fallback consistency

* fix labels

* backfill in migration correctly

* make streaming stop in chat window correctly
2025-12-23 18:27:19 -08:00
Vikhyath Mondreti
169dd4a503 fix(grafana): tool outputs (#2565)
* fix(grafana): list annotations outputs

* fix more grafana tools
2025-12-23 17:23:12 -08:00
Vikhyath Mondreti
dc4e5d3bdc fix(dropbox): access type param pass through to get refresh token (#2564) 2025-12-23 16:32:58 -08:00
Emir Karabeg
31de55cbdf feat(ux): add expandFolder to auto expand folders on nested folder creation (#2562)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-23 16:27:00 -08:00
Waleed
eaca49037d fix(ui): remove css transition on popover and dropdown items to avoid flicker (#2563) 2025-12-23 15:46:27 -08:00
Waleed
2d26c0cb32 feat(i18n): update translations (#2561)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-23 15:42:54 -08:00
Waleed
cdf3d759b9 fix(jina): removed conditionally included outputs from jina (#2559)
* fix(jina): removed conditionally included outputs from jina

* ack PR comments
2025-12-23 15:20:10 -08:00
Vikhyath Mondreti
bf8fbebe22 improvement(code-quality): centralize regex checks, normalization (#2554)
* improvement(code-quality): centralize regex checks, normalization

* simplify resolution

* fix(copilot): don't allow duplicate name blocks

* centralize uuid check
2025-12-23 15:12:04 -08:00
Waleed
b23299dae4 feat(i18n): update translations (#2558)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-23 14:54:44 -08:00
Waleed
6c8f1a81c1 feat(tools): added grain and circleback (#2557)
* feat(tools): added grain and circleback

* oauth to pat and tool fix

* updated docs

* remove remaining oauth references

* cleanup

---------

Co-authored-by: aadamgough <adam@sim.ai>
2025-12-23 14:34:12 -08:00
Waleed
2c36926a4e fix(perplexity): remove deprecated perplexity sonar reasoning model (#2556) 2025-12-23 13:24:18 -08:00
Waleed
89c1085950 improvement(vertex): added vertex to all LLM-based blocks, fixed refresh (#2555)
* improvement(vertex): added vertex to all LLM-based blocks, fixed refresh

* fix build
2025-12-23 13:11:56 -08:00
Waleed
4e09c389e8 improvement(usage): update usage limit in realtime, standardize token output object across providers (#2553)
* improvement(usage-limit): update usage in real time, fix token output object

* updated tokenBreakdown to tokens, standardized input/output/total token object type across providers

* update remaining references

* ack PR comment

* remove singleton query client instance from hooks, leave only in zustand
2025-12-23 13:04:47 -08:00
Vikhyath Mondreti
641ac58017 fix(frozen-canvas): need to fetch the deployment version correctly (#2552) 2025-12-23 11:37:07 -08:00
Waleed
6c1e4ff7d6 improvement(oauth): remove unused scope hints (#2551)
* improvement(oauth): remove unused scope hints

* improvement(oauth): remove scopeHints and extraneous oauth provider data

* cleanup
2025-12-23 11:26:49 -08:00
Waleed
40e30a11e9 improvement(logs): update logs export route to respect filters (#2550) 2025-12-23 10:23:27 -08:00
Vikhyath Mondreti
d1ebad912e fix memory migration (#2548) 2025-12-23 01:19:29 -08:00
Vikhyath Mondreti
621f9a40c7 improvement(landing): free usage limit (#2547) 2025-12-23 00:07:13 -08:00
Siddharth Ganesan
3100daa346 feat(copilot): add tools to access block outputs and upstream references (#2546)
* Add copilot references tools

* Minor fixes

* Omit vars field in block outputs when id is provided
2025-12-23 00:06:24 -08:00
Priyanshu Solanki
c252e885af improvement(logs): fixed logs for parallel and loop execution flow (#2468)
* fixed logs for parallel and loop execution flow

* Fix array check for collection

* fixed for empty loop and paralle blocks and showing input on dashboard

* extracted utility functions

* fixed the refrencing errors and making sure it propogates to the console

* fix parallel

* fix tests'

---------

Co-authored-by: priyanshu.solanki <priyanshu.solanki@saviynt.com>
Co-authored-by: Siddharth Ganesan <siddharthganesan@gmail.com>
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-23 00:02:02 -08:00
Waleed
b0748c82f9 fix(search): removed full text param from built-in search, anthropic provider streaming fix (#2542)
* fix(search): removed full text param from built-in search, anthropic provider streaming fix

* rewrite gemini provider with official sdk + add thinking capability

* vertex gemini consolidation

* never silently use different model

* pass oauth client through the googleAuthOptions param directly

* make server side provider registry

* remove comments

* take oauth selector below model selector

---------

Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-22 23:57:11 -08:00
Waleed
f5245f3eca fix(billing): add line items for wand (#2543)
* fix(billing): add line items for wand

* ack pr comment
2025-12-22 23:06:14 -08:00
Waleed
f2ef5f0811 feat(i18n): update translations (#2541)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-22 21:17:01 -08:00
Waleed
37443a7b77 improvement(kb): improve chunkers, respect user-specified chunk configurations, added tests (#2539)
* improvement(kb): improve chunkers, respect user-specified chunk configurations, added tests

* ack PR commnets

* updated docs

* cleanup
2025-12-22 20:47:29 -08:00
lif
e0d96e2126 fix(oauth): add User-Agent header to Reddit token refresh (#2517)
Reddit API requires User-Agent header for all requests including OAuth
token refresh. Without it, requests fail with 403 error after the
initial token expires.

Fixes #1822
2025-12-22 20:09:38 -08:00
Waleed
827dd0466f feat(i18n): update translations (#2538)
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
2025-12-22 20:09:03 -08:00
Vikhyath Mondreti
ccd92b9054 improvement(block-metadata): remove references to yaml syntax in best practices (#2537) 2025-12-22 20:07:29 -08:00
Vikhyath Mondreti
6af291ca9f improvement(pricing): increase free user limit to 20 usd (#2536)
* improvement(pricing): increase free user limit to 20 usd

* make gemini pricing accurate

* generate migration for db constant

* update docs

* test notif data
2025-12-22 19:51:22 -08:00
Vikhyath Mondreti
be9ab4c833 fix(dashboard): flash based on loading check (#2535) 2025-12-22 18:49:41 -08:00
Emir Karabeg
ab3a3d12fe improvement(logs): dashboard/logs optimizations and improvements (#2414)
* improvement(logs): dashboard/logs optimizations and improvements

* improvement: addressed comments

* improvement: loading

* cleanup

* ack PR comments

* cleanup more

---------

Co-authored-by: waleed <walif6@gmail.com>
2025-12-22 16:44:10 -08:00
Waleed
e01d4cb990 feat(i18n): update translations (#2530)
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
2025-12-22 16:11:59 -08:00
Vikhyath Mondreti
8c2c49eb14 fix(models): memory fixes, provider code typing, cost calculation cleanup (#2515)
* improvement(memory): should not be block scoped

* cleanup provider code

* update other providers

* cleanup fallback code

* remove flaky test

* fix memory

* move streaming fix to right level

* cleanup streaming server

* make memories workspace scoped

* update docs

* fix dedup logic

* fix streaming parsing issue for multiple onStream calls for same block

* fix(provieders): support parallel agent tool calls, consolidate utils

* address greptile comments

* remove all comments

* fixed openrouter response format handling, groq & cerebras response formats

* removed duplicate type

---------

Co-authored-by: waleed <walif6@gmail.com>
2025-12-22 15:59:53 -08:00
Waleed
086982c7a3 improvement(docs): update og image (#2529) 2025-12-22 13:16:39 -08:00
Waleed
2b7807a7de feat(i18n): update translations (#2526)
* feat(i18n): update translations

* fixed build

---------

Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-22 11:20:42 -08:00
Waleed
2d4a660246 feat(intercom): added additional params to intercom tools (#2523) 2025-12-22 10:24:49 -08:00
Siddharth Ganesan
e981b1dc1b improvement(copilot): improve copilot metadata processing and tool output memory (#2516) 2025-12-21 23:24:55 -08:00
Adam Gough
58fcb4ed80 fix(jira): added uuid (#2513)
* added uuid param

* revmoed comment

* fixed naming
2025-12-21 22:04:05 -08:00
Vikhyath Mondreti
e4d211c2f0 improvement(supabase): allow non-public schemas (#2511) 2025-12-21 21:20:36 -08:00
Waleed
f21eaf1f10 fix(vars): add socket persistence when variable names are changed, update variable name normalization to match block name normalization, added space constraint on envvar names (#2508)
* fix(vars): add socket persistence when variable names are changed, update variable name normalization to match block name normalization, added space constraint on envvar names

* removed redundant queueing, removed unused immediate flag from sockets ops

* ack PR comments
2025-12-20 20:35:28 -08:00
Waleed
942da8815d fix(notion): remove hyphenation of incoming page ID's (#2507) 2025-12-20 19:35:44 -08:00
Waleed
214632604d feat(settings): added snap to grid slider to settings (#2504)
* feat(settings): added snap to grid slider to settings

* ack PR comments

* ack PR comment
2025-12-20 16:54:40 -08:00
Vikhyath Mondreti
1ddbac1d2e fix(code): cmd-z after refocus should not clear subblock (#2503) 2025-12-20 16:26:30 -08:00
Waleed
35a57bfad4 feat(audit): added audit log for billing line items (#2500)
* feat(audit): added audit log for billing line items

* remove migration

* reran migrations after resolving merge conflict

* ack PR comment
2025-12-20 14:10:01 -08:00
Waleed
f8678b179a fix(migrations): remove duplicate indexes (#2501) 2025-12-20 13:55:26 -08:00
Siddharth Ganesan
0ebb45b2db feat(copilot): show inline prompt to increase usage limit or upgrade plan (#2465)
* Add limit v1

* fix ui for copilot upgrade limit inline

* open settings modal

* Upgrade plan button

* Remove comments

* Ishosted check

* Fix hardcoded bumps

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Waleed <walif6@gmail.com>
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-20 13:46:06 -08:00
Waleed
6247f421bc improvement(queries): add workspaceId to execution logs, added missing indexes based on query insights (#2471)
* improvement(queries): added missing indexes

* add workspaceId to execution logs

* remove migration to prep merge

* regen migration

---------

Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-20 13:33:10 -08:00
Waleed
6385d82b85 improvement(ui): updated kb tag component to match existing table (#2498)
* improvement(ui): updated kb tag component to match existing table

* fix selection

* fix more ui

---------

Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-19 22:26:24 -08:00
Waleed
f91beb324e fix(condition): fixed deactivated edges when if and else if conditions connected to same destination block, added 100+ unit tests (#2497) 2025-12-19 21:12:49 -08:00
Priyanshu Solanki
4f69b171f2 feat(kb): Adding support for more tags to the KB (#2433)
* creating boolean, number and date tags with different equality matchings

* feat: add UI for tag field types with filter operators

- Update base-tags-modal with field type selector dropdown
- Update document-tags-modal with different input types per fieldType
- Update knowledge-tag-filters with operator dropdown and type-specific inputs
- Update search routes to support all tag slot types
- Update hook to use AllTagSlot type

* feat: add field type support to document-tag-entry component

- Add dropdown with all field types (Text, Number, Date, Boolean)
- Render different value inputs based on field type
- Update slot counting to include all field types (28 total)

* fix: resolve MAX_TAG_SLOTS error and z-index dropdown issue

- Replace MAX_TAG_SLOTS with totalSlots in document-tag-entry
- Add z-index to SelectContent in base-tags-modal for proper layering

* fix: handle non-text columns in getTagUsage query

- Only apply empty string check for text columns (tag1-tag7)
- Numeric/date/boolean columns only check IS NOT NULL
- Cast values to text for consistent output

* refactor: use EMCN components for KB UI

- Replace @/components/ui imports with @/components/emcn
- Use Combobox instead of Select for dropdowns
- Use EMCN Switch, Button, Input, Label components
- Remove unsupported 'size' prop from EMCN Button

* fix: layout for delete button next to date picker

- Change delete button from absolute to inline positioning
- Add proper column width (w-10) for delete button
- Add empty header cell for delete column
- Apply fix to both document-tag-entry and knowledge-tag-filters

* fix: clear value when switching tag field type

- Reset value to empty when changing type (e.g., boolean to text)
- Reset value when tag name changes and type differs
- Prevents 'true'/'false' from sticking in text inputs

* feat: add full support for number/date/boolean tag filtering in KB search

- Copy all tag types (number, date, boolean) from document to embedding records
- Update processDocumentTags to handle all field types with proper type conversion
- Add number/date/boolean columns to document queries in checkDocumentWriteAccess
- Update chunk creation to inherit all tag types from parent document
- Add getSearchResultFields helper for consistent query result selection
- Support structured filters with operators (eq, gt, lt, between, etc.)
- Fix search queries to include all 28 tag fields in results

* fixing tags import issue

* fix rm file

* reduced number to 3 and date to 2

* fixing lint

* fixed the prop size issue

* increased number from 3 to 5 and boolean from 7 to 2

* fixed number the sql stuff

* progress

* fix document tag and kb tag modals

* update datepicker emcn component

* fix ui

* progress on KB block tags UI

* fix issues with date filters

* fix execution parsing of types for KB tags

* remove migration before merge

* regen migrations

* fix tests and types

* address greptile comments

* fix more greptile comments

* fix filtering logic for multiple of same row

* fix tests

---------

Co-authored-by: priyanshu.solanki <priyanshu.solanki@saviynt.com>
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
2025-12-19 21:00:35 -08:00
Waleed
a1a189f328 fix(condition): remove dead code from condition handler, defer resolution to function execute tool like the function block (#2496) 2025-12-19 20:18:42 -08:00
Waleed
7dc48510dc fix(tool-input): allow multiple instances of workflow block or kb tools as agent tools (#2495)
* fix(tool-input): allow multiple instances of workflow block or kb tools as agent tools

* ack PR comments
2025-12-19 19:19:42 -08:00
Waleed
93fe68785e fix(subflow): prevent auto-connect across subflow edges with keyboard shortcut block additions, make positioning for auto-drop smarter (#2489)
* fix(subflow): prevent auto-connect across subflow edges with keyboard shortcut block additions, make positioning for auto-drop smarter

* stronger typing
2025-12-19 18:31:29 -08:00
Vikhyath Mondreti
50c1c6775b fix(logs): always capture cost, logging size failures (#2487)
* fix(logs): truncate strings in tracespans crashing insertion

* add depth check to not crash

* custom serialization to not break tracepsans

* log costs even in log creation failure

* code cleanup?

* fix typing

* remove null bytes

* increase char limit

* reduce char limit
2025-12-19 17:39:18 -08:00
Waleed
df5f823d1c fix(autofill): add dummy inputs to prevent browser autofill for various fields, prevent having 0 workflows in workspace (#2482)
* fix(autofill): add dummy inputs to prevent browser autofill for various fields, prevent having 0 workflows in workspace

* cleanup

* ack PR comments

* fix failing test
2025-12-19 15:29:01 -08:00
Waleed
094f87fa1f fix(edges): prevent autoconnect outgoing edges from response block (#2479) 2025-12-19 13:19:53 -08:00
Waleed
65efa039da fix(redaction): consolidate redaction utils, apply them to inputs and outputs before persisting logs (#2478)
* fix(redaction): consolidate redaction utils, apply them to inputs and outputs before persisting logs

* added testing utils
2025-12-19 13:17:51 -08:00
Waleed
6b15a50311 improvement(ui): updated subscription and team settings modals to emcn (#2477) 2025-12-19 11:41:47 -08:00
Waleed
65787d7cc3 fix(api-keys): remove billed account check during api key generation (#2476) 2025-12-19 11:33:00 -08:00
Waleed
656a6b8abd fix(sanitization): added more input sanitization to tool routes (#2475)
* fix(sanitization): added more input sanitization to tool routes

* ack PR comments
2025-12-19 01:27:20 -08:00
Waleed
889b44c90a improvement(db): added missing indexes for common access patterns (#2473) 2025-12-19 00:46:10 -08:00
Waleed
3a33ec929f fix(authentication): added auth checks for various routes, mysql and postgres query validation, csp improvements (#2472) 2025-12-19 00:44:52 -08:00
Waleed
24356d99ec fix(unsubscribe): add one-click unsubscribe (#2467)
* fix(unsubscribe): add one-click unsubscribe

* ack Pr comments
2025-12-18 21:16:24 -08:00
Waleed
6de1c04517 feat(i18n): update translations (#2470) 2025-12-18 21:01:51 -08:00
Adam Gough
38be2b76c4 fix(slack): respect message limit, remove duplicate canonical representations (#2469)
* fix(slack): respect message limit, remove duplicate canonical representations

* removed comment

* updated docs script

---------

Co-authored-by: aadamgough <adam@sim.ai>
2025-12-18 20:37:14 -08:00
Waleed
a2f14cab54 feat(og): add opengraph images for templates, blogs, and updated existing opengraph image for all other pages (#2466)
* feat(og): add opengraph images for templates, blogs, and updated existing opengraph image for all other pages

* added to workspace templates page as well

* ack PR comments
2025-12-18 19:15:06 -08:00
Priyanshu Solanki
474762d6fb improvement(hitl): show resume url in tag dropdown within hitl block (#2464)
* fixed the human in the loop url resolution:

* greptilecomments

* greptilecomments

---------

Co-authored-by: Pbonmars-20031006@users.noreply.github.com
2025-12-18 19:43:37 -07:00
Waleed
0005c3e465 feat(i18n): update translations (#2463)
Co-authored-by: aadamgough <aadamgough@users.noreply.github.com>
2025-12-18 18:18:31 -08:00
Adam Gough
fc40b4f7af fix(tools): improved slack output ux and jira params (#2462)
* fixed slack output

* updated jira

* removed comment

* change team uuid
2025-12-18 17:56:10 -08:00
Priyanshu Solanki
2a7f51a2f6 adding clamps for subflow drag and drops of blocks (#2460)
Co-authored-by: priyanshu.solanki <priyanshu.solanki@saviynt.com>
2025-12-18 16:57:58 -07:00
Waleed
90c3c43607 fix(blog): add back unoptimized tag, fix styling (#2461) 2025-12-18 15:55:47 -08:00
Siddharth Ganesan
83d813a7cc improvement(copilot): add edge handle validation to copilot edit workflow (#2448)
* Add edge handle validation

* Clean

* Fix lint

* Fix empty target handle
2025-12-18 15:40:00 -08:00
Vikhyath Mondreti
811c736705 fix failing lint from os contributor (#2459) 2025-12-18 15:03:31 -08:00
Vikhyath Mondreti
c6757311af Merge branch 'main' into staging 2025-12-18 14:58:48 -08:00
div
b5b12ba2d1 fix(teams): webhook notifications crash (#2426)
* fix(docs): clarify working directory for drizzle migration (#2375)

* fix(landing): prevent url encoding for spaces for footer links (#2376)

* fix: handle empty body.value in Teams webhook notification parser (#2425)

* Update directory path for migration command

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Waleed <walif6@gmail.com>
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
Co-authored-by: Siddharth Ganesan <33737564+Sg312@users.noreply.github.com>
Co-authored-by: mosa <mosaxiv@gmail.com>
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
Co-authored-by: Adam Gough <77861281+aadamgough@users.noreply.github.com>
Co-authored-by: Shivam <shivamprajapati035@gmail.com>
Co-authored-by: Gaurav Chadha <65453826+Chadha93@users.noreply.github.com>
Co-authored-by: root <root@Delta.localdomain>
2025-12-18 14:57:27 -08:00
Waleed
0d30676e34 fix(blog): revert back to using next image tags in blog (#2458) 2025-12-18 13:51:58 -08:00
Waleed
36bdccb449 fix(ui): fixed visibility issue on reset passowrd page (#2456) 2025-12-18 13:24:32 -08:00
Waleed
f45730a89e improvement(helm): added SSO and cloud storage variables to helm charts (#2454)
* improvement(helm): added SSO and cloud storage variables to helm charts

* consolidated sf types
2025-12-18 13:12:21 -08:00
Vikhyath Mondreti
04cd837e9c fix(notifs): inactivity polling filters, consolidate trigger types, minor consistency issue with filter parsing (#2452)
* fix(notifs-slac): display name for account

* fix inactivity polling check

* consolidate trigger types

* remove redundant defaults

* fix
2025-12-18 12:49:58 -08:00
Waleed
c23130a26e Revert "fix(salesforce): updated to more flexible oauth that allows production, developer, and custom domain salesforce orgs (#2441) (#2444)" (#2453)
This reverts commit 9da19e84b7.
2025-12-18 12:46:24 -08:00
Priyanshu Solanki
7575cd6f27 Merge pull request #2451 from simstudioai/improvement/SIM-514-useWebhookUrl-conditioning
improvement(useWebhookUrl): GET api/webhook is called when useWebhookUrl:true
2025-12-18 13:31:06 -07:00
priyanshu.solanki
fbde64f0b0 fixing lint errors 2025-12-18 13:04:25 -07:00
Waleed
25f7ed20f6 feat(docs): added 404 page for the docs (#2450)
* feat(docs): added 404 page for the docs

* added metadata
2025-12-18 11:46:42 -08:00
priyanshu.solanki
261aa3d72d fixing a react component: 2025-12-18 12:39:47 -07:00
Waleed
9da19e84b7 fix(salesforce): updated to more flexible oauth that allows production, developer, and custom domain salesforce orgs (#2441) (#2444)
* fix(oauth): updated oauth providers that had unstable reference IDs leading to duplicate oauth records (#2441)

* fix(oauth): updated oauth providers that had unstable reference IDs leading to duplicate oauth records

* ack PR comments

* ack PR comments

* cleanup salesforce refresh logic

* ack more PR comments
2025-12-18 11:39:28 -08:00
priyanshu.solanki
e83afc0a62 fixing the useWbehookManangement call to only call the loadwebhookorgenerateurl function when the useWebhookurl flag is true 2025-12-18 12:31:18 -07:00
Vikhyath Mondreti
1720fa8749 feat(compare-schema): ci check to make sure schema.ts never goes out of sync with migrations (#2449)
* feat(compare-schema): ci check to make sure schema.ts never goes out of sync with migrations

* test out of sync [do not merge]

* Revert "test out of sync [do not merge]"

This reverts commit 9771f66b84.
2025-12-18 11:25:19 -08:00
Waleed
f3ad7750af fix(auth): added same-origin validation to forget password route, added confirmation for disable auth FF (#2447)
* fix(auth): added same-origin validation to forget password route, added confirmation for disable auth FF

* ack PR comments
2025-12-18 11:07:25 -08:00
Vikhyath Mondreti
78b7643e65 fix(condition): async execution isolated vm error (#2446)
* fix(condition): async execution isolated vm error

* fix tests
2025-12-18 11:02:01 -08:00
Siddharth Ganesan
7ef1150383 fix(workflow-state, copilot): prevent copilot from setting undefined state, fix order of operations for copilot edit workflow, add sleep tool (#2440)
* Fix copilot ooo

* Add copilot sleep tool

* Fix lint
2025-12-18 09:57:01 -08:00
Waleed
67cfb21d08 v0.5.34: servicenow, code cleanup, prevent cyclic edge connections, custom tool fixes 2025-12-17 23:39:10 -08:00
Waleed
a337af92bc fix(custom-tools): added missing _toolSchema to internal param set for agents calling custom tools (#2445) 2025-12-17 23:38:36 -08:00
Waleed
b4a99779eb feat(i18n): update translations (#2443)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-17 20:55:06 -08:00
Waleed
471cb4747c fix(oauth): updated oauth providers that had unstable reference IDs leading to duplicate oauth records (#2441)
* fix(oauth): updated oauth providers that had unstable reference IDs leading to duplicate oauth records

* ack PR comments
2025-12-17 20:45:38 -08:00
Priyanshu Solanki
491bd783b5 fix(servicenow): update servicenow block to use basic auth instead of oauth (#2435)
* fix adding client ID and secret fields to supprot ouath

* revert servicenow to use basic auth instead of oauth

* fix failing tests

---------

Co-authored-by: priyanshu.solanki <priyanshu.solanki@saviynt.com>
Co-authored-by: waleed <walif6@gmail.com>
2025-12-17 20:41:46 -08:00
Waleed
5516fa39c3 fix(graph): prevent cyclic dependencies in graph following ReactFlow examples (#2439)
* fix(graph): prevent cyclic dependencies in graph following ReactFlow examples

* ack PR comment
2025-12-17 19:13:39 -08:00
Waleed
21fa92bc41 feat(i18n): update translations (#2438)
Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
2025-12-17 18:01:43 -08:00
Vikhyath Mondreti
26ca37328a fix(conditions): make outputs correct (#2437) 2025-12-17 17:15:16 -08:00
Waleed
731997f768 fix(envvars): cleanup unused envvars (#2436)
* fix(envvars): cleanup unused envvars

* removed unused react-google-drive-picker dep
2025-12-17 17:13:01 -08:00
Waleed
1d6975db49 v0.5.33: loops, chat fixes, subflow resizing refactor, terminal updates 2025-12-17 15:45:39 -08:00
Waleed
c4a6d11cc0 fix(condition): used isolated vms for condition block RCE (#2432)
* fix(condition): used isolated vms for condition block RCE

* ack PR comment

* one more

* remove inputForm from sched, update loop condition to also use isolated vm

* hide servicenow
2025-12-17 15:29:25 -08:00
Waleed
7b5405e968 feat(vertex): added vertex to list of supported providers (#2430)
* feat(vertex): added vertex to list of supported providers

* added utils files for each provider, consolidated gemini utils, added dynamic verbosity and reasoning fetcher
2025-12-17 14:57:58 -08:00
Vikhyath Mondreti
1ae3b47f5c fix(inactivity-poll): need to respect level and trigger filters (#2431) 2025-12-17 14:50:33 -08:00
Waleed
3120a785df fix(terminal): fix text wrap for errors and messages with long strings (#2429) 2025-12-17 13:42:43 -08:00
Vikhyath Mondreti
8775e76c32 improvement(subflow): resize vertical height estimate (#2428)
* improvement(node-dims): share constants for node padding

* fix vertical height estimation
2025-12-17 12:07:57 -08:00
Vikhyath Mondreti
9a6c68789d fix(subflow): resizing live update 2025-12-17 11:49:24 -08:00
Waleed
08bc1125bd fix(cmd-k): when navigating to current workspace/workflow, close modal instead of navigating (#2420)
* fix(cmd-k): when navigating to current workspace, close modal instead of navigating

* ack PR comment
2025-12-17 10:21:35 -08:00
Waleed
f4f74da1dc feat(i18n): update translations (#2421)
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com>
2025-12-17 10:21:15 -08:00
Vikhyath Mondreti
de330d80f5 improvement(mcp): restructure mcp tools caching/fetching info to improve UX (#2416)
* feat(mcp): improve cache practice

* restructure mcps fetching, caching, UX indicators

* fix schema

* styling improvements

* fix tooltips and render issue

* fix loading sequence + add redis

---------

Co-authored-by: waleed <walif6@gmail.com>
2025-12-16 21:23:18 -08:00
Emir Karabeg
b7228d57f7 feat(service-now): added service now block (#2404)
* feat(service-now): added service now block

* fix: bun lock

* improvement: fixed @trigger.dev/sdk imports and removal of sentry blocks

* improvement: fixed @trigger.dev/sdk import

* improvement: fixed @trigger.dev/sdk import

* fix(servicenow): save accessTokenExpiresAt on initial OAuth account creation

* docs(servicenow): add ServiceNow tool documentation and icon mapping

* fixing bun lint issues

* fixing username/password fields

* fixing test file for refreshaccesstoken to support instance uri

* removing basic auth and fixing undo-redo/store.ts

* removed import set api code, changed CRUD operations to CRUD_record and added wand configuration to help users to generate JSON Arrays

---------

Co-authored-by: priyanshu.solanki <priyanshu.solanki@saviynt.com>
2025-12-16 21:16:09 -08:00
Waleed
dcbeca1abe fix(subflow): fix json stringification in subflow collections (#2419)
* fix(subflow): fix json stringification in subflow collections

* cleanup
2025-12-16 20:47:58 -08:00
Waleed
27ea333974 fix(chat): fix stale closure in workflow runner for chat (#2418) 2025-12-16 19:59:02 -08:00
Waleed
9861d3a0ac improvement(helm): added more to helm charts, remove instance selector for various cloud providers (#2412)
* improvement(helm): added more to helm charts, remove instance selector for various cloud providers

* ack PR comment
2025-12-16 18:24:00 -08:00
Waleed
fdbf8be79b fix(logs-search): restored support for log search queries (#2417) 2025-12-16 18:18:46 -08:00
Adam Gough
6f4f4e22f0 fix(loop): increased max loop iterations to 1000 (#2413) 2025-12-16 16:08:56 -08:00
Waleed
837aabca5e v0.5.32: google sheets fix, schedule input format 2025-12-16 15:41:04 -08:00
Vikhyath Mondreti
f7d2c9667f fix(serializer): condition check should check if any condition are met (#2410)
* fix(serializer): condition check should check if any condition are met

* remove comments

* remove more comments
2025-12-16 14:36:40 -08:00
Waleed
29befbc5f6 feat(schedule): add input form to schedule (#2405)
* feat(schedule): add input form to schedule

* change placeholder
2025-12-16 11:23:57 -08:00
Vikhyath Mondreti
f9cfca92bf v0.5.31: add zod as direct dep 2025-12-15 20:40:02 -08:00
Vikhyath Mondreti
9cf8aaee1b fix(sockets): add zod as direct sockets server dep (#2397)
* fix(sockets): add zod as direct sockets server dep

* fix bun lock
2025-12-15 20:25:40 -08:00
799 changed files with 135785 additions and 21069 deletions

View File

@@ -48,6 +48,19 @@ jobs:
ENCRYPTION_KEY: '7cf672e460e430c1fba707575c2b0e2ad5a99dddf9b7b7e3b5646e630861db1c' # dummy key for CI only
run: bun run test
- name: Check schema and migrations are in sync
working-directory: packages/db
run: |
bunx drizzle-kit generate --config=./drizzle.config.ts
if [ -n "$(git status --porcelain ./migrations)" ]; then
echo "❌ Schema and migrations are out of sync!"
echo "Run 'cd packages/db && bunx drizzle-kit generate' and commit the new migrations."
git status --porcelain ./migrations
git diff ./migrations
exit 1
fi
echo "✅ Schema and migrations are in sync"
- name: Build application
env:
NODE_OPTIONS: '--no-warnings'

View File

@@ -188,7 +188,7 @@ DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
Then run the migrations:
```bash
cd apps/sim # Required so drizzle picks correct .env file
cd packages/db # Required so drizzle picks correct .env file
bunx drizzle-kit migrate --config=./drizzle.config.ts
```

View File

@@ -258,8 +258,7 @@ export async function generateMetadata(props: {
const baseUrl = 'https://docs.sim.ai'
const fullUrl = `${baseUrl}${page.url}`
const description = data.description || ''
const ogImageUrl = `${baseUrl}/api/og?title=${encodeURIComponent(data.title)}&category=DOCUMENTATION${description ? `&description=${encodeURIComponent(description)}` : ''}`
const ogImageUrl = `${baseUrl}/api/og?title=${encodeURIComponent(data.title)}`
return {
title: data.title,

View File

@@ -0,0 +1,23 @@
import { DocsBody, DocsPage } from 'fumadocs-ui/page'
export const metadata = {
title: 'Page Not Found',
}
export default function NotFound() {
return (
<DocsPage>
<DocsBody>
<div className='flex min-h-[60vh] flex-col items-center justify-center text-center'>
<h1 className='mb-4 bg-gradient-to-b from-[#8357FF] to-[#6F3DFA] bg-clip-text font-bold text-8xl text-transparent'>
404
</h1>
<h2 className='mb-2 font-semibold text-2xl text-foreground'>Page Not Found</h2>
<p className='text-muted-foreground'>
The page you're looking for doesn't exist or has been moved.
</p>
</div>
</DocsBody>
</DocsPage>
)
}

View File

@@ -39,12 +39,10 @@ async function loadGoogleFont(font: string, weights: string, text: string): Prom
export async function GET(request: NextRequest) {
const { searchParams } = new URL(request.url)
const title = searchParams.get('title') || 'Documentation'
const category = searchParams.get('category') || 'DOCUMENTATION'
const description = searchParams.get('description') || ''
const baseUrl = new URL(request.url).origin
const allText = `${title}${category}${description}docs.sim.ai`
const allText = `${title}docs.sim.ai`
const fontData = await loadGoogleFont('Geist', '400;500;600', allText)
return new ImageResponse(
@@ -59,7 +57,7 @@ export async function GET(request: NextRequest) {
fontFamily: 'Geist',
}}
>
{/* Base gradient layer - very subtle purple tint across the entire image */}
{/* Base gradient layer - subtle purple tint across the entire image */}
<div
style={{
position: 'absolute',
@@ -114,56 +112,25 @@ export async function GET(request: NextRequest) {
{/* Logo */}
<img src={`${baseUrl}/static/logo.png`} alt='sim' height={32} />
{/* Category + Title + Description */}
<div
{/* Title */}
<span
style={{
display: 'flex',
flexDirection: 'column',
gap: 12,
fontSize: getTitleFontSize(title),
fontWeight: 600,
color: '#ffffff',
lineHeight: 1.1,
letterSpacing: '-0.02em',
}}
>
<span
style={{
fontSize: 15,
fontWeight: 600,
color: '#802fff',
letterSpacing: '0.02em',
}}
>
{category}
</span>
<span
style={{
fontSize: getTitleFontSize(title),
fontWeight: 600,
color: '#ffffff',
lineHeight: 1.1,
letterSpacing: '-0.02em',
}}
>
{title}
</span>
{description && (
<span
style={{
fontSize: 18,
fontWeight: 400,
color: '#a1a1aa',
lineHeight: 1.4,
marginTop: 4,
}}
>
{description.length > 100 ? `${description.slice(0, 100)}...` : description}
</span>
)}
</div>
{title}
</span>
{/* Footer */}
<span
style={{
fontSize: 15,
fontSize: 20,
fontWeight: 500,
color: '#52525b',
color: '#71717a',
}}
>
docs.sim.ai

View File

@@ -58,7 +58,7 @@ export const metadata = {
'Comprehensive documentation for Sim - the visual workflow builder for AI applications. Create powerful AI agents, automation workflows, and data processing pipelines.',
images: [
{
url: 'https://docs.sim.ai/api/og?title=Sim%20Documentation&category=DOCUMENTATION',
url: 'https://docs.sim.ai/api/og?title=Sim%20Documentation',
width: 1200,
height: 630,
alt: 'Sim Documentation',
@@ -72,7 +72,7 @@ export const metadata = {
'Comprehensive documentation for Sim - the visual workflow builder for AI applications.',
creator: '@simdotai',
site: '@simdotai',
images: ['https://docs.sim.ai/api/og?title=Sim%20Documentation&category=DOCUMENTATION'],
images: ['https://docs.sim.ai/api/og?title=Sim%20Documentation'],
},
robots: {
index: true,

View File

@@ -6,7 +6,10 @@ import { source } from '@/lib/source'
export const revalidate = false
export async function GET(_req: NextRequest, { params }: { params: Promise<{ slug?: string[] }> }) {
export async function GET(
_request: NextRequest,
{ params }: { params: Promise<{ slug?: string[] }> }
) {
const { slug } = await params
let lang: (typeof i18n.languages)[number] = i18n.defaultLanguage

File diff suppressed because one or more lines are too long

View File

@@ -13,6 +13,7 @@ import {
BrainIcon,
BrowserUseIcon,
CalendlyIcon,
CirclebackIcon,
ClayIcon,
ConfluenceIcon,
CursorIcon,
@@ -40,6 +41,7 @@ import {
GoogleSlidesIcon,
GoogleVaultIcon,
GrafanaIcon,
GrainIcon,
HubspotIcon,
HuggingFaceIcon,
HunterIOIcon,
@@ -85,6 +87,7 @@ import {
SendgridIcon,
SentryIcon,
SerperIcon,
ServiceNowIcon,
SftpIcon,
ShopifyIcon,
SlackIcon,
@@ -119,116 +122,119 @@ import {
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
export const blockTypeToIconMap: Record<string, IconComponent> = {
calendly: CalendlyIcon,
mailchimp: MailchimpIcon,
postgresql: PostgresIcon,
twilio_voice: TwilioIcon,
elasticsearch: ElasticsearchIcon,
rds: RDSIcon,
translate: TranslateIcon,
dynamodb: DynamoDBIcon,
wordpress: WordpressIcon,
tavily: TavilyIcon,
zendesk: ZendeskIcon,
youtube: YouTubeIcon,
supabase: SupabaseIcon,
vision: EyeIcon,
zoom: ZoomIcon,
confluence: ConfluenceIcon,
arxiv: ArxivIcon,
webflow: WebflowIcon,
pinecone: PineconeIcon,
apollo: ApolloIcon,
whatsapp: WhatsAppIcon,
typeform: TypeformIcon,
qdrant: QdrantIcon,
shopify: ShopifyIcon,
asana: AsanaIcon,
sqs: SQSIcon,
apify: ApifyIcon,
memory: BrainIcon,
gitlab: GitLabIcon,
polymarket: PolymarketIcon,
serper: SerperIcon,
linear: LinearIcon,
exa: ExaAIIcon,
telegram: TelegramIcon,
salesforce: SalesforceIcon,
hubspot: HubspotIcon,
hunter: HunterIOIcon,
linkup: LinkupIcon,
mongodb: MongoDBIcon,
airtable: AirtableIcon,
discord: DiscordIcon,
ahrefs: AhrefsIcon,
neo4j: Neo4jIcon,
tts: TTSIcon,
jina: JinaAIIcon,
google_docs: GoogleDocsIcon,
perplexity: PerplexityIcon,
google_search: GoogleIcon,
x: xIcon,
kalshi: KalshiIcon,
google_calendar: GoogleCalendarIcon,
zep: ZepIcon,
posthog: PosthogIcon,
grafana: GrafanaIcon,
google_slides: GoogleSlidesIcon,
microsoft_planner: MicrosoftPlannerIcon,
thinking: BrainIcon,
pipedrive: PipedriveIcon,
airtable: AirtableIcon,
apify: ApifyIcon,
apollo: ApolloIcon,
arxiv: ArxivIcon,
asana: AsanaIcon,
browser_use: BrowserUseIcon,
calendly: CalendlyIcon,
circleback: CirclebackIcon,
clay: ClayIcon,
confluence: ConfluenceIcon,
cursor: CursorIcon,
datadog: DatadogIcon,
discord: DiscordIcon,
dropbox: DropboxIcon,
stagehand: StagehandIcon,
google_forms: GoogleFormsIcon,
duckduckgo: DuckDuckGoIcon,
dynamodb: DynamoDBIcon,
elasticsearch: ElasticsearchIcon,
elevenlabs: ElevenLabsIcon,
exa: ExaAIIcon,
file: DocumentIcon,
mistral_parse: MistralIcon,
firecrawl: FirecrawlIcon,
github: GithubIcon,
gitlab: GitLabIcon,
gmail: GmailIcon,
google_calendar: GoogleCalendarIcon,
google_docs: GoogleDocsIcon,
google_drive: GoogleDriveIcon,
google_forms: GoogleFormsIcon,
google_groups: GoogleGroupsIcon,
google_search: GoogleIcon,
google_sheets: GoogleSheetsIcon,
google_slides: GoogleSlidesIcon,
google_vault: GoogleVaultIcon,
grafana: GrafanaIcon,
grain: GrainIcon,
hubspot: HubspotIcon,
huggingface: HuggingFaceIcon,
hunter: HunterIOIcon,
image_generator: ImageIcon,
incidentio: IncidentioIcon,
intercom: IntercomIcon,
jina: JinaAIIcon,
jira: JiraIcon,
kalshi: KalshiIcon,
knowledge: PackageSearchIcon,
linear: LinearIcon,
linkedin: LinkedInIcon,
linkup: LinkupIcon,
mailchimp: MailchimpIcon,
mailgun: MailgunIcon,
mem0: Mem0Icon,
memory: BrainIcon,
microsoft_excel: MicrosoftExcelIcon,
microsoft_planner: MicrosoftPlannerIcon,
microsoft_teams: MicrosoftTeamsIcon,
mistral_parse: MistralIcon,
mongodb: MongoDBIcon,
mysql: MySQLIcon,
neo4j: Neo4jIcon,
notion: NotionIcon,
onedrive: MicrosoftOneDriveIcon,
openai: OpenAIIcon,
outlook: OutlookIcon,
incidentio: IncidentioIcon,
onedrive: MicrosoftOneDriveIcon,
resend: ResendIcon,
google_vault: GoogleVaultIcon,
sharepoint: MicrosoftSharepointIcon,
huggingface: HuggingFaceIcon,
sendgrid: SendgridIcon,
video_generator: VideoIcon,
smtp: SmtpIcon,
google_groups: GoogleGroupsIcon,
mailgun: MailgunIcon,
clay: ClayIcon,
jira: JiraIcon,
search: SearchIcon,
linkedin: LinkedInIcon,
wealthbox: WealthboxIcon,
notion: NotionIcon,
elevenlabs: ElevenLabsIcon,
microsoft_teams: MicrosoftTeamsIcon,
github: GithubIcon,
sftp: SftpIcon,
ssh: SshIcon,
google_drive: GoogleDriveIcon,
sentry: SentryIcon,
reddit: RedditIcon,
parallel_ai: ParallelIcon,
spotify: SpotifyIcon,
stripe: StripeIcon,
perplexity: PerplexityIcon,
pinecone: PineconeIcon,
pipedrive: PipedriveIcon,
polymarket: PolymarketIcon,
postgresql: PostgresIcon,
posthog: PosthogIcon,
qdrant: QdrantIcon,
rds: RDSIcon,
reddit: RedditIcon,
resend: ResendIcon,
s3: S3Icon,
trello: TrelloIcon,
mem0: Mem0Icon,
knowledge: PackageSearchIcon,
intercom: IntercomIcon,
twilio_sms: TwilioIcon,
duckduckgo: DuckDuckGoIcon,
salesforce: SalesforceIcon,
search: SearchIcon,
sendgrid: SendgridIcon,
sentry: SentryIcon,
serper: SerperIcon,
servicenow: ServiceNowIcon,
sftp: SftpIcon,
sharepoint: MicrosoftSharepointIcon,
shopify: ShopifyIcon,
slack: SlackIcon,
datadog: DatadogIcon,
microsoft_excel: MicrosoftExcelIcon,
image_generator: ImageIcon,
google_sheets: GoogleSheetsIcon,
wikipedia: WikipediaIcon,
cursor: CursorIcon,
firecrawl: FirecrawlIcon,
mysql: MySQLIcon,
browser_use: BrowserUseIcon,
smtp: SmtpIcon,
spotify: SpotifyIcon,
sqs: SQSIcon,
ssh: SshIcon,
stagehand: StagehandIcon,
stripe: StripeIcon,
stt: STTIcon,
supabase: SupabaseIcon,
tavily: TavilyIcon,
telegram: TelegramIcon,
thinking: BrainIcon,
translate: TranslateIcon,
trello: TrelloIcon,
tts: TTSIcon,
twilio_sms: TwilioIcon,
twilio_voice: TwilioIcon,
typeform: TypeformIcon,
video_generator: VideoIcon,
vision: EyeIcon,
wealthbox: WealthboxIcon,
webflow: WebflowIcon,
whatsapp: WhatsAppIcon,
wikipedia: WikipediaIcon,
wordpress: WordpressIcon,
x: xIcon,
youtube: YouTubeIcon,
zendesk: ZendeskIcon,
zep: ZepIcon,
zoom: ZoomIcon,
}

View File

@@ -111,26 +111,24 @@ Verschiedene Blocktypen erzeugen unterschiedliche Ausgabestrukturen. Hier ist, w
```json
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
"selectedOption": "condition-1"
}
```
### Ausgabefelder des Condition-Blocks
- **content**: Der ursprüngliche, durchgeleitete Inhalt
- **conditionResult**: Boolesches Ergebnis der Bedingungsauswertung
- **selectedPath**: Informationen über den ausgewählten Pfad
- **blockId**: ID des nächsten Blocks im ausgewählten Pfad
- **blockType**: Typ des nächsten Blocks
- **blockTitle**: Titel des nächsten Blocks
- **selectedConditionId**: ID der ausgewählten Bedingung
- **selectedOption**: ID der ausgewählten Bedingung
</Tab>
<Tab>

View File

@@ -49,40 +49,40 @@ Die Modellaufschlüsselung zeigt:
<Tabs items={['Hosted Models', 'Bring Your Own API Key']}>
<Tab>
**Gehostete Modelle** - Sim stellt API-Schlüssel mit einem 2,5-fachen Preismultiplikator bereit:
**Gehostete Modelle** - Sim stellt API-Schlüssel mit einem 2-fachen Preismultiplikator bereit:
**OpenAI**
| Modell | Basispreis (Eingabe/Ausgabe) | Gehosteter Preis (Eingabe/Ausgabe) |
|-------|---------------------------|----------------------------|
| 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 |
| GPT-5.1 | 1,25 $ / 10,00 $ | 2,50 $ / 20,00 $ |
| GPT-5 | 1,25 $ / 10,00 $ | 2,50 $ / 20,00 $ |
| GPT-5 Mini | 0,25 $ / 2,00 $ | 0,50 $ / 4,00 $ |
| GPT-5 Nano | 0,05 $ / 0,40 $ | 0,10 $ / 0,80 $ |
| GPT-4o | 2,50 $ / 10,00 $ | 5,00 $ / 20,00 $ |
| GPT-4.1 | 2,00 $ / 8,00 $ | 4,00 $ / 16,00 $ |
| GPT-4.1 Mini | 0,40 $ / 1,60 $ | 0,80 $ / 3,20 $ |
| GPT-4.1 Nano | 0,10 $ / 0,40 $ | 0,20 $ / 0,80 $ |
| o1 | 15,00 $ / 60,00 $ | 30,00 $ / 120,00 $ |
| o3 | 2,00 $ / 8,00 $ | 4,00 $ / 16,00 $ |
| o4 Mini | 1,10 $ / 4,40 $ | 2,20 $ / 8,80 $ |
**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 |
| Claude Opus 4.5 | 5,00 $ / 25,00 $ | 10,00 $ / 50,00 $ |
| Claude Opus 4.1 | 15,00 $ / 75,00 $ | 30,00 $ / 150,00 $ |
| Claude Sonnet 4.5 | 3,00 $ / 15,00 $ | 6,00 $ / 30,00 $ |
| Claude Sonnet 4.0 | 3,00 $ / 15,00 $ | 6,00 $ / 30,00 $ |
| Claude Haiku 4.5 | 1,00 $ / 5,00 $ | 2,00 $ / 10,00 $ |
**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 |
| Gemini 3 Pro Preview | 2,00 $ / 12,00 $ | 4,00 $ / 24,00 $ |
| Gemini 2.5 Pro | 1,25 $ / 10,00 $ | 2,50 $ / 20,00 $ |
| Gemini 2.5 Flash | 0,30 $ / 2,50 $ | 0,60 $ / 5,00 $ |
*Der 2,5-fache Multiplikator deckt Infrastruktur- und API-Verwaltungskosten ab.*
*Der 2x-Multiplikator deckt Infrastruktur- und API-Verwaltungskosten ab.*
</Tab>
<Tab>
@@ -105,28 +105,32 @@ Die Modellaufschlüsselung zeigt:
Die angezeigten Preise entsprechen den Tarifen vom 10. September 2025. Überprüfen Sie die Dokumentation der Anbieter für aktuelle Preise.
</Callout>
## Bring Your Own Key (BYOK)
Sie können Ihre eigenen API-Schlüssel für gehostete Modelle (OpenAI, Anthropic, Google, Mistral) unter **Einstellungen → BYOK** verwenden, um Basispreise zu zahlen. Schlüssel werden verschlüsselt und gelten arbeitsbereichsweit.
## Strategien zur Kostenoptimierung
- **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.
- **Modellauswahl**: Wählen Sie Modelle basierend auf der Aufgabenkomplexität. Einfache Aufgaben können GPT-4.1-nano verwenden, während komplexes Reasoning o1 oder Claude Opus erfordern könnte.
- **Prompt Engineering**: Gut strukturierte, prägnante Prompts reduzieren den Token-Verbrauch ohne Qualitätsverlust.
- **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.
- **Caching und Wiederverwendung**: Speichern Sie häufig verwendete Ergebnisse in Variablen oder Dateien, um wiederholte AI-Modellaufrufe zu vermeiden.
- **Batch-Verarbeitung**: Verarbeiten Sie mehrere Elemente in einer einzigen AI-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
- **Nutzungslimits**: Plangrenzen mit visuellen Fortschrittsanzeigen
- **Aktuelle Nutzung**: Echtzeit-Nutzung und Kosten für den aktuellen Zeitraum
- **Nutzungslimits**: Plan-Limits mit visuellen Fortschrittsindikatoren
- **Abrechnungsdetails**: Prognostizierte Gebühren und Mindestverpflichtungen
- **Planverwaltung**: Upgrade-Optionen und Abrechnungsverlauf
- **Plan-Verwaltung**: Upgrade-Optionen und Abrechnungsverlauf
### Programmatische Nutzungsverfolgung
### Programmatisches Nutzungs-Tracking
Sie können Ihre aktuelle Nutzung und Limits programmatisch über die API abfragen:
**Endpunkt:**
**Endpoint:**
```text
GET /api/users/me/usage-limits
@@ -172,69 +176,69 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
```
**Rate-Limit-Felder:**
- `requestsPerMinute`: Dauerhafte Rate-Begrenzung (Tokens werden mit dieser Rate aufgefüllt)
- `maxBurst`: Maximale Tokens, die Sie ansammeln können (Burst-Kapazität)
- `remaining`: Aktuell verfügbare Tokens (können bis zu `maxBurst` sein)
- `requestsPerMinute`: Dauerhaftes Rate-Limit (Tokens werden mit dieser Rate aufgefüllt)
- `maxBurst`: Maximale Tokens, die Sie akkumulieren können (Burst-Kapazität)
- `remaining`: Aktuell verfügbare Tokens (kann bis zu `maxBurst` betragen)
**Antwortfelder:**
- `currentPeriodCost` spiegelt die Nutzung in der aktuellen Abrechnungsperiode wider
- `limit` wird von individuellen Limits (Free/Pro) oder gepoolten Organisationslimits (Team/Enterprise) abgeleitet
- `plan` ist der aktive Plan mit der höchsten Priorität, der mit Ihrem Benutzer verknüpft ist
- `currentPeriodCost` spiegelt die Nutzung im aktuellen Abrechnungszeitraum wider
- `limit` wird aus individuellen Limits (Free/Pro) oder gepoolten Organisationslimits (Team/Enterprise) abgeleitet
- `plan` ist der Plan mit der höchsten Priorität, der Ihrem Benutzer zugeordnet ist
## Plan-Limits
Verschiedene Abonnementpläne haben unterschiedliche Nutzungslimits:
Verschiedene Abonnement-Pläne haben unterschiedliche Nutzungslimits:
| Plan | Monatliches Nutzungslimit | Rate-Limits (pro Minute) |
| Plan | Monatliches Nutzungslimit | Ratenlimits (pro Minute) |
|------|-------------------|-------------------------|
| **Free** | $10 | 5 sync, 10 async |
| **Pro** | $100 | 10 sync, 50 async |
| **Team** | $500 (gepoolt) | 50 sync, 100 async |
| **Free** | 20 $ | 5 sync, 10 async |
| **Pro** | 100 $ | 10 sync, 50 async |
| **Team** | 500 $ (gemeinsam) | 50 sync, 100 async |
| **Enterprise** | Individuell | Individuell |
## Abrechnungsmodell
Sim verwendet ein **Basisabonnement + Mehrverbrauch**-Abrechnungsmodell:
Sim verwendet ein **Basis-Abonnement + Mehrverbrauch**-Abrechnungsmodell:
### Wie es funktioniert
### So funktioniert es
**Pro-Plan ($20/Monat):**
- Monatliches Abonnement beinhaltet $20 Nutzung
- Nutzung unter $20 → Keine zusätzlichen Kosten
- Nutzung über $20 → Zahlen Sie den Mehrverbrauch am Monatsende
- Beispiel: $35 Nutzung = $20 (Abonnement) + $15 (Mehrverbrauch)
**Pro-Plan (20 $/Monat):**
- Monatsabonnement beinhaltet 20 $ Nutzung
- Nutzung unter 20 $ → Keine zusätzlichen Gebühren
- Nutzung über 20 $ → Mehrverbrauch am Monatsende zahlen
- Beispiel: 35 $ Nutzung = 20 $ (Abonnement) + 15 $ (Mehrverbrauch)
**Team-Plan ($40/Benutzer/Monat):**
- Gepoolte Nutzung für alle Teammitglieder
- Mehrverbrauch wird aus der Gesamtnutzung des Teams berechnet
**Team-Plan (40 $/Platz/Monat):**
- Gemeinsame Nutzung über alle Teammitglieder
- Mehrverbrauch wird aus der gesamten Team-Nutzung berechnet
- Organisationsinhaber erhält eine Rechnung
**Enterprise-Pläne:**
- Fester monatlicher Preis, kein Mehrverbrauch
- Fester Monatspreis, kein Mehrverbrauch
- Individuelle Nutzungslimits gemäß Vereinbarung
### Schwellenwert-Abrechnung
Wenn der nicht abgerechnete Mehrverbrauch $50 erreicht, berechnet Sim automatisch den gesamten nicht abgerechneten Betrag.
Wenn der nicht abgerechnete Mehrverbrauch 50 $ erreicht, rechnet Sim automatisch den gesamten nicht abgerechneten Betrag ab.
**Beispiel:**
- Tag 10: $70 Mehrverbrauch → Sofortige Abrechnung von $70
- Tag 15: Zusätzliche $35 Nutzung ($105 insgesamt) → Bereits abgerechnet, keine Aktion
- Tag 20: Weitere $50 Nutzung ($155 insgesamt, $85 nicht abgerechnet) → Sofortige Abrechnung von $85
- Tag 10: 70 $ Mehrverbrauch → 70 $ sofort abrechnen
- Tag 15: Zusätzliche 35 $ Nutzung (105 $ gesamt) → Bereits abgerechnet, keine Aktion
- Tag 20: Weitere 50 $ Nutzung (155 $ gesamt, 85 $ nicht abgerechnet) → 85 $ sofort abrechnen
Dies verteilt große Überziehungsgebühren über den Monat, anstatt eine große Rechnung am Ende des Abrechnungszeitraums zu erhalten.
Dies verteilt große Mehrverbrauchsgebühren über den Monat, anstatt einer großen Rechnung am Periodenende.
## Best Practices für Kostenmanagement
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
2. **Budgets festlegen**: Nutzen Sie Plan-Limits 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**: 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
5. **Ähnliche Aufgaben bündeln**: Kombinieren Sie mehrere Anfragen, wenn möglich, um 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
- Entdecken Sie die [externe API](/execution/api) für programmatische Kostenüberwachung
- Sehen Sie sich [Workflow-Optimierungstechniken](/blocks) an, um Kosten zu reduzieren

View File

@@ -35,81 +35,87 @@ Sobald Ihre Dokumente verarbeitet sind, können Sie die einzelnen Chunks anzeige
<Image src="/static/knowledgebase/knowledgebase.png" alt="Dokumentchunk-Ansicht mit verarbeiteten Inhalten" width={800} height={500} />
### Chunk-Konfiguration
- **Standardgröße der Chunks**: 1.024 Zeichen
- **Konfigurierbarer Bereich**: 100-4.000 Zeichen pro Chunk
- **Intelligente Überlappung**: Standardmäßig 200 Zeichen zur Kontexterhaltung
- **Hierarchische Aufteilung**: Respektiert Dokumentstruktur (Abschnitte, Absätze, Sätze)
### Bearbeitungsfunktionen
Beim Erstellen einer Wissensdatenbank können Sie konfigurieren, wie Dokumente in Chunks aufgeteilt werden:
| Einstellung | Einheit | Standard | Bereich | Beschreibung |
|---------|------|---------|-------|-------------|
| **Maximale Chunk-Größe** | Tokens | 1.024 | 100-4.000 | Maximale Größe jedes Chunks (1 Token ≈ 4 Zeichen) |
| **Minimale Chunk-Größe** | Zeichen | 1 | 1-2.000 | Minimale Chunk-Größe, um winzige Fragmente zu vermeiden |
| **Überlappung** | Zeichen | 200 | 0-500 | Kontextüberlappung zwischen aufeinanderfolgenden Chunks |
- **Hierarchische Aufteilung**: Berücksichtigt die Dokumentstruktur (Abschnitte, Absätze, Sätze)
### Bearbeitungsmöglichkeiten
- **Chunk-Inhalt bearbeiten**: Textinhalt einzelner Chunks ändern
- **Chunk-Grenzen anpassen**: Chunks bei Bedarf zusammenführen oder teilen
- **Chunk-Grenzen anpassen**: Chunks nach Bedarf zusammenführen oder aufteilen
- **Metadaten hinzufügen**: Chunks mit zusätzlichem Kontext anreichern
- **Massenoperationen**: Effiziente Verwaltung mehrerer Chunks
- **Massenoperationen**: Mehrere Chunks effizient verwalten
## Erweiterte PDF-Verarbeitung
Für PDF-Dokumente bietet Sim erweiterte Verarbeitungsfunktionen:
### OCR-Unterstützung
Bei Konfiguration mit Azure oder [Mistral OCR](https://docs.mistral.ai/ocr/):
Wenn mit Azure oder [Mistral OCR](https://docs.mistral.ai/ocr/) konfiguriert:
- **Verarbeitung gescannter Dokumente**: Text aus bildbasierten PDFs extrahieren
- **Umgang mit gemischten Inhalten**: Verarbeitung von PDFs mit Text und Bildern
- **Verarbeitung gemischter Inhalte**: PDFs mit Text und Bildern verarbeiten
- **Hohe Genauigkeit**: Fortschrittliche KI-Modelle gewährleisten präzise Textextraktion
## Verwendung des Wissensblocks in Workflows
## Verwendung des Knowledge-Blocks in Workflows
Sobald Ihre Dokumente verarbeitet sind, können Sie sie in Ihren KI-Workflows über den Wissensblock nutzen. Dies ermöglicht Retrieval-Augmented Generation (RAG), wodurch Ihre KI-Agenten auf Ihre Dokumentinhalte zugreifen und darüber nachdenken können, um genauere, kontextbezogene Antworten zu liefern.
Sobald Ihre Dokumente verarbeitet sind, können Sie sie in Ihren KI-Workflows über den Knowledge-Block verwenden. Dies ermöglicht Retrieval-Augmented Generation (RAG), wodurch Ihre KI-Agenten auf Ihre Dokumentinhalte zugreifen und darüber nachdenken können, um genauere, kontextbezogene Antworten zu liefern.
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="Verwendung des Wissensblocks in Workflows" width={800} height={500} />
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="Verwendung des Knowledge-Blocks in Workflows" width={800} height={500} />
### Funktionen des Wissensblocks
- **Semantische Suche**: Relevante Inhalte mit natürlichsprachlichen Abfragen finden
- **Kontextintegration**: Automatisches Einbinden relevanter Chunks in Agenten-Prompts
- **Dynamischer Abruf**: Suche erfolgt in Echtzeit während der Workflow-Ausführung
- **Relevanzbewertung**: Ergebnisse nach semantischer Ähnlichkeit geordnet
### Knowledge-Block-Funktionen
- **Semantische Suche**: Relevante Inhalte mithilfe natürlichsprachlicher Abfragen finden
- **Kontextintegration**: Relevante Chunks automatisch in Agenten-Prompts einbinden
- **Dynamisches Abrufen**: Suche erfolgt in Echtzeit während der Workflow-Ausführung
- **Relevanz-Bewertung**: Ergebnisse nach semantischer Ähnlichkeit sortiert
### Integrationsoptionen
- **System-Prompts**: Kontext für Ihre KI-Agenten bereitstellen
- **Dynamischer Kontext**: Suche und Einbindung relevanter Informationen während Gesprächen
- **Dokumentübergreifende Suche**: Abfrage über Ihre gesamte Wissensdatenbank
- **Gefilterte Suche**: Kombination mit Tags für präzisen Inhaltsabruf
- **System-Prompts**: Stellen Sie Ihren KI-Agenten Kontext bereit
- **Dynamischer Kontext**: Suchen und fügen Sie relevante Informationen während Konversationen hinzu
- **Multi-Dokument-Suche**: Durchsuchen Sie Ihre gesamte Wissensdatenbank
- **Gefilterte Suche**: Kombinieren Sie mit Tags für präzises Abrufen von Inhalten
## Vektorsuchtechnologie
## Vektor-Suchtechnologie
Sim verwendet Vektorsuche, die von [pgvector](https://github.com/pgvector/pgvector) unterstützt wird, um die Bedeutung und den Kontext Ihrer Inhalte zu verstehen:
### Semantisches Verständnis
- **Kontextuelle Suche**: Findet relevante Inhalte, auch wenn exakte Schlüsselwörter nicht übereinstimmen
- **Konzeptbasierte Abfrage**: Versteht Beziehungen zwischen Ideen
- **Konzeptbasiertes Abrufen**: Versteht Beziehungen zwischen Ideen
- **Mehrsprachige Unterstützung**: Funktioniert über verschiedene Sprachen hinweg
- **Synonymerkennung**: Findet verwandte Begriffe und Konzepte
### Suchfunktionen
- **Natürlichsprachige Abfragen**: Stellen Sie Fragen in natürlicher Sprache
- **Natürlichsprachige Abfragen**: Stellen Sie Fragen in einfachem Deutsch
- **Ähnlichkeitssuche**: Finden Sie konzeptionell ähnliche Inhalte
- **Hybridsuche**: Kombiniert Vektor- und traditionelle Schlüsselwortsuche
- **Konfigurierbare Ergebnisse**: Steuern Sie die Anzahl und den Relevanz-Schwellenwert der Ergebnisse
- **Hybride Suche**: Kombiniert Vektor- und traditionelle Schlüsselwortsuche
- **Konfigurierbare Ergebnisse**: Steuern Sie die Anzahl und Relevanzschwelle der Ergebnisse
## Dokumentenverwaltung
### Organisationsfunktionen
- **Massenupload**: Laden Sie mehrere Dateien gleichzeitig über die asynchrone API hoch
- **Verarbeitungsstatus**: Echtzeit-Updates zum Dokumentenverarbeitungsprozess
- **Suchen und Filtern**: Finden Sie Dokumente schnell in großen Sammlungen
- **Massen-Upload**: Laden Sie mehrere Dateien gleichzeitig über die asynchrone API hoch
- **Verarbeitungsstatus**: Echtzeit-Updates zur Dokumentenverarbeitung
- **Suchen und filtern**: Finden Sie Dokumente schnell in großen Sammlungen
- **Metadaten-Tracking**: Automatische Erfassung von Dateiinformationen und Verarbeitungsdetails
### Sicherheit und Datenschutz
- **Sichere Speicherung**: Dokumente werden mit Sicherheit auf Unternehmensniveau gespeichert
- **Zugriffskontrolle**: Workspace-basierte Berechtigungen
- **Verarbeitungsisolierung**: Jeder Workspace hat eine isolierte Dokumentenverarbeitung
- **Verarbeitungsisolierung**: Jeder Workspace hat isolierte Dokumentenverarbeitung
- **Datenaufbewahrung**: Konfigurieren Sie Richtlinien zur Dokumentenaufbewahrung
## Erste Schritte
1. **Navigieren Sie zu Ihrer Wissensdatenbank**: Zugriff über Ihre Workspace-Seitenleiste
2. **Dokumente hochladen**: Drag & Drop oder wählen Sie Dateien zum Hochladen aus
3. **Verarbeitung überwachen**: Beobachten Sie, wie Dokumente verarbeitet und in Chunks aufgeteilt werden
4. **Chunks erkunden**: Sehen und bearbeiten Sie die verarbeiteten Inhalte
5. **Zu Workflows hinzufügen**: Verwenden Sie den Wissensblock, um ihn in Ihre KI-Agenten zu integrieren
2. **Dokumente hochladen**: Ziehen und ablegen oder Dateien zum Hochladen auswählen
3. **Verarbeitung überwachen**: Beobachten Sie, wie Dokumente verarbeitet und in Abschnitte unterteilt werden
4. **Abschnitte erkunden**: Zeigen Sie die verarbeiteten Inhalte an und bearbeiten Sie sie
5. **Zu Workflows hinzufügen**: Verwenden Sie den Knowledge-Block, um mit Ihren KI-Agenten zu integrieren
Die Wissensdatenbank verwandelt Ihre statischen Dokumente in eine intelligente, durchsuchbare Ressource, die Ihre KI-Workflows für fundiertere und kontextbezogenere Antworten nutzen können.
Die Wissensdatenbank verwandelt Ihre statischen Dokumente in eine intelligente, durchsuchbare Ressource, die Ihre KI-Workflows für fundiertere und kontextbezogene Antworten nutzen können.

View File

@@ -0,0 +1,59 @@
---
title: Circleback
description: KI-gestützte Meeting-Notizen und Aufgaben
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="circleback"
color="linear-gradient(180deg, #E0F7FA 0%, #FFFFFF 100%)"
/>
{/* MANUAL-CONTENT-START:intro */}
[Circleback](https://circleback.ai/) ist eine KI-gestützte Plattform, die Meeting-Notizen, Aufgaben, Transkripte und Aufzeichnungen für Ihr Team automatisiert. Wenn ein Meeting abgeschlossen ist, verarbeitet Circleback die Konversation und liefert detaillierte Notizen und Aufgaben sowie ein Transkript und eine Aufzeichnung (sofern verfügbar). Dies hilft Teams dabei, Erkenntnisse effizient zu erfassen, Aufgaben zu verteilen und sicherzustellen, dass nichts übersehen wird alles nahtlos in Ihre Workflows integriert.
Mit der Sim Circleback-Integration können Sie:
- **Detaillierte Meeting-Notizen und Aufgaben erhalten**: Sammeln Sie automatisch gut formatierte Meeting-Zusammenfassungen und verfolgen Sie umsetzbare Aufgaben, die während Ihrer Anrufe besprochen wurden.
- **Auf vollständige Meeting-Aufzeichnungen und Transkripte zugreifen**: Erhalten Sie die vollständige Konversation und die zugehörige Aufzeichnung, um wichtige Momente einfach zu überprüfen oder mit Kollegen zu teilen.
- **Teilnehmerinformationen und Meeting-Kontext erfassen**: Teilnehmerlisten, Meeting-Metadaten und Tags helfen dabei, Ihre Daten organisiert und umsetzbar zu halten.
- **Erkenntnisse direkt in Ihre Workflows liefern**: Lösen Sie Automatisierungen aus oder senden Sie Circleback-Daten an andere Systeme, sobald ein Meeting beendet ist, mithilfe der leistungsstarken Webhook-Trigger von Sim.
**So funktioniert es in Sim:**
Circleback verwendet Webhook-Trigger: Sobald ein Meeting verarbeitet wurde, werden die Daten automatisch an Ihren Agenten oder Ihre Automatisierung übertragen. Sie können weitere Automatisierungen basierend auf folgenden Ereignissen erstellen:
- Meeting abgeschlossen (alle verarbeiteten Daten verfügbar)
- Neue Notizen (Notizen sind verfügbar, noch bevor das Meeting vollständig verarbeitet ist)
- Raw-Webhook-Integration für erweiterte Anwendungsfälle
**Die folgenden Informationen sind in der Circleback-Meeting-Webhook-Payload verfügbar:**
| Feld | Typ | Beschreibung |
|----------------|---------|----------------------------------------------------|
| `id` | number | Circleback Meeting-ID |
| `name` | string | Meeting-Titel |
| `url` | string | Virtueller Meeting-Link (Zoom, Meet, Teams usw.) |
| `createdAt` | string | Zeitstempel der Meeting-Erstellung |
| `duration` | number | Dauer in Sekunden |
| `recordingUrl` | string | Aufzeichnungs-URL (24 Stunden gültig) |
| `tags` | json | Array von Tags |
| `icalUid` | string | Kalender-Event-ID |
| `attendees` | json | Array von Teilnehmer-Objekten |
| `notes` | string | Meeting-Notizen in Markdown |
| `actionItems` | json | Array von Aufgaben |
| `transcript` | json | Array von Transkript-Segmenten |
| `insights` | json | Vom Nutzer erstellte Insights |
| `meeting` | json | Vollständige Meeting-Daten |
Egal, ob Sie sofortige Zusammenfassungen verteilen, Aufgaben protokollieren oder benutzerdefinierte Workflows erstellen möchten, die durch neue Meeting-Daten ausgelöst werden Circleback und Sim machen es nahtlos, alles rund um Ihre Meetings automatisch zu verwalten.
{/* MANUAL-CONTENT-END */}
## Nutzungsanleitung
Erhalten Sie Meeting-Notizen, Aufgaben, Transkripte und Aufzeichnungen, wenn Meetings verarbeitet werden. Circleback nutzt Webhooks, um Daten an Ihre Workflows zu übermitteln.
## Hinweise
- Kategorie: `triggers`
- Typ: `circleback`

View File

@@ -0,0 +1,218 @@
---
title: Grain
description: Zugriff auf Meeting-Aufzeichnungen, Transkripte und KI-Zusammenfassungen
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grain"
color="#F6FAF9"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grain](https://grain.com/) ist eine moderne Plattform zum Erfassen, Speichern und Teilen von Meeting-Aufzeichnungen, Transkripten, Highlights und KI-gestützten Zusammenfassungen. Grain ermöglicht es Teams, Gespräche in umsetzbare Erkenntnisse zu verwandeln und alle über wichtige Momente aus Meetings auf dem Laufenden zu halten.
Mit Grain können Sie:
- **Auf durchsuchbare Aufzeichnungen und Transkripte zugreifen**: Finden und überprüfen Sie jedes Meeting nach Stichwort, Teilnehmer oder Thema.
- **Highlights und Clips teilen**: Erfassen Sie wichtige Momente und teilen Sie kurze Video-/Audio-Highlights in Ihrem Team oder in Workflows.
- **KI-generierte Zusammenfassungen erhalten**: Erstellen Sie automatisch Meeting-Zusammenfassungen, Aktionspunkte und wichtige Erkenntnisse mithilfe der fortschrittlichen KI von Grain.
- **Meetings nach Team oder Typ organisieren**: Taggen und kategorisieren Sie Aufzeichnungen für einfachen Zugriff und Reporting.
Die Sim-Grain-Integration ermöglicht es Ihren Agenten:
- Meeting-Aufzeichnungen und Details nach flexiblen Filtern (Datum/Uhrzeit, Teilnehmer, Team usw.) aufzulisten, zu suchen und abzurufen.
- Auf KI-Zusammenfassungen, Teilnehmer, Highlights und andere Metadaten für Meetings zuzugreifen, um Automatisierungen oder Analysen zu unterstützen.
- Workflows auszulösen, sobald neue Meetings verarbeitet, Zusammenfassungen generiert oder Highlights über Grain-Webhooks erstellt werden.
- Grain-Daten einfach in andere Tools zu überführen oder Teammitglieder zu benachrichtigen, sobald etwas Wichtiges in einem Meeting passiert.
Ob Sie Follow-up-Aktionen automatisieren, wichtige Gespräche dokumentieren oder Erkenntnisse in Ihrer Organisation sichtbar machen möchten Grain und Sim machen es einfach, Meeting-Intelligence mit Ihren Workflows zu verbinden.
{/* MANUAL-CONTENT-END */}
## Nutzungsanweisungen
Integrieren Sie Grain in Ihren Workflow. Greifen Sie auf Meeting-Aufzeichnungen, Transkripte, Highlights und KI-generierte Zusammenfassungen zu. Kann auch Workflows basierend auf Grain-Webhook-Ereignissen auslösen.
## Tools
### `grain_list_recordings`
Aufzeichnungen von Grain mit optionalen Filtern und Paginierung auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain API-Schlüssel \(Personal Access Token\) |
| `cursor` | string | Nein | Paginierungs-Cursor für nächste Seite |
| `beforeDatetime` | string | Nein | Nur Aufzeichnungen vor diesem ISO8601-Zeitstempel |
| `afterDatetime` | string | Nein | Nur Aufzeichnungen nach diesem ISO8601-Zeitstempel |
| `participantScope` | string | Nein | Filter: "internal" oder "external" |
| `titleSearch` | string | Nein | Suchbegriff zum Filtern nach Aufzeichnungstitel |
| `teamId` | string | Nein | Nach Team-UUID filtern |
| `meetingTypeId` | string | Nein | Nach Meeting-Typ-UUID filtern |
| `includeHighlights` | boolean | Nein | Highlights/Clips in Antwort einschließen |
| `includeParticipants` | boolean | Nein | Teilnehmerliste in Antwort einschließen |
| `includeAiSummary` | boolean | Nein | KI-generierte Zusammenfassung einschließen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `recordings` | array | Array von Aufzeichnungsobjekten |
### `grain_get_recording`
Details einer einzelnen Aufzeichnung nach ID abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain API-Schlüssel \(Personal Access Token\) |
| `recordingId` | string | Ja | Die Aufzeichnungs-UUID |
| `includeHighlights` | boolean | Nein | Highlights/Clips einschließen |
| `includeParticipants` | boolean | Nein | Teilnehmerliste einschließen |
| `includeAiSummary` | boolean | Nein | KI-Zusammenfassung einschließen |
| `includeCalendarEvent` | boolean | Nein | Kalenderereignisdaten einschließen |
| `includeHubspot` | boolean | Nein | HubSpot-Verknüpfungen einschließen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `id` | string | Aufnahme-UUID |
| `title` | string | Aufnahmetitel |
| `start_datetime` | string | ISO8601-Startzeitstempel |
| `end_datetime` | string | ISO8601-Endzeitstempel |
| `duration_ms` | number | Dauer in Millisekunden |
| `media_type` | string | audio, transcript oder video |
| `source` | string | Aufnahmequelle \(zoom, meet, teams, etc.\) |
| `url` | string | URL zur Ansicht in Grain |
| `thumbnail_url` | string | Vorschaubild-URL |
| `tags` | array | Array von Tag-Strings |
| `teams` | array | Teams, zu denen die Aufnahme gehört |
| `meeting_type` | object | Meeting-Typ-Informationen \(id, name, scope\) |
| `highlights` | array | Highlights \(falls enthalten\) |
| `participants` | array | Teilnehmer \(falls enthalten\) |
| `ai_summary` | object | KI-Zusammenfassungstext \(falls enthalten\) |
| `calendar_event` | object | Kalenderereignisdaten \(falls enthalten\) |
| `hubspot` | object | HubSpot-Verknüpfungen \(falls enthalten\) |
### `grain_get_transcript`
Vollständiges Transkript einer Aufnahme abrufen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain-API-Schlüssel \(Personal Access Token\) |
| `recordingId` | string | Ja | Die Aufnahme-UUID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `transcript` | array | Array von Transkriptabschnitten |
### `grain_list_teams`
Alle Teams im Workspace auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain API-Schlüssel \(Personal Access Token\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `teams` | array | Array von Team-Objekten |
### `grain_list_meeting_types`
Alle Meeting-Typen im Workspace auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain API-Schlüssel \(Personal Access Token\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `meeting_types` | array | Array von Meeting-Typ-Objekten |
### `grain_create_hook`
Einen Webhook erstellen, um Aufzeichnungs-Events zu empfangen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain API-Schlüssel \(Personal Access Token\) |
| `hookUrl` | string | Ja | Webhook-Endpunkt-URL \(muss mit 2xx antworten\) |
| `filterBeforeDatetime` | string | Nein | Filter: Aufzeichnungen vor diesem Datum |
| `filterAfterDatetime` | string | Nein | Filter: Aufzeichnungen nach diesem Datum |
| `filterParticipantScope` | string | Nein | Filter: "internal" oder "external" |
| `filterTeamId` | string | Nein | Filter: spezifische Team-UUID |
| `filterMeetingTypeId` | string | Nein | Filter: spezifischer Meeting-Typ |
| `includeHighlights` | boolean | Nein | Highlights in Webhook-Payload einschließen |
| `includeParticipants` | boolean | Nein | Teilnehmer in Webhook-Payload einschließen |
| `includeAiSummary` | boolean | Nein | KI-Zusammenfassung in Webhook-Payload einschließen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `id` | string | Hook-UUID |
| `enabled` | boolean | Ob der Hook aktiv ist |
| `hook_url` | string | Die Webhook-URL |
| `filter` | object | Angewendete Filter |
| `include` | object | Enthaltene Felder |
| `inserted_at` | string | ISO8601-Erstellungszeitstempel |
### `grain_list_hooks`
Alle Webhooks für das Konto auflisten
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain-API-Schlüssel \(Personal Access Token\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `hooks` | array | Array von Hook-Objekten |
### `grain_delete_hook`
Einen Webhook anhand der ID löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Ja | Grain-API-Schlüssel \(Personal Access Token\) |
| `hookId` | string | Ja | Die zu löschende Hook-UUID |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | True, wenn der Webhook erfolgreich gelöscht wurde |
## Hinweise
- Kategorie: `tools`
- Typ: `grain`

View File

@@ -38,6 +38,7 @@ Erstellen Sie einen neuen Kontakt in Intercom mit E-Mail, external_id oder Rolle
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `role` | string | Nein | Die Rolle des Kontakts. Akzeptiert 'user' oder 'lead'. Standardmäßig 'lead', wenn nicht angegeben. |
| `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 |
@@ -45,9 +46,10 @@ Erstellen Sie einen neuen Kontakt in Intercom mit E-Mail, external_id oder Rolle
| `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"\}\) |
| `owner_id` | string | Nein | Die ID eines Administrators, dem die Kontoverantwortung für den Kontakt zugewiesen wurde |
| `unsubscribed_from_emails` | boolean | Nein | Ob der Kontakt von E-Mails abgemeldet ist |
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt \(z. B. \{"attribute_name": "value"\}\) |
| `company_id` | string | Nein | Unternehmens-ID, mit der der Kontakt bei der Erstellung verknüpft werden soll |
#### Ausgabe
@@ -81,16 +83,19 @@ Einen bestehenden Kontakt in Intercom aktualisieren
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | Ja | Zu aktualisierende Kontakt-ID |
| `contactId` | string | Ja | Kontakt-ID, die aktualisiert werden soll |
| `role` | string | Nein | Die Rolle des Kontakts. Akzeptiert 'user' oder 'lead'. |
| `external_id` | string | Nein | Eine eindeutige Kennung für den Kontakt, die vom Client bereitgestellt wird |
| `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"\}\) |
| `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 Kontoverantwortung für den Kontakt zugewiesen wurde |
| `unsubscribed_from_emails` | boolean | Nein | Ob der Kontakt von E-Mails abgemeldet ist |
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt \(z. B. \{"attribute_name": "value"\}\) |
| `company_id` | string | Nein | Unternehmens-ID, mit der der Kontakt verknüpft werden soll |
#### Output
@@ -125,9 +130,11 @@ Suche nach Kontakten in Intercom mit einer Abfrage
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Suchabfrage (z.B., \{"field":"email","operator":"=","value":"user@example.com"\}) |
| `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 |
| `sort_field` | string | Nein | Feld zum Sortieren (z. B. "name", "created_at", "last_seen_at") |
| `sort_order` | string | Nein | Sortierreihenfolge: "ascending" oder "descending" |
#### Ausgabe
@@ -163,12 +170,13 @@ Ein Unternehmen in Intercom erstellen oder aktualisieren
| --------- | ---- | -------- | ----------- |
| `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 |
| `website` | string | Nein | Die Website des Unternehmens |
| `plan` | string | Nein | Der Name des Unternehmensplans |
| `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. Hinweis: Dieses Feld kürzt Dezimalzahlen auf ganze Zahlen \(z.B. wird aus 155,98 die Zahl 155\) |
| `monthly_spend` | number | Nein | Wie viel Umsatz das Unternehmen für Ihr Geschäft generiert. Hinweis: Dieses Feld rundet Dezimalzahlen auf ganze Zahlen ab (z. B. wird 155,98 zu 155) |
| `custom_attributes` | string | Nein | Benutzerdefinierte Attribute als JSON-Objekt |
| `remote_created_at` | number | Nein | Der Zeitpunkt, zu dem das Unternehmen von Ihnen erstellt wurde, als Unix-Zeitstempel |
#### Ausgabe
@@ -204,6 +212,7 @@ Listet alle Unternehmen von Intercom mit Paginierungsunterstützung auf. Hinweis
| --------- | ---- | -------- | ----------- |
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite |
| `page` | number | Nein | Seitennummer |
| `starting_after` | string | Nein | Cursor für Paginierung (bevorzugt gegenüber seitenbasierter Paginierung) |
#### Ausgabe
@@ -221,7 +230,8 @@ Eine einzelne Konversation anhand der ID von Intercom abrufen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Ja | Konversations-ID zum Abrufen |
| `display_as` | string | Nein | Auf "plaintext" setzen, um Nachrichten im Klartext abzurufen |
| `display_as` | string | Nein | Auf "plaintext" setzen, um Nachrichten als reinen Text abzurufen |
| `include_translations` | boolean | Nein | Wenn true, werden Konversationsteile in die erkannte Sprache der Konversation übersetzt |
#### Ausgabe
@@ -238,8 +248,10 @@ Alle Konversationen von Intercom mit Paginierungsunterstützung auflisten
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite \(max: 150\) |
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite (max: 150) |
| `starting_after` | string | Nein | Cursor für Paginierung |
| `sort` | string | Nein | Feld zum Sortieren (z. B. "waiting_since", "updated_at", "created_at") |
| `order` | string | Nein | Sortierreihenfolge: "asc" (aufsteigend) oder "desc" (absteigend) |
#### Ausgabe
@@ -256,11 +268,12 @@ Als Administrator auf eine Konversation in Intercom antworten
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Ja | Konversations-ID, auf die geantwortet werden soll |
| `conversationId` | string | Ja | Konversations-ID zum Antworten |
| `message_type` | string | Ja | Nachrichtentyp: "comment" oder "note" |
| `body` | string | Ja | Der Textinhalt der Antwort |
| `admin_id` | string | Nein | Die ID des Administrators, der die Antwort verfasst. Wenn nicht angegeben, wird ein Standard-Administrator \(Operator/Fin\) verwendet. |
| `attachment_urls` | string | Nein | Kommagetrennte Liste von Bild-URLs \(max. 10\) |
| `admin_id` | string | Nein | Die ID des Administrators, der die Antwort verfasst. Falls nicht angegeben, wird ein Standard-Administrator (Operator/Fin) verwendet. |
| `attachment_urls` | string | Nein | Kommagetrennte Liste von Bild-URLs (max. 10) |
| `created_at` | number | Nein | Unix-Zeitstempel für den Zeitpunkt der Erstellung der Antwort. Falls nicht angegeben, wird die aktuelle Zeit verwendet. |
#### Ausgabe
@@ -278,8 +291,10 @@ Nach Konversationen in Intercom mit einer Abfrage suchen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `query` | string | Ja | Suchabfrage als JSON-Objekt |
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite (max: 150) |
| `per_page` | number | Nein | Anzahl der Ergebnisse pro Seite \(max: 150\) |
| `starting_after` | string | Nein | Cursor für Paginierung |
| `sort_field` | string | Nein | Feld, nach dem sortiert werden soll \(z. B. "created_at", "updated_at"\) |
| `sort_order` | string | Nein | Sortierreihenfolge: "ascending" oder "descending" |
#### Ausgabe
@@ -297,8 +312,12 @@ Ein neues Ticket in Intercom erstellen
| 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"\}) |
| `contacts` | string | Ja | JSON-Array von Kontaktkennungen \(z. B. \[\{"id": "contact_id"\}\]\) |
| `ticket_attributes` | string | Ja | JSON-Objekt mit Ticket-Attributen einschließlich _default_title_ und _default_description_ |
| `company_id` | string | Nein | Unternehmens-ID, mit der das Ticket verknüpft werden soll |
| `created_at` | number | Nein | Unix-Zeitstempel für den Zeitpunkt der Ticket-Erstellung. Wenn nicht angegeben, wird die aktuelle Zeit verwendet. |
| `conversation_to_link_id` | string | Nein | ID einer vorhandenen Konversation, die mit diesem Ticket verknüpft werden soll |
| `disable_notifications` | boolean | Nein | Wenn true, werden Benachrichtigungen bei der Ticket-Erstellung unterdrückt |
#### Output
@@ -330,15 +349,17 @@ Eine neue vom Administrator initiierte Nachricht in Intercom erstellen und sende
#### Input
| Parameter | Type | Erforderlich | Beschreibung |
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `message_type` | string | Ja | Nachrichtentyp: "inapp" oder "email" |
| `message_type` | string | Ja | Nachrichtentyp: "inapp" für In-App-Nachrichten oder "email" für E-Mail-Nachrichten |
| `template` | string | Ja | Nachrichtenvorlagenstil: "plain" für einfachen Text oder "personal" für personalisierten Stil |
| `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 |
| `created_at` | number | Nein | Unix-Zeitstempel für den Zeitpunkt der Nachrichtenerstellung. Wenn nicht angegeben, wird die aktuelle Zeit verwendet. |
#### Output

View File

@@ -61,8 +61,6 @@ Extrahieren und verarbeiten Sie Webinhalte in sauberen, LLM-freundlichen Text mi
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `content` | string | Der extrahierte Inhalt von der URL, verarbeitet zu sauberem, LLM-freundlichem Text |
| `links` | array | Liste der auf der Seite gefundenen Links (wenn gatherLinks oder withLinksummary aktiviert ist) |
| `images` | array | Liste der auf der Seite gefundenen Bilder (wenn withImagesummary aktiviert ist) |
### `jina_search`

View File

@@ -90,14 +90,20 @@ Ein Jira-Issue erstellen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Ja | Ihre Jira-Domain (z.B. ihrfirma.atlassian.net) |
| `domain` | string | Ja | Ihre Jira-Domain \(z.B. ihrfirma.atlassian.net\) |
| `projectId` | string | Ja | Projekt-ID für das Issue |
| `summary` | string | Ja | Zusammenfassung für das Issue |
| `description` | string | Nein | Beschreibung für das Issue |
| `priority` | string | Nein | Priorität für das Issue |
| `assignee` | string | Nein | Bearbeiter für das Issue |
| `cloudId` | string | Nein | Jira Cloud-ID für die Instanz. Wenn nicht angegeben, wird sie anhand der Domain abgerufen. |
| `issueType` | string | Ja | Art des zu erstellenden Issues (z.B. Task, Story) |
| `priority` | string | Nein | Prioritäts-ID oder -Name für das Issue \(z.B. "10000" oder "High"\) |
| `assignee` | string | Nein | Account-ID des Bearbeiters für das Issue |
| `cloudId` | string | Nein | Jira Cloud-ID für die Instanz. Wenn nicht angegeben, wird sie über die Domain abgerufen. |
| `issueType` | string | Ja | Typ des zu erstellenden Issues \(z.B. Task, Story\) |
| `labels` | array | Nein | Labels für das Issue \(Array von Label-Namen\) |
| `duedate` | string | Nein | Fälligkeitsdatum für das Issue \(Format: YYYY-MM-DD\) |
| `reporter` | string | Nein | Account-ID des Melders für das Issue |
| `environment` | string | Nein | Umgebungsinformationen für das Issue |
| `customFieldId` | string | Nein | Benutzerdefinierte Feld-ID \(z.B. customfield_10001\) |
| `customFieldValue` | string | Nein | Wert für das benutzerdefinierte Feld |
#### Ausgabe
@@ -107,6 +113,7 @@ Ein Jira-Issue erstellen
| `issueKey` | string | Erstellter Issue-Key \(z.B. PROJ-123\) |
| `summary` | string | Issue-Zusammenfassung |
| `url` | string | URL zum erstellten Issue |
| `assigneeId` | string | Account-ID des zugewiesenen Benutzers \(falls zugewiesen\) |
### `jira_bulk_read`
@@ -520,6 +527,30 @@ Einen Beobachter von einem Jira-Issue entfernen
| `issueKey` | string | Issue-Key |
| `watcherAccountId` | string | Account-ID des entfernten Beobachters |
### `jira_get_users`
Jira-Benutzer abrufen. Wenn eine Account-ID angegeben wird, wird ein einzelner Benutzer zurückgegeben. Andernfalls wird eine Liste aller Benutzer zurückgegeben.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Ja | Ihre Jira-Domain \(z.B. ihrfirma.atlassian.net\) |
| `accountId` | string | Nein | Optionale Account-ID, um einen bestimmten Benutzer abzurufen. Wenn nicht angegeben, werden alle Benutzer zurückgegeben. |
| `startAt` | number | Nein | Der Index des ersten zurückzugebenden Benutzers \(für Paginierung, Standard: 0\) |
| `maxResults` | number | Nein | Maximale Anzahl der zurückzugebenden Benutzer \(Standard: 50\) |
| `cloudId` | string | Nein | Jira Cloud-ID für die Instanz. Wenn nicht angegeben, wird sie anhand der Domain abgerufen. |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `ts` | string | Zeitstempel der Operation |
| `users` | json | Array von Benutzern mit accountId, displayName, emailAddress, active-Status und avatarUrls |
| `total` | number | Gesamtanzahl der zurückgegebenen Benutzer |
| `startAt` | number | Startindex für Paginierung |
| `maxResults` | number | Maximale Ergebnisse pro Seite |
## Hinweise
- Kategorie: `tools`

View File

@@ -10,55 +10,52 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
color="#F64F9E"
/>
## Gebrauchsanweisung
## Nutzungsanweisungen
Memory in den Workflow integrieren. Kann Erinnerungen hinzufügen, eine Erinnerung abrufen, alle Erinnerungen abrufen und Erinnerungen löschen.
Integrieren Sie Memory in den Workflow. Kann Erinnerungen hinzufügen, abrufen, alle Erinnerungen abrufen und Erinnerungen löschen.
## Tools
### `memory_add`
Füge eine neue Erinnerung zur Datenbank hinzu oder ergänze bestehende Erinnerungen mit derselben ID.
Fügen Sie eine neue Erinnerung zur Datenbank hinzu oder hängen Sie sie an eine bestehende Erinnerung mit derselben ID an.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `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. r Abwärtskompatibilität bereitgestellt. |
| `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 existiert, wird die neue Nachricht an diese angehängt. |
| `id` | string | Nein | Legacy-Parameter für Konversationskennung. Verwenden Sie stattdessen conversationId. Wird aus Gründen der 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
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob der Speicher erfolgreich hinzugefügt wurde |
| `memories` | array | Array von Speicherobjekten einschließlich des neuen oder aktualisierten Speichers |
| `success` | boolean | Ob die Erinnerung erfolgreich hinzugefügt wurde |
| `memories` | array | Array von Erinnerungsobjekten einschließlich der neuen oder aktualisierten Erinnerung |
| `error` | string | Fehlermeldung, falls der Vorgang fehlgeschlagen ist |
### `memory_get`
Erinnerungen nach conversationId, blockId, blockName oder einer Kombination abrufen. Gibt alle übereinstimmenden Erinnerungen zurück.
Erinnerung nach conversationId abrufen. Gibt übereinstimmende Erinnerungen zurück.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `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. 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. |
| `conversationId` | string | Nein | Konversationskennung \(z. B. user-123, session-abc\). Gibt Erinnerungen für diese Konversation zurück. |
| `id` | string | Nein | Legacy-Parameter für Konversationskennung. Verwenden Sie stattdessen conversationId. Wird aus Gründen der Abwärtskompatibilität bereitgestellt. |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob die Erinnerung erfolgreich abgerufen wurde |
| `memories` | array | Array von Speicherobjekten mit conversationId, blockId, blockName und data-Feldern |
| `success` | boolean | Ob der Speicher erfolgreich abgerufen wurde |
| `memories` | array | Array von Speicherobjekten mit conversationId- und data-Feldern |
| `message` | string | Erfolgs- oder Fehlermeldung |
| `error` | string | Fehlermeldung, wenn der Vorgang fehlgeschlagen ist |
| `error` | string | Fehlermeldung, falls fehlgeschlagen |
### `memory_get_all`
@@ -73,31 +70,29 @@ Alle Speicher aus der Datenbank abrufen
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob alle Erinnerungen erfolgreich abgerufen wurden |
| `memories` | array | Array aller Speicherobjekte mit key, conversationId, blockId, blockName und data-Feldern |
| `success` | boolean | Ob alle Speicher erfolgreich abgerufen wurden |
| `memories` | array | Array aller Speicherobjekte mit key-, conversationId- und data-Feldern |
| `message` | string | Erfolgs- oder Fehlermeldung |
| `error` | string | Fehlermeldung, wenn der Vorgang fehlgeschlagen ist |
| `error` | string | Fehlermeldung, falls fehlgeschlagen |
### `memory_delete`
Löschen von Erinnerungen nach conversationId, blockId, blockName oder einer Kombination davon. Unterstützt Massenlöschung.
Speicher nach conversationId löschen.
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `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. 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. |
| `conversationId` | string | Nein | Konversationskennung (z. B. user-123, session-abc). Löscht alle Speicher für diese Konversation. |
| `id` | string | Nein | Legacy-Parameter für Konversationskennung. Verwenden Sie stattdessen conversationId. Wird aus Gründen der Abwärtskompatibilität bereitgestellt. |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob die Erinnerung erfolgreich gelöscht wurde |
| `success` | boolean | Ob der Speicher erfolgreich gelöscht wurde |
| `message` | string | Erfolgs- oder Fehlermeldung |
| `error` | string | Fehlermeldung, wenn der Vorgang fehlgeschlagen ist |
| `error` | string | Fehlermeldung, falls fehlgeschlagen |
## Hinweise

View File

@@ -0,0 +1,124 @@
---
title: ServiceNow
description: ServiceNow-Datensätze erstellen, lesen, aktualisieren und löschen
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="servicenow"
color="#032D42"
/>
{/* MANUAL-CONTENT-START:intro */}
[ServiceNow](https://www.servicenow.com/) ist eine leistungsstarke Cloud-Plattform zur Optimierung und Automatisierung von IT-Service-Management (ITSM), Workflows und Geschäftsprozessen in Ihrem Unternehmen. ServiceNow ermöglicht Ihnen die Verwaltung von Vorfällen, Anfragen, Aufgaben, Benutzern und mehr über seine umfangreiche API.
Mit ServiceNow können Sie:
- **IT-Workflows automatisieren**: Datensätze in jeder ServiceNow-Tabelle erstellen, lesen, aktualisieren und löschen, z. B. Vorfälle, Aufgaben, Änderungsanfragen und Benutzer.
- **Systeme integrieren**: ServiceNow mit Ihren anderen Tools und Prozessen für nahtlose Automatisierung verbinden.
- **Eine einzige Informationsquelle pflegen**: Alle Ihre Service- und Betriebsdaten organisiert und zugänglich halten.
- **Betriebliche Effizienz steigern**: Manuelle Arbeit reduzieren und Servicequalität mit anpassbaren Workflows und Automatisierung verbessern.
In Sim ermöglicht die ServiceNow-Integration Ihren Agenten, direkt mit Ihrer ServiceNow-Instanz als Teil ihrer Workflows zu interagieren. Agenten können Datensätze in jeder ServiceNow-Tabelle erstellen, lesen, aktualisieren oder löschen und Ticket- oder Benutzerdaten für ausgefeilte Automatisierung und Entscheidungsfindung nutzen. Diese Integration verbindet Ihre Workflow-Automatisierung und IT-Betrieb und befähigt Ihre Agenten, Serviceanfragen, Vorfälle, Benutzer und Assets ohne manuelle Eingriffe zu verwalten. Durch die Verbindung von Sim mit ServiceNow können Sie Service-Management-Aufgaben automatisieren, Reaktionszeiten verbessern und konsistenten, sicheren Zugriff auf die wichtigen Servicedaten Ihres Unternehmens gewährleisten.
{/* MANUAL-CONTENT-END */}
## Nutzungsanweisungen
Integrieren Sie ServiceNow in Ihren Workflow. Erstellen, lesen, aktualisieren und löschen Sie Datensätze in jeder ServiceNow-Tabelle, einschließlich Vorfälle, Aufgaben, Änderungsanfragen, Benutzer und mehr.
## Tools
### `servicenow_create_record`
Einen neuen Datensatz in einer ServiceNow-Tabelle erstellen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Ja | ServiceNow-Instanz-URL \(z. B. https://instance.service-now.com\) |
| `username` | string | Ja | ServiceNow-Benutzername |
| `password` | string | Ja | ServiceNow-Passwort |
| `tableName` | string | Ja | Tabellenname \(z. B. incident, task, sys_user\) |
| `fields` | json | Ja | Felder, die für den Datensatz festgelegt werden sollen \(JSON-Objekt\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `record` | json | Erstellter ServiceNow-Datensatz mit sys_id und anderen Feldern |
| `metadata` | json | Metadaten der Operation |
### `servicenow_read_record`
Datensätze aus einer ServiceNow-Tabelle lesen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Ja | ServiceNow-Instanz-URL \(z. B. https://instance.service-now.com\) |
| `username` | string | Ja | ServiceNow-Benutzername |
| `password` | string | Ja | ServiceNow-Passwort |
| `tableName` | string | Ja | Tabellenname |
| `sysId` | string | Nein | Spezifische Datensatz-sys_id |
| `number` | string | Nein | Datensatznummer \(z. B. INC0010001\) |
| `query` | string | Nein | Kodierte Abfragezeichenfolge \(z. B. "active=true^priority=1"\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Datensätze |
| `fields` | string | Nein | Durch Kommas getrennte Liste der zurückzugebenden Felder |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `records` | array | Array von ServiceNow-Datensätzen |
| `metadata` | json | Metadaten der Operation |
### `servicenow_update_record`
Einen bestehenden Datensatz in einer ServiceNow-Tabelle aktualisieren
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Ja | ServiceNow-Instanz-URL \(z. B. https://instance.service-now.com\) |
| `username` | string | Ja | ServiceNow-Benutzername |
| `password` | string | Ja | ServiceNow-Passwort |
| `tableName` | string | Ja | Tabellenname |
| `sysId` | string | Ja | Datensatz-sys_id zum Aktualisieren |
| `fields` | json | Ja | Zu aktualisierende Felder \(JSON-Objekt\) |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `record` | json | Aktualisierter ServiceNow-Datensatz |
| `metadata` | json | Metadaten der Operation |
### `servicenow_delete_record`
Einen Datensatz aus einer ServiceNow-Tabelle löschen
#### Eingabe
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Ja | ServiceNow-Instanz-URL \(z. B. https://instance.service-now.com\) |
| `username` | string | Ja | ServiceNow-Benutzername |
| `password` | string | Ja | ServiceNow-Passwort |
| `tableName` | string | Ja | Tabellenname |
| `sysId` | string | Ja | Datensatz-sys_id zum Löschen |
#### Ausgabe
| Parameter | Typ | Beschreibung |
| --------- | ---- | ----------- |
| `success` | boolean | Ob das Löschen erfolgreich war |
| `metadata` | json | Metadaten der Operation |
## Hinweise
- Kategorie: `tools`
- Typ: `servicenow`

View File

@@ -109,12 +109,12 @@ Lesen Sie die neuesten Nachrichten aus Slack-Kanälen. Rufen Sie den Konversatio
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | Nein | Authentifizierungsmethode: oauth oder bot_token |
| `botToken` | string | Nein | Bot-Token für benutzerdefinierten Bot |
| `botToken` | string | Nein | Bot-Token für Custom Bot |
| `channel` | string | Nein | Slack-Kanal, aus dem Nachrichten gelesen werden sollen \(z.B. #general\) |
| `userId` | string | Nein | Benutzer-ID für DM-Konversation \(z.B. U1234567890\) |
| `limit` | number | Nein | Anzahl der abzurufenden Nachrichten \(Standard: 10, max: 100\) |
| `oldest` | string | Nein | Beginn des Zeitraums \(Zeitstempel\) |
| `latest` | string | Nein | Ende des Zeitraums \(Zeitstempel\) |
| `limit` | number | Nein | Anzahl der abzurufenden Nachrichten \(Standard: 10, max: 15\) |
| `oldest` | string | Nein | Beginn des Zeitbereichs \(Zeitstempel\) |
| `latest` | string | Nein | Ende des Zeitbereichs \(Zeitstempel\) |
#### Ausgabe

View File

@@ -47,12 +47,13 @@ Daten aus einer Supabase-Tabelle abfragen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z. B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der abzufragenden Supabase-Tabelle |
| `filter` | string | Nein | PostgREST-Filter \(z.B. "id=eq.123"\) |
| `orderBy` | string | Nein | Spalte zum Sortieren \(fügen Sie DESC für absteigend hinzu\) |
| `schema` | string | Nein | Datenbankschema für die Abfrage \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `filter` | string | Nein | PostgREST-Filter \(z. B. "id=eq.123"\) |
| `orderBy` | string | Nein | Spalte zum Sortieren \(fügen Sie DESC für absteigende Sortierung hinzu\) |
| `limit` | number | Nein | Maximale Anzahl der zurückzugebenden Zeilen |
| `apiKey` | string | Ja | Ihr Supabase Service-Rolle-Secret-Schlüssel |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
#### Ausgabe
@@ -69,8 +70,9 @@ Daten in eine Supabase-Tabelle einfügen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z. B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der Supabase-Tabelle, in die Daten eingefügt werden sollen |
| `schema` | string | Nein | Datenbankschema für das Einfügen \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `data` | array | Ja | Die einzufügenden Daten \(Array von Objekten oder ein einzelnes Objekt\) |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
@@ -89,10 +91,11 @@ Eine einzelne Zeile aus einer Supabase-Tabelle basierend auf Filterkriterien abr
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID (z.B. jdrkgepadsdopsntdlom) |
| `table` | string | Ja | Der Name der Supabase-Tabelle für die Abfrage |
| `filter` | string | Ja | PostgREST-Filter zum Finden der spezifischen Zeile (z.B. "id=eq.123") |
| `apiKey` | string | Ja | Ihr Supabase Service-Role-Secret-Key |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z. B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der abzufragenden Supabase-Tabelle |
| `schema` | string | Nein | Datenbankschema für die Abfrage \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `filter` | string | Ja | PostgREST-Filter zum Auffinden der spezifischen Zeile \(z. B. "id=eq.123"\) |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
#### Ausgabe
@@ -109,9 +112,10 @@ Zeilen in einer Supabase-Tabelle basierend auf Filterkriterien aktualisieren
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID (z.B. jdrkgepadsdopsntdlom) |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der zu aktualisierenden Supabase-Tabelle |
| `filter` | string | Ja | PostgREST-Filter zur Identifizierung der zu aktualisierenden Zeilen (z.B. "id=eq.123") |
| `schema` | string | Nein | Datenbankschema für die Aktualisierung \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `filter` | string | Ja | PostgREST-Filter zur Identifizierung der zu aktualisierenden Zeilen \(z.B. "id=eq.123"\) |
| `data` | object | Ja | Daten, die in den übereinstimmenden Zeilen aktualisiert werden sollen |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
@@ -130,9 +134,10 @@ Zeilen aus einer Supabase-Tabelle basierend auf Filterkriterien löschen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID (z.B. jdrkgepadsdopsntdlom) |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der Supabase-Tabelle, aus der gelöscht werden soll |
| `filter` | string | Ja | PostgREST-Filter zur Identifizierung der zu löschenden Zeilen (z.B. "id=eq.123") |
| `schema` | string | Nein | Datenbankschema für die Löschung \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `filter` | string | Ja | PostgREST-Filter zur Identifizierung der zu löschenden Zeilen \(z.B. "id=eq.123"\) |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
#### Ausgabe
@@ -151,8 +156,9 @@ Daten in eine Supabase-Tabelle einfügen oder aktualisieren (Upsert-Operation)
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der Supabase-Tabelle, in die Daten upsertet werden sollen |
| `data` | array | Ja | Die zu upsertenden Daten \(einfügen oder aktualisieren\) - Array von Objekten oder ein einzelnes Objekt |
| `table` | string | Ja | Der Name der Supabase-Tabelle, in die Daten eingefügt oder aktualisiert werden sollen |
| `schema` | string | Nein | Datenbankschema für Upsert \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `data` | array | Ja | Die Daten für Upsert \(Einfügen oder Aktualisieren\) - Array von Objekten oder ein einzelnes Objekt |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
#### Ausgabe
@@ -171,7 +177,8 @@ Zeilen in einer Supabase-Tabelle zählen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der Supabase-Tabelle, deren Zeilen gezählt werden sollen |
| `table` | string | Ja | Der Name der Supabase-Tabelle, aus der Zeilen gezählt werden sollen |
| `schema` | string | Nein | Datenbankschema zum Zählen \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `filter` | string | Nein | PostgREST-Filter \(z.B. "status=eq.active"\) |
| `countType` | string | Nein | Zähltyp: exact, planned oder estimated \(Standard: exact\) |
| `apiKey` | string | Ja | Ihr Supabase Service Role Secret Key |
@@ -192,7 +199,8 @@ Volltextsuche in einer Supabase-Tabelle durchführen
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Ja | Ihre Supabase-Projekt-ID \(z.B. jdrkgepadsdopsntdlom\) |
| `table` | string | Ja | Der Name der Supabase-Tabelle für die Suche |
| `table` | string | Ja | Der Name der zu durchsuchenden Supabase-Tabelle |
| `schema` | string | Nein | Datenbankschema zum Durchsuchen \(Standard: public\). Verwenden Sie dies, um auf Tabellen in anderen Schemas zuzugreifen. |
| `column` | string | Ja | Die Spalte, in der gesucht werden soll |
| `query` | string | Ja | Die Suchanfrage |
| `searchType` | string | Nein | Suchtyp: plain, phrase oder websearch \(Standard: websearch\) |

View File

@@ -39,14 +39,17 @@ Senden Sie eine Chat-Completion-Anfrage an jeden unterstützten LLM-Anbieter
| Parameter | Typ | Erforderlich | Beschreibung |
| --------- | ---- | -------- | ----------- |
| `model` | string | Ja | Das zu verwendende Modell (z.B. gpt-4o, claude-sonnet-4-5, gemini-2.0-flash) |
| `systemPrompt` | string | Nein | System-Prompt zur Festlegung des Assistentenverhaltens |
| `context` | string | Ja | Die Benutzernachricht oder der Kontext, der an das Modell gesendet wird |
| `apiKey` | string | Nein | API-Schlüssel für den Anbieter (verwendet den Plattformschlüssel, wenn für gehostete Modelle nicht angegeben) |
| `temperature` | number | Nein | Temperatur für die Antwortgenerierung (0-2) |
| `maxTokens` | number | Nein | Maximale Tokens in der Antwort |
| `model` | string | Ja | Das zu verwendende Modell \(z. B. gpt-4o, claude-sonnet-4-5, gemini-2.0-flash\) |
| `systemPrompt` | string | Nein | System-Prompt zur Festlegung des Verhaltens des Assistenten |
| `context` | string | Ja | Die Benutzernachricht oder der Kontext, der an das Modell gesendet werden soll |
| `apiKey` | string | Nein | API-Schlüssel für den Anbieter \(verwendet den Plattformschlüssel, falls nicht für gehostete Modelle angegeben\) |
| `temperature` | number | Nein | Temperatur für die Antwortgenerierung \(02\) |
| `maxTokens` | number | Nein | Maximale Anzahl von Tokens in der Antwort |
| `azureEndpoint` | string | Nein | Azure OpenAI-Endpunkt-URL |
| `azureApiVersion` | string | Nein | Azure OpenAI API-Version |
| `azureApiVersion` | string | Nein | Azure OpenAI-API-Version |
| `vertexProject` | string | Nein | Google Cloud-Projekt-ID für Vertex AI |
| `vertexLocation` | string | Nein | Google Cloud-Standort für Vertex AI \(Standard: us-central1\) |
| `vertexCredential` | string | Nein | Google Cloud OAuth-Anmeldeinformations-ID für Vertex AI |
#### Ausgabe

View File

@@ -5,7 +5,6 @@ title: Zeitplan
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 Zeitplan-Block löst Workflows automatisch nach einem wiederkehrenden Zeitplan zu bestimmten Intervallen oder Zeiten aus.
@@ -21,67 +20,58 @@ Der Zeitplan-Block löst Workflows automatisch nach einem wiederkehrenden Zeitpl
## Zeitplan-Optionen
Konfigurieren Sie, wann Ihr Workflow ausgeführt wird, mit den Dropdown-Optionen:
Konfigurieren Sie, wann Ihr Workflow ausgeführt wird:
<Tabs items={['Einfache Intervalle', 'Cron-Ausdrücke']}>
<Tab>
<ul className="list-disc space-y-1 pl-6">
<li><strong>Alle paar Minuten</strong>: 5, 15, 30 Minuten-Intervalle</li>
<li><strong>Stündlich</strong>: Jede Stunde oder alle paar Stunden</li>
<li><strong>Täglich</strong>: Einmal oder mehrmals pro Tag</li>
<li><strong>Wöchentlich</strong>: Bestimmte Wochentage</li>
<li><strong>Monatlich</strong>: Bestimmte Tage des Monats</li>
<li><strong>Alle X Minuten</strong>: Ausführung in Minutenintervallen (1-1440)</li>
<li><strong>Stündlich</strong>: Ausführung zu einer bestimmten Minute jeder Stunde</li>
<li><strong>Täglich</strong>: Ausführung zu einer bestimmten Uhrzeit jeden Tag</li>
<li><strong>Wöchentlich</strong>: Ausführung an einem bestimmten Tag und einer bestimmten Uhrzeit jede Woche</li>
<li><strong>Monatlich</strong>: Ausführung an einem bestimmten Tag und einer bestimmten Uhrzeit jeden Monat</li>
</ul>
</Tab>
<Tab>
<p>Verwenden Sie Cron-Ausdrücke für erweiterte Zeitplanung:</p>
<p>Verwenden Sie Cron-Ausdrücke für erweiterte Planung:</p>
<div className="text-sm space-y-1">
<div><code>0 9 * * 1-5</code> - Jeden Wochentag um 9 Uhr</div>
<div><code>*/15 * * * *</code> - Alle 15 Minuten</div>
<div><code>0 0 1 * *</code> - Am ersten Tag jedes Monats</div>
<div><code>0 0 1 * *</code> - Erster Tag jedes Monats</div>
</div>
</Tab>
</Tabs>
## Zeitpläne konfigurieren
## Aktivierung
Wenn ein Workflow geplant ist:
- Der Zeitplan wird **aktiv** und zeigt die nächste Ausführungszeit an
- Klicken Sie auf die Schaltfläche **"Geplant"**, um den Zeitplan zu deaktivieren
- Zeitpläne werden nach **3 aufeinanderfolgenden Fehlern** automatisch deaktiviert
Zeitpläne sind an die Workflow-Bereitstellung gebunden:
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-2.png"
alt="Aktiver Zeitplan-Block"
width={500}
height={400}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Deaktivierter Zeitplan"
width={500}
height={350}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Deaktivierter Zeitplan"
width={500}
height={400}
className="my-6"
/>
</div>
Deaktivierte Zeitpläne zeigen an, wann sie zuletzt aktiv waren. Klicken Sie auf das **"Deaktiviert"**-Badge, um den Zeitplan wieder zu aktivieren.
- **Workflow bereitstellen** → Zeitplan wird aktiv und beginnt mit der Ausführung
- **Workflow-Bereitstellung aufheben** → Zeitplan wird entfernt
- **Workflow erneut bereitstellen** → Zeitplan wird mit aktueller Konfiguration neu erstellt
<Callout>
Zeitplan-Blöcke können keine eingehenden Verbindungen empfangen und dienen ausschließlich als Workflow-Auslöser.
Sie müssen Ihren Workflow bereitstellen, damit der Zeitplan mit der Ausführung beginnt. Konfigurieren Sie den Zeitplan-Block und stellen Sie ihn dann über die Symbolleiste bereit.
</Callout>
## Automatische Deaktivierung
Zeitpläne werden nach **10 aufeinanderfolgenden Fehlschlägen** automatisch deaktiviert, um unkontrollierte Fehler zu verhindern. Bei Deaktivierung:
- Erscheint ein Warnhinweis auf dem Zeitplan-Block
- Die Ausführung des Zeitplans wird gestoppt
- Klicken Sie auf den Hinweis, um den Zeitplan zu reaktivieren
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Deaktivierter Zeitplan"
width={500}
height={400}
className="my-6"
/>
</div>
<Callout>
Zeitplan-Blöcke können keine eingehenden Verbindungen empfangen und dienen ausschließlich als Workflow-Einstiegspunkte.
</Callout>

View File

@@ -106,26 +106,24 @@ Different block types produce different output structures. Here's what you can e
<Tab>
```json
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
"selectedOption": "condition-1"
}
```
### Condition Block Output Fields
- **content**: The original content passed through
- **conditionResult**: Boolean result of the condition evaluation
- **selectedPath**: Information about the selected path
- **blockId**: ID of the next block in the selected path
- **blockType**: Type of the next block
- **blockTitle**: Title of the next block
- **selectedConditionId**: ID of the selected condition
- **selectedOption**: ID of the selected condition
</Tab>
<Tab>

View File

@@ -48,40 +48,40 @@ The model breakdown shows:
<Tabs items={['Hosted Models', 'Bring Your Own API Key']}>
<Tab>
**Hosted Models** - Sim provides API keys with a 2.5x pricing multiplier:
**Hosted Models** - Sim provides API keys with a 2x pricing multiplier:
**OpenAI**
| Model | Base Price (Input/Output) | Hosted Price (Input/Output) |
|-------|---------------------------|----------------------------|
| 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 |
| GPT-5.1 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 Mini | $0.25 / $2.00 | $0.50 / $4.00 |
| GPT-5 Nano | $0.05 / $0.40 | $0.10 / $0.80 |
| GPT-4o | $2.50 / $10.00 | $5.00 / $20.00 |
| GPT-4.1 | $2.00 / $8.00 | $4.00 / $16.00 |
| GPT-4.1 Mini | $0.40 / $1.60 | $0.80 / $3.20 |
| GPT-4.1 Nano | $0.10 / $0.40 | $0.20 / $0.80 |
| o1 | $15.00 / $60.00 | $30.00 / $120.00 |
| o3 | $2.00 / $8.00 | $4.00 / $16.00 |
| o4 Mini | $1.10 / $4.40 | $2.20 / $8.80 |
**Anthropic**
| Model | Base Price (Input/Output) | Hosted Price (Input/Output) |
|-------|---------------------------|----------------------------|
| 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 |
| Claude Opus 4.5 | $5.00 / $25.00 | $10.00 / $50.00 |
| Claude Opus 4.1 | $15.00 / $75.00 | $30.00 / $150.00 |
| Claude Sonnet 4.5 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Sonnet 4.0 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Haiku 4.5 | $1.00 / $5.00 | $2.00 / $10.00 |
**Google**
| Model | Base Price (Input/Output) | Hosted Price (Input/Output) |
|-------|---------------------------|----------------------------|
| 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 |
| Gemini 3 Pro Preview | $2.00 / $12.00 | $4.00 / $24.00 |
| Gemini 2.5 Pro | $1.25 / $10.00 | $2.50 / $20.00 |
| Gemini 2.5 Flash | $0.30 / $2.50 | $0.60 / $5.00 |
*The 2.5x multiplier covers infrastructure and API management costs.*
*The 2x multiplier covers infrastructure and API management costs.*
</Tab>
<Tab>
@@ -104,6 +104,10 @@ The model breakdown shows:
Pricing shown reflects rates as of September 10, 2025. Check provider documentation for current pricing.
</Callout>
## Bring Your Own Key (BYOK)
You can use your own API keys for hosted models (OpenAI, Anthropic, Google, Mistral) in **Settings → BYOK** to pay base prices. Keys are encrypted and apply workspace-wide.
## Cost Optimization Strategies
- **Model Selection**: Choose models based on task complexity. Simple tasks can use GPT-4.1-nano while complex reasoning might need o1 or Claude Opus.
@@ -183,7 +187,7 @@ Different subscription plans have different usage limits:
| Plan | Monthly Usage Limit | Rate Limits (per minute) |
|------|-------------------|-------------------------|
| **Free** | $10 | 5 sync, 10 async |
| **Free** | $20 | 5 sync, 10 async |
| **Pro** | $100 | 10 sync, 50 async |
| **Team** | $500 (pooled) | 50 sync, 100 async |
| **Enterprise** | Custom | Custom |

View File

@@ -34,9 +34,15 @@ Once your documents are processed, you can view and edit the individual chunks.
<Image src="/static/knowledgebase/knowledgebase.png" alt="Document chunks view showing processed content" width={800} height={500} />
### Chunk Configuration
- **Default chunk size**: 1,024 characters
- **Configurable range**: 100-4,000 characters per chunk
- **Smart overlap**: 200 characters by default for context preservation
When creating a knowledge base, you can configure how documents are split into chunks:
| Setting | Unit | Default | Range | Description |
|---------|------|---------|-------|-------------|
| **Max Chunk Size** | tokens | 1,024 | 100-4,000 | Maximum size of each chunk (1 token ≈ 4 characters) |
| **Min Chunk Size** | characters | 1 | 1-2,000 | Minimum chunk size to avoid tiny fragments |
| **Overlap** | characters | 200 | 0-500 | Context overlap between consecutive chunks |
- **Hierarchical splitting**: Respects document structure (sections, paragraphs, sentences)
### Editing Capabilities

View File

@@ -0,0 +1,64 @@
---
title: Circleback
description: AI-powered meeting notes and action items
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="circleback"
color="linear-gradient(180deg, #E0F7FA 0%, #FFFFFF 100%)"
/>
{/* MANUAL-CONTENT-START:intro */}
[Circleback](https://circleback.ai/) is an AI-powered platform that automates meeting notes, action items, transcripts, and recordings for your team. When a meeting is completed, Circleback processes the conversation and provides detailed notes and action items, along with a transcript and a recording (when available). This helps teams efficiently capture insights, distribute action items, and ensure nothing is missed—all seamlessly integrated into your workflows.
With the Sim Circleback integration, you can:
- **Receive detailed meeting notes and action items**: Automatically collect well-formatted meeting summaries and track actionable tasks discussed during your calls.
- **Access complete meeting recordings and transcripts**: Get the full conversation and the associated recording, making it easy to review key moments or share with colleagues.
- **Capture attendee information and meeting context**: Attendee lists, meeting metadata, and tags help keep your data organized and actionable.
- **Deliver insights directly into your workflows**: Trigger automations or send Circleback data to other systems the moment a meeting is done, using Sims powerful webhook triggers.
**How it works in Sim:**
Circleback uses webhook triggers: whenever a meeting is processed, data is pushed automatically to your agent or automation. You can build further automations based on:
- Meeting completed (all processed data available)
- New notes (notes ready even before full meeting is processed)
- Raw webhook integration for advanced use cases
**The following information is available in the Circleback meeting webhook payload:**
| Field | Type | Description |
|----------------|---------|----------------------------------------------------|
| `id` | number | Circleback meeting ID |
| `name` | string | Meeting title |
| `url` | string | Virtual meeting URL (Zoom, Meet, Teams, etc.) |
| `createdAt` | string | Meeting creation timestamp |
| `duration` | number | Duration in seconds |
| `recordingUrl` | string | Recording URL (valid 24 hours) |
| `tags` | json | Array of tags |
| `icalUid` | string | Calendar event ID |
| `attendees` | json | Array of attendee objects |
| `notes` | string | Meeting notes in Markdown |
| `actionItems` | json | Array of action items |
| `transcript` | json | Array of transcript segments |
| `insights` | json | User-created insights |
| `meeting` | json | Full meeting payload |
Whether you want to distribute instant summaries, log action items, or build custom workflows triggered by new meeting data, Circleback and Sim make it seamless to handle everything related to your meetings—automatically.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Receive meeting notes, action items, transcripts, and recordings when meetings are processed. Circleback uses webhooks to push data to your workflows.
## Notes
- Category: `triggers`
- Type: `circleback`

View File

@@ -0,0 +1,223 @@
---
title: Grain
description: Access meeting recordings, transcripts, and AI summaries
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grain"
color="#F6FAF9"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grain](https://grain.com/) is a modern platform for capturing, storing, and sharing meeting recordings, transcripts, highlights, and AI-powered summaries. Grain enables teams to turn conversations into actionable insights and keep everyone aligned on key moments from meetings.
With Grain, you can:
- **Access searchable recordings and transcripts**: Find and review every meeting by keyword, participant, or topic.
- **Share highlights and clips**: Capture important moments and share short video/audio highlights across your team or workflows.
- **Get AI-generated summaries**: Automatically produce meeting summaries, action items, and key insights using Grains advanced AI.
- **Organize meetings by team or type**: Tag and categorize recordings for easy access and reporting.
The Sim Grain integration empowers your agents to:
- List, search, and retrieve meeting recordings and details by flexible filters (datetime, participant, team, etc).
- Access AI summaries, participants, highlights, and other metadata for meetings to power automations or analysis.
- Trigger workflows whenever new meetings are processed, summaries are generated, or highlights are created via Grain webhooks.
- Easily bridge Grain data into other tools or notify teammates the moment something important happens in a meeting.
Whether you want to automate follow-up actions, keep records of important conversations, or surface insights across your organization, Grain and Sim make it easy to connect meeting intelligence to your workflows.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate Grain into your workflow. Access meeting recordings, transcripts, highlights, and AI-generated summaries. Can also trigger workflows based on Grain webhook events.
## Tools
### `grain_list_recordings`
List recordings from Grain with optional filters and pagination
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
| `cursor` | string | No | Pagination cursor for next page |
| `beforeDatetime` | string | No | Only recordings before this ISO8601 timestamp |
| `afterDatetime` | string | No | Only recordings after this ISO8601 timestamp |
| `participantScope` | string | No | Filter: "internal" or "external" |
| `titleSearch` | string | No | Search term to filter by recording title |
| `teamId` | string | No | Filter by team UUID |
| `meetingTypeId` | string | No | Filter by meeting type UUID |
| `includeHighlights` | boolean | No | Include highlights/clips in response |
| `includeParticipants` | boolean | No | Include participant list in response |
| `includeAiSummary` | boolean | No | Include AI-generated summary |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `recordings` | array | Array of recording objects |
### `grain_get_recording`
Get details of a single recording by ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
| `recordingId` | string | Yes | The recording UUID |
| `includeHighlights` | boolean | No | Include highlights/clips |
| `includeParticipants` | boolean | No | Include participant list |
| `includeAiSummary` | boolean | No | Include AI summary |
| `includeCalendarEvent` | boolean | No | Include calendar event data |
| `includeHubspot` | boolean | No | Include HubSpot associations |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Recording UUID |
| `title` | string | Recording title |
| `start_datetime` | string | ISO8601 start timestamp |
| `end_datetime` | string | ISO8601 end timestamp |
| `duration_ms` | number | Duration in milliseconds |
| `media_type` | string | audio, transcript, or video |
| `source` | string | Recording source \(zoom, meet, teams, etc.\) |
| `url` | string | URL to view in Grain |
| `thumbnail_url` | string | Thumbnail image URL |
| `tags` | array | Array of tag strings |
| `teams` | array | Teams the recording belongs to |
| `meeting_type` | object | Meeting type info \(id, name, scope\) |
| `highlights` | array | Highlights \(if included\) |
| `participants` | array | Participants \(if included\) |
| `ai_summary` | object | AI summary text \(if included\) |
| `calendar_event` | object | Calendar event data \(if included\) |
| `hubspot` | object | HubSpot associations \(if included\) |
### `grain_get_transcript`
Get the full transcript of a recording
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
| `recordingId` | string | Yes | The recording UUID |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `transcript` | array | Array of transcript sections |
### `grain_list_teams`
List all teams in the workspace
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `teams` | array | Array of team objects |
### `grain_list_meeting_types`
List all meeting types in the workspace
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `meeting_types` | array | Array of meeting type objects |
### `grain_create_hook`
Create a webhook to receive recording events
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
| `hookUrl` | string | Yes | Webhook endpoint URL \(must respond 2xx\) |
| `filterBeforeDatetime` | string | No | Filter: recordings before this date |
| `filterAfterDatetime` | string | No | Filter: recordings after this date |
| `filterParticipantScope` | string | No | Filter: "internal" or "external" |
| `filterTeamId` | string | No | Filter: specific team UUID |
| `filterMeetingTypeId` | string | No | Filter: specific meeting type |
| `includeHighlights` | boolean | No | Include highlights in webhook payload |
| `includeParticipants` | boolean | No | Include participants in webhook payload |
| `includeAiSummary` | boolean | No | Include AI summary in webhook payload |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Hook UUID |
| `enabled` | boolean | Whether hook is active |
| `hook_url` | string | The webhook URL |
| `filter` | object | Applied filters |
| `include` | object | Included fields |
| `inserted_at` | string | ISO8601 creation timestamp |
### `grain_list_hooks`
List all webhooks for the account
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `hooks` | array | Array of hook objects |
### `grain_delete_hook`
Delete a webhook by ID
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | Grain API key \(Personal Access Token\) |
| `hookId` | string | Yes | The hook UUID to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | True when webhook was successfully deleted |
## Notes
- Category: `tools`
- Type: `grain`

View File

@@ -41,6 +41,7 @@ Create a new contact in Intercom with email, external_id, or role
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `role` | string | No | The role of the contact. Accepts 'user' or 'lead'. Defaults to 'lead' if not specified. |
| `email` | string | No | The contact's email address |
| `external_id` | string | No | A unique identifier for the contact provided by the client |
| `phone` | string | No | The contact's phone number |
@@ -51,6 +52,7 @@ Create a new contact in Intercom with email, external_id, or role
| `owner_id` | string | No | The id of an admin that has been assigned account ownership of the contact |
| `unsubscribed_from_emails` | boolean | No | Whether the contact is unsubscribed from emails |
| `custom_attributes` | string | No | Custom attributes as JSON object \(e.g., \{"attribute_name": "value"\}\) |
| `company_id` | string | No | Company ID to associate the contact with during creation |
#### Output
@@ -85,6 +87,8 @@ Update an existing contact in Intercom
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | Yes | Contact ID to update |
| `role` | string | No | The role of the contact. Accepts 'user' or 'lead'. |
| `external_id` | string | No | A unique identifier for the contact provided by the client |
| `email` | string | No | The contact's email address |
| `phone` | string | No | The contact's phone number |
| `name` | string | No | The contact's name |
@@ -94,6 +98,7 @@ Update an existing contact in Intercom
| `owner_id` | string | No | The id of an admin that has been assigned account ownership of the contact |
| `unsubscribed_from_emails` | boolean | No | Whether the contact is unsubscribed from emails |
| `custom_attributes` | string | No | Custom attributes as JSON object \(e.g., \{"attribute_name": "value"\}\) |
| `company_id` | string | No | Company ID to associate the contact with |
#### Output
@@ -131,6 +136,8 @@ Search for contacts in Intercom using a query
| `query` | string | Yes | Search query \(e.g., \{"field":"email","operator":"=","value":"user@example.com"\}\) |
| `per_page` | number | No | Number of results per page \(max: 150\) |
| `starting_after` | string | No | Cursor for pagination |
| `sort_field` | string | No | Field to sort by \(e.g., "name", "created_at", "last_seen_at"\) |
| `sort_order` | string | No | Sort order: "ascending" or "descending" |
#### Output
@@ -172,6 +179,7 @@ Create or update a company in Intercom
| `industry` | string | No | The industry the company operates in |
| `monthly_spend` | number | No | How much revenue the company generates for your business. Note: This field truncates floats to whole integers \(e.g., 155.98 becomes 155\) |
| `custom_attributes` | string | No | Custom attributes as JSON object |
| `remote_created_at` | number | No | The time the company was created by you as a Unix timestamp |
#### Output
@@ -207,6 +215,7 @@ List all companies from Intercom with pagination support. Note: This endpoint ha
| --------- | ---- | -------- | ----------- |
| `per_page` | number | No | Number of results per page |
| `page` | number | No | Page number |
| `starting_after` | string | No | Cursor for pagination \(preferred over page-based pagination\) |
#### Output
@@ -225,6 +234,7 @@ Retrieve a single conversation by ID from Intercom
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Yes | Conversation ID to retrieve |
| `display_as` | string | No | Set to "plaintext" to retrieve messages in plain text |
| `include_translations` | boolean | No | When true, conversation parts will be translated to the detected language of the conversation |
#### Output
@@ -243,6 +253,8 @@ List all conversations from Intercom with pagination support
| --------- | ---- | -------- | ----------- |
| `per_page` | number | No | Number of results per page \(max: 150\) |
| `starting_after` | string | No | Cursor for pagination |
| `sort` | string | No | Field to sort by \(e.g., "waiting_since", "updated_at", "created_at"\) |
| `order` | string | No | Sort order: "asc" \(ascending\) or "desc" \(descending\) |
#### Output
@@ -264,6 +276,7 @@ Reply to a conversation as an admin in Intercom
| `body` | string | Yes | The text body of the reply |
| `admin_id` | string | No | The ID of the admin authoring the reply. If not provided, a default admin \(Operator/Fin\) will be used. |
| `attachment_urls` | string | No | Comma-separated list of image URLs \(max 10\) |
| `created_at` | number | No | Unix timestamp for when the reply was created. If not provided, current time is used. |
#### Output
@@ -283,6 +296,8 @@ Search for conversations in Intercom using a query
| `query` | string | Yes | Search query as JSON object |
| `per_page` | number | No | Number of results per page \(max: 150\) |
| `starting_after` | string | No | Cursor for pagination |
| `sort_field` | string | No | Field to sort by \(e.g., "created_at", "updated_at"\) |
| `sort_order` | string | No | Sort order: "ascending" or "descending" |
#### Output
@@ -302,6 +317,10 @@ Create a new ticket in Intercom
| `ticket_type_id` | string | Yes | The ID of the ticket type |
| `contacts` | string | Yes | JSON array of contact identifiers \(e.g., \[\{"id": "contact_id"\}\]\) |
| `ticket_attributes` | string | Yes | JSON object with ticket attributes including _default_title_ and _default_description_ |
| `company_id` | string | No | Company ID to associate the ticket with |
| `created_at` | number | No | Unix timestamp for when the ticket was created. If not provided, current time is used. |
| `conversation_to_link_id` | string | No | ID of an existing conversation to link to this ticket |
| `disable_notifications` | boolean | No | When true, suppresses notifications when the ticket is created |
#### Output
@@ -335,13 +354,15 @@ Create and send a new admin-initiated message in Intercom
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `message_type` | string | Yes | Message type: "inapp" or "email" |
| `message_type` | string | Yes | Message type: "inapp" for in-app messages or "email" for email messages |
| `template` | string | Yes | Message template style: "plain" for plain text or "personal" for personalized style |
| `subject` | string | No | The subject of the message \(for email type\) |
| `body` | string | Yes | The body of the message |
| `from_type` | string | Yes | Sender type: "admin" |
| `from_id` | string | Yes | The ID of the admin sending the message |
| `to_type` | string | Yes | Recipient type: "contact" |
| `to_id` | string | Yes | The ID of the contact receiving the message |
| `created_at` | number | No | Unix timestamp for when the message was created. If not provided, current time is used. |
#### Output

View File

@@ -64,8 +64,6 @@ Extract and process web content into clean, LLM-friendly text using Jina AI Read
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | The extracted content from the URL, processed into clean, LLM-friendly text |
| `links` | array | List of links found on the page \(when gatherLinks or withLinksummary is enabled\) |
| `images` | array | List of images found on the page \(when withImagesummary is enabled\) |
### `jina_search`

View File

@@ -97,10 +97,16 @@ Write a Jira issue
| `projectId` | string | Yes | Project ID for the issue |
| `summary` | string | Yes | Summary for the issue |
| `description` | string | No | Description for the issue |
| `priority` | string | No | Priority for the issue |
| `assignee` | string | No | Assignee for the issue |
| `priority` | string | No | Priority ID or name for the issue \(e.g., "10000" or "High"\) |
| `assignee` | string | No | Assignee account ID for the issue |
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
| `issueType` | string | Yes | Type of issue to create \(e.g., Task, Story\) |
| `labels` | array | No | Labels for the issue \(array of label names\) |
| `duedate` | string | No | Due date for the issue \(format: YYYY-MM-DD\) |
| `reporter` | string | No | Reporter account ID for the issue |
| `environment` | string | No | Environment information for the issue |
| `customFieldId` | string | No | Custom field ID \(e.g., customfield_10001\) |
| `customFieldValue` | string | No | Value for the custom field |
#### Output
@@ -110,6 +116,7 @@ Write a Jira issue
| `issueKey` | string | Created issue key \(e.g., PROJ-123\) |
| `summary` | string | Issue summary |
| `url` | string | URL to the created issue |
| `assigneeId` | string | Account ID of the assigned user \(if assigned\) |
### `jira_bulk_read`
@@ -523,6 +530,30 @@ Remove a watcher from a Jira issue
| `issueKey` | string | Issue key |
| `watcherAccountId` | string | Removed watcher account ID |
### `jira_get_users`
Get Jira users. If an account ID is provided, returns a single user. Otherwise, returns a list of all users.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
| `accountId` | string | No | Optional account ID to get a specific user. If not provided, returns all users. |
| `startAt` | number | No | The index of the first user to return \(for pagination, default: 0\) |
| `maxResults` | number | No | Maximum number of users to return \(default: 50\) |
| `cloudId` | string | No | Jira Cloud ID for the instance. If not provided, it will be fetched using the domain. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `ts` | string | Timestamp of the operation |
| `users` | json | Array of users with accountId, displayName, emailAddress, active status, and avatarUrls |
| `total` | number | Total number of users returned |
| `startAt` | number | Pagination start index |
| `maxResults` | number | Maximum results per page |
## Notes

View File

@@ -26,11 +26,10 @@ Add a new memory to the database or append to existing memory with the same ID.
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | No | Conversation identifier \(e.g., user-123, session-abc\). If a memory with this conversationId already exists for this block, the new message will be appended to it. |
| `conversationId` | string | No | Conversation identifier \(e.g., user-123, session-abc\). If a memory with this conversationId already exists, the new message will be appended to it. |
| `id` | string | No | Legacy parameter for conversation identifier. Use conversationId instead. Provided for backwards compatibility. |
| `role` | string | Yes | Role for agent memory \(user, assistant, or system\) |
| `content` | string | Yes | Content for agent memory |
| `blockId` | string | No | Optional block ID. If not provided, uses the current block ID from execution context, or defaults to "default". |
#### Output
@@ -42,23 +41,21 @@ Add a new memory to the database or append to existing memory with the same ID.
### `memory_get`
Retrieve memory by conversationId, blockId, blockName, or a combination. Returns all matching memories.
Retrieve memory by conversationId. Returns matching memories.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | No | Conversation identifier \(e.g., user-123, session-abc\). If provided alone, returns all memories for this conversation across all blocks. |
| `conversationId` | string | No | Conversation identifier \(e.g., user-123, session-abc\). Returns memories for this conversation. |
| `id` | string | No | Legacy parameter for conversation identifier. Use conversationId instead. Provided for backwards compatibility. |
| `blockId` | string | No | Block identifier. If provided alone, returns all memories for this block across all conversations. If provided with conversationId, returns memories for that specific conversation in this block. |
| `blockName` | string | No | Block name. Alternative to blockId. If provided alone, returns all memories for blocks with this name. If provided with conversationId, returns memories for that conversation in blocks with this name. |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the memory was retrieved successfully |
| `memories` | array | Array of memory objects with conversationId, blockId, blockName, and data fields |
| `memories` | array | Array of memory objects with conversationId and data fields |
| `message` | string | Success or error message |
| `error` | string | Error message if operation failed |
@@ -76,22 +73,20 @@ Retrieve all memories from the database
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether all memories were retrieved successfully |
| `memories` | array | Array of all memory objects with key, conversationId, blockId, blockName, and data fields |
| `memories` | array | Array of all memory objects with key, conversationId, and data fields |
| `message` | string | Success or error message |
| `error` | string | Error message if operation failed |
### `memory_delete`
Delete memories by conversationId, blockId, blockName, or a combination. Supports bulk deletion.
Delete memories by conversationId.
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | No | Conversation identifier \(e.g., user-123, session-abc\). If provided alone, deletes all memories for this conversation across all blocks. |
| `conversationId` | string | No | Conversation identifier \(e.g., user-123, session-abc\). Deletes all memories for this conversation. |
| `id` | string | No | Legacy parameter for conversation identifier. Use conversationId instead. Provided for backwards compatibility. |
| `blockId` | string | No | Block identifier. If provided alone, deletes all memories for this block across all conversations. If provided with conversationId, deletes memories for that specific conversation in this block. |
| `blockName` | string | No | Block name. Alternative to blockId. If provided alone, deletes all memories for blocks with this name. If provided with conversationId, deletes memories for that conversation in blocks with this name. |
#### Output

View File

@@ -9,6 +9,7 @@
"asana",
"browser_use",
"calendly",
"circleback",
"clay",
"confluence",
"cursor",
@@ -35,6 +36,7 @@
"google_slides",
"google_vault",
"grafana",
"grain",
"hubspot",
"huggingface",
"hunter",
@@ -80,6 +82,7 @@
"sendgrid",
"sentry",
"serper",
"servicenow",
"sftp",
"sharepoint",
"shopify",

View File

@@ -0,0 +1,129 @@
---
title: ServiceNow
description: Create, read, update, and delete ServiceNow records
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="servicenow"
color="#032D42"
/>
{/* MANUAL-CONTENT-START:intro */}
[ServiceNow](https://www.servicenow.com/) is a powerful cloud platform designed to streamline and automate IT service management (ITSM), workflows, and business processes across your organization. ServiceNow enables you to manage incidents, requests, tasks, users, and more using its extensive API.
With ServiceNow, you can:
- **Automate IT workflows**: Create, read, update, and delete records in any ServiceNow table, such as incidents, tasks, change requests, and users.
- **Integrate systems**: Connect ServiceNow with your other tools and processes for seamless automation.
- **Maintain a single source of truth**: Keep all your service and operations data organized and accessible.
- **Drive operational efficiency**: Reduce manual work and improve service quality with customizable workflows and automation.
In Sim, the ServiceNow integration enables your agents to interact directly with your ServiceNow instance as part of their workflows. Agents can create, read, update, or delete records in any ServiceNow table and leverage ticket or user data for sophisticated automation and decision-making. This integration bridges your workflow automation and IT operations, empowering your agents to manage service requests, incidents, users, and assets without manual intervention. By connecting Sim with ServiceNow, you can automate service management tasks, improve response times, and ensure consistent, secure access to your organization's vital service data.
{/* MANUAL-CONTENT-END */}
## Usage Instructions
Integrate ServiceNow into your workflow. Create, read, update, and delete records in any ServiceNow table including incidents, tasks, change requests, users, and more.
## Tools
### `servicenow_create_record`
Create a new record in a ServiceNow table
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Yes | ServiceNow instance URL \(e.g., https://instance.service-now.com\) |
| `username` | string | Yes | ServiceNow username |
| `password` | string | Yes | ServiceNow password |
| `tableName` | string | Yes | Table name \(e.g., incident, task, sys_user\) |
| `fields` | json | Yes | Fields to set on the record \(JSON object\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `record` | json | Created ServiceNow record with sys_id and other fields |
| `metadata` | json | Operation metadata |
### `servicenow_read_record`
Read records from a ServiceNow table
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Yes | ServiceNow instance URL \(e.g., https://instance.service-now.com\) |
| `username` | string | Yes | ServiceNow username |
| `password` | string | Yes | ServiceNow password |
| `tableName` | string | Yes | Table name |
| `sysId` | string | No | Specific record sys_id |
| `number` | string | No | Record number \(e.g., INC0010001\) |
| `query` | string | No | Encoded query string \(e.g., "active=true^priority=1"\) |
| `limit` | number | No | Maximum number of records to return |
| `fields` | string | No | Comma-separated list of fields to return |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `records` | array | Array of ServiceNow records |
| `metadata` | json | Operation metadata |
### `servicenow_update_record`
Update an existing record in a ServiceNow table
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Yes | ServiceNow instance URL \(e.g., https://instance.service-now.com\) |
| `username` | string | Yes | ServiceNow username |
| `password` | string | Yes | ServiceNow password |
| `tableName` | string | Yes | Table name |
| `sysId` | string | Yes | Record sys_id to update |
| `fields` | json | Yes | Fields to update \(JSON object\) |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `record` | json | Updated ServiceNow record |
| `metadata` | json | Operation metadata |
### `servicenow_delete_record`
Delete a record from a ServiceNow table
#### Input
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Yes | ServiceNow instance URL \(e.g., https://instance.service-now.com\) |
| `username` | string | Yes | ServiceNow username |
| `password` | string | Yes | ServiceNow password |
| `tableName` | string | Yes | Table name |
| `sysId` | string | Yes | Record sys_id to delete |
#### Output
| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Whether the deletion was successful |
| `metadata` | json | Operation metadata |
## Notes
- Category: `tools`
- Type: `servicenow`

View File

@@ -114,7 +114,7 @@ Read the latest messages from Slack channels. Retrieve conversation history with
| `botToken` | string | No | Bot token for Custom Bot |
| `channel` | string | No | Slack channel to read messages from \(e.g., #general\) |
| `userId` | string | No | User ID for DM conversation \(e.g., U1234567890\) |
| `limit` | number | No | Number of messages to retrieve \(default: 10, max: 100\) |
| `limit` | number | No | Number of messages to retrieve \(default: 10, max: 15\) |
| `oldest` | string | No | Start of time range \(timestamp\) |
| `latest` | string | No | End of time range \(timestamp\) |

View File

@@ -52,6 +52,7 @@ Query data from a Supabase table
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to query |
| `schema` | string | No | Database schema to query from \(default: public\). Use this to access tables in other schemas. |
| `filter` | string | No | PostgREST filter \(e.g., "id=eq.123"\) |
| `orderBy` | string | No | Column to order by \(add DESC for descending\) |
| `limit` | number | No | Maximum number of rows to return |
@@ -74,6 +75,7 @@ Insert data into a Supabase table
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to insert data into |
| `schema` | string | No | Database schema to insert into \(default: public\). Use this to access tables in other schemas. |
| `data` | array | Yes | The data to insert \(array of objects or a single object\) |
| `apiKey` | string | Yes | Your Supabase service role secret key |
@@ -94,6 +96,7 @@ Get a single row from a Supabase table based on filter criteria
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to query |
| `schema` | string | No | Database schema to query from \(default: public\). Use this to access tables in other schemas. |
| `filter` | string | Yes | PostgREST filter to find the specific row \(e.g., "id=eq.123"\) |
| `apiKey` | string | Yes | Your Supabase service role secret key |
@@ -114,6 +117,7 @@ Update rows in a Supabase table based on filter criteria
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to update |
| `schema` | string | No | Database schema to update in \(default: public\). Use this to access tables in other schemas. |
| `filter` | string | Yes | PostgREST filter to identify rows to update \(e.g., "id=eq.123"\) |
| `data` | object | Yes | Data to update in the matching rows |
| `apiKey` | string | Yes | Your Supabase service role secret key |
@@ -135,6 +139,7 @@ Delete rows from a Supabase table based on filter criteria
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to delete from |
| `schema` | string | No | Database schema to delete from \(default: public\). Use this to access tables in other schemas. |
| `filter` | string | Yes | PostgREST filter to identify rows to delete \(e.g., "id=eq.123"\) |
| `apiKey` | string | Yes | Your Supabase service role secret key |
@@ -155,6 +160,7 @@ Insert or update data in a Supabase table (upsert operation)
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to upsert data into |
| `schema` | string | No | Database schema to upsert into \(default: public\). Use this to access tables in other schemas. |
| `data` | array | Yes | The data to upsert \(insert or update\) - array of objects or a single object |
| `apiKey` | string | Yes | Your Supabase service role secret key |
@@ -175,6 +181,7 @@ Count rows in a Supabase table
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to count rows from |
| `schema` | string | No | Database schema to count from \(default: public\). Use this to access tables in other schemas. |
| `filter` | string | No | PostgREST filter \(e.g., "status=eq.active"\) |
| `countType` | string | No | Count type: exact, planned, or estimated \(default: exact\) |
| `apiKey` | string | Yes | Your Supabase service role secret key |
@@ -196,6 +203,7 @@ Perform full-text search on a Supabase table
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Yes | Your Supabase project ID \(e.g., jdrkgepadsdopsntdlom\) |
| `table` | string | Yes | The name of the Supabase table to search |
| `schema` | string | No | Database schema to search in \(default: public\). Use this to access tables in other schemas. |
| `column` | string | Yes | The column to search in |
| `query` | string | Yes | The search query |
| `searchType` | string | No | Search type: plain, phrase, or websearch \(default: websearch\) |

View File

@@ -50,6 +50,9 @@ Send a chat completion request to any supported LLM provider
| `maxTokens` | number | No | Maximum tokens in the response |
| `azureEndpoint` | string | No | Azure OpenAI endpoint URL |
| `azureApiVersion` | string | No | Azure OpenAI API version |
| `vertexProject` | string | No | Google Cloud project ID for Vertex AI |
| `vertexLocation` | string | No | Google Cloud location for Vertex AI \(defaults to us-central1\) |
| `vertexCredential` | string | No | Google Cloud OAuth credential ID for Vertex AI |
#### Output

View File

@@ -5,7 +5,6 @@ title: Schedule
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'
The Schedule block automatically triggers workflows on a recurring schedule at specified intervals or times.
@@ -21,16 +20,16 @@ The Schedule block automatically triggers workflows on a recurring schedule at s
## Schedule Options
Configure when your workflow runs using the dropdown options:
Configure when your workflow runs:
<Tabs items={['Simple Intervals', 'Cron Expressions']}>
<Tab>
<ul className="list-disc space-y-1 pl-6">
<li><strong>Every few minutes</strong>: 5, 15, 30 minute intervals</li>
<li><strong>Hourly</strong>: Every hour or every few hours</li>
<li><strong>Daily</strong>: Once or multiple times per day</li>
<li><strong>Weekly</strong>: Specific days of the week</li>
<li><strong>Monthly</strong>: Specific days of the month</li>
<li><strong>Every X Minutes</strong>: Run at minute intervals (1-1440)</li>
<li><strong>Hourly</strong>: Run at a specific minute each hour</li>
<li><strong>Daily</strong>: Run at a specific time each day</li>
<li><strong>Weekly</strong>: Run on a specific day and time each week</li>
<li><strong>Monthly</strong>: Run on a specific day and time each month</li>
</ul>
</Tab>
<Tab>
@@ -43,24 +42,25 @@ Configure when your workflow runs using the dropdown options:
</Tab>
</Tabs>
## Configuring Schedules
## Activation
When a workflow is scheduled:
- The schedule becomes **active** and shows the next execution time
- Click the **"Scheduled"** button to deactivate the schedule
- Schedules automatically deactivate after **3 consecutive failures**
Schedules are tied to workflow deployment:
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-2.png"
alt="Active Schedule Block"
width={500}
height={400}
className="my-6"
/>
</div>
- **Deploy workflow** → Schedule becomes active and starts running
- **Undeploy workflow** → Schedule is removed
- **Redeploy workflow** → Schedule is recreated with current configuration
## Disabled Schedules
<Callout>
You must deploy your workflow for the schedule to start running. Configure the schedule block, then deploy from the toolbar.
</Callout>
## Automatic Disabling
Schedules automatically disable after **10 consecutive failures** to prevent runaway errors. When disabled:
- A warning badge appears on the schedule block
- The schedule stops executing
- Click the badge to reactivate the schedule
<div className="flex justify-center">
<Image
@@ -72,8 +72,6 @@ When a workflow is scheduled:
/>
</div>
Disabled schedules show when they were last active. Click the **"Disabled"** badge to reactivate the schedule.
<Callout>
Schedule blocks cannot receive incoming connections and serve as pure workflow triggers.
</Callout>
Schedule blocks cannot receive incoming connections and serve as workflow entry points only.
</Callout>

View File

@@ -111,26 +111,24 @@ Diferentes tipos de bloques producen diferentes estructuras de salida. Esto es l
```json
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
"selectedOption": "condition-1"
}
```
### Campos de salida del bloque de condición
- **content**: El contenido original que se transmite
- **conditionResult**: Resultado booleano de la evaluación de la condición
- **selectedPath**: Información sobre la ruta seleccionada
- **conditionResult**: resultado booleano de la evaluación de la condición
- **selectedPath**: información sobre la ruta seleccionada
- **blockId**: ID del siguiente bloque en la ruta seleccionada
- **blockType**: Tipo del siguiente bloque
- **blockTitle**: Título del siguiente bloque
- **selectedConditionId**: ID de la condición seleccionada
- **blockType**: tipo del siguiente bloque
- **blockTitle**: título del siguiente bloque
- **selectedOption**: ID de la condición seleccionada
</Tab>
<Tab>

View File

@@ -47,42 +47,42 @@ El desglose del modelo muestra:
## Opciones de precios
<Tabs items={['Hosted Models', 'Bring Your Own API Key']}>
<Tabs items={['Modelos alojados', 'Trae tu propia clave API']}>
<Tab>
**Modelos alojados** - Sim proporciona claves API con un multiplicador de precio de 2.5x:
**Modelos alojados** - Sim proporciona claves API con un multiplicador de precio de 2x:
**OpenAI**
| Modelo | Precio base (Entrada/Salida) | Precio alojado (Entrada/Salida) |
| Modelo | Precio base (entrada/salida) | Precio alojado (entrada/salida) |
|-------|---------------------------|----------------------------|
| 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 |
| GPT-5.1 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 Mini | $0.25 / $2.00 | $0.50 / $4.00 |
| GPT-5 Nano | $0.05 / $0.40 | $0.10 / $0.80 |
| GPT-4o | $2.50 / $10.00 | $5.00 / $20.00 |
| GPT-4.1 | $2.00 / $8.00 | $4.00 / $16.00 |
| GPT-4.1 Mini | $0.40 / $1.60 | $0.80 / $3.20 |
| GPT-4.1 Nano | $0.10 / $0.40 | $0.20 / $0.80 |
| o1 | $15.00 / $60.00 | $30.00 / $120.00 |
| o3 | $2.00 / $8.00 | $4.00 / $16.00 |
| o4 Mini | $1.10 / $4.40 | $2.20 / $8.80 |
**Anthropic**
| Modelo | Precio base (Entrada/Salida) | Precio alojado (Entrada/Salida) |
| Modelo | Precio base (entrada/salida) | Precio alojado (entrada/salida) |
|-------|---------------------------|----------------------------|
| 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 |
| Claude Opus 4.5 | $5.00 / $25.00 | $10.00 / $50.00 |
| Claude Opus 4.1 | $15.00 / $75.00 | $30.00 / $150.00 |
| Claude Sonnet 4.5 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Sonnet 4.0 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Haiku 4.5 | $1.00 / $5.00 | $2.00 / $10.00 |
**Google**
| Modelo | Precio base (Entrada/Salida) | Precio alojado (Entrada/Salida) |
| Modelo | Precio base (entrada/salida) | Precio alojado (entrada/salida) |
|-------|---------------------------|----------------------------|
| 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 |
| Gemini 3 Pro Preview | $2.00 / $12.00 | $4.00 / $24.00 |
| Gemini 2.5 Pro | $1.25 / $10.00 | $2.50 / $20.00 |
| Gemini 2.5 Flash | $0.30 / $2.50 | $0.60 / $5.00 |
*El multiplicador de 2.5x cubre los costos de infraestructura y gestión de API.*
*El multiplicador 2x cubre los costos de infraestructura y gestión de API.*
</Tab>
<Tab>
@@ -105,26 +105,30 @@ El desglose del modelo muestra:
Los precios mostrados reflejan las tarifas a partir del 10 de septiembre de 2025. Consulta la documentación del proveedor para conocer los precios actuales.
</Callout>
## Trae tu propia clave (BYOK)
Puedes usar tus propias claves API para modelos alojados (OpenAI, Anthropic, Google, Mistral) en **Configuración → BYOK** para pagar precios base. Las claves están encriptadas y se aplican a todo el espacio de trabajo.
## Estrategias de optimización de costos
- **Selección de modelos**: Elige modelos según la complejidad de la tarea. Las tareas simples pueden usar GPT-4.1-nano mientras que el razonamiento complejo podría necesitar o1 o Claude Opus.
- **Ingeniería de prompts**: Los prompts bien estructurados y concisos reducen el uso de tokens sin sacrificar la calidad.
- **Modelos locales**: Usa Ollama o VLLM para tareas no críticas para eliminar por completo los costos de API.
- **Almacenamiento en caché y reutilización**: Guarda resultados frecuentemente utilizados en variables o archivos para evitar llamadas repetidas al modelo de IA.
- **Procesamiento por lotes**: Procesa múltiples elementos en una sola solicitud de IA en lugar de hacer llamadas individuales.
- **Selección de modelo**: elige modelos según la complejidad de la tarea. Las tareas simples pueden usar GPT-4.1-nano mientras que el razonamiento complejo podría necesitar o1 o Claude Opus.
- **Ingeniería de prompts**: los prompts bien estructurados y concisos reducen el uso de tokens sin sacrificar calidad.
- **Modelos locales**: usa Ollama o VLLM para tareas no críticas para eliminar completamente los costos de API.
- **Almacenamiento en caché y reutilización**: guarda resultados usados frecuentemente en variables o archivos para evitar llamadas repetidas al modelo de IA.
- **Procesamiento por lotes**: procesa múltiples elementos en una sola solicitud de IA en lugar de hacer llamadas individuales.
## Monitoreo de uso
Monitorea tu uso y facturación en Configuración → Suscripción:
- **Uso actual**: Uso y costos en tiempo real para el período actual
- **Límites de uso**: Límites del plan con indicadores visuales de progreso
- **Detalles de facturación**: Cargos proyectados y compromisos mínimos
- **Gestión del plan**: Opciones de actualización e historial de facturación
- **Uso actual**: uso y costos en tiempo real para el período actual
- **Límites de uso**: límites del plan con indicadores visuales de progreso
- **Detalles de facturación**: cargos proyectados y compromisos mínimos
- **Gestión de plan**: opciones de actualización e historial de facturación
### Seguimiento programático de uso
### Seguimiento de uso programático
Puedes consultar tu uso actual y límites de forma programática utilizando la API:
Puedes consultar tu uso y límites actuales de forma programática usando la API:
**Endpoint:**
@@ -135,13 +139,13 @@ GET /api/users/me/usage-limits
**Autenticación:**
- Incluye tu clave API en el encabezado `X-API-Key`
**Ejemplo de solicitud:**
**Solicitud de ejemplo:**
```bash
curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" https://sim.ai/api/users/me/usage-limits
```
**Ejemplo de respuesta:**
**Respuesta de ejemplo:**
```json
{
@@ -172,14 +176,14 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
```
**Campos de límite de tasa:**
- `requestsPerMinute`: Límite de tasa sostenida (los tokens se recargan a esta velocidad)
- `maxBurst`: Máximo de tokens que puedes acumular (capacidad de ráfaga)
- `remaining`: Tokens disponibles actualmente (puede ser hasta `maxBurst`)
- `requestsPerMinute`: límite de tasa sostenida (los tokens se recargan a esta tasa)
- `maxBurst`: tokens máximos que puedes acumular (capacidad de ráfaga)
- `remaining`: tokens actuales disponibles (puede ser hasta `maxBurst`)
**Campos de respuesta:**
- `currentPeriodCost` refleja el uso en el período de facturación actual
- `limit` se deriva de límites individuales (Gratuito/Pro) o límites agrupados de la organización (Equipo/Empresa)
- `plan` es el plan activo de mayor prioridad asociado a tu usuario
- `limit` se deriva de límites individuales (Free/Pro) o límites de organización agrupados (Team/Enterprise)
- `plan` es el plan activo de mayor prioridad asociado con tu usuario
## Límites del plan
@@ -187,9 +191,9 @@ Los diferentes planes de suscripción tienen diferentes límites de uso:
| Plan | Límite de uso mensual | Límites de tasa (por minuto) |
|------|-------------------|-------------------------|
| **Gratuito** | $10 | 5 sincrónico, 10 asincrónico |
| **Pro** | $100 | 10 sincrónico, 50 asincrónico |
| **Equipo** | $500 (agrupado) | 50 sincrónico, 100 asincrónico |
| **Gratuito** | $20 | 5 sync, 10 async |
| **Pro** | $100 | 10 sync, 50 async |
| **Equipo** | $500 (compartido) | 50 sync, 100 async |
| **Empresa** | Personalizado | Personalizado |
## Modelo de facturación
@@ -200,16 +204,16 @@ Sim utiliza un modelo de facturación de **suscripción base + excedente**:
**Plan Pro ($20/mes):**
- La suscripción mensual incluye $20 de uso
- Uso por debajo de $20 → Sin cargos adicionales
- Uso por encima de $20 → Pagas el excedente al final del mes
- Uso inferior a $20 → Sin cargos adicionales
- Uso superior a $20 → Paga el excedente al final del mes
- Ejemplo: $35 de uso = $20 (suscripción) + $15 (excedente)
**Plan de Equipo ($40/usuario/mes):**
- Uso agrupado entre todos los miembros del equipo
- Excedente calculado del uso total del equipo
**Plan Equipo ($40/usuario/mes):**
- Uso compartido entre todos los miembros del equipo
- El excedente se calcula a partir del uso total del equipo
- El propietario de la organización recibe una sola factura
**Planes Empresariales:**
**Planes Empresa:**
- Precio mensual fijo, sin excedentes
- Límites de uso personalizados según el acuerdo
@@ -218,23 +222,23 @@ Sim utiliza un modelo de facturación de **suscripción base + excedente**:
Cuando el excedente no facturado alcanza los $50, Sim factura automáticamente el monto total no facturado.
**Ejemplo:**
- Día 10: $70 de excedente → Factura inmediata de $70
- Día 15: $35 adicionales de uso ($105 en total) → Ya facturado, sin acción
- Día 20: Otros $50 de uso ($155 en total, $85 no facturados) → Factura inmediata de $85
- Día 10: $70 de excedente → Factura $70 inmediatamente
- Día 15: $35 adicionales de uso ($105 total) → Ya facturado, sin acción
- Día 20: Otros $50 de uso ($155 total, $85 sin facturar) → Factura $85 inmediatamente
Esto distribuye los cargos por exceso a lo largo del mes en lugar de una gran factura al final del período.
Esto distribuye los cargos por excedentes grandes a lo largo del mes en lugar de una sola factura grande al final del período.
## Mejores prácticas para la gestión de costos
## Mejores prácticas de gestión de costos
1. **Monitorear regularmente**: Revisa tu panel de uso con frecuencia para evitar sorpresas
2. **Establecer presupuestos**: Utiliza los límites del plan como guías para tu gasto
3. **Optimizar flujos de trabajo**: Revisa las ejecuciones de alto costo y optimiza los prompts o la selección de modelos
4. **Usar modelos apropiados**: Ajusta la complejidad del modelo a los requisitos de la tarea
5. **Agrupar tareas similares**: Combina múltiples solicitudes cuando sea posible para reducir la sobrecarga
1. **Monitorea regularmente**: Revisa tu panel de uso con frecuencia para evitar sorpresas
2. **Establece presupuestos**: Usa los límites del plan como barreras de protección para tu gasto
3. **Optimiza flujos de trabajo**: Revisa las ejecuciones de alto costo y optimiza los prompts o la selección de modelos
4. **Usa modelos apropiados**: Ajusta la complejidad del modelo a los requisitos de la tarea
5. **Agrupa tareas similares**: Combina múltiples solicitudes cuando sea posible para reducir la sobrecarga
## Próximos pasos
- Revisa tu uso actual en [Configuración → Suscripción](https://sim.ai/settings/subscription)
- Aprende sobre [Registro](/execution/logging) para seguir los detalles de ejecución
- Explora la [API externa](/execution/api) para el monitoreo programático de costos
- Consulta las [técnicas de optimización de flujo de trabajo](/blocks) para reducir costos
- Aprende sobre [Registro](/execution/logging) para rastrear detalles de ejecución
- Explora la [API externa](/execution/api) para monitoreo programático de costos
- Consulta las [técnicas de optimización de flujos de trabajo](/blocks) para reducir costos

View File

@@ -35,81 +35,87 @@ Una vez que tus documentos están procesados, puedes ver y editar los fragmentos
<Image src="/static/knowledgebase/knowledgebase.png" alt="Vista de fragmentos de documentos mostrando contenido procesado" width={800} height={500} />
### Configuración de fragmentos
- **Tamaño predeterminado del fragmento**: 1.024 caracteres
- **Rango configurable**: 100-4.000 caracteres por fragmento
- **Superposición inteligente**: 200 caracteres por defecto para preservar el contexto
- **División jerárquica**: Respeta la estructura del documento (secciones, párrafos, oraciones)
Al crear una base de conocimiento, puedes configurar cómo se dividen los documentos en fragmentos:
| Configuración | Unidad | Predeterminado | Rango | Descripción |
|---------|------|---------|-------|-------------|
| **Tamaño máximo de fragmento** | tokens | 1.024 | 100-4.000 | Tamaño máximo de cada fragmento (1 token ≈ 4 caracteres) |
| **Tamaño mínimo de fragmento** | caracteres | 1 | 1-2.000 | Tamaño mínimo de fragmento para evitar fragmentos diminutos |
| **Superposición** | caracteres | 200 | 0-500 | Superposición de contexto entre fragmentos consecutivos |
- **División jerárquica**: respeta la estructura del documento (secciones, párrafos, oraciones)
### Capacidades de edición
- **Editar contenido de fragmentos**: Modificar el contenido de texto de fragmentos individuales
- **Ajustar límites de fragmentos**: Fusionar o dividir fragmentos según sea necesario
- **Añadir metadatos**: Mejorar fragmentos con contexto adicional
- **Operaciones masivas**: Gestionar múltiples fragmentos de manera eficiente
- **Editar contenido de fragmentos**: modifica el contenido de texto de fragmentos individuales
- **Ajustar límites de fragmentos**: combina o divide fragmentos según sea necesario
- **Añadir metadatos**: mejora los fragmentos con contexto adicional
- **Operaciones masivas**: gestiona múltiples fragmentos de manera eficiente
## Procesamiento avanzado de PDF
Para documentos PDF, Sim ofrece capacidades de procesamiento mejoradas:
### Soporte OCR
### Compatibilidad con OCR
Cuando se configura con Azure o [Mistral OCR](https://docs.mistral.ai/ocr/):
- **Procesamiento de documentos escaneados**: Extraer texto de PDFs basados en imágenes
- **Manejo de contenido mixto**: Procesar PDFs con texto e imágenes
- **Alta precisión**: Modelos avanzados de IA aseguran una extracción precisa del texto
- **Procesamiento de documentos escaneados**: extrae texto de PDF basados en imágenes
- **Manejo de contenido mixto**: procesa PDF con texto e imágenes
- **Alta precisión**: los modelos de IA avanzados garantizan una extracción de texto precisa
## Uso del bloque de conocimiento en flujos de trabajo
Una vez que tus documentos son procesados, puedes utilizarlos en tus flujos de trabajo de IA a través del bloque de Conocimiento. Esto permite la Generación Aumentada por Recuperación (RAG), permitiendo a tus agentes de IA acceder y razonar sobre el contenido de tus documentos para proporcionar respuestas más precisas y contextuales.
Una vez que tus documentos estén procesados, puedes usarlos en tus flujos de trabajo de IA a través del bloque de conocimiento. Esto habilita la generación aumentada por recuperación (RAG), permitiendo que tus agentes de IA accedan y razonen sobre el contenido de tus documentos para proporcionar respuestas más precisas y contextuales.
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="Uso del bloque de conocimiento en flujos de trabajo" width={800} height={500} />
### Características del bloque de conocimiento
- **Búsqueda semántica**: Encontrar contenido relevante usando consultas en lenguaje natural
- **Integración de contexto**: Incluir automáticamente fragmentos relevantes en los prompts del agente
- **Recuperación dinámica**: La búsqueda ocurre en tiempo real durante la ejecución del flujo de trabajo
- **Puntuación de relevancia**: Resultados clasificados por similitud semántica
- **Búsqueda semántica**: encuentra contenido relevante usando consultas en lenguaje natural
- **Integración de contexto**: incluye automáticamente fragmentos relevantes en las indicaciones del agente
- **Recuperación dinámica**: la búsqueda ocurre en tiempo real durante la ejecución del flujo de trabajo
- **Puntuación de relevancia**: resultados clasificados por similitud semántica
### Opciones de integración
- **Prompts del sistema**: Proporcionar contexto a tus agentes de IA
- **Contexto dinámico**: Buscar e incluir información relevante durante las conversaciones
- **Búsqueda multi-documento**: Consultar a través de toda tu base de conocimiento
- **Búsqueda filtrada**: Combinar con etiquetas para una recuperación precisa de contenido
- **Prompts del sistema**: proporciona contexto a tus agentes de IA
- **Contexto dinámico**: busca e incluye información relevante durante las conversaciones
- **Búsqueda multidocumento**: consulta en toda tu base de conocimiento
- **Búsqueda filtrada**: combina con etiquetas para una recuperación precisa de contenido
## Tecnología de búsqueda vectorial
Sim utiliza búsqueda vectorial impulsada por [pgvector](https://github.com/pgvector/pgvector) para entender el significado y contexto de tu contenido:
Sim utiliza búsqueda vectorial impulsada por [pgvector](https://github.com/pgvector/pgvector) para comprender el significado y contexto de tu contenido:
### Comprensión semántica
- **Búsqueda contextual**: Encuentra contenido relevante incluso cuando las palabras clave exactas no coinciden
- **Recuperación basada en conceptos**: Comprende las relaciones entre ideas
- **Soporte multilingüe**: Funciona en diferentes idiomas
- **Reconocimiento de sinónimos**: Encuentra términos y conceptos relacionados
- **Búsqueda contextual**: encuentra contenido relevante incluso cuando las palabras clave exactas no coinciden
- **Recuperación basada en conceptos**: comprende las relaciones entre ideas
- **Soporte multiidioma**: funciona en diferentes idiomas
- **Reconocimiento de sinónimos**: encuentra términos y conceptos relacionados
### Capacidades de búsqueda
- **Consultas en lenguaje natural**: Haz preguntas en español simple
- **Búsqueda por similitud**: Encuentra contenido conceptualmente similar
- **Búsqueda híbrida**: Combina búsqueda vectorial y tradicional por palabras clave
- **Resultados configurables**: Controla el número y umbral de relevancia de los resultados
- **Consultas en lenguaje natural**: haz preguntas en lenguaje cotidiano
- **Búsqueda por similitud**: encuentra contenido conceptualmente similar
- **Búsqueda híbrida**: combina búsqueda vectorial y búsqueda tradicional por palabras clave
- **Resultados configurables**: controla el número y el umbral de relevancia de los resultados
## Gestión de documentos
### Características de organización
- **Carga masiva**: Sube múltiples archivos a la vez mediante la API asíncrona
- **Estado de procesamiento**: Actualizaciones en tiempo real sobre el procesamiento de documentos
- **Búsqueda y filtrado**: Encuentra documentos rápidamente en grandes colecciones
- **Seguimiento de metadatos**: Captura automática de información de archivos y detalles de procesamiento
### Funciones de organización
- **Carga masiva**: sube múltiples archivos a la vez mediante la API asíncrona
- **Estado de procesamiento**: actualizaciones en tiempo real sobre el procesamiento de documentos
- **Búsqueda y filtrado**: encuentra documentos rápidamente en colecciones grandes
- **Seguimiento de metadatos**: captura automática de información de archivos y detalles de procesamiento
### Seguridad y privacidad
- **Almacenamiento seguro**: Documentos almacenados con seguridad de nivel empresarial
- **Control de acceso**: Permisos basados en espacios de trabajo
- **Aislamiento de procesamiento**: Cada espacio de trabajo tiene procesamiento de documentos aislado
- **Retención de datos**: Configura políticas de retención de documentos
- **Almacenamiento seguro**: documentos almacenados con seguridad de nivel empresarial
- **Control de acceso**: permisos basados en el espacio de trabajo
- **Aislamiento de procesamiento**: cada espacio de trabajo tiene procesamiento de documentos aislado
- **Retención de datos**: configura políticas de retención de documentos
## Primeros pasos
1. **Navega a tu base de conocimiento**: Accede desde la barra lateral de tu espacio de trabajo
2. **Sube documentos**: Arrastra y suelta o selecciona archivos para subir
3. **Monitorea el procesamiento**: Observa cómo se procesan y dividen los documentos
4. **Explora fragmentos**: Visualiza y edita el contenido procesado
5. **Añade a flujos de trabajo**: Usa el bloque de Conocimiento para integrarlo con tus agentes de IA
1. **Navega a tu base de conocimiento**: accede desde la barra lateral de tu espacio de trabajo
2. **Sube documentos**: arrastra y suelta o selecciona archivos para subir
3. **Monitorea el procesamiento**: observa cómo se procesan y fragmentan los documentos
4. **Explora fragmentos**: visualiza y edita el contenido procesado
5. **Añade a flujos de trabajo**: utiliza el bloque Knowledge para integrar con tus agentes de IA
La base de conocimiento transforma tus documentos estáticos en un recurso inteligente y consultable que tus flujos de trabajo de IA pueden aprovechar para obtener respuestas más informadas y contextuales.
La base de conocimientos transforma tus documentos estáticos en un recurso inteligente y consultable que tus flujos de trabajo de IA pueden aprovechar para obtener respuestas más informadas y contextuales.

View File

@@ -0,0 +1,59 @@
---
title: Circleback
description: Notas de reuniones e ítems de acción impulsados por IA
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="circleback"
color="linear-gradient(180deg, #E0F7FA 0%, #FFFFFF 100%)"
/>
{/* MANUAL-CONTENT-START:intro */}
[Circleback](https://circleback.ai/) es una plataforma impulsada por IA que automatiza las notas de reuniones, ítems de acción, transcripciones y grabaciones para tu equipo. Cuando se completa una reunión, Circleback procesa la conversación y proporciona notas detalladas e ítems de acción, junto con una transcripción y una grabación (cuando está disponible). Esto ayuda a los equipos a capturar información de manera eficiente, distribuir ítems de acción y asegurar que no se pierda nada, todo integrado sin problemas en tus flujos de trabajo.
Con la integración de Sim Circleback, puedes:
- **Recibir notas detalladas de reuniones e ítems de acción**: Recopila automáticamente resúmenes de reuniones bien formateados y realiza seguimiento de las tareas accionables discutidas durante tus llamadas.
- **Acceder a grabaciones y transcripciones completas de reuniones**: Obtén la conversación completa y la grabación asociada, facilitando la revisión de momentos clave o compartir con colegas.
- **Capturar información de asistentes y contexto de la reunión**: Las listas de asistentes, metadatos de reuniones y etiquetas ayudan a mantener tus datos organizados y accionables.
- **Entregar información directamente en tus flujos de trabajo**: Activa automatizaciones o envía datos de Circleback a otros sistemas en el momento en que finaliza una reunión, usando los potentes activadores webhook de Sim.
**Cómo funciona en Sim:**
Circleback utiliza activadores webhook: cada vez que se procesa una reunión, los datos se envían automáticamente a tu agente o automatización. Puedes crear más automatizaciones basadas en:
- Reunión completada (todos los datos procesados disponibles)
- Nuevas notas (notas listas incluso antes de que se procese la reunión completa)
- Integración webhook sin procesar para casos de uso avanzados
**La siguiente información está disponible en la carga útil del webhook de reunión de Circleback:**
| Campo | Tipo | Descripción |
|----------------|---------|----------------------------------------------------|
| `id` | number | ID de reunión de Circleback |
| `name` | string | Título de la reunión |
| `url` | string | URL de reunión virtual (Zoom, Meet, Teams, etc.) |
| `createdAt` | string | Marca de tiempo de creación de la reunión |
| `duration` | number | Duración en segundos |
| `recordingUrl` | string | URL de grabación (válida 24 horas) |
| `tags` | json | Array de etiquetas |
| `icalUid` | string | ID de evento de calendario |
| `attendees` | json | Array de objetos de asistentes |
| `notes` | string | Notas de la reunión en Markdown |
| `actionItems` | json | Array de elementos de acción |
| `transcript` | json | Array de segmentos de transcripción |
| `insights` | json | Insights creados por el usuario |
| `meeting` | json | Payload completo de la reunión |
Ya sea que quieras distribuir resúmenes instantáneos, registrar elementos de acción o crear flujos de trabajo personalizados activados por nuevos datos de reuniones, Circleback y Sim hacen que sea sencillo manejar todo lo relacionado con tus reuniones, automáticamente.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Recibe notas de reuniones, elementos de acción, transcripciones y grabaciones cuando se procesen las reuniones. Circleback utiliza webhooks para enviar datos a tus flujos de trabajo.
## Notas
- Categoría: `triggers`
- Tipo: `circleback`

View File

@@ -0,0 +1,218 @@
---
title: Grain
description: Accede a grabaciones de reuniones, transcripciones y resúmenes de IA
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grain"
color="#F6FAF9"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grain](https://grain.com/) es una plataforma moderna para capturar, almacenar y compartir grabaciones de reuniones, transcripciones, momentos destacados y resúmenes generados por IA. Grain permite a los equipos convertir conversaciones en información procesable y mantener a todos alineados con los momentos clave de las reuniones.
Con Grain, puedes:
- **Acceder a grabaciones y transcripciones con búsqueda**: Encuentra y revisa cada reunión por palabra clave, participante o tema.
- **Compartir momentos destacados y clips**: Captura momentos importantes y comparte fragmentos cortos de video/audio en tu equipo o flujos de trabajo.
- **Obtener resúmenes generados por IA**: Produce automáticamente resúmenes de reuniones, elementos de acción e información clave utilizando la IA avanzada de Grain.
- **Organizar reuniones por equipo o tipo**: Etiqueta y categoriza grabaciones para facilitar el acceso y la generación de informes.
La integración de Sim con Grain permite a tus agentes:
- Listar, buscar y recuperar grabaciones de reuniones y detalles mediante filtros flexibles (fecha y hora, participante, equipo, etc.).
- Acceder a resúmenes de IA, participantes, momentos destacados y otros metadatos de reuniones para impulsar automatizaciones o análisis.
- Activar flujos de trabajo cada vez que se procesen nuevas reuniones, se generen resúmenes o se creen momentos destacados a través de webhooks de Grain.
- Conectar fácilmente los datos de Grain con otras herramientas o notificar a los compañeros de equipo en el momento en que sucede algo importante en una reunión.
Ya sea que desees automatizar acciones de seguimiento, mantener registros de conversaciones importantes o destacar información en toda tu organización, Grain y Sim facilitan la conexión de la inteligencia de reuniones con tus flujos de trabajo.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra Grain en tu flujo de trabajo. Accede a grabaciones de reuniones, transcripciones, momentos destacados y resúmenes generados por IA. También puede activar flujos de trabajo basados en eventos de webhook de Grain.
## Herramientas
### `grain_list_recordings`
Lista las grabaciones de Grain con filtros opcionales y paginación
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
| `cursor` | string | No | Cursor de paginación para la siguiente página |
| `beforeDatetime` | string | No | Solo grabaciones anteriores a esta marca de tiempo ISO8601 |
| `afterDatetime` | string | No | Solo grabaciones posteriores a esta marca de tiempo ISO8601 |
| `participantScope` | string | No | Filtro: "internal" o "external" |
| `titleSearch` | string | No | Término de búsqueda para filtrar por título de grabación |
| `teamId` | string | No | Filtrar por UUID de equipo |
| `meetingTypeId` | string | No | Filtrar por UUID de tipo de reunión |
| `includeHighlights` | boolean | No | Incluir destacados/clips en la respuesta |
| `includeParticipants` | boolean | No | Incluir lista de participantes en la respuesta |
| `includeAiSummary` | boolean | No | Incluir resumen generado por IA |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `recordings` | array | Array de objetos de grabación |
### `grain_get_recording`
Obtiene los detalles de una única grabación por ID
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
| `recordingId` | string | Sí | El UUID de la grabación |
| `includeHighlights` | boolean | No | Incluir destacados/clips |
| `includeParticipants` | boolean | No | Incluir lista de participantes |
| `includeAiSummary` | boolean | No | Incluir resumen de IA |
| `includeCalendarEvent` | boolean | No | Incluir datos del evento de calendario |
| `includeHubspot` | boolean | No | Incluir asociaciones de HubSpot |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | string | UUID de la grabación |
| `title` | string | Título de la grabación |
| `start_datetime` | string | Marca de tiempo de inicio ISO8601 |
| `end_datetime` | string | Marca de tiempo de finalización ISO8601 |
| `duration_ms` | number | Duración en milisegundos |
| `media_type` | string | audio, transcript o video |
| `source` | string | Fuente de la grabación \(zoom, meet, teams, etc.\) |
| `url` | string | URL para ver en Grain |
| `thumbnail_url` | string | URL de la imagen en miniatura |
| `tags` | array | Array de cadenas de etiquetas |
| `teams` | array | Equipos a los que pertenece la grabación |
| `meeting_type` | object | Información del tipo de reunión \(id, nombre, alcance\) |
| `highlights` | array | Destacados \(si se incluyen\) |
| `participants` | array | Participantes \(si se incluyen\) |
| `ai_summary` | object | Texto del resumen de IA \(si se incluye\) |
| `calendar_event` | object | Datos del evento de calendario \(si se incluyen\) |
| `hubspot` | object | Asociaciones de HubSpot \(si se incluyen\) |
### `grain_get_transcript`
Obtener la transcripción completa de una grabación
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave de API de Grain \(token de acceso personal\) |
| `recordingId` | string | Sí | El UUID de la grabación |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `transcript` | array | Array de secciones de transcripción |
### `grain_list_teams`
Listar todos los equipos en el espacio de trabajo
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `teams` | array | Array de objetos de equipo |
### `grain_list_meeting_types`
Listar todos los tipos de reunión en el espacio de trabajo
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `meeting_types` | array | Array de objetos de tipo de reunión |
### `grain_create_hook`
Crear un webhook para recibir eventos de grabación
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
| `hookUrl` | string | Sí | URL del endpoint del webhook \(debe responder 2xx\) |
| `filterBeforeDatetime` | string | No | Filtro: grabaciones antes de esta fecha |
| `filterAfterDatetime` | string | No | Filtro: grabaciones después de esta fecha |
| `filterParticipantScope` | string | No | Filtro: "internal" o "external" |
| `filterTeamId` | string | No | Filtro: UUID de equipo específico |
| `filterMeetingTypeId` | string | No | Filtro: tipo de reunión específico |
| `includeHighlights` | boolean | No | Incluir destacados en la carga del webhook |
| `includeParticipants` | boolean | No | Incluir participantes en la carga del webhook |
| `includeAiSummary` | boolean | No | Incluir resumen de IA en la carga del webhook |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | string | UUID del hook |
| `enabled` | boolean | Si el hook está activo |
| `hook_url` | string | La URL del webhook |
| `filter` | object | Filtros aplicados |
| `include` | object | Campos incluidos |
| `inserted_at` | string | Marca de tiempo de creación ISO8601 |
### `grain_list_hooks`
Listar todos los webhooks de la cuenta
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `hooks` | array | Array de objetos hook |
### `grain_delete_hook`
Eliminar un webhook por ID
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Sí | Clave API de Grain \(token de acceso personal\) |
| `hookId` | string | Sí | El UUID del hook a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Verdadero cuando el webhook se eliminó correctamente |
## Notas
- Categoría: `tools`
- Tipo: `grain`

View File

@@ -38,16 +38,18 @@ Crear un nuevo contacto en Intercom con email, external_id o rol
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `role` | string | No | El rol del contacto. Acepta 'user' o 'lead'. Por defecto es 'lead' si no se especifica. |
| `email` | string | No | La dirección de correo electrónico del contacto |
| `external_id` | string | No | Un identificador único para el contacto proporcionado por el cliente |
| `phone` | string | No | El número de teléfono del contacto |
| `name` | string | No | El nombre del contacto |
| `avatar` | string | No | Una URL de imagen de avatar para el contacto |
| `signed_up_at` | number | No | El momento en que el usuario se registró como marca de tiempo Unix |
| `last_seen_at` | number | No | El momento en que el usuario fue visto por última vez como marca de tiempo Unix |
| `owner_id` | string | No | El id de un administrador que ha sido asignado como propietario de la cuenta del contacto |
| `signed_up_at` | number | No | La hora en que el usuario se registró como marca de tiempo Unix |
| `last_seen_at` | number | No | La hora en que el usuario fue visto por última vez como marca de tiempo Unix |
| `owner_id` | string | No | El id de un administrador al que se le ha asignado la propiedad de la cuenta del contacto |
| `unsubscribed_from_emails` | boolean | No | Si el contacto está dado de baja de los correos electrónicos |
| `custom_attributes` | string | No | Atributos personalizados como objeto JSON \(p. ej., \{"nombre_atributo": "valor"\}\) |
| `custom_attributes` | string | No | Atributos personalizados como objeto JSON \(ej., \{"attribute_name": "value"\}\) |
| `company_id` | string | No | ID de empresa para asociar el contacto durante la creación |
#### Salida
@@ -82,15 +84,18 @@ Actualizar un contacto existente en Intercom
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | Sí | ID del contacto a actualizar |
| `email` | string | No | Dirección de correo electrónico del contacto |
| `phone` | string | No | Número de teléfono del contacto |
| `name` | string | No | Nombre del contacto |
| `avatar` | string | No | URL de imagen de avatar para el contacto |
| `signed_up_at` | number | No | El momento en que el usuario se registró como marca de tiempo Unix |
| `last_seen_at` | number | No | El momento en que el usuario fue visto por última vez como marca de tiempo Unix |
| `owner_id` | string | No | El id de un administrador que ha sido asignado como propietario de la cuenta del contacto |
| `role` | string | No | El rol del contacto. Acepta 'user' o 'lead'. |
| `external_id` | string | No | Un identificador único para el contacto proporcionado por el cliente |
| `email` | string | No | La dirección de correo electrónico del contacto |
| `phone` | string | No | El número de teléfono del contacto |
| `name` | string | No | El nombre del contacto |
| `avatar` | string | No | Una URL de imagen de avatar para el contacto |
| `signed_up_at` | number | No | La hora en que el usuario se registró como marca de tiempo Unix |
| `last_seen_at` | number | No | La hora en que el usuario fue visto por última vez como marca de tiempo Unix |
| `owner_id` | string | No | El id de un administrador al que se le ha asignado la propiedad de la cuenta del contacto |
| `unsubscribed_from_emails` | boolean | No | Si el contacto está dado de baja de los correos electrónicos |
| `custom_attributes` | string | No | Atributos personalizados como objeto JSON (p. ej., \{"nombre_atributo": "valor"\}) |
| `custom_attributes` | string | No | Atributos personalizados como objeto JSON \(ej., \{"attribute_name": "value"\}\) |
| `company_id` | string | No | ID de empresa para asociar el contacto |
#### Salida
@@ -125,9 +130,11 @@ Buscar contactos en Intercom usando una consulta
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `query` | string | Sí | Consulta de búsqueda \(p. ej., \{"field":"email","operator":"=","value":"user@example.com"\}\) |
| `query` | string | Sí | Consulta de búsqueda \(ej., \{"field":"email","operator":"=","value":"user@example.com"\}\) |
| `per_page` | number | No | Número de resultados por página \(máx: 150\) |
| `starting_after` | string | No | Cursor para paginación |
| `sort_field` | string | No | Campo por el cual ordenar \(ej., "name", "created_at", "last_seen_at"\) |
| `sort_order` | string | No | Orden de clasificación: "ascending" o "descending" |
#### Salida
@@ -166,9 +173,10 @@ Crear o actualizar una empresa en Intercom
| `website` | string | No | El sitio web de la empresa |
| `plan` | string | No | El nombre del plan de la empresa |
| `size` | number | No | El número de empleados en la empresa |
| `industry` | string | No | El sector en el que opera la empresa |
| `monthly_spend` | number | No | Cuántos ingresos genera la empresa para tu negocio. Nota: Este campo trunca los decimales a números enteros \(por ejemplo, 155.98 se convierte en 155\) |
| `industry` | string | No | La industria en la que opera la empresa |
| `monthly_spend` | number | No | Cuántos ingresos genera la empresa para tu negocio. Nota: Este campo trunca decimales a números enteros \(ej., 155.98 se convierte en 155\) |
| `custom_attributes` | string | No | Atributos personalizados como objeto JSON |
| `remote_created_at` | number | No | La fecha en que creaste la empresa como marca de tiempo Unix |
#### Salida
@@ -204,6 +212,7 @@ Lista todas las empresas de Intercom con soporte de paginación. Nota: Este endp
| --------- | ---- | -------- | ----------- |
| `per_page` | number | No | Número de resultados por página |
| `page` | number | No | Número de página |
| `starting_after` | string | No | Cursor para paginación \(preferido sobre paginación basada en páginas\) |
#### Salida
@@ -221,7 +230,8 @@ Recuperar una sola conversación por ID desde Intercom
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Sí | ID de la conversación a recuperar |
| `display_as` | string | No | Establecer como "plaintext" para recuperar mensajes en texto plano |
| `display_as` | string | No | Establecer en "plaintext" para recuperar mensajes en texto plano |
| `include_translations` | boolean | No | Cuando es true, las partes de la conversación se traducirán al idioma detectado de la conversación |
#### Salida
@@ -240,6 +250,8 @@ Listar todas las conversaciones de Intercom con soporte de paginación
| --------- | ---- | -------- | ----------- |
| `per_page` | number | No | Número de resultados por página \(máx: 150\) |
| `starting_after` | string | No | Cursor para paginación |
| `sort` | string | No | Campo por el que ordenar \(p. ej., "waiting_since", "updated_at", "created_at"\) |
| `order` | string | No | Orden de clasificación: "asc" \(ascendente\) o "desc" \(descendente\) |
#### Salida
@@ -258,9 +270,10 @@ Responder a una conversación como administrador en Intercom
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Sí | ID de la conversación a la que responder |
| `message_type` | string | Sí | Tipo de mensaje: "comment" o "note" |
| `body` | string | Sí | El texto del cuerpo de la respuesta |
| `admin_id` | string | No | El ID del administrador que escribe la respuesta. Si no se proporciona, se utilizará un administrador predeterminado \(Operator/Fin\). |
| `attachment_urls` | string | No | Lista separada por comas de URLs de imágenes \(máximo 10\) |
| `body` | string | Sí | El cuerpo de texto de la respuesta |
| `admin_id` | string | No | El ID del administrador que escribe la respuesta. Si no se proporciona, se usará un administrador predeterminado \(Operator/Fin\). |
| `attachment_urls` | string | No | Lista de URLs de imágenes separadas por comas \(máx 10\) |
| `created_at` | number | No | Marca de tiempo Unix de cuándo se creó la respuesta. Si no se proporciona, se usa la hora actual. |
#### Salida
@@ -278,8 +291,10 @@ Buscar conversaciones en Intercom usando una consulta
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `query` | string | Sí | Consulta de búsqueda como objeto JSON |
| `per_page` | number | No | Número de resultados por página (máx: 150) |
| `per_page` | number | No | Número de resultados por página \(máx: 150\) |
| `starting_after` | string | No | Cursor para paginación |
| `sort_field` | string | No | Campo por el que ordenar \(p. ej., "created_at", "updated_at"\) |
| `sort_order` | string | No | Orden de clasificación: "ascending" o "descending" |
#### Salida
@@ -297,8 +312,12 @@ Crear un nuevo ticket en Intercom
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `ticket_type_id` | string | Sí | El ID del tipo de ticket |
| `contacts` | string | Sí | Array JSON de identificadores de contacto (p. ej., \{"id": "contact_id"\}) |
| `contacts` | string | Sí | Array JSON de identificadores de contacto \(p. ej., \[\{"id": "contact_id"\}\]\) |
| `ticket_attributes` | string | Sí | Objeto JSON con atributos del ticket incluyendo _default_title_ y _default_description_ |
| `company_id` | string | No | ID de la empresa para asociar el ticket |
| `created_at` | number | No | Marca de tiempo Unix de cuándo se creó el ticket. Si no se proporciona, se utiliza la hora actual. |
| `conversation_to_link_id` | string | No | ID de una conversación existente para vincular a este ticket |
| `disable_notifications` | boolean | No | Cuando es true, suprime las notificaciones cuando se crea el ticket |
#### Salida
@@ -332,13 +351,15 @@ Crear y enviar un nuevo mensaje iniciado por el administrador en Intercom
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `message_type` | string | Sí | Tipo de mensaje: "inapp" o "email" |
| `message_type` | string | Sí | Tipo de mensaje: "inapp" para mensajes dentro de la aplicación o "email" para mensajes de correo electrónico |
| `template` | string | Sí | Estilo de plantilla del mensaje: "plain" para texto sin formato o "personal" para estilo personalizado |
| `subject` | string | No | El asunto del mensaje \(para tipo email\) |
| `body` | string | Sí | El cuerpo del mensaje |
| `from_type` | string | Sí | Tipo de remitente: "admin" |
| `from_id` | string | Sí | El ID del administrador que envía el mensaje |
| `to_type` | string | Sí | Tipo de destinatario: "contact" |
| `to_id` | string | Sí | El ID del contacto que recibe el mensaje |
| `created_at` | number | No | Marca de tiempo Unix de cuándo se creó el mensaje. Si no se proporciona, se utiliza la hora actual. |
#### Salida

View File

@@ -61,8 +61,6 @@ Extrae y procesa contenido web en texto limpio y compatible con LLM usando Jina
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | El contenido extraído de la URL, procesado en texto limpio y compatible con LLM |
| `links` | array | Lista de enlaces encontrados en la página (cuando gatherLinks o withLinksummary está activado) |
| `images` | array | Lista de imágenes encontradas en la página (cuando withImagesummary está activado) |
### `jina_search`

View File

@@ -89,24 +89,31 @@ Escribir una incidencia de Jira
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `domain` | string | Sí | Tu dominio de Jira \(p. ej., tuempresa.atlassian.net\) |
| `projectId` | string | Sí | ID del proyecto para la incidencia |
| `summary` | string | Sí | Resumen de la incidencia |
| `description` | string | No | Descripción de la incidencia |
| `priority` | string | No | Prioridad de la incidencia |
| `assignee` | string | No | Asignado para la incidencia |
| `cloudId` | string | No | ID de Jira Cloud para la instancia. Si no se proporciona, se obtendrá utilizando el dominio. |
| `priority` | string | No | ID o nombre de prioridad para la incidencia \(p. ej., "10000" o "Alta"\) |
| `assignee` | string | No | ID de cuenta del asignado para la incidencia |
| `cloudId` | string | No | ID de Jira Cloud para la instancia. Si no se proporciona, se obtendrá usando el dominio. |
| `issueType` | string | Sí | Tipo de incidencia a crear \(p. ej., Tarea, Historia\) |
| `labels` | array | No | Etiquetas para la incidencia \(array de nombres de etiquetas\) |
| `duedate` | string | No | Fecha de vencimiento para la incidencia \(formato: AAAA-MM-DD\) |
| `reporter` | string | No | ID de cuenta del informador para la incidencia |
| `environment` | string | No | Información del entorno para la incidencia |
| `customFieldId` | string | No | ID del campo personalizado \(p. ej., customfield_10001\) |
| `customFieldValue` | string | No | Valor para el campo personalizado |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `ts` | string | Marca de tiempo de la operación |
| `issueKey` | string | Clave de la incidencia creada (p. ej., PROJ-123) |
| `issueKey` | string | Clave de la incidencia creada \(p. ej., PROJ-123\) |
| `summary` | string | Resumen de la incidencia |
| `url` | string | URL de la incidencia creada |
| `assigneeId` | string | ID de cuenta del usuario asignado \(si está asignado\) |
### `jira_bulk_read`
@@ -520,6 +527,30 @@ Eliminar un observador de una incidencia de Jira
| `issueKey` | string | Clave de incidencia |
| `watcherAccountId` | string | ID de cuenta del observador eliminado |
### `jira_get_users`
Obtener usuarios de Jira. Si se proporciona un ID de cuenta, devuelve un solo usuario. De lo contrario, devuelve una lista de todos los usuarios.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `domain` | string | Sí | Tu dominio de Jira \(p. ej., tuempresa.atlassian.net\) |
| `accountId` | string | No | ID de cuenta opcional para obtener un usuario específico. Si no se proporciona, devuelve todos los usuarios. |
| `startAt` | number | No | El índice del primer usuario a devolver \(para paginación, predeterminado: 0\) |
| `maxResults` | number | No | Número máximo de usuarios a devolver \(predeterminado: 50\) |
| `cloudId` | string | No | ID de Jira Cloud para la instancia. Si no se proporciona, se obtendrá usando el dominio. |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `ts` | string | Marca de tiempo de la operación |
| `users` | json | Array de usuarios con accountId, displayName, emailAddress, estado activo y avatarUrls |
| `total` | number | Número total de usuarios devueltos |
| `startAt` | number | Índice de inicio de paginación |
| `maxResults` | number | Máximo de resultados por página |
## Notas
- Categoría: `tools`

View File

@@ -12,57 +12,54 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
## Instrucciones de uso
Integra la Memoria en el flujo de trabajo. Puede añadir, obtener una memoria, obtener todas las memorias y eliminar memorias.
Integra memoria en el flujo de trabajo. Puede añadir, obtener una memoria, obtener todas las memorias y eliminar memorias.
## Herramientas
### `memory_add`
Añade una nueva memoria a la base de datos o agrega a una memoria existente con el mismo ID.
Añadir una nueva memoria a la base de datos o agregar a una memoria existente con el mismo ID.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `conversationId` | string | No | Identificador de conversación (p. ej., user-123, session-abc). Si ya existe una memoria con este conversationId para este bloque, el nuevo mensaje se añadirá a ella. |
| `id` | string | No | Parámetro heredado para el identificador de conversación. Use conversationId en su lugar. Proporcionado para compatibilidad con versiones anteriores. |
| `role` | string | Sí | Rol para la memoria del agente (user, assistant o system) |
| `conversationId` | string | No | Identificador de conversación \(ej., user-123, session-abc\). Si ya existe una memoria con este conversationId, el nuevo mensaje se agregará a ella. |
| `id` | string | No | Parámetro heredado para identificador de conversación. Usa conversationId en su lugar. Proporcionado para compatibilidad con versiones anteriores. |
| `role` | string | Sí | Rol para la memoria del agente \(user, assistant o system\) |
| `content` | string | Sí | Contenido para la memoria del agente |
| `blockId` | string | No | ID de bloque opcional. Si no se proporciona, utiliza el ID del bloque actual del contexto de ejecución, o por defecto "default". |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Indica si la memoria se añadió correctamente |
| `success` | boolean | Si la memoria se añadió correctamente |
| `memories` | array | Array de objetos de memoria incluyendo la memoria nueva o actualizada |
| `error` | string | Mensaje de error si la operación falló |
### `memory_get`
Recuperar memoria por conversationId, blockId, blockName o una combinación. Devuelve todas las memorias coincidentes.
Recuperar memoria por conversationId. Devuelve las memorias coincidentes.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `conversationId` | string | No | Identificador de conversación (p. ej., user-123, session-abc). Si se proporciona solo, devuelve todas las memorias para esta conversación en todos los bloques. |
| `id` | string | No | Parámetro heredado para el identificador de conversación. Use conversationId en su lugar. Proporcionado para compatibilidad con versiones anteriores. |
| `blockId` | string | No | Identificador de bloque. Si se proporciona solo, devuelve todas las memorias para este bloque en todas las conversaciones. Si se proporciona con conversationId, devuelve las memorias para esa conversación específica en este bloque. |
| `blockName` | string | No | Nombre del bloque. Alternativa a blockId. Si se proporciona solo, devuelve todas las memorias para bloques con este nombre. Si se proporciona con conversationId, devuelve las memorias para esa conversación en bloques con este nombre. |
| `conversationId` | string | No | Identificador de conversación \(ej., user-123, session-abc\). Devuelve las memorias para esta conversación. |
| `id` | string | No | Parámetro heredado para identificador de conversación. Usa conversationId en su lugar. Proporcionado para compatibilidad con versiones anteriores. |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la memoria fue recuperada con éxito |
| `memories` | array | Array de objetos de memoria con campos conversationId, blockId, blockName y data |
| `success` | boolean | Si la memoria se recuperó exitosamente |
| `memories` | array | Array de objetos de memoria con campos conversationId y data |
| `message` | string | Mensaje de éxito o error |
| `error` | string | Mensaje de error si la operación falló |
### `memory_get_all`
Recuperar todas las memorias de la base de datos
Recupera todas las memorias de la base de datos
#### Entrada
@@ -73,29 +70,27 @@ Recuperar todas las memorias de la base de datos
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si todas las memorias fueron recuperadas con éxito |
| `memories` | array | Array de todos los objetos de memoria con campos key, conversationId, blockId, blockName y data |
| `success` | boolean | Si todas las memorias se recuperaron exitosamente |
| `memories` | array | Array de todos los objetos de memoria con campos key, conversationId y data |
| `message` | string | Mensaje de éxito o error |
| `error` | string | Mensaje de error si la operación falló |
### `memory_delete`
Eliminar memorias por conversationId, blockId, blockName o una combinación. Admite eliminación masiva.
Elimina memorias por conversationId.
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `conversationId` | string | No | Identificador de conversación (p. ej., user-123, session-abc). Si se proporciona solo, elimina todas las memorias para esta conversación en todos los bloques. |
| `id` | string | No | Parámetro heredado para el identificador de conversación. Use conversationId en su lugar. Proporcionado para compatibilidad con versiones anteriores. |
| `blockId` | string | No | Identificador de bloque. Si se proporciona solo, elimina todas las memorias para este bloque en todas las conversaciones. Si se proporciona con conversationId, elimina las memorias para esa conversación específica en este bloque. |
| `blockName` | string | No | Nombre del bloque. Alternativa a blockId. Si se proporciona solo, elimina todas las memorias para bloques con este nombre. Si se proporciona con conversationId, elimina las memorias para esa conversación en bloques con este nombre. |
| `conversationId` | string | No | Identificador de conversación (ej., user-123, session-abc). Elimina todas las memorias de esta conversación. |
| `id` | string | No | Parámetro heredado para identificador de conversación. Usa conversationId en su lugar. Proporcionado para compatibilidad con versiones anteriores. |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la memoria fue eliminada con éxito |
| `success` | boolean | Si la memoria se eliminó exitosamente |
| `message` | string | Mensaje de éxito o error |
| `error` | string | Mensaje de error si la operación falló |

View File

@@ -0,0 +1,124 @@
---
title: ServiceNow
description: Crear, leer, actualizar y eliminar registros de ServiceNow
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="servicenow"
color="#032D42"
/>
{/* MANUAL-CONTENT-START:intro */}
[ServiceNow](https://www.servicenow.com/) es una potente plataforma en la nube diseñada para optimizar y automatizar la gestión de servicios de TI (ITSM), flujos de trabajo y procesos empresariales en toda tu organización. ServiceNow te permite gestionar incidencias, solicitudes, tareas, usuarios y más utilizando su amplia API.
Con ServiceNow, puedes:
- **Automatizar flujos de trabajo de TI**: crear, leer, actualizar y eliminar registros en cualquier tabla de ServiceNow, como incidencias, tareas, solicitudes de cambio y usuarios.
- **Integrar sistemas**: conectar ServiceNow con tus otras herramientas y procesos para una automatización fluida.
- **Mantener una única fuente de verdad**: mantener todos tus datos de servicio y operaciones organizados y accesibles.
- **Impulsar la eficiencia operativa**: reducir el trabajo manual y mejorar la calidad del servicio con flujos de trabajo personalizables y automatización.
En Sim, la integración de ServiceNow permite que tus agentes interactúen directamente con tu instancia de ServiceNow como parte de sus flujos de trabajo. Los agentes pueden crear, leer, actualizar o eliminar registros en cualquier tabla de ServiceNow y aprovechar datos de tickets o usuarios para automatización y toma de decisiones sofisticadas. Esta integración conecta tu automatización de flujos de trabajo y operaciones de TI, permitiendo que tus agentes gestionen solicitudes de servicio, incidencias, usuarios y activos sin intervención manual. Al conectar Sim con ServiceNow, puedes automatizar tareas de gestión de servicios, mejorar los tiempos de respuesta y garantizar un acceso consistente y seguro a los datos de servicio vitales de tu organización.
{/* MANUAL-CONTENT-END */}
## Instrucciones de uso
Integra ServiceNow en tu flujo de trabajo. Crea, lee, actualiza y elimina registros en cualquier tabla de ServiceNow, incluyendo incidencias, tareas, solicitudes de cambio, usuarios y más.
## Herramientas
### `servicenow_create_record`
Crear un nuevo registro en una tabla de ServiceNow
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Sí | URL de la instancia de ServiceNow \(p. ej., https://instance.service-now.com\) |
| `username` | string | Sí | Nombre de usuario de ServiceNow |
| `password` | string | Sí | Contraseña de ServiceNow |
| `tableName` | string | Sí | Nombre de la tabla \(p. ej., incident, task, sys_user\) |
| `fields` | json | Sí | Campos a establecer en el registro \(objeto JSON\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `record` | json | Registro de ServiceNow creado con sys_id y otros campos |
| `metadata` | json | Metadatos de la operación |
### `servicenow_read_record`
Leer registros de una tabla de ServiceNow
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Sí | URL de la instancia de ServiceNow \(p. ej., https://instance.service-now.com\) |
| `username` | string | Sí | Nombre de usuario de ServiceNow |
| `password` | string | Sí | Contraseña de ServiceNow |
| `tableName` | string | Sí | Nombre de la tabla |
| `sysId` | string | No | sys_id del registro específico |
| `number` | string | No | Número de registro \(p. ej., INC0010001\) |
| `query` | string | No | Cadena de consulta codificada \(p. ej., "active=true^priority=1"\) |
| `limit` | number | No | Número máximo de registros a devolver |
| `fields` | string | No | Lista de campos separados por comas a devolver |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `records` | array | Array de registros de ServiceNow |
| `metadata` | json | Metadatos de la operación |
### `servicenow_update_record`
Actualiza un registro existente en una tabla de ServiceNow
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Sí | URL de la instancia de ServiceNow \(ej., https://instance.service-now.com\) |
| `username` | string | Sí | Nombre de usuario de ServiceNow |
| `password` | string | Sí | Contraseña de ServiceNow |
| `tableName` | string | Sí | Nombre de la tabla |
| `sysId` | string | Sí | sys_id del registro a actualizar |
| `fields` | json | Sí | Campos a actualizar \(objeto JSON\) |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `record` | json | Registro de ServiceNow actualizado |
| `metadata` | json | Metadatos de la operación |
### `servicenow_delete_record`
Elimina un registro de una tabla de ServiceNow
#### Entrada
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Sí | URL de la instancia de ServiceNow \(ej., https://instance.service-now.com\) |
| `username` | string | Sí | Nombre de usuario de ServiceNow |
| `password` | string | Sí | Contraseña de ServiceNow |
| `tableName` | string | Sí | Nombre de la tabla |
| `sysId` | string | Sí | sys_id del registro a eliminar |
#### Salida
| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `success` | boolean | Si la eliminación fue exitosa |
| `metadata` | json | Metadatos de la operación |
## Notas
- Categoría: `tools`
- Tipo: `servicenow`

View File

@@ -111,8 +111,8 @@ Lee los últimos mensajes de los canales de Slack. Recupera el historial de conv
| `authMethod` | string | No | Método de autenticación: oauth o bot_token |
| `botToken` | string | No | Token del bot para Bot personalizado |
| `channel` | string | No | Canal de Slack del que leer mensajes (p. ej., #general) |
| `userId` | string | No | ID de usuario para conversación por MD (p. ej., U1234567890) |
| `limit` | number | No | Número de mensajes a recuperar (predeterminado: 10, máx: 100) |
| `userId` | string | No | ID de usuario para conversación de mensaje directo (p. ej., U1234567890) |
| `limit` | number | No | Número de mensajes a recuperar (predeterminado: 10, máx: 15) |
| `oldest` | string | No | Inicio del rango de tiempo (marca de tiempo) |
| `latest` | string | No | Fin del rango de tiempo (marca de tiempo) |

View File

@@ -47,10 +47,11 @@ Consultar datos de una tabla de Supabase
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Sí | Tu ID de proyecto de Supabase \(ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | El nombre de la tabla de Supabase a consultar |
| `filter` | string | No | Filtro de PostgREST \(ej., "id=eq.123"\) |
| `orderBy` | string | No | Columna para ordenar \(añade DESC para orden descendente\) |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase a consultar |
| `schema` | string | No | Esquema de base de datos desde donde consultar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `filter` | string | No | Filtro PostgREST \(p. ej., "id=eq.123"\) |
| `orderBy` | string | No | Columna para ordenar \(añade DESC para descendente\) |
| `limit` | number | No | Número máximo de filas a devolver |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
@@ -68,9 +69,10 @@ Insertar datos en una tabla de Supabase
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase donde insertar datos |
| `schema` | string | No | Esquema de base de datos donde insertar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `data` | array | Sí | Los datos a insertar \(array de objetos o un solo objeto\) |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
@@ -88,9 +90,10 @@ Obtener una sola fila de una tabla de Supabase basada en criterios de filtro
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto de Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla de Supabase para consultar |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase a consultar |
| `schema` | string | No | Esquema de base de datos desde donde consultar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `filter` | string | Sí | Filtro PostgREST para encontrar la fila específica \(p. ej., "id=eq.123"\) |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
@@ -111,8 +114,9 @@ Actualizar filas en una tabla de Supabase según criterios de filtro
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase a actualizar |
| `schema` | string | No | Esquema de base de datos donde actualizar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `filter` | string | Sí | Filtro PostgREST para identificar las filas a actualizar \(p. ej., "id=eq.123"\) |
| `data` | object | Sí | Datos para actualizar en las filas coincidentes |
| `data` | object | Sí | Datos a actualizar en las filas coincidentes |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
#### Salida
@@ -132,6 +136,7 @@ Eliminar filas de una tabla de Supabase según criterios de filtro
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase de la que eliminar |
| `schema` | string | No | Esquema de base de datos del que eliminar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `filter` | string | Sí | Filtro PostgREST para identificar las filas a eliminar \(p. ej., "id=eq.123"\) |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
@@ -152,7 +157,8 @@ Insertar o actualizar datos en una tabla de Supabase (operación upsert)
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase donde hacer upsert de datos |
| `data` | array | | Los datos para upsert \(insertar o actualizar\) - array de objetos o un solo objeto |
| `schema` | string | No | Esquema de base de datos donde hacer upsert \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `data` | array | Sí | Los datos para hacer upsert \(insertar o actualizar\) - array de objetos o un solo objeto |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
#### Salida
@@ -171,7 +177,8 @@ Contar filas en una tabla de Supabase
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase de la que contar filas |
| `table` | string | Sí | El nombre de la tabla Supabase de la que contar filas |
| `schema` | string | No | Esquema de base de datos desde el que contar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `filter` | string | No | Filtro PostgREST \(p. ej., "status=eq.active"\) |
| `countType` | string | No | Tipo de conteo: exact, planned o estimated \(predeterminado: exact\) |
| `apiKey` | string | Sí | Tu clave secreta de rol de servicio de Supabase |
@@ -192,7 +199,8 @@ Realizar búsqueda de texto completo en una tabla de Supabase
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | Sí | ID de tu proyecto Supabase \(p. ej., jdrkgepadsdopsntdlom\) |
| `table` | string | Sí | Nombre de la tabla Supabase en la que buscar |
| `table` | string | Sí | El nombre de la tabla Supabase donde buscar |
| `schema` | string | No | Esquema de base de datos en el que buscar \(predeterminado: public\). Usa esto para acceder a tablas en otros esquemas. |
| `column` | string | Sí | La columna en la que buscar |
| `query` | string | Sí | La consulta de búsqueda |
| `searchType` | string | No | Tipo de búsqueda: plain, phrase o websearch \(predeterminado: websearch\) |

View File

@@ -37,16 +37,19 @@ Envía una solicitud de completado de chat a cualquier proveedor de LLM compatib
#### Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `model` | string | Sí | El modelo a utilizar \(p. ej., gpt-4o, claude-sonnet-4-5, gemini-2.0-flash\) |
| Parámetro | Tipo | Requerido | Descripción |
| --------- | ---- | --------- | ----------- |
| `model` | string | Sí | El modelo a utilizar \(por ejemplo, gpt-4o, claude-sonnet-4-5, gemini-2.0-flash\) |
| `systemPrompt` | string | No | Prompt del sistema para establecer el comportamiento del asistente |
| `context` | string | Sí | El mensaje del usuario o contexto para enviar al modelo |
| `apiKey` | string | No | Clave API para el proveedor \(usa la clave de la plataforma si no se proporciona para modelos alojados\) |
| `context` | string | Sí | El mensaje del usuario o contexto a enviar al modelo |
| `apiKey` | string | No | Clave API del proveedor \(usa la clave de la plataforma si no se proporciona para modelos alojados\) |
| `temperature` | number | No | Temperatura para la generación de respuestas \(0-2\) |
| `maxTokens` | number | No | Tokens máximos en la respuesta |
| `maxTokens` | number | No | Máximo de tokens en la respuesta |
| `azureEndpoint` | string | No | URL del endpoint de Azure OpenAI |
| `azureApiVersion` | string | No | Versión de la API de Azure OpenAI |
| `vertexProject` | string | No | ID del proyecto de Google Cloud para Vertex AI |
| `vertexLocation` | string | No | Ubicación de Google Cloud para Vertex AI \(por defecto us-central1\) |
| `vertexCredential` | string | No | ID de credencial OAuth de Google Cloud para Vertex AI |
#### Salida

View File

@@ -5,7 +5,6 @@ title: Programación
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'
El bloque de Programación activa automáticamente flujos de trabajo de forma recurrente en intervalos o momentos específicos.
@@ -21,16 +20,16 @@ El bloque de Programación activa automáticamente flujos de trabajo de forma re
## Opciones de programación
Configura cuándo se ejecuta tu flujo de trabajo utilizando las opciones desplegables:
Configura cuándo se ejecuta tu flujo de trabajo:
<Tabs items={['Intervalos simples', 'Expresiones cron']}>
<Tab>
<ul className="list-disc space-y-1 pl-6">
<li><strong>Cada pocos minutos</strong>: intervalos de 5, 15, 30 minutos</li>
<li><strong>Por hora</strong>: Cada hora o cada pocas horas</li>
<li><strong>Diariamente</strong>: Una o varias veces al día</li>
<li><strong>Semanalmente</strong>: Días específicos de la semana</li>
<li><strong>Mensualmente</strong>: Días específicos del mes</li>
<li><strong>Cada X minutos</strong>: ejecutar en intervalos de minutos (1-1440)</li>
<li><strong>Cada hora</strong>: ejecutar en un minuto específico cada hora</li>
<li><strong>Diariamente</strong>: ejecutar a una hora específica cada día</li>
<li><strong>Semanalmente</strong>: ejecutar en un día y hora específicos cada semana</li>
<li><strong>Mensualmente</strong>: ejecutar en un día y hora específicos cada mes</li>
</ul>
</Tab>
<Tab>
@@ -43,45 +42,36 @@ Configura cuándo se ejecuta tu flujo de trabajo utilizando las opciones despleg
</Tab>
</Tabs>
## Configuración de programaciones
## Activación
Cuando un flujo de trabajo está programado:
- La programación se vuelve **activa** y muestra el próximo tiempo de ejecución
- Haz clic en el botón **"Programado"** para desactivar la programación
- Las programaciones se desactivan automáticamente después de **3 fallos consecutivos**
Las programaciones están vinculadas al despliegue del flujo de trabajo:
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-2.png"
alt="Bloque de programación activo"
width={500}
height={400}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Programación desactivada"
width={500}
height={350}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Programación desactivada"
width={500}
height={400}
className="my-6"
/>
</div>
Las programaciones desactivadas muestran cuándo estuvieron activas por última vez. Haz clic en la insignia **"Desactivado"** para reactivar la programación.
- **Desplegar flujo de trabajo** → la programación se activa y comienza a ejecutarse
- **Retirar flujo de trabajo** → la programación se elimina
- **Redesplegar flujo de trabajo** → la programación se recrea con la configuración actual
<Callout>
Los bloques de programación no pueden recibir conexiones entrantes y funcionan exclusivamente como disparadores de flujos de trabajo.
Debes desplegar tu flujo de trabajo para que la programación comience a ejecutarse. Configura el bloque de programación y luego despliega desde la barra de herramientas.
</Callout>
## Desactivación automática
Las programaciones se desactivan automáticamente después de **10 fallos consecutivos** para evitar errores descontrolados. Cuando se desactiva:
- Aparece una insignia de advertencia en el bloque de programación
- La programación deja de ejecutarse
- Haz clic en la insignia para reactivar la programación
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Programación desactivada"
width={500}
height={400}
className="my-6"
/>
</div>
<Callout>
Los bloques de programación no pueden recibir conexiones entrantes y sirven únicamente como puntos de entrada del flujo de trabajo.
</Callout>

View File

@@ -111,26 +111,24 @@ Différents types de blocs produisent différentes structures de sortie. Voici c
```json
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
"selectedOption": "condition-1"
}
```
### Champs de sortie du bloc de condition
- **content** : le contenu original transmis
- **conditionResult** : résultat booléen de l'évaluation de la condition
- **selectedPath** : informations sur le chemin sélectionné
- **blockId** : ID du bloc suivant dans le chemin sélectionné
- **blockType** : type du bloc suivant
- **blockTitle** : titre du bloc suivant
- **selectedConditionId** : ID de la condition sélectionnée
- **selectedOption** : ID de la condition sélectionnée
</Tab>
<Tab>

View File

@@ -47,42 +47,42 @@ La répartition des modèles montre :
## Options de tarification
<Tabs items={['Hosted Models', 'Bring Your Own API Key']}>
<Tabs items={['Modèles hébergés', 'Apportez votre propre clé API']}>
<Tab>
**Modèles hébergés** - Sim fournit des clés API avec un multiplicateur de prix de 2,5x :
**Modèles hébergés** - Sim fournit des clés API avec un multiplicateur de prix de 2x :
**OpenAI**
| Modèle | Prix de base (Entrée/Sortie) | Prix hébergé (Entrée/Sortie) |
| Modèle | Prix de base (entrée/sortie) | Prix hébergé (entrée/sortie) |
|-------|---------------------------|----------------------------|
| 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 $ |
| GPT-5.1 | 1,25 $ / 10,00 $ | 2,50 $ / 20,00 $ |
| GPT-5 | 1,25 $ / 10,00 $ | 2,50 $ / 20,00 $ |
| GPT-5 Mini | 0,25 $ / 2,00 $ | 0,50 $ / 4,00 $ |
| GPT-5 Nano | 0,05 $ / 0,40 $ | 0,10 $ / 0,80 $ |
| GPT-4o | 2,50 $ / 10,00 $ | 5,00 $ / 20,00 $ |
| GPT-4.1 | 2,00 $ / 8,00 $ | 4,00 $ / 16,00 $ |
| GPT-4.1 Mini | 0,40 $ / 1,60 $ | 0,80 $ / 3,20 $ |
| GPT-4.1 Nano | 0,10 $ / 0,40 $ | 0,20 $ / 0,80 $ |
| o1 | 15,00 $ / 60,00 $ | 30,00 $ / 120,00 $ |
| o3 | 2,00 $ / 8,00 $ | 4,00 $ / 16,00 $ |
| o4 Mini | 1,10 $ / 4,40 $ | 2,20 $ / 8,80 $ |
**Anthropic**
| Modèle | Prix de base (Entrée/Sortie) | Prix hébergé (Entrée/Sortie) |
| Modèle | Prix de base (entrée/sortie) | Prix hébergé (entrée/sortie) |
|-------|---------------------------|----------------------------|
| 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 $ |
| Claude Opus 4.5 | 5,00 $ / 25,00 $ | 10,00 $ / 50,00 $ |
| Claude Opus 4.1 | 15,00 $ / 75,00 $ | 30,00 $ / 150,00 $ |
| Claude Sonnet 4.5 | 3,00 $ / 15,00 $ | 6,00 $ / 30,00 $ |
| Claude Sonnet 4.0 | 3,00 $ / 15,00 $ | 6,00 $ / 30,00 $ |
| Claude Haiku 4.5 | 1,00 $ / 5,00 $ | 2,00 $ / 10,00 $ |
**Google**
| Modèle | Prix de base (Entrée/Sortie) | Prix hébergé (Entrée/Sortie) |
| Modèle | Prix de base (entrée/sortie) | Prix hébergé (entrée/sortie) |
|-------|---------------------------|----------------------------|
| 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 $ |
| Gemini 3 Pro Preview | 2,00 $ / 12,00 $ | 4,00 $ / 24,00 $ |
| Gemini 2.5 Pro | 1,25 $ / 10,00 $ | 2,50 $ / 20,00 $ |
| Gemini 2.5 Flash | 0,30 $ / 2,50 $ | 0,60 $ / 5,00 $ |
*Le multiplicateur de 2,5x couvre les coûts d'infrastructure et de gestion des API.*
*Le multiplicateur 2x couvre les coûts d'infrastructure et de gestion des API.*
</Tab>
<Tab>
@@ -105,26 +105,30 @@ La répartition des modèles montre :
Les prix indiqués reflètent les tarifs en date du 10 septembre 2025. Consultez la documentation des fournisseurs pour les tarifs actuels.
</Callout>
## Apportez votre propre clé (BYOK)
Vous pouvez utiliser vos propres clés API pour les modèles hébergés (OpenAI, Anthropic, Google, Mistral) dans **Paramètres → BYOK** pour payer les prix de base. Les clés sont chiffrées et s'appliquent à l'ensemble de l'espace de travail.
## Stratégies d'optimisation des coûts
- **Sélection du modèle** : choisissez les modèles en fonction de la complexité de la tâche. Les tâches simples peuvent utiliser GPT-4.1-nano tandis que le raisonnement complexe pourrait nécessiter o1 ou Claude Opus.
- **Ingénierie de prompt** : des prompts bien structurés et concis réduisent l'utilisation de tokens sans sacrifier la qualité.
- **Sélection du modèle** : choisissez les modèles en fonction de la complexité de la tâche. Les tâches simples peuvent utiliser GPT-4.1-nano tandis que le raisonnement complexe peut nécessiter o1 ou Claude Opus.
- **Ingénierie des prompts** : des prompts bien structurés et concis réduisent l'utilisation de jetons sans sacrifier la qualité.
- **Modèles locaux** : utilisez Ollama ou VLLM pour les tâches non critiques afin d'éliminer complètement les coûts d'API.
- **Mise en cache et réutilisation** : stockez les résultats fréquemment utilisés dans des variables ou des fichiers pour éviter des appels répétés aux modèles d'IA.
- **Traitement par lots** : traitez plusieurs éléments dans une seule requête d'IA plutôt que de faire des appels individuels.
- **Mise en cache et réutilisation** : stockez les résultats fréquemment utilisés dans des variables ou des fichiers pour éviter les appels répétés aux modèles d'IA.
- **Traitement par lots** : traitez plusieurs éléments dans une seule requête d'IA plutôt que d'effectuer des appels individuels.
## Suivi de l'utilisation
## Surveillance de l'utilisation
Surveillez votre utilisation et votre facturation dans Paramètres → Abonnement :
- **Utilisation actuelle** : utilisation et coûts en temps réel pour la période en cours
- **Limites d'utilisation** : limites du forfait avec indicateurs visuels de progression
- **Détails de facturation** : frais prévisionnels et engagements minimums
- **Limites d'utilisation** : limites du forfait avec indicateurs de progression visuels
- **Détails de facturation** : frais projetés et engagements minimums
- **Gestion du forfait** : options de mise à niveau et historique de facturation
### Suivi d'utilisation programmatique
### Suivi programmatique de l'utilisation
Vous pouvez interroger votre utilisation actuelle et vos limites par programmation en utilisant l'API :
Vous pouvez interroger votre utilisation et vos limites actuelles de manière programmatique à l'aide de l'API :
**Point de terminaison :**
@@ -172,14 +176,14 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
```
**Champs de limite de débit :**
- `requestsPerMinute` : limite de débit soutenu (les jetons se rechargent à ce rythme)
- `requestsPerMinute` : limite de débit soutenue (les jetons se rechargent à ce rythme)
- `maxBurst` : nombre maximum de jetons que vous pouvez accumuler (capacité de rafale)
- `remaining` : jetons actuellement disponibles (peut aller jusqu'à `maxBurst`)
**Champs de réponse :**
- `currentPeriodCost` reflète l'utilisation dans la période de facturation actuelle
- `limit` est dérivé des limites individuelles (Gratuit/Pro) ou des limites mutualisées de l'organisation (Équipe/Entreprise)
- `plan` est le plan actif de plus haute priorité associé à votre utilisateur
- `limit` est dérivé des limites individuelles (Free/Pro) ou des limites d'organisation mutualisées (Team/Enterprise)
- `plan` est le forfait actif de priorité la plus élevée associé à votre utilisateur
## Limites des forfaits
@@ -187,7 +191,7 @@ Les différents forfaits d'abonnement ont des limites d'utilisation différentes
| Forfait | Limite d'utilisation mensuelle | Limites de débit (par minute) |
|------|-------------------|-------------------------|
| **Gratuit** | 10 $ | 5 sync, 10 async |
| **Gratuit** | 20 $ | 5 sync, 10 async |
| **Pro** | 100 $ | 10 sync, 50 async |
| **Équipe** | 500 $ (mutualisé) | 50 sync, 100 async |
| **Entreprise** | Personnalisé | Personnalisé |
@@ -196,21 +200,21 @@ Les différents forfaits d'abonnement ont des limites d'utilisation différentes
Sim utilise un modèle de facturation **abonnement de base + dépassement** :
### Comment ça fonctionne
### Fonctionnement
**Forfait Pro (20 $/mois) :**
- L'abonnement mensuel inclut 20 $ d'utilisation
- Utilisation inférieure à 20 $ → Pas de frais supplémentaires
- Utilisation inférieure à 20 $ → Aucun frais supplémentaire
- Utilisation supérieure à 20 $ → Paiement du dépassement en fin de mois
- Exemple : 35 $ d'utilisation = 20 $ (abonnement) + 15 $ (dépassement)
**Forfait Équipe (40 $/siège/mois) :**
- Utilisation mutualisée pour tous les membres de l'équipe
- Dépassement calculé à partir de l'utilisation totale de l'équipe
**Forfait Équipe (40 $/utilisateur/mois) :**
- Utilisation mutualisée entre tous les membres de l'équipe
- Dépassement calculé sur l'utilisation totale de l'équipe
- Le propriétaire de l'organisation reçoit une seule facture
**Forfaits Entreprise :**
- Prix mensuel fixe, pas de dépassements
- Prix mensuel fixe, sans dépassement
- Limites d'utilisation personnalisées selon l'accord
### Facturation par seuil
@@ -220,21 +224,21 @@ Lorsque le dépassement non facturé atteint 50 $, Sim facture automatiquement l
**Exemple :**
- Jour 10 : 70 $ de dépassement → Facturation immédiate de 70 $
- Jour 15 : 35 $ d'utilisation supplémentaire (105 $ au total) → Déjà facturé, aucune action
- Jour 20 : 50 $ d'utilisation supplémentaire (155 $ au total, 85 $ non facturés) → Facturation immédiate de 85 $
- Jour 20 : 50 $ d'utilisation supplémentaire (155 $ au total, 85 $ non facturé) → Facturation immédiate de 85 $
Cela répartit les frais de dépassement importants tout au long du mois au lieu d'une seule facture importante en fin de période.
## Meilleures pratiques de gestion des coûts
## Bonnes pratiques de gestion des coûts
1. **Surveillez régulièrement** : vérifiez fréquemment votre tableau de bord d'utilisation pour éviter les surprises
2. **Définissez des budgets** : utilisez les limites du plan comme garde-fous pour vos dépenses
3. **Optimisez les flux de travail** : examinez les exécutions à coût élevé et optimisez les prompts ou la sélection de modèles
4. **Utilisez des modèles appropriés** : adaptez la complexité du modèle aux exigences de la tâche
5. **Regroupez les tâches similaires** : combinez plusieurs requêtes lorsque c'est possible pour réduire les frais généraux
1. **Surveillez régulièrement** : Consultez fréquemment votre tableau de bord d'utilisation pour éviter les surprises
2. **Définissez des budgets** : Utilisez les limites des forfaits comme garde-fous pour vos dépenses
3. **Optimisez les flux de travail** : Examinez les exécutions coûteuses et optimisez les prompts ou la sélection de modèles
4. **Utilisez les modèles appropriés** : Adaptez la complexité du modèle aux exigences de la tâche
5. **Regroupez les tâches similaires** : Combinez plusieurs requêtes lorsque c'est possible pour réduire les frais généraux
## Prochaines étapes
- Examinez votre utilisation actuelle dans [Paramètres → Abonnement](https://sim.ai/settings/subscription)
- Apprenez-en plus sur la [Journalisation](/execution/logging) pour suivre les détails d'exécution
- Consultez votre utilisation actuelle dans [Paramètres → Abonnement](https://sim.ai/settings/subscription)
- Découvrez la [journalisation](/execution/logging) pour suivre les détails d'exécution
- Explorez l'[API externe](/execution/api) pour la surveillance programmatique des coûts
- Consultez les [techniques d'optimisation de flux de travail](/blocks) pour réduire les coûts
- Consultez les [techniques d'optimisation des workflows](/blocks) pour réduire les coûts

View File

@@ -35,53 +35,59 @@ Une fois vos documents traités, vous pouvez visualiser et modifier les segments
<Image src="/static/knowledgebase/knowledgebase.png" alt="Vue des segments de document montrant le contenu traité" width={800} height={500} />
### Configuration des fragments
- **Taille par défaut des fragments** : 1 024 caractères
- **Plage configurable** : 100 à 4 000 caractères par fragment
- **Chevauchement intelligent** : 200 caractères par défaut pour préserver le contexte
- **Découpage hiérarchique** : respecte la structure du document (sections, paragraphes, phrases)
Lors de la création d'une base de connaissances, vous pouvez configurer la façon dont les documents sont divisés en fragments :
| Paramètre | Unité | Par défaut | Plage | Description |
|---------|------|---------|-------|-------------|
| **Taille max. du fragment** | jetons | 1 024 | 100-4 000 | Taille maximale de chaque fragment (1 jeton ≈ 4 caractères) |
| **Taille min. du fragment** | caractères | 1 | 1-2 000 | Taille minimale du fragment pour éviter les fragments minuscules |
| **Chevauchement** | caractères | 200 | 0-500 | Chevauchement de contexte entre fragments consécutifs |
- **Division hiérarchique** : respecte la structure du document (sections, paragraphes, phrases)
### Capacités d'édition
- **Modifier le contenu des fragments** : modifier le contenu textuel des fragments individuels
- **Ajuster les limites des fragments** : fusionner ou diviser les fragments selon les besoins
- **Ajouter des métadonnées** : enrichir les fragments avec du contexte supplémentaire
- **Opérations en masse** : gérer efficacement plusieurs fragments
- **Modifier le contenu du fragment** : modifiez le contenu textuel des fragments individuels
- **Ajuster les limites du fragment** : fusionnez ou divisez les fragments selon les besoins
- **Ajouter des métadonnées** : enrichissez les fragments avec du contexte supplémentaire
- **Opérations en masse** : gérez plusieurs fragments efficacement
## Traitement avancé des PDF
Pour les documents PDF, Sim offre des capacités de traitement améliorées :
### Support OCR
Lorsque configuré avec Azure ou [Mistral OCR](https://docs.mistral.ai/ocr/) :
- **Traitement de documents numérisés** : extraction de texte à partir de PDF basés sur des images
- **Gestion de contenu mixte** : traitement des PDF contenant à la fois du texte et des images
- **Haute précision** : les modèles d'IA avancés assurent une extraction précise du texte
### Prise en charge de l'OCR
Lorsqu'il est configuré avec Azure ou [Mistral OCR](https://docs.mistral.ai/ocr/) :
- **Traitement de documents numérisés** : extrayez le texte des PDF basés sur des images
- **Gestion de contenu mixte** : traitez les PDF contenant à la fois du texte et des images
- **Haute précision** : les modèles d'IA avancés garantissent une extraction de texte précise
## Utilisation du bloc de connaissances dans les flux de travail
## Utilisation du bloc de connaissances dans les workflows
Une fois vos documents traités, vous pouvez les utiliser dans vos flux de travail d'IA grâce au bloc de connaissances. Cela permet la génération augmentée par récupération (RAG), permettant à vos agents IA d'accéder et de raisonner sur le contenu de vos documents pour fournir des réponses plus précises et contextuelles.
Une fois vos documents traités, vous pouvez les utiliser dans vos workflows d'IA via le bloc de connaissances. Cela active la génération augmentée par récupération (RAG), permettant à vos agents d'IA d'accéder à votre contenu documentaire et de raisonner dessus pour fournir des réponses plus précises et contextuelles.
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="Utilisation du bloc de connaissances dans les flux de travail" width={800} height={500} />
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="Utilisation du bloc de connaissances dans les workflows" width={800} height={500} />
### Fonctionnalités du bloc de connaissances
- **Recherche sémantique** : trouver du contenu pertinent à l'aide de requêtes en langage naturel
- **Intégration du contexte** : inclure automatiquement les fragments pertinents dans les prompts des agents
- **Récupération dynamique** : la recherche s'effectue en temps réel pendant l'exécution du flux de travail
- **Évaluation de la pertinence** : résultats classés par similarité sémantique
- **Recherche sémantique** : trouvez du contenu pertinent à l'aide de requêtes en langage naturel
- **Intégration contextuelle** : incluez automatiquement les fragments pertinents dans les prompts de l'agent
- **Récupération dynamique** : la recherche s'effectue en temps réel pendant l'exécution du workflow
- **Score de pertinence** : résultats classés par similarité sémantique
### Options d'intégration
- **Prompts système** : fournir du contexte à vos agents IA
- **Contexte dynamique** : rechercher et inclure des informations pertinentes pendant les conversations
- **Recherche multi-documents** : interroger l'ensemble de votre base de connaissances
- **Recherche filtrée** : combiner avec des tags pour une récupération précise du contenu
- **Prompts système** : fournissez du contexte à vos agents IA
- **Contexte dynamique** : recherchez et incluez des informations pertinentes pendant les conversations
- **Recherche multi-documents** : interrogez l'ensemble de votre base de connaissances
- **Recherche filtrée** : combinez avec des tags pour une récupération de contenu précise
## Technologie de recherche vectorielle
Sim utilise la recherche vectorielle alimentée par [pgvector](https://github.com/pgvector/pgvector) pour comprendre le sens et le contexte de votre contenu :
Sim utilise la recherche vectorielle propulsée par [pgvector](https://github.com/pgvector/pgvector) pour comprendre le sens et le contexte de votre contenu :
### Compréhension sémantique
- **Recherche contextuelle** : trouve du contenu pertinent même lorsque les mots-clés exacts ne correspondent pas
- **Récupération basée sur les concepts** : comprend les relations entre les idées
- **Prise en charge multilingue** : fonctionne dans différentes langues
- **Support multilingue** : fonctionne dans différentes langues
- **Reconnaissance des synonymes** : trouve des termes et concepts associés
### Capacités de recherche
@@ -90,26 +96,26 @@ Sim utilise la recherche vectorielle alimentée par [pgvector](https://github.co
- **Recherche hybride** : combine la recherche vectorielle et la recherche traditionnelle par mots-clés
- **Résultats configurables** : contrôlez le nombre et le seuil de pertinence des résultats
## Gestion documentaire
## Gestion des documents
### Fonctionnalités d'organisation
- **Téléchargement en masse** : téléchargez plusieurs fichiers à la fois via l'API asynchrone
- **État de traitement** : mises à jour en temps réel sur le traitement des documents
- **Statut de traitement** : mises à jour en temps réel sur le traitement des documents
- **Recherche et filtrage** : trouvez rapidement des documents dans de grandes collections
- **Suivi des métadonnées** : capture automatique des informations de fichier et des détails de traitement
### Sécurité et confidentialité
- **Stockage sécurisé** : documents stockés avec une sécurité de niveau entreprise
- **Contrôle d'accès** : autorisations basées sur l'espace de travail
- **Contrôle d'accès** : permissions basées sur l'espace de travail
- **Isolation du traitement** : chaque espace de travail dispose d'un traitement de documents isolé
- **Conservation des données** : configurez les politiques de conservation des documents
## Premiers pas
1. **Accédez à votre base de connaissances** : accessible depuis la barre latérale de votre espace de travail
1. **Accédez à votre base de connaissances** : accès depuis la barre latérale de votre espace de travail
2. **Téléchargez des documents** : glissez-déposez ou sélectionnez des fichiers à télécharger
3. **Surveillez le traitement** : observez le traitement et le découpage des documents
4. **Explorez les fragments** : visualisez et modifiez le contenu traité
5. **Ajoutez aux flux de travail** : utilisez le bloc Connaissances pour l'intégrer à vos agents IA
3. **Surveillez le traitement** : observez le traitement et la segmentation des documents
4. **Explorez les segments** : visualisez et modifiez le contenu traité
5. **Ajoutez aux workflows** : utilisez le bloc Knowledge pour intégrer avec vos agents IA
La base de connaissances transforme vos documents statiques en une ressource intelligente et consultable que vos flux de travail IA peuvent exploiter pour des réponses plus informées et contextuelles.
La base de connaissances transforme vos documents statiques en une ressource intelligente et consultable que vos workflows IA peuvent exploiter pour des réponses plus éclairées et contextuelles.

View File

@@ -0,0 +1,59 @@
---
title: Circleback
description: Notes de réunion et tâches générées par IA
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="circleback"
color="linear-gradient(180deg, #E0F7FA 0%, #FFFFFF 100%)"
/>
{/* MANUAL-CONTENT-START:intro */}
[Circleback](https://circleback.ai/) est une plateforme alimentée par IA qui automatise les notes de réunion, les tâches, les transcriptions et les enregistrements pour votre équipe. Lorsqu'une réunion est terminée, Circleback traite la conversation et fournit des notes détaillées et des tâches, accompagnées d'une transcription et d'un enregistrement (lorsque disponible). Cela aide les équipes à capturer efficacement les informations, à distribuer les tâches et à s'assurer que rien n'est oublié, le tout intégré de manière transparente dans vos flux de travail.
Avec l'intégration Sim Circleback, vous pouvez :
- **Recevoir des notes de réunion détaillées et des tâches** : collectez automatiquement des résumés de réunion bien formatés et suivez les tâches discutées lors de vos appels.
- **Accéder aux enregistrements et transcriptions complètes des réunions** : obtenez la conversation complète et l'enregistrement associé, facilitant la révision des moments clés ou le partage avec des collègues.
- **Capturer les informations sur les participants et le contexte de la réunion** : les listes de participants, les métadonnées de réunion et les tags aident à garder vos données organisées et exploitables.
- **Transmettre les informations directement dans vos flux de travail** : déclenchez des automatisations ou envoyez les données Circleback vers d'autres systèmes dès qu'une réunion est terminée, en utilisant les puissants déclencheurs webhook de Sim.
**Comment cela fonctionne dans Sim :**
Circleback utilise des déclencheurs webhook : chaque fois qu'une réunion est traitée, les données sont automatiquement transmises à votre agent ou automatisation. Vous pouvez créer d'autres automatisations basées sur :
- Réunion terminée (toutes les données traitées disponibles)
- Nouvelles notes (notes prêtes avant même que la réunion complète ne soit traitée)
- Intégration webhook brute pour des cas d'usage avancés
**Les informations suivantes sont disponibles dans la charge utile du webhook de réunion Circleback :**
| Champ | Type | Description |
|----------------|---------|----------------------------------------------------|
| `id` | number | ID de réunion Circleback |
| `name` | string | Titre de la réunion |
| `url` | string | URL de réunion virtuelle (Zoom, Meet, Teams, etc.) |
| `createdAt` | string | Horodatage de création de la réunion |
| `duration` | number | Durée en secondes |
| `recordingUrl` | string | URL d'enregistrement (valide 24 heures) |
| `tags` | json | Tableau d'étiquettes |
| `icalUid` | string | ID d'événement de calendrier |
| `attendees` | json | Tableau d'objets participants |
| `notes` | string | Notes de réunion en Markdown |
| `actionItems` | json | Tableau d'éléments d'action |
| `transcript` | json | Tableau de segments de transcription |
| `insights` | json | Informations créées par l'utilisateur |
| `meeting` | json | Charge utile complète de la réunion |
Que vous souhaitiez distribuer des résumés instantanés, enregistrer des éléments d'action ou créer des workflows personnalisés déclenchés par de nouvelles données de réunion, Circleback et Sim facilitent la gestion automatique de tout ce qui concerne vos réunions.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Recevez les notes de réunion, les éléments d'action, les transcriptions et les enregistrements lorsque les réunions sont traitées. Circleback utilise des webhooks pour transmettre les données à vos workflows.
## Remarques
- Catégorie : `triggers`
- Type : `circleback`

View File

@@ -0,0 +1,218 @@
---
title: Grain
description: Accédez aux enregistrements de réunions, transcriptions et résumés IA
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grain"
color="#F6FAF9"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grain](https://grain.com/) est une plateforme moderne pour capturer, stocker et partager des enregistrements de réunions, des transcriptions, des moments clés et des résumés générés par IA. Grain permet aux équipes de transformer les conversations en informations exploitables et de maintenir tout le monde aligné sur les moments importants des réunions.
Avec Grain, vous pouvez :
- **Accéder aux enregistrements et transcriptions consultables** : trouvez et consultez chaque réunion par mot-clé, participant ou sujet.
- **Partager des moments clés et des extraits** : capturez les moments importants et partagez de courts extraits vidéo/audio avec votre équipe ou dans vos workflows.
- **Obtenir des résumés générés par IA** : produisez automatiquement des résumés de réunions, des actions à entreprendre et des informations clés grâce à l'IA avancée de Grain.
- **Organiser les réunions par équipe ou par type** : étiquetez et catégorisez les enregistrements pour un accès et un reporting faciles.
L'intégration Sim Grain permet à vos agents de :
- Lister, rechercher et récupérer les enregistrements de réunions et leurs détails selon des filtres flexibles (date/heure, participant, équipe, etc.).
- Accéder aux résumés IA, participants, moments clés et autres métadonnées des réunions pour alimenter des automatisations ou des analyses.
- Déclencher des workflows dès que de nouvelles réunions sont traitées, que des résumés sont générés ou que des moments clés sont créés via les webhooks Grain.
- Connecter facilement les données Grain à d'autres outils ou notifier les membres de l'équipe dès qu'un événement important se produit dans une réunion.
Que vous souhaitiez automatiser les actions de suivi, conserver des traces de conversations importantes ou faire remonter des informations dans toute votre organisation, Grain et Sim facilitent la connexion de l'intelligence des réunions à vos workflows.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez Grain dans votre workflow. Accédez aux enregistrements de réunions, transcriptions, moments clés et résumés générés par IA. Peut également déclencher des workflows basés sur les événements webhook de Grain.
## Outils
### `grain_list_recordings`
Liste les enregistrements de Grain avec des filtres optionnels et une pagination
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain (jeton d'accès personnel) |
| `cursor` | string | Non | Curseur de pagination pour la page suivante |
| `beforeDatetime` | string | Non | Uniquement les enregistrements avant cet horodatage ISO8601 |
| `afterDatetime` | string | Non | Uniquement les enregistrements après cet horodatage ISO8601 |
| `participantScope` | string | Non | Filtre : « internal » ou « external » |
| `titleSearch` | string | Non | Terme de recherche pour filtrer par titre d'enregistrement |
| `teamId` | string | Non | Filtrer par UUID d'équipe |
| `meetingTypeId` | string | Non | Filtrer par UUID de type de réunion |
| `includeHighlights` | boolean | Non | Inclure les moments forts/extraits dans la réponse |
| `includeParticipants` | boolean | Non | Inclure la liste des participants dans la réponse |
| `includeAiSummary` | boolean | Non | Inclure le résumé généré par IA |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `recordings` | array | Tableau d'objets d'enregistrement |
### `grain_get_recording`
Obtient les détails d'un seul enregistrement par ID
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain (jeton d'accès personnel) |
| `recordingId` | string | Oui | L'UUID de l'enregistrement |
| `includeHighlights` | boolean | Non | Inclure les moments forts/extraits |
| `includeParticipants` | boolean | Non | Inclure la liste des participants |
| `includeAiSummary` | boolean | Non | Inclure le résumé IA |
| `includeCalendarEvent` | boolean | Non | Inclure les données d'événement de calendrier |
| `includeHubspot` | boolean | Non | Inclure les associations HubSpot |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | UUID de l'enregistrement |
| `title` | string | Titre de l'enregistrement |
| `start_datetime` | string | Horodatage de début ISO8601 |
| `end_datetime` | string | Horodatage de fin ISO8601 |
| `duration_ms` | number | Durée en millisecondes |
| `media_type` | string | audio, transcript ou video |
| `source` | string | Source de l'enregistrement \(zoom, meet, teams, etc.\) |
| `url` | string | URL pour visualiser dans Grain |
| `thumbnail_url` | string | URL de l'image miniature |
| `tags` | array | Tableau de chaînes de tags |
| `teams` | array | Équipes auxquelles appartient l'enregistrement |
| `meeting_type` | object | Informations sur le type de réunion \(id, nom, portée\) |
| `highlights` | array | Points forts \(si inclus\) |
| `participants` | array | Participants \(si inclus\) |
| `ai_summary` | object | Texte du résumé IA \(si inclus\) |
| `calendar_event` | object | Données de l'événement de calendrier \(si incluses\) |
| `hubspot` | object | Associations HubSpot \(si incluses\) |
### `grain_get_transcript`
Obtenir la transcription complète d'un enregistrement
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain \(jeton d'accès personnel\) |
| `recordingId` | string | Oui | UUID de l'enregistrement |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `transcript` | array | Tableau de sections de transcription |
### `grain_list_teams`
Lister toutes les équipes dans l'espace de travail
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain (jeton d'accès personnel) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `teams` | array | Tableau d'objets équipe |
### `grain_list_meeting_types`
Lister tous les types de réunion dans l'espace de travail
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain (jeton d'accès personnel) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `meeting_types` | array | Tableau d'objets type de réunion |
### `grain_create_hook`
Créer un webhook pour recevoir les événements d'enregistrement
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain (jeton d'accès personnel) |
| `hookUrl` | string | Oui | URL du point de terminaison webhook (doit répondre 2xx) |
| `filterBeforeDatetime` | string | Non | Filtre : enregistrements avant cette date |
| `filterAfterDatetime` | string | Non | Filtre : enregistrements après cette date |
| `filterParticipantScope` | string | Non | Filtre : « internal » ou « external » |
| `filterTeamId` | string | Non | Filtre : UUID d'équipe spécifique |
| `filterMeetingTypeId` | string | Non | Filtre : type de réunion spécifique |
| `includeHighlights` | boolean | Non | Inclure les moments forts dans la charge utile du webhook |
| `includeParticipants` | boolean | Non | Inclure les participants dans la charge utile du webhook |
| `includeAiSummary` | boolean | Non | Inclure le résumé IA dans la charge utile du webhook |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | UUID du hook |
| `enabled` | boolean | Indique si le hook est actif |
| `hook_url` | string | L'URL du webhook |
| `filter` | object | Filtres appliqués |
| `include` | object | Champs inclus |
| `inserted_at` | string | Horodatage de création ISO8601 |
### `grain_list_hooks`
Lister tous les webhooks du compte
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain \(jeton d'accès personnel\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `hooks` | array | Tableau d'objets hook |
### `grain_delete_hook`
Supprimer un webhook par ID
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Oui | Clé API Grain \(jeton d'accès personnel\) |
| `hookId` | string | Oui | L'UUID du hook à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Vrai lorsque le webhook a été supprimé avec succès |
## Remarques
- Catégorie : `tools`
- Type : `grain`

View File

@@ -38,17 +38,19 @@ Créer un nouveau contact dans Intercom avec email, external_id ou role
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `email` | string | Non | L'adresse email du contact |
| --------- | ---- | ------------ | ----------- |
| `role` | string | Non | Le rôle du contact. Accepte « user » ou « lead ». Par défaut « lead » si non spécifié. |
| `email` | string | Non | L'adresse e-mail du contact |
| `external_id` | string | Non | Un identifiant unique pour le contact fourni par le client |
| `phone` | string | Non | Le numéro de téléphone du contact |
| `name` | string | Non | Le nom du contact |
| `avatar` | string | Non | Une URL d'image d'avatar pour le contact |
| `signed_up_at` | number | Non | L'heure à laquelle l'utilisateur s'est inscrit sous forme d'horodatage Unix |
| `last_seen_at` | number | Non | L'heure à laquelle l'utilisateur a été vu pour la dernière fois sous forme d'horodatage Unix |
| `owner_id` | string | Non | L'identifiant d'un administrateur qui a été assigné comme propriétaire du compte du contact |
| `unsubscribed_from_emails` | boolean | Non | Indique si le contact est désabonné des emails |
| `custom_attributes` | string | Non | Attributs personnalisés sous forme d'objet JSON (par exemple, \{"nom_attribut": "valeur"\}) |
| `signed_up_at` | number | Non | L'heure d'inscription de l'utilisateur sous forme d'horodatage Unix |
| `last_seen_at` | number | Non | L'heure de dernière activité de l'utilisateur sous forme d'horodatage Unix |
| `owner_id` | string | Non | L'identifiant d'un administrateur auquel la propriété du compte du contact a été attribuée |
| `unsubscribed_from_emails` | boolean | Non | Indique si le contact s'est désabonné des e-mails |
| `custom_attributes` | string | Non | Attributs personnalisés sous forme d'objet JSON (par ex., \{"nom_attribut": "valeur"\}) |
| `company_id` | string | Non | Identifiant de l'entreprise à associer au contact lors de la création |
#### Sortie
@@ -81,17 +83,20 @@ Mettre à jour un contact existant dans Intercom
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `contactId` | string | Oui | ID du contact à mettre à jour |
| `email` | string | Non | Adresse e-mail du contact |
| `phone` | string | Non | Numéro de téléphone du contact |
| `name` | string | Non | Nom du contact |
| `avatar` | string | Non | URL de l'image d'avatar pour le contact |
| `signed_up_at` | number | Non | Moment où l'utilisateur s'est inscrit, en timestamp Unix |
| `last_seen_at` | number | Non | Moment où l'utilisateur a été vu pour la dernière fois, en timestamp Unix |
| `owner_id` | string | Non | ID d'un administrateur qui a été assigné comme propriétaire du compte du contact |
| `unsubscribed_from_emails` | boolean | Non | Indique si le contact est désabonné des e-mails |
| `custom_attributes` | string | Non | Attributs personnalisés sous forme d'objet JSON (par exemple, \{"nom_attribut": "valeur"\}) |
| --------- | ---- | ------------ | ----------- |
| `contactId` | string | Oui | Identifiant du contact à mettre à jour |
| `role` | string | Non | Le rôle du contact. Accepte « user » ou « lead ». |
| `external_id` | string | Non | Un identifiant unique pour le contact fourni par le client |
| `email` | string | Non | L'adresse e-mail du contact |
| `phone` | string | Non | Le numéro de téléphone du contact |
| `name` | string | Non | Le nom du contact |
| `avatar` | string | Non | Une URL d'image d'avatar pour le contact |
| `signed_up_at` | number | Non | L'heure d'inscription de l'utilisateur sous forme d'horodatage Unix |
| `last_seen_at` | number | Non | L'heure de dernière activité de l'utilisateur sous forme d'horodatage Unix |
| `owner_id` | string | Non | L'identifiant d'un administrateur auquel la propriété du compte du contact a été attribuée |
| `unsubscribed_from_emails` | boolean | Non | Indique si le contact s'est désabonné des e-mails |
| `custom_attributes` | string | Non | Attributs personnalisés sous forme d'objet JSON (par ex., \{"nom_attribut": "valeur"\}) |
| `company_id` | string | Non | Identifiant de l'entreprise à associer au contact |
#### Sortie
@@ -125,10 +130,12 @@ Rechercher des contacts dans Intercom à l'aide d'une requête
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `query` | chaîne | Oui | Requête de recherche \(ex., \{"field":"email","operator":"=","value":"user@example.com"\}\) |
| `per_page` | nombre | Non | Nombre de résultats par page \(max : 150\) |
| `starting_after` | chaîne | Non | Curseur pour la pagination |
| --------- | ---- | ----------- | ----------- |
| `query` | string | Oui | Requête de recherche \(par ex., \{"field":"email","operator":"=","value":"user@example.com"\}\) |
| `per_page` | number | Non | Nombre de résultats par page \(max : 150\) |
| `starting_after` | string | Non | Curseur pour la pagination |
| `sort_field` | string | Non | Champ de tri \(par ex., "name", "created_at", "last_seen_at"\) |
| `sort_order` | string | Non | Ordre de tri : "ascending" ou "descending" |
#### Sortie
@@ -161,15 +168,16 @@ Créer ou mettre à jour une entreprise dans Intercom
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `company_id` | string | Oui | Votre identifiant unique pour l'entreprise |
| `name` | string | Non | Le nom de l'entreprise |
| `website` | string | Non | Le site web de l'entreprise |
| `plan` | string | Non | Le nom du forfait de l'entreprise |
| `plan` | string | Non | Le nom du plan de l'entreprise |
| `size` | number | Non | Le nombre d'employés dans l'entreprise |
| `industry` | string | Non | Le secteur d'activité de l'entreprise |
| `monthly_spend` | number | Non | Le montant des revenus que l'entreprise génère pour votre activité. Remarque : ce champ tronque les décimales en nombres entiers (par exemple, 155,98 devient 155) |
| `monthly_spend` | number | Non | Le chiffre d'affaires que l'entreprise génère pour votre activité. Remarque : ce champ tronque les nombres décimaux en entiers \(par ex., 155,98 devient 155\) |
| `custom_attributes` | string | Non | Attributs personnalisés sous forme d'objet JSON |
| `remote_created_at` | number | Non | La date de création de l'entreprise par vous sous forme d'horodatage Unix |
#### Sortie
@@ -205,6 +213,7 @@ Liste toutes les entreprises d'Intercom avec prise en charge de la pagination. R
| --------- | ---- | ----------- | ----------- |
| `per_page` | number | Non | Nombre de résultats par page |
| `page` | number | Non | Numéro de page |
| `starting_after` | string | Non | Curseur pour la pagination \(préféré à la pagination par page\) |
#### Sortie
@@ -220,9 +229,10 @@ Récupérer une seule conversation par ID depuis Intercom
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Oui | ID de la conversation à récupérer |
| `display_as` | string | Non | Définir à "plaintext" pour récupérer les messages en texte brut |
| `display_as` | string | Non | Définir sur "plaintext" pour récupérer les messages en texte brut |
| `include_translations` | boolean | Non | Lorsque true, les parties de la conversation seront traduites dans la langue détectée de la conversation |
#### Sortie
@@ -238,9 +248,11 @@ Lister toutes les conversations depuis Intercom avec prise en charge de la pagin
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| --------- | ---- | -------- | ----------- |
| `per_page` | number | Non | Nombre de résultats par page \(max : 150\) |
| `starting_after` | string | Non | Curseur pour la pagination |
| `sort` | string | Non | Champ de tri \(ex., "waiting_since", "updated_at", "created_at"\) |
| `order` | string | Non | Ordre de tri : "asc" \(croissant\) ou "desc" \(décroissant\) |
#### Sortie
@@ -256,12 +268,13 @@ Répondre à une conversation en tant qu'administrateur dans Intercom
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | Oui | ID de la conversation à laquelle répondre |
| `message_type` | string | Oui | Type de message : "comment" ou "note" |
| `body` | string | Oui | Le corps du texte de la réponse |
| `admin_id` | string | Non | L'ID de l'administrateur qui rédige la réponse. Si non fourni, un administrateur par défaut (Operator/Fin) sera utilisé. |
| `attachment_urls` | string | Non | Liste d'URLs d'images séparées par des virgules (max 10) |
| `body` | string | Oui | Corps du texte de la réponse |
| `admin_id` | string | Non | ID de l'administrateur qui rédige la réponse. Si non fourni, un administrateur par défaut \(Operator/Fin\) sera utilisé. |
| `attachment_urls` | string | Non | Liste d'URL d'images séparées par des virgules \(max 10\) |
| `created_at` | number | Non | Horodatage Unix du moment où la réponse a été créée. Si non fourni, l'heure actuelle est utilisée. |
#### Sortie
@@ -277,10 +290,12 @@ Rechercher des conversations dans Intercom à l'aide d'une requête
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `query` | string | Oui | Requête de recherche sous forme d'objet JSON |
| `per_page` | number | Non | Nombre de résultats par page (max : 150) |
| `per_page` | number | Non | Nombre de résultats par page \(max : 150\) |
| `starting_after` | string | Non | Curseur pour la pagination |
| `sort_field` | string | Non | Champ de tri \(par exemple, "created_at", "updated_at"\) |
| `sort_order` | string | Non | Ordre de tri : "ascending" ou "descending" |
#### Sortie
@@ -296,10 +311,14 @@ Créer un nouveau ticket dans Intercom
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `ticket_type_id` | string | Oui | L'ID du type de ticket |
| `contacts` | string | Oui | Tableau JSON d'identifiants de contact (par ex., \[\{"id": "contact_id"\}\]) |
| `contacts` | string | Oui | Tableau JSON d'identifiants de contacts \(par exemple, \[\{"id": "contact_id"\}\]\) |
| `ticket_attributes` | string | Oui | Objet JSON avec les attributs du ticket incluant _default_title_ et _default_description_ |
| `company_id` | string | Non | ID de l'entreprise à associer au ticket |
| `created_at` | number | Non | Horodatage Unix du moment où le ticket a été créé. Si non fourni, l'heure actuelle est utilisée. |
| `conversation_to_link_id` | string | Non | ID d'une conversation existante à lier à ce ticket |
| `disable_notifications` | boolean | Non | Lorsque défini sur true, supprime les notifications lors de la création du ticket |
#### Sortie
@@ -332,14 +351,16 @@ Créer et envoyer un nouveau message initié par l'administrateur dans Intercom
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `message_type` | string | Oui | Type de message : "inapp" ou "email" |
| `subject` | string | Non | Objet du message (pour le type email) |
| `body` | string | Oui | Corps du message |
| --------- | ---- | ----------- | ----------- |
| `message_type` | string | Oui | Type de message : "inapp" pour les messages in-app ou "email" pour les messages e-mail |
| `template` | string | Oui | Style du modèle de message : "plain" pour texte brut ou "personal" pour style personnalisé |
| `subject` | string | Non | Le sujet du message \(pour le type e-mail\) |
| `body` | string | Oui | Le corps du message |
| `from_type` | string | Oui | Type d'expéditeur : "admin" |
| `from_id` | string | Oui | ID de l'administrateur qui envoie le message |
| `from_id` | string | Oui | L'ID de l'administrateur qui envoie le message |
| `to_type` | string | Oui | Type de destinataire : "contact" |
| `to_id` | string | Oui | ID du contact qui reçoit le message |
| `to_id` | string | Oui | L'ID du contact qui reçoit le message |
| `created_at` | number | Non | Horodatage Unix du moment où le message a été créé. Si non fourni, l'heure actuelle est utilisée. |
#### Sortie

View File

@@ -61,8 +61,6 @@ Extrayez et traitez le contenu web en texte propre et adapté aux LLM avec Jina
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `content` | string | Le contenu extrait de l'URL, traité en texte propre et adapté aux LLM |
| `links` | array | Liste des liens trouvés sur la page (lorsque gatherLinks ou withLinksummary est activé) |
| `images` | array | Liste des images trouvées sur la page (lorsque withImagesummary est activé) |
### `jina_search`

View File

@@ -89,15 +89,21 @@ Rédiger une demande Jira
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | -------- | ----------- |
| `domain` | string | Oui | Votre domaine Jira (ex. : votreentreprise.atlassian.net) |
| `projectId` | string | Oui | ID du projet pour la demande |
| `summary` | string | Oui | Résumé de la demande |
| `description` | string | Non | Description de la demande |
| `priority` | string | Non | Priorité de la demande |
| `assignee` | string | Non | Assigné de la demande |
| `cloudId` | string | Non | ID Jira Cloud pour l'instance. S'il n'est pas fourni, il sera récupéré à l'aide du domaine. |
| `issueType` | string | Oui | Type de demande à créer (ex. : Tâche, Story) |
| --------- | ---- | ----------- | ----------- |
| `domain` | chaîne | Oui | Votre domaine Jira \(ex. : votreentreprise.atlassian.net\) |
| `projectId` | chaîne | Oui | ID du projet pour le ticket |
| `summary` | chaîne | Oui | Résumé du ticket |
| `description` | chaîne | Non | Description du ticket |
| `priority` | chaîne | Non | ID ou nom de la priorité du ticket \(ex. : "10000" ou "Haute"\) |
| `assignee` | chaîne | Non | ID de compte de l'assigné pour le ticket |
| `cloudId` | chaîne | Non | ID Cloud Jira pour l'instance. S'il n'est pas fourni, il sera récupéré à l'aide du domaine. |
| `issueType` | chaîne | Oui | Type de ticket à créer \(ex. : tâche, story\) |
| `labels` | tableau | Non | Étiquettes pour le ticket \(tableau de noms d'étiquettes\) |
| `duedate` | chaîne | Non | Date d'échéance du ticket \(format : AAAA-MM-JJ\) |
| `reporter` | chaîne | Non | ID de compte du rapporteur pour le ticket |
| `environment` | chaîne | Non | Informations d'environnement pour le ticket |
| `customFieldId` | chaîne | Non | ID du champ personnalisé \(ex. : customfield_10001\) |
| `customFieldValue` | chaîne | Non | Valeur pour le champ personnalisé |
#### Sortie
@@ -107,6 +113,7 @@ Rédiger une demande Jira
| `issueKey` | chaîne | Clé du ticket créé \(ex. : PROJ-123\) |
| `summary` | chaîne | Résumé du ticket |
| `url` | chaîne | URL vers le ticket créé |
| `assigneeId` | chaîne | ID de compte de l'utilisateur assigné \(si assigné\) |
### `jira_bulk_read`
@@ -520,7 +527,31 @@ Supprimer un observateur d'un ticket Jira
| `issueKey` | string | Clé du ticket |
| `watcherAccountId` | string | ID du compte observateur supprimé |
## Notes
### `jira_get_users`
Récupère les utilisateurs Jira. Si un ID de compte est fourni, renvoie un seul utilisateur. Sinon, renvoie une liste de tous les utilisateurs.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `domain` | chaîne | Oui | Votre domaine Jira \(ex. : votreentreprise.atlassian.net\) |
| `accountId` | chaîne | Non | ID de compte optionnel pour obtenir un utilisateur spécifique. S'il n'est pas fourni, renvoie tous les utilisateurs. |
| `startAt` | nombre | Non | L'index du premier utilisateur à renvoyer \(pour la pagination, par défaut : 0\) |
| `maxResults` | nombre | Non | Nombre maximum d'utilisateurs à renvoyer \(par défaut : 50\) |
| `cloudId` | chaîne | Non | ID Cloud Jira pour l'instance. S'il n'est pas fourni, il sera récupéré à l'aide du domaine. |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `ts` | chaîne | Horodatage de l'opération |
| `users` | json | Tableau d'utilisateurs avec accountId, displayName, emailAddress, statut actif et avatarUrls |
| `total` | nombre | Nombre total d'utilisateurs renvoyés |
| `startAt` | nombre | Index de début de pagination |
| `maxResults` | nombre | Nombre maximum de résultats par page |
## Remarques
- Catégorie : `tools`
- Type : `jira`

View File

@@ -1,6 +1,6 @@
---
title: Mémoire
description: Ajouter un stockage de mémoire
description: Ajouter un magasin de mémoire
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
@@ -12,53 +12,50 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
## Instructions d'utilisation
Intégrer la mémoire dans le flux de travail. Peut ajouter, obtenir une mémoire, obtenir toutes les mémoires et supprimer des mémoires.
Intégrer la mémoire dans le flux de travail. Permet d'ajouter, d'obtenir une mémoire, d'obtenir toutes les mémoires et de supprimer des mémoires.
## Outils
### `memory_add`
Ajoutez une nouvelle mémoire à la base de données ou complétez une mémoire existante avec le même ID.
Ajouter une nouvelle mémoire à la base de données ou ajouter à une mémoire existante avec le même ID.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `conversationId` | chaîne | Non | Identifiant de conversation (par ex., user-123, session-abc). Si une mémoire avec cet identifiant de conversation existe déjà pour ce bloc, le nouveau message y sera ajouté. |
| --------- | ---- | ----------- | ----------- |
| `conversationId` | chaîne | Non | Identifiant de conversation \(par ex., user-123, session-abc\). Si une mémoire avec cet identifiant existe déjà, le nouveau message y sera ajouté. |
| `id` | chaîne | Non | Paramètre hérité pour l'identifiant de conversation. Utilisez conversationId à la place. Fourni pour la rétrocompatibilité. |
| `role` | chaîne | Oui | Rôle pour la mémoire de l'agent (user, assistant, ou system) |
| `role` | chaîne | Oui | Rôle pour la mémoire de l'agent \(user, assistant ou system\) |
| `content` | chaîne | Oui | Contenu pour la mémoire de l'agent |
| `blockId` | chaîne | Non | ID de bloc optionnel. Si non fourni, utilise l'ID du bloc actuel du contexte d'exécution, ou par défaut "default". |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si la mémoire a été ajoutée avec succès |
| `memories` | array | Tableau d'objets de mémoire incluant la nouvelle mémoire ou celle mise à jour |
| `error` | string | Message d'erreur si l'opération a échoué |
| `success` | booléen | Indique si la mémoire a été ajoutée avec succès |
| `memories` | tableau | Tableau d'objets mémoire incluant la mémoire nouvelle ou mise à jour |
| `error` | chaîne | Message d'erreur en cas d'échec de l'opération |
### `memory_get`
Récupérer la mémoire par conversationId, blockId, blockName, ou une combinaison. Renvoie toutes les mémoires correspondantes.
Récupérer la mémoire par conversationId. Renvoie les mémoires correspondantes.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `conversationId` | chaîne | Non | Identifiant de conversation (par ex., user-123, session-abc). Si fourni seul, renvoie toutes les mémoires pour cette conversation à travers tous les blocs. |
| --------- | ---- | ----------- | ----------- |
| `conversationId` | chaîne | Non | Identifiant de conversation \(par ex., user-123, session-abc\). Renvoie les mémoires pour cette conversation. |
| `id` | chaîne | Non | Paramètre hérité pour l'identifiant de conversation. Utilisez conversationId à la place. Fourni pour la rétrocompatibilité. |
| `blockId` | chaîne | Non | Identifiant de bloc. Si fourni seul, renvoie toutes les mémoires pour ce bloc à travers toutes les conversations. Si fourni avec conversationId, renvoie les mémoires pour cette conversation spécifique dans ce bloc. |
| `blockName` | chaîne | Non | Nom du bloc. Alternative à blockId. Si fourni seul, renvoie toutes les mémoires pour les blocs avec ce nom. Si fourni avec conversationId, renvoie les mémoires pour cette conversation dans les blocs avec ce nom. |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Indique si la mémoire a été récupérée avec succès |
| `memories` | tableau | Tableau d'objets de mémoire avec les champs conversationId, blockId, blockName et data |
| `memories` | tableau | Tableau d'objets mémoire avec les champs conversationId et data |
| `message` | chaîne | Message de succès ou d'erreur |
| `error` | chaîne | Message d'erreur si l'opération a échoué |
| `error` | chaîne | Message d'erreur en cas d'échec |
### `memory_get_all`
@@ -74,30 +71,28 @@ Récupérer toutes les mémoires de la base de données
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Indique si toutes les mémoires ont été récupérées avec succès |
| `memories` | tableau | Tableau de tous les objets de mémoire avec les champs key, conversationId, blockId, blockName et data |
| `memories` | tableau | Tableau de tous les objets mémoire avec les champs key, conversationId et data |
| `message` | chaîne | Message de succès ou d'erreur |
| `error` | chaîne | Message d'erreur si l'opération a échoué |
| `error` | chaîne | Message d'erreur en cas d'échec |
### `memory_delete`
Supprimer des mémoires par conversationId, blockId, blockName, ou une combinaison. Prend en charge la suppression en masse.
Supprimer les mémoires par conversationId.
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `conversationId` | chaîne | Non | Identifiant de conversation \(par exemple, user-123, session-abc\). Si fourni seul, supprime toutes les mémoires pour cette conversation dans tous les blocs. |
| `conversationId` | chaîne | Non | Identifiant de conversation (par ex., user-123, session-abc). Supprime toutes les mémoires pour cette conversation. |
| `id` | chaîne | Non | Paramètre hérité pour l'identifiant de conversation. Utilisez conversationId à la place. Fourni pour la rétrocompatibilité. |
| `blockId` | chaîne | Non | Identifiant de bloc. Si fourni seul, supprime toutes les mémoires pour ce bloc dans toutes les conversations. Si fourni avec conversationId, supprime les mémoires pour cette conversation spécifique dans ce bloc. |
| `blockName` | chaîne | Non | Nom du bloc. Alternative à blockId. Si fourni seul, supprime toutes les mémoires pour les blocs avec ce nom. Si fourni avec conversationId, supprime les mémoires pour cette conversation dans les blocs avec ce nom. |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | booléen | Indique si le souvenir a été supprimé avec succès |
| `success` | booléen | Indique si la mémoire a été supprimée avec succès |
| `message` | chaîne | Message de succès ou d'erreur |
| `error` | chaîne | Message d'erreur si l'opération a échoué |
| `error` | chaîne | Message d'erreur en cas d'échec |
## Notes

View File

@@ -0,0 +1,124 @@
---
title: ServiceNow
description: Créer, lire, mettre à jour et supprimer des enregistrements ServiceNow
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="servicenow"
color="#032D42"
/>
{/* MANUAL-CONTENT-START:intro */}
[ServiceNow](https://www.servicenow.com/) est une plateforme cloud puissante conçue pour rationaliser et automatiser la gestion des services informatiques (ITSM), les workflows et les processus métier au sein de votre organisation. ServiceNow vous permet de gérer les incidents, les demandes, les tâches, les utilisateurs et bien plus encore grâce à son API étendue.
Avec ServiceNow, vous pouvez :
- **Automatiser les workflows informatiques** : créer, lire, mettre à jour et supprimer des enregistrements dans n'importe quelle table ServiceNow, tels que les incidents, les tâches, les demandes de changement et les utilisateurs.
- **Intégrer les systèmes** : connecter ServiceNow avec vos autres outils et processus pour une automatisation transparente.
- **Maintenir une source unique de vérité** : garder toutes vos données de service et d'exploitation organisées et accessibles.
- **Améliorer l'efficacité opérationnelle** : réduire le travail manuel et améliorer la qualité du service grâce à des workflows personnalisables et à l'automatisation.
Dans Sim, l'intégration ServiceNow permet à vos agents d'interagir directement avec votre instance ServiceNow dans le cadre de leurs workflows. Les agents peuvent créer, lire, mettre à jour ou supprimer des enregistrements dans n'importe quelle table ServiceNow et exploiter les données de tickets ou d'utilisateurs pour une automatisation et une prise de décision sophistiquées. Cette intégration relie votre automatisation de workflow et vos opérations informatiques, permettant à vos agents de gérer les demandes de service, les incidents, les utilisateurs et les actifs sans intervention manuelle. En connectant Sim avec ServiceNow, vous pouvez automatiser les tâches de gestion des services, améliorer les temps de réponse et garantir un accès cohérent et sécurisé aux données de service vitales de votre organisation.
{/* MANUAL-CONTENT-END */}
## Instructions d'utilisation
Intégrez ServiceNow dans votre workflow. Créez, lisez, mettez à jour et supprimez des enregistrements dans n'importe quelle table ServiceNow, y compris les incidents, les tâches, les demandes de changement, les utilisateurs et bien plus encore.
## Outils
### `servicenow_create_record`
Créer un nouvel enregistrement dans une table ServiceNow
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Oui | URL de l'instance ServiceNow (par ex., https://instance.service-now.com) |
| `username` | string | Oui | Nom d'utilisateur ServiceNow |
| `password` | string | Oui | Mot de passe ServiceNow |
| `tableName` | string | Oui | Nom de la table (par ex., incident, task, sys_user) |
| `fields` | json | Oui | Champs à définir sur l'enregistrement (objet JSON) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `record` | json | Enregistrement ServiceNow créé avec sys_id et autres champs |
| `metadata` | json | Métadonnées de l'opération |
### `servicenow_read_record`
Lire des enregistrements d'une table ServiceNow
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Oui | URL de l'instance ServiceNow (par ex., https://instance.service-now.com) |
| `username` | string | Oui | Nom d'utilisateur ServiceNow |
| `password` | string | Oui | Mot de passe ServiceNow |
| `tableName` | string | Oui | Nom de la table |
| `sysId` | string | Non | sys_id d'enregistrement spécifique |
| `number` | string | Non | Numéro d'enregistrement (par ex., INC0010001) |
| `query` | string | Non | Chaîne de requête encodée (par ex., "active=true^priority=1") |
| `limit` | number | Non | Nombre maximum d'enregistrements à retourner |
| `fields` | string | Non | Liste de champs à retourner, séparés par des virgules |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `records` | array | Tableau d'enregistrements ServiceNow |
| `metadata` | json | Métadonnées de l'opération |
### `servicenow_update_record`
Mettre à jour un enregistrement existant dans une table ServiceNow
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Oui | URL de l'instance ServiceNow \(par exemple, https://instance.service-now.com\) |
| `username` | string | Oui | Nom d'utilisateur ServiceNow |
| `password` | string | Oui | Mot de passe ServiceNow |
| `tableName` | string | Oui | Nom de la table |
| `sysId` | string | Oui | sys_id de l'enregistrement à mettre à jour |
| `fields` | json | Oui | Champs à mettre à jour \(objet JSON\) |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `record` | json | Enregistrement ServiceNow mis à jour |
| `metadata` | json | Métadonnées de l'opération |
### `servicenow_delete_record`
Supprimer un enregistrement d'une table ServiceNow
#### Entrée
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | Oui | URL de l'instance ServiceNow \(par exemple, https://instance.service-now.com\) |
| `username` | string | Oui | Nom d'utilisateur ServiceNow |
| `password` | string | Oui | Mot de passe ServiceNow |
| `tableName` | string | Oui | Nom de la table |
| `sysId` | string | Oui | sys_id de l'enregistrement à supprimer |
#### Sortie
| Paramètre | Type | Description |
| --------- | ---- | ----------- |
| `success` | boolean | Indique si la suppression a réussi |
| `metadata` | json | Métadonnées de l'opération |
## Remarques
- Catégorie : `tools`
- Type : `servicenow`

View File

@@ -107,14 +107,14 @@ Lisez les derniers messages des canaux Slack. Récupérez l'historique des conve
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| --------- | ---- | ----------- | ----------- |
| `authMethod` | chaîne | Non | Méthode d'authentification : oauth ou bot_token |
| `botToken` | chaîne | Non | Jeton du bot pour Bot personnalisé |
| `channel` | chaîne | Non | Canal Slack pour lire les messages \(ex. : #general\) |
| `userId` | chaîne | Non | ID utilisateur pour la conversation en MP \(ex. : U1234567890\) |
| `limit` | nombre | Non | Nombre de messages à récupérer \(par défaut : 10, max : 100\) |
| `oldest` | chaîne | Non | Début de la plage temporelle \(horodatage\) |
| `latest` | chaîne | Non | Fin de la plage temporelle \(horodatage\) |
| `channel` | chaîne | Non | Canal Slack depuis lequel lire les messages \(ex. : #general\) |
| `userId` | chaîne | Non | ID utilisateur pour la conversation en message direct \(ex. : U1234567890\) |
| `limit` | nombre | Non | Nombre de messages à récupérer \(par défaut : 10, max : 15\) |
| `oldest` | chaîne | Non | Début de la plage horaire \(horodatage\) |
| `latest` | chaîne | Non | Fin de la plage horaire \(horodatage\) |
#### Sortie

View File

@@ -47,12 +47,13 @@ Interroger des données d'une table Supabase
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | chaîne | Oui | Votre ID de projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | chaîne | Oui | Le nom de la table Supabase à interroger |
| `filter` | chaîne | Non | Filtre PostgREST \(ex. : "id=eq.123"\) |
| `orderBy` | chaîne | Non | Colonne pour le tri \(ajoutez DESC pour décroissant\) |
| `limit` | nombre | Non | Nombre maximum de lignes à retourner |
| `apiKey` | chaîne | Oui | Votre clé secrète de rôle de service Supabase |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase à interroger |
| `schema` | string | Non | Schéma de base de données à interroger \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `filter` | string | Non | Filtre PostgREST \(ex. : "id=eq.123"\) |
| `orderBy` | string | Non | Colonne pour le tri \(ajoutez DESC pour l'ordre décroissant\) |
| `limit` | number | Non | Nombre maximum de lignes à retourner |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie
@@ -69,10 +70,11 @@ Insérer des données dans une table Supabase
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | chaîne | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `table` | chaîne | Oui | Le nom de la table Supabase dans laquelle insérer des données |
| `data` | tableau | Oui | Les données à insérer (tableau d'objets ou un seul objet) |
| `apiKey` | chaîne | Oui | Votre clé secrète de rôle de service Supabase |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase dans laquelle insérer des données |
| `schema` | string | Non | Schéma de base de données dans lequel insérer \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `data` | array | Oui | Les données à insérer \(tableau d'objets ou un seul objet\) |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie
@@ -89,9 +91,10 @@ Obtenir une seule ligne d'une table Supabase selon des critères de filtrage
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase à interroger |
| `filter` | string | Oui | Filtre PostgREST pour trouver la ligne spécifique (ex. : "id=eq.123") |
| `schema` | string | Non | Schéma de base de données à interroger \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `filter` | string | Oui | Filtre PostgREST pour trouver la ligne spécifique \(ex. : "id=eq.123"\) |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie
@@ -109,9 +112,10 @@ Mettre à jour des lignes dans une table Supabase selon des critères de filtrag
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase à mettre à jour |
| `filter` | string | Oui | Filtre PostgREST pour identifier les lignes à mettre à jour (ex. : "id=eq.123") |
| `schema` | string | Non | Schéma de base de données dans lequel mettre à jour \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `filter` | string | Oui | Filtre PostgREST pour identifier les lignes à mettre à jour \(ex. : "id=eq.123"\) |
| `data` | object | Oui | Données à mettre à jour dans les lignes correspondantes |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
@@ -130,9 +134,10 @@ Supprimer des lignes d'une table Supabase selon des critères de filtrage
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | string | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `table` | string | Oui | Le nom de la table Supabase d'où supprimer des lignes |
| `filter` | string | Oui | Filtre PostgREST pour identifier les lignes à supprimer (ex. : "id=eq.123") |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase à partir de laquelle supprimer |
| `schema` | string | Non | Schéma de base de données à partir duquel supprimer \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `filter` | string | Oui | Filtre PostgREST pour identifier les lignes à supprimer \(ex. : "id=eq.123"\) |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie
@@ -150,10 +155,11 @@ Insérer ou mettre à jour des données dans une table Supabase (opération upse
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | chaîne | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `table` | chaîne | Oui | Le nom de la table Supabase dans laquelle upserter des données |
| `data` | tableau | Oui | Les données à upserter (insérer ou mettre à jour) - tableau d'objets ou un seul objet |
| `apiKey` | chaîne | Oui | Votre clé secrète de rôle de service Supabase |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase dans laquelle effectuer l'upsert |
| `schema` | string | Non | Schéma de base de données dans lequel effectuer l'upsert \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `data` | array | Oui | Les données à insérer ou mettre à jour \(upsert\) - tableau d'objets ou un seul objet |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie
@@ -170,11 +176,12 @@ Compter les lignes dans une table Supabase
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | chaîne | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `table` | chaîne | Oui | Le nom de la table Supabase dont compter les lignes |
| `filter` | chaîne | Non | Filtre PostgREST (ex. : "status=eq.active") |
| `countType` | chaîne | Non | Type de comptage : exact, planned ou estimated (par défaut : exact) |
| `apiKey` | chaîne | Oui | Votre clé secrète de rôle de service Supabase |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase dont compter les lignes |
| `schema` | string | Non | Schéma de base de données à partir duquel compter \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `filter` | string | Non | Filtre PostgREST \(ex. : "status=eq.active"\) |
| `countType` | string | Non | Type de comptage : exact, planned ou estimated \(par défaut : exact\) |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie
@@ -191,14 +198,15 @@ Effectuer une recherche en texte intégral sur une table Supabase
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ----------- | ----------- |
| `projectId` | chaîne | Oui | L'ID de votre projet Supabase (ex. : jdrkgepadsdopsntdlom) |
| `table` | chaîne | Oui | Le nom de la table Supabase à rechercher |
| `column` | chaîne | Oui | La colonne dans laquelle rechercher |
| `query` | chaîne | Oui | La requête de recherche |
| `searchType` | chaîne | Non | Type de recherche : plain, phrase ou websearch (par défaut : websearch) |
| `language` | chaîne | Non | Langue pour la configuration de recherche textuelle (par défaut : english) |
| `limit` | nombre | Non | Nombre maximum de lignes à retourner |
| `apiKey` | chaîne | Oui | Votre clé secrète de rôle de service Supabase |
| `projectId` | string | Oui | L'ID de votre projet Supabase \(ex. : jdrkgepadsdopsntdlom\) |
| `table` | string | Oui | Le nom de la table Supabase à rechercher |
| `schema` | string | Non | Schéma de base de données dans lequel rechercher \(par défaut : public\). Utilisez ceci pour accéder aux tables dans d'autres schémas. |
| `column` | string | Oui | La colonne dans laquelle rechercher |
| `query` | string | Oui | La requête de recherche |
| `searchType` | string | Non | Type de recherche : plain, phrase ou websearch \(par défaut : websearch\) |
| `language` | string | Non | Langue pour la configuration de recherche textuelle \(par défaut : english\) |
| `limit` | number | Non | Nombre maximum de lignes à retourner |
| `apiKey` | string | Oui | Votre clé secrète de rôle de service Supabase |
#### Sortie

View File

@@ -37,16 +37,19 @@ Envoyez une requête de complétion de chat à n'importe quel fournisseur de LLM
#### Entrée
| Paramètre | Type | Obligatoire | Description |
| --------- | ---- | ---------- | ----------- |
| `model` | chaîne | Oui | Le modèle à utiliser (ex. : gpt-4o, claude-sonnet-4-5, gemini-2.0-flash) |
| `systemPrompt` | chaîne | Non | Instruction système pour définir le comportement de l'assistant |
| `context` | chaîne | Oui | Le message utilisateur ou le contexte à envoyer au modèle |
| `apiKey` | chaîne | Non | Clé API pour le fournisseur (utilise la clé de plateforme si non fournie pour les modèles hébergés) |
| `temperature` | nombre | Non | Température pour la génération de réponse (0-2) |
| `maxTokens` | nombre | Non | Nombre maximum de tokens dans la réponse |
| `azureEndpoint` | chaîne | Non | URL du point de terminaison Azure OpenAI |
| `azureApiVersion` | chaîne | Non | Version de l'API Azure OpenAI |
| Paramètre | Type | Requis | Description |
| --------- | ---- | -------- | ----------- |
| `model` | string | Oui | Le modèle à utiliser \(par exemple, gpt-4o, claude-sonnet-4-5, gemini-2.0-flash\) |
| `systemPrompt` | string | Non | Prompt système pour définir le comportement de l'assistant |
| `context` | string | Oui | Le message utilisateur ou le contexte à envoyer au modèle |
| `apiKey` | string | Non | Clé API pour le fournisseur \(utilise la clé de la plateforme si non fournie pour les modèles hébergés\) |
| `temperature` | number | Non | Température pour la génération de réponse \(0-2\) |
| `maxTokens` | number | Non | Nombre maximum de tokens dans la réponse |
| `azureEndpoint` | string | Non | URL du point de terminaison Azure OpenAI |
| `azureApiVersion` | string | Non | Version de l'API Azure OpenAI |
| `vertexProject` | string | Non | ID du projet Google Cloud pour Vertex AI |
| `vertexLocation` | string | Non | Emplacement Google Cloud pour Vertex AI \(par défaut us-central1\) |
| `vertexCredential` | string | Non | ID des identifiants OAuth Google Cloud pour Vertex AI |
#### Sortie

View File

@@ -5,7 +5,6 @@ title: Planification
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'
Le bloc Planification déclenche automatiquement des workflows de manière récurrente à des intervalles ou moments spécifiés.
@@ -21,67 +20,58 @@ Le bloc Planification déclenche automatiquement des workflows de manière récu
## Options de planification
Configurez quand votre workflow s'exécute en utilisant les options du menu déroulant :
Configurez quand votre workflow s'exécute :
<Tabs items={['Intervalles simples', 'Expressions cron']}>
<Tab>
<ul className="list-disc space-y-1 pl-6">
<li><strong>Toutes les quelques minutes</strong> : intervalles de 5, 15, 30 minutes</li>
<li><strong>Toutes les heures</strong> : chaque heure ou toutes les quelques heures</li>
<li><strong>Quotidien</strong> : une ou plusieurs fois par jour</li>
<li><strong>Hebdomadaire</strong> : jours spécifiques de la semaine</li>
<li><strong>Mensuel</strong> : jours spécifiques du mois</li>
<li><strong>Toutes les X minutes</strong> : exécution à intervalles de minutes (1-1440)</li>
<li><strong>Toutes les heures</strong> : exécution à une minute spécifique chaque heure</li>
<li><strong>Quotidien</strong> : exécution à une heure spécifique chaque jour</li>
<li><strong>Hebdomadaire</strong> : exécution un jour et une heure spécifiques chaque semaine</li>
<li><strong>Mensuel</strong> : exécution un jour et une heure spécifiques chaque mois</li>
</ul>
</Tab>
<Tab>
<p>Utilisez des expressions cron pour une planification avancée :</p>
<p>Utilisez les expressions cron pour une planification avancée :</p>
<div className="text-sm space-y-1">
<div><code>0 9 * * 1-5</code> - Chaque jour de semaine à 9h</div>
<div><code>0 9 * * 1-5</code> - Chaque jour de semaine à 9 h</div>
<div><code>*/15 * * * *</code> - Toutes les 15 minutes</div>
<div><code>0 0 1 * *</code> - Premier jour de chaque mois</div>
</div>
</Tab>
</Tabs>
## Configuration des planifications
## Activation
Lorsqu'un workflow est planifié :
- La planification devient **active** et affiche la prochaine heure d'exécution
- Cliquez sur le bouton **"Planifié"** pour désactiver la planification
- Les planifications se désactivent automatiquement après **3 échecs consécutifs**
Les planifications sont liées au déploiement du workflow :
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-2.png"
alt="Bloc de planification actif"
width={500}
height={400}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Planification désactivée"
width={500}
height={350}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Planification désactivée"
width={500}
height={400}
className="my-6"
/>
</div>
Les planifications désactivées indiquent quand elles ont été actives pour la dernière fois. Cliquez sur le badge **"Désactivé"** pour réactiver la planification.
- **Déployer le workflow** → la planification devient active et commence à s'exécuter
- **Annuler le déploiement du workflow** → la planification est supprimée
- **Redéployer le workflow** → la planification est recréée avec la configuration actuelle
<Callout>
Les blocs de planification ne peuvent pas recevoir de connexions entrantes et servent uniquement de déclencheurs de workflow.
Vous devez déployer votre workflow pour que la planification commence à s'exécuter. Configurez le bloc de planification, puis déployez depuis la barre d'outils.
</Callout>
## Désactivation automatique
Les planifications se désactivent automatiquement après **10 échecs consécutifs** pour éviter les erreurs incontrôlées. Lorsqu'elle est désactivée :
- Un badge d'avertissement apparaît sur le bloc de planification
- La planification cesse de s'exécuter
- Cliquez sur le badge pour réactiver la planification
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="Planification désactivée"
width={500}
height={400}
className="my-6"
/>
</div>
<Callout>
Les blocs de planification ne peuvent pas recevoir de connexions entrantes et servent uniquement de points d'entrée de workflow.
</Callout>

View File

@@ -110,26 +110,24 @@ import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
```json
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
"selectedOption": "condition-1"
}
```
### 条件ブロックの出力フィールド
- **content**: そのまま渡される元のコンテンツ
- **conditionResult**: 条件評価の真偽値結果
- **selectedPath**: 選択されたパスに関する情報
- **blockId**: 選択されたパスの次のブロックのID
- **blockType**: 次のブロックのタイプ
- **blockTitle**: 次のブロックのタイトル
- **selectedConditionId**: 選択された条件のID
- **selectedOption**: 選択された条件のID
</Tab>
<Tab>

View File

@@ -49,40 +49,40 @@ AIブロックを使用するワークフローでは、ログで詳細なコス
<Tabs items={['Hosted Models', 'Bring Your Own API Key']}>
<Tab>
**ホステッドモデル** - Simは2.5倍の価格倍率でAPIキーを提供します
**ホステッドモデル** - Simは2倍の価格乗数でAPIキーを提供します
**OpenAI**
| モデル | 基本価格(入力/出力) | ホステッド価格(入力/出力) |
|-------|---------------------------|----------------------------|
| 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 |
| GPT-5.1 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 Mini | $0.25 / $2.00 | $0.50 / $4.00 |
| GPT-5 Nano | $0.05 / $0.40 | $0.10 / $0.80 |
| GPT-4o | $2.50 / $10.00 | $5.00 / $20.00 |
| GPT-4.1 | $2.00 / $8.00 | $4.00 / $16.00 |
| GPT-4.1 Mini | $0.40 / $1.60 | $0.80 / $3.20 |
| GPT-4.1 Nano | $0.10 / $0.40 | $0.20 / $0.80 |
| o1 | $15.00 / $60.00 | $30.00 / $120.00 |
| o3 | $2.00 / $8.00 | $4.00 / $16.00 |
| o4 Mini | $1.10 / $4.40 | $2.20 / $8.80 |
**Anthropic**
| モデル | 基本価格(入力/出力) | ホステッド価格(入力/出力) |
|-------|---------------------------|----------------------------|
| 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 |
| Claude Opus 4.5 | $5.00 / $25.00 | $10.00 / $50.00 |
| Claude Opus 4.1 | $15.00 / $75.00 | $30.00 / $150.00 |
| Claude Sonnet 4.5 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Sonnet 4.0 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Haiku 4.5 | $1.00 / $5.00 | $2.00 / $10.00 |
**Google**
| モデル | 基本価格(入力/出力) | ホステッド価格(入力/出力) |
|-------|---------------------------|----------------------------|
| 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 |
| Gemini 3 Pro Preview | $2.00 / $12.00 | $4.00 / $24.00 |
| Gemini 2.5 Pro | $1.25 / $10.00 | $2.50 / $20.00 |
| Gemini 2.5 Flash | $0.30 / $2.50 | $0.60 / $5.00 |
*2.5倍の倍率はインフラストラクチャとAPI管理コストをカバーしています。*
*2倍の乗数は、インフラストラクチャとAPI管理コストをカバーします。*
</Tab>
<Tab>
@@ -105,43 +105,47 @@ AIブロックを使用するワークフローでは、ログで詳細なコス
表示価格は2025年9月10日時点のレートを反映しています。最新の価格については各プロバイダーのドキュメントをご確認ください。
</Callout>
## Bring Your Own Key (BYOK)
ホストされたモデルOpenAI、Anthropic、Google、Mistralに対して、**設定 → BYOK**で独自のAPIキーを使用し、基本価格で支払うことができます。キーは暗号化され、ワークスペース全体に適用されます。
## コスト最適化戦略
- **モデル選択**: タスクの複雑さに基づいてモデルを選択してください。単純なタスクにはGPT-4.1-nanoを使用し、複雑な推論にはo1やClaude Opusが必要場合があります。
- **プロンプトエンジニアリング**: 構造化された簡潔なプロンプトは、品質を犠牲にすることなくトークン使用量を削減します。
- **ローカルモデル**: 重要度の低いタスクにはOllamaやVLLMを使用して、API費用を完全に排除します。
- **キャッシュと再利用**: 頻繁に使用される結果を変数やファイルに保存して、AIモデル呼び出しの繰り返しを避けます。
- **モデル選択**: タスクの複雑さに基づいてモデルを選択します。シンプルなタスクにはGPT-4.1-nanoを使用し、複雑な推論にはo1やClaude Opusが必要になる場合があります。
- **プロンプトエンジニアリング**: 適切に構造化された簡潔なプロンプトは、品質を犠牲にすることなくトークン使用量を削減します。
- **ローカルモデル**: 重要度の低いタスクにはOllamaやVLLMを使用して、APIコストを完全に排除します。
- **キャッシュと再利用**: 頻繁に使用される結果を変数やファイルに保存して、AIモデルの繰り返し呼び出しを回避します。
- **バッチ処理**: 個別の呼び出しを行うのではなく、単一のAIリクエストで複数のアイテムを処理します。
## 使用状況モニタリング
## 使用状況の監視
設定 → サブスクリプションで使用状況と請求を監視できます
設定 → サブスクリプションで使用状況と請求を監視ます:
- **現在の使用状況**: 現在の期間のリアルタイムの使用状況とコスト
- **使用制限**: 視覚的な進捗指標付きのプラン制限
- **請求詳細**: 予測される料金と最低利用額
- **使用制限**: 視覚的な進行状況インジケーター付きのプラン制限
- **請求詳細**: 予測される料金と最低コミットメント
- **プラン管理**: アップグレードオプションと請求履歴
### プログラムによる使用状況の追跡
APIを使用して、現在の使用状況と制限をプログラムで照会できます
APIを使用して、現在の使用状況と制限をプログラムでクエリできます:
**エンドポイント**
**エンドポイント:**
```text
GET /api/users/me/usage-limits
```
**認証**
- APIキーを `X-API-Key` ヘッダーに含めてください
**認証:**
- `X-API-Key`ヘッダーにAPIキーを含めます
**リクエスト例**
**リクエスト例:**
```bash
curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" https://sim.ai/api/users/me/usage-limits
```
**レスポンス例**
**レスポンス例:**
```json
{
@@ -171,70 +175,70 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**レート制限フィールド**
- `requestsPerMinute`持続的なレート制限(トークンはこの速度で補充されます)
- `maxBurst`蓄積できる最大トークン数(バースト容量)
- `remaining`現在利用可能なトークン(最大`maxBurst`まで)
**レート制限フィールド:**
- `requestsPerMinute`: 持続的なレート制限(トークンはこのレートで補充されます)
- `maxBurst`: 蓄積できる最大トークン数(バースト容量)
- `remaining`: 現在利用可能なトークン(最大`maxBurst`まで)
**レスポンスフィールド**
**レスポンスフィールド:**
- `currentPeriodCost`は現在の請求期間の使用状況を反映します
- `limit`は個別の制限(無料/プロ)または組織のプール制限(チーム/エンタープライズ)から派生します
- `plan`はユーザーに関連付けられた最優先アクティブなプランです
- `limit`は個別の制限(Free/Proまたはプールされた組織の制限Team/Enterpriseから導出されます
- `plan`はユーザーに関連付けられた最優先度の高いアクティブなプランです
## プラン制限
## プラン制限
サブスクリプションプランによって使用制限が異なります
サブスクリプションプランによって使用量の制限が異なります
| プラン | 月間使用制限 | レート制限(分あたり) |
| プラン | 月間使用制限 | レート制限(1分あたり) |
|------|-------------------|-------------------------|
| **無料** | $10 | 5同期、10非同期 |
| **プロ** | $100 | 10同期、50非同期 |
| **チーム** | $500プール | 50同期100非同期 |
| **無料** | $20 | 同期5、非同期10 |
| **プロ** | $100 | 同期10、非同期50 |
| **チーム** | $500プール | 同期50、非同期100 |
| **エンタープライズ** | カスタム | カスタム |
## 課金モデル
Simは**基本サブスクリプション+超過分**の課金モデルを使用しています
Simは**基本サブスクリプション + 超過料金**の課金モデルを用しています
### 仕組み
**プロプラン(月額$20**
- 月額サブスクリプションには$20分の使用量が含まれます
- 使用量が$20未満 → 追加料金なし
- 使用量が$20を超える → 月末に超過分を支払い
- 例:$35の使用量 = $20サブスクリプション+ $15超過
- 使用量が$20超過 → 月末に超過分を支払い
- 例:使用量$35 = $20サブスクリプション+ $15超過料金
**チームプラン(席あたり月額$40**
- チームメンバー全体でプールされた使用量
- チーム全体の使用量から超過を計算
- 組織のオーナーが一括で請求を受け
**チームプラン(1席あたり月額$40**
- チームメンバー全員で使用量をプール
- チーム全体の使用量から超過料金を計算
- 組織のオーナーが1つの請求を受け取ります
**エンタープライズプラン:**
- 固定月額料金、超過料金なし
- 契約に基づくカスタム使用制限
- 契約に基づくカスタム使用制限
### しきい値課金
未請求の超過が$50に達すると、Simは自動的に未請求の全額を請求します。
未請求の超過料金が$50に達すると、Simは未請求金額の全額を自動的に請求します。
**例:**
- 10日目$70の超過分 → 即に$70を請求
- 15日目追加$35の使用(合計$105 → すでに請求済み、アクションなし
- 20日目さらに$50の使用合計$155、未請求$85 → 即に$85を請求
- 10日目超過料金$70 → 即に$70を請求
- 15日目追加使用量$35(合計$105 → すでに請求済み、アクションなし
- 20日目さらに$50の使用(合計$155、未請求$85 → 即に$85を請求
これにより、期間終了時に一度に大きな請求が発生するのではなく、月全体に大きな超過料金が分散されます。
これにより、期間終了時の1回の大きな請求ではなく、大きな超過料金を月全体に分散させることができます。
## コスト管理のベストプラクティス
1. **定期的な監視**: 予期せぬ事態を避けるため、使用状況ダッシュボードを頻繁に確認する
2. **予算の設定**: プランの制限を支出のガードレールとして使用する
3. **ワークフローの最適化**: コストの高い実行を見直し、プロンプトやモデル選択を最適化する
4. **適切なモデルの使用**: タスクの要件にモデルの複雑さを合わせる
5. **類似タスクのバッチ処理**: 可能な場合は複数のリクエストを組み合わせてオーバーヘッドを削減する
1. **定期的な監視**:予期しない事態を避けるため、使用状況ダッシュボードを頻繁に確認してください
2. **予算の設定**プランの制限を支出のガードレールとして使用してください
3. **ワークフローの最適化**コストの高い実行を確認し、プロンプトやモデル選択を最適化してください
4. **適切なモデルの使用**タスクの要件に合わせてモデルの複雑さを選択してください
5. **類似タスクのバッチ処理**可能な限り複数のリクエストを組み合わせてオーバーヘッドを削減してください
## 次のステップ
- [設定 → サブスクリプション](https://sim.ai/settings/subscription)で現在の使用状況を確認する
- 実行詳細を追跡するための[ロギング](/execution/logging)について学ぶ
- 実行詳細を追跡するための[ログ記録](/execution/logging)について学ぶ
- プログラムによるコスト監視のための[外部API](/execution/api)を探索する
- コスト削減ための[ワークフロー最適化テクニック](/blocks)をチェックする
- コスト削減するための[ワークフロー最適化テクニック](/blocks)を確認する

View File

@@ -34,81 +34,87 @@ SimはPDF、WordDOC/DOCX、プレーンテキストTXT、Markdown
<Image src="/static/knowledgebase/knowledgebase.png" alt="処理されたコンテンツを表示するドキュメントチャンクビュー" width={800} height={500} />
### チャンク設定
- **デフォルトチャンクサイズ**: 1,024文字
- **設定可能範囲**: チャンクあたり100〜4,000文字
- **スマートオーバーラップ**: コンテキスト保持のためデフォルトで200文字
- **階層的分割**: 文書構造(セクション、段落、文)を尊重
ナレッジベースを作成する際、ドキュメントをチャンクに分割する方法を設定できます。
| 設定 | 単位 | デフォルト | 範囲 | 説明 |
|---------|------|---------|-------|-------------|
| **最大チャンクサイズ** | トークン | 1,024 | 100-4,000 | 各チャンクの最大サイズ1トークン ≈ 4文字 |
| **最小チャンクサイズ** | 文字 | 1 | 1-2,000 | 小さな断片を避けるための最小チャンクサイズ |
| **オーバーラップ** | 文字 | 200 | 0-500 | 連続するチャンク間のコンテキストオーバーラップ |
- **階層的分割**: ドキュメント構造(セクション、段落、文)を尊重
### 編集機能
- **チャンク内容の編集**: 個々のチャンクのテキスト内容を修正
- **チャンク境界の調整**: 必要に応じてチャンク結合分割
- **チャンクコンテンツの編集**: 個々のチャンクのテキストコンテンツを変更
- **チャンク境界の調整**: 必要に応じてチャンク結合または分割
- **メタデータの追加**: 追加のコンテキストでチャンクを強化
- **一括操作**: 複数のチャンクを効率的に管理
## 高度なPDF処理
PDFドキュメントについて、Simは強化された処理機能を提供します
PDFドキュメントに対して、Simは強化された処理機能を提供します
### OCRサポート
Azureまたは[Mistral OCR](https://docs.mistral.ai/ocr/)で構成されている場合
- **スキャンされたドキュメント処理**: 画像ベースのPDFからテキストを抽出
- **混合コンテンツ処理**: テキストと画像の両方を含むPDFを処理
- **高精度**: 高度なAIモデル正確なテキスト抽出を保証
Azureまたは[Mistral OCR](https://docs.mistral.ai/ocr/)で設定されている場合:
- **スキャンされたドキュメント処理**: 画像ベースのPDFからテキストを抽出
- **混合コンテンツ処理**: テキストと画像の両方を含むPDFを処理
- **高精度**: 高度なAIモデルにより正確なテキスト抽出を保証
## ワークフローでのナレッジブロックの使用
ドキュメントが処理されると、ナレッジブロックを通じてAIワークフローで使用できるようになります。これにより検索拡張生成RAGが可能になり、AIエージェントがドキュメントの内容にアクセスして推論し、より正確でコンテキストに沿った答を提供できます。
ドキュメントが処理されると、ナレッジブロックを通じてAIワークフローで使用できます。これにより検索拡張生成RAGが可能になり、AIエージェントがドキュメントコンテンツにアクセスして推論し、より正確でコンテキストに沿った答を提供できます。
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="ワークフローでのナレッジブロックの使用" width={800} height={500} />
### ナレッジブロックの機能
- **意味検索**: 自然言語クエリを使用して関連コンテンツを検索
- **コンテキスト統合**: エージェントプロンプトに関連チャンクを自動的に含める
- **動的検索**: ワークフロー実行中にリアルタイムで検索が行われる
- **関連性スコアリング**: 意味的類似によって結果ランク付け
- **セマンティック検索**: 自然言語クエリを使用して関連コンテンツを検索
- **コンテキスト統合**: 関連するチャンクをエージェントプロンプトに自動的に含める
- **動的検索**: ワークフロー実行中にリアルタイムで検索を実行
- **関連性スコアリング**: セマンティック類似によって結果ランク付け
### 統合オプション
- **システムプロンプト**: AIエージェントにコンテキストを提供
- **動的コンテキスト**: 会話中に関連情報を検索して含める
- **複数ドキュメント検索**: ナレッジベース全体を横断して検索
- **フィルター検索**: タグと組み合わせて正確なコンテンツ検索
- **複数ドキュメント検索**: ナレッジベース全体をクエリ
- **フィルター検索**: タグと組み合わせて正確なコンテンツ取得
## ベクトル検索技術
Simは[pgvector](https://github.com/pgvector/pgvector)を活用したベクトル検索を使用して、コンテンツの意味とコンテキストを理解します
Simは[pgvector](https://github.com/pgvector/pgvector)を活用したベクトル検索により、コンテンツの意味とコンテキストを理解します
### 意味的理解
- **コンテキスト検索**正確なキーワードが一致しなくても関連コンテンツを見つける
- **概念ベースの検索**アイデア間の関係を理解
- **多言語サポート**異なる言語間で機能
- **同義語認識**関連する用語概念を見つける
### セマンティック理解
- **コンテキスト検索**: 正確なキーワードが一致しない場合でも関連コンテンツを検索
- **概念ベースの取得**: アイデア間の関係を理解
- **多言語サポート**: 異なる言語間で動作
- **同義語認識**: 関連する用語概念を検索
### 検索機能
- **自然言語クエリ**平易な日本語で質問できる
- **類似検索**概念的に類似したコンテンツを見つける
- **ハイブリッド検索**ベクトル検索と従来のキーワード検索を組み合わせ
- **結果の設定**結果の数と関連性の値を制御
- **自然言語クエリ**: 平易な語で質問
- **類似検索**: 概念的に類似したコンテンツを検索
- **ハイブリッド検索**: ベクトル検索と従来のキーワード検索を組み合わせ
- **設定可能な結果**: 結果の数と関連性のしきい値を制御
## ドキュメント管理
### 整理機能
- **一括アップロード**非同期APIを通じて複数ファイルを一度にアップロード
- **処理状況**ドキュメント処理のリアルタイム更新
- **検索とフィルタリング**大規模なコレクションからドキュメントを素早く見つける
- **メタデータ追跡**ファイル情報と処理詳細の自動キャプチャ
- **一括アップロード**: 非同期API経由で複数ファイルを一度にアップロード
- **処理ステータス**: ドキュメント処理のリアルタイム更新
- **検索とフィルター**: 大規模なコレクション内でドキュメントを素早く検索
- **メタデータ追跡**: ファイル情報と処理詳細の自動キャプチャ
### セキュリティとプライバシー
- **安全なストレージ**エンタープライズグレードのセキュリティでドキュメントを保存
- **アクセス制御**ワークスペースベースの権限
- **処理の分離**各ワークスペースは分離されたドキュメント処理を持つ
- **データ保持**ドキュメント保持ポリシー設定
- **安全なストレージ**: エンタープライズグレードのセキュリティでドキュメントを保存
- **アクセス制御**: ワークスペースベースの権限
- **処理の分離**: 各ワークスペースは分離されたドキュメント処理を実施
- **データ保持**: ドキュメント保持ポリシー設定
## はじめに
1. **ナレッジベースに移動**ワークスペースのサイドバーからアクセス
2. **ドキュメントアップロード**ドラッグドロップまたはファイルを選択してアップロード
3. **処理監視**ドキュメントが処理されチャンク化される過程を確認
4. **チャンク探索**処理されたコンテンツを表示編集
5. **ワークフローへの追加**:ナレッジブロックを使用してAIエージェントと統合
1. **ナレッジベースに移動**: ワークスペースのサイドバーからアクセス
2. **ドキュメントアップロード**: ドラッグアンドドロップまたはファイルを選択してアップロード
3. **処理監視**: ドキュメントが処理されチャンク化される様子を確認
4. **チャンク探索**: 処理されたコンテンツを表示および編集
5. **ワークフロー追加**: Knowledgeブロックを使用してAIエージェントと統合
ナレッジベースは静的なドキュメントを、AIワークフローがより情報に基づいた文脈的な応答のために活用できる、インテリジェントで検索可能なリソースに変換します。
ナレッジベースは静的なドキュメントをインテリジェントで検索可能なリソースに変換し、AIワークフローがより情報に基づいた文脈に応じた応答を活用できるようにします。

View File

@@ -0,0 +1,59 @@
---
title: Circleback
description: AI搭載の議事録とアクションアイテム
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="circleback"
color="linear-gradient(180deg, #E0F7FA 0%, #FFFFFF 100%)"
/>
{/* MANUAL-CONTENT-START:intro */}
[Circleback](https://circleback.ai/)は、チームの議事録、アクションアイテム、文字起こし、録音を自動化するAI搭載プラットフォームです。会議が終了すると、Circlebackが会話を処理し、詳細な議事録とアクションアイテム、文字起こしと録音(利用可能な場合)を提供します。これにより、チームは効率的に洞察を記録し、アクションアイテムを配布し、見落としがないことを確認できます。すべてがワークフローにシームレスに統合されます。
Sim Circleback統合により、次のことが可能になります。
- **詳細な議事録とアクションアイテムの受信**: 通話中に議論された実行可能なタスクを追跡し、整形された会議サマリーを自動的に収集します。
- **完全な会議録音と文字起こしへのアクセス**: 会話全体と関連する録音を取得し、重要な瞬間を簡単に確認したり、同僚と共有したりできます。
- **参加者情報と会議コンテキストの記録**: 参加者リスト、会議メタデータ、タグにより、データを整理して実行可能な状態に保ちます。
- **ワークフローに直接洞察を配信**: 会議が終了した瞬間に、Simの強力なWebhookトリガーを使用して、自動化をトリガーしたり、Circlebackデータを他のシステムに送信したりできます。
**Simでの動作方法:**
CirclebackはWebhookトリガーを使用します。会議が処理されるたびに、データが自動的にエージェントまたは自動化にプッシュされます。次の条件に基づいてさらなる自動化を構築できます。
- 会議完了(すべての処理済みデータが利用可能)
- 新しいノート(会議全体が処理される前にノートが準備完了)
- 高度なユースケース向けの生のWebhook統合
**Circleback会議Webhookペイロードでは、次の情報が利用可能です:**
| フィールド | タイプ | 説明 |
|----------------|---------|----------------------------------------------------|
| `id` | number | CirclebackミーティングID |
| `name` | string | ミーティングタイトル |
| `url` | string | バーチャルミーティングURLZoom、Meet、Teamsなど |
| `createdAt` | string | ミーティング作成タイムスタンプ |
| `duration` | number | 秒単位の長さ |
| `recordingUrl` | string | 録画URL24時間有効 |
| `tags` | json | タグの配列 |
| `icalUid` | string | カレンダーイベントID |
| `attendees` | json | 参加者オブジェクトの配列 |
| `notes` | string | Markdown形式のミーティングート |
| `actionItems` | json | アクションアイテムの配列 |
| `transcript` | json | トランスクリプトセグメントの配列 |
| `insights` | json | ユーザー作成のインサイト |
| `meeting` | json | 完全なミーティングペイロード |
即座にサマリーを配信したい場合でも、アクションアイテムを記録したい場合でも、新しいミーティングデータによってトリガーされるカスタムワークフローを構築したい場合でも、CirclebackとSimを使えば、ミーティングに関連するすべてを自動的にシームレスに処理できます。
{/* MANUAL-CONTENT-END */}
## 使用方法
ミーティングが処理されると、ミーティングート、アクションアイテム、トランスクリプト、録画を受信します。Circlebackはwebhookを使用してワークフローにデータをプッシュします。
## 注意事項
- カテゴリー: `triggers`
- タイプ: `circleback`

View File

@@ -0,0 +1,218 @@
---
title: Grain
description: 会議の録画、文字起こし、AI要約にアクセス
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grain"
color="#F6FAF9"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grain](https://grain.com/)は、会議の録画、文字起こし、ハイライト、AI搭載の要約を記録、保存、共有するための最新プラットフォームです。Grainを使用すると、チームは会話を実用的なインサイトに変換し、会議の重要な瞬間について全員の認識を一致させることができます。
Grainでできること:
- **検索可能な録画と文字起こしへのアクセス**: キーワード、参加者、トピックで会議を検索して確認できます。
- **ハイライトとクリップの共有**: 重要な瞬間を記録し、短い動画/音声のハイライトをチームやワークフロー全体で共有できます。
- **AI生成の要約を取得**: Grainの高度なAIを使用して、会議の要約、アクションアイテム、主要なインサイトを自動的に作成します。
- **チームやタイプ別に会議を整理**: 録画にタグを付けて分類し、簡単にアクセスしてレポートを作成できます。
Sim Grain統合により、エージェントは次のことが可能になります:
- 柔軟なフィルター(日時、参加者、チームなど)で会議の録画と詳細を一覧表示、検索、取得できます。
- 会議のAI要約、参加者、ハイライト、その他のメタデータにアクセスして、自動化や分析を強化できます。
- Grain Webhookを介して、新しい会議が処理されたとき、要約が生成されたとき、またはハイライトが作成されたときにワークフローをトリガーできます。
- Grainのデータを他のツールに簡単に連携したり、会議で重要なことが発生した瞬間にチームメイトに通知したりできます。
フォローアップアクションを自動化したり、重要な会話の記録を保持したり、組織全体でインサイトを表示したりする場合でも、GrainとSimを使用すると、会議のインテリジェンスをワークフローに簡単に接続できます。
{/* MANUAL-CONTENT-END */}
## 使用方法
Grainをワークフローに統合します。会議の録画、文字起こし、ハイライト、AI生成の要約にアクセスできます。Grain Webhookイベントに基づいてワークフローをトリガーすることもできます。
## ツール
### `grain_list_recordings`
オプションのフィルターとページネーションを使用してGrainから録画を一覧表示
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー個人アクセストークン |
| `cursor` | string | いいえ | 次のページのページネーションカーソル |
| `beforeDatetime` | string | いいえ | このISO8601タイムスタンプより前の録画のみ |
| `afterDatetime` | string | いいえ | このISO8601タイムスタンプより後の録画のみ |
| `participantScope` | string | いいえ | フィルター「internal」または「external」 |
| `titleSearch` | string | いいえ | 録画タイトルでフィルタリングする検索語 |
| `teamId` | string | いいえ | チームUUIDでフィルタリング |
| `meetingTypeId` | string | いいえ | ミーティングタイプUUIDでフィルタリング |
| `includeHighlights` | boolean | いいえ | レスポンスにハイライト/クリップを含める |
| `includeParticipants` | boolean | いいえ | レスポンスに参加者リストを含める |
| `includeAiSummary` | boolean | いいえ | AI生成サマリーを含める |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `recordings` | array | 録画オブジェクトの配列 |
### `grain_get_recording`
IDで単一の録画の詳細を取得
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー個人アクセストークン |
| `recordingId` | string | はい | 録画UUID |
| `includeHighlights` | boolean | いいえ | ハイライト/クリップを含める |
| `includeParticipants` | boolean | いいえ | 参加者リストを含める |
| `includeAiSummary` | boolean | いいえ | AIサマリーを含める |
| `includeCalendarEvent` | boolean | いいえ | カレンダーイベントデータを含める |
| `includeHubspot` | boolean | いいえ | HubSpot関連付けを含める |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `id` | string | 録画UUID |
| `title` | string | 録画タイトル |
| `start_datetime` | string | ISO8601形式の開始タイムスタンプ |
| `end_datetime` | string | ISO8601形式の終了タイムスタンプ |
| `duration_ms` | number | ミリ秒単位の長さ |
| `media_type` | string | audio、transcript、またはvideo |
| `source` | string | 録画ソース(zoom、meet、teamsなど) |
| `url` | string | Grainで表示するためのURL |
| `thumbnail_url` | string | サムネイル画像URL |
| `tags` | array | タグ文字列の配列 |
| `teams` | array | 録画が属するチーム |
| `meeting_type` | object | ミーティングタイプ情報(id、name、scope) |
| `highlights` | array | ハイライト(含まれる場合) |
| `participants` | array | 参加者(含まれる場合) |
| `ai_summary` | object | AI要約テキスト(含まれる場合) |
| `calendar_event` | object | カレンダーイベントデータ(含まれる場合) |
| `hubspot` | object | HubSpot関連付け(含まれる場合) |
### `grain_get_transcript`
録画の完全なトランスクリプトを取得
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー(パーソナルアクセストークン) |
| `recordingId` | string | はい | 録画UUID |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `transcript` | array | トランスクリプトセクションの配列 |
### `grain_list_teams`
ワークスペース内のすべてのチームを一覧表示
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー(パーソナルアクセストークン) |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `teams` | array | チームオブジェクトの配列 |
### `grain_list_meeting_types`
ワークスペース内のすべてのミーティングタイプを一覧表示
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー(パーソナルアクセストークン) |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `meeting_types` | array | ミーティングタイプオブジェクトの配列 |
### `grain_create_hook`
録画イベントを受信するためのWebhookを作成
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー(パーソナルアクセストークン) |
| `hookUrl` | string | はい | WebhookエンドポイントURL(2xxを返す必要があります) |
| `filterBeforeDatetime` | string | いいえ | フィルタ: この日付より前の録画 |
| `filterAfterDatetime` | string | いいえ | フィルタ: この日付より後の録画 |
| `filterParticipantScope` | string | いいえ | フィルタ: "internal"または"external" |
| `filterTeamId` | string | いいえ | フィルタ: 特定のチームUUID |
| `filterMeetingTypeId` | string | いいえ | フィルタ: 特定のミーティングタイプ |
| `includeHighlights` | boolean | いいえ | Webhookペイロードにハイライトを含める |
| `includeParticipants` | boolean | いいえ | Webhookペイロードに参加者を含める |
| `includeAiSummary` | boolean | いいえ | WebhookペイロードにAIサマリーを含める |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `id` | string | フックUUID |
| `enabled` | boolean | フックがアクティブかどうか |
| `hook_url` | string | WebフックURL |
| `filter` | object | 適用されたフィルタ |
| `include` | object | 含まれるフィールド |
| `inserted_at` | string | ISO8601形式の作成タイムスタンプ |
### `grain_list_hooks`
アカウントのすべてのWebフックを一覧表示
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー個人アクセストークン |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `hooks` | array | フックオブジェクトの配列 |
### `grain_delete_hook`
IDでWebフックを削除
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | はい | Grain APIキー個人アクセストークン |
| `hookId` | string | はい | 削除するフックUUID |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | Webフックが正常に削除された場合はtrue |
## 注記
- カテゴリ: `tools`
- タイプ: `grain`

View File

@@ -38,16 +38,18 @@ Intercomをワークフローに統合します。連絡先の作成、取得、
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `role` | string | いいえ | 連絡先の役割。「user」または「lead」を指定可能。未指定の場合は「lead」がデフォルト |
| `email` | string | いいえ | 連絡先のメールアドレス |
| `external_id` | string | いいえ | クライアントが提供する連絡先の一意の識別子 |
| `phone` | string | いいえ | 連絡先の電話番号 |
| `name` | string | いいえ | 連絡先の名前 |
| `avatar` | string | いいえ | 連絡先のアバター画像URL |
| `signed_up_at` | number | いいえ | ユーザーが登録した時間(Unixタイムスタンプ |
| `last_seen_at` | number | いいえ | ユーザーが最後に確認された時間(Unixタイムスタンプ |
| `signed_up_at` | number | いいえ | ユーザーが登録した時刻(Unixタイムスタンプ) |
| `last_seen_at` | number | いいえ | ユーザーが最後に確認された時刻(Unixタイムスタンプ) |
| `owner_id` | string | いいえ | 連絡先のアカウント所有権が割り当てられた管理者のID |
| `unsubscribed_from_emails` | boolean | いいえ | 連絡先がメールの配信を解除しているかどうか |
| `custom_attributes` | string | いいえ | JSONオブジェクトとしてのカスタム属性(例:\{"attribute_name": "value"\} |
| `unsubscribed_from_emails` | boolean | いいえ | 連絡先がメールの配信停止をしているかどうか |
| `custom_attributes` | string | いいえ | カスタム属性(JSONオブジェクト形式、例:\{"attribute_name": "value"\}) |
| `company_id` | string | いいえ | 作成時に連絡先を関連付ける会社ID |
#### 出力
@@ -82,15 +84,18 @@ Intercomの既存の連絡先を更新する
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | はい | 更新する連絡先ID |
| `role` | string | いいえ | 連絡先の役割。「user」または「lead」を指定可能 |
| `external_id` | string | いいえ | クライアントが提供する連絡先の一意の識別子 |
| `email` | string | いいえ | 連絡先のメールアドレス |
| `phone` | string | いいえ | 連絡先の電話番号 |
| `name` | string | いいえ | 連絡先の名前 |
| `avatar` | string | いいえ | 連絡先のアバター画像URL |
| `signed_up_at` | number | いいえ | ユーザーが登録した時間(Unixタイムスタンプ |
| `last_seen_at` | number | いいえ | ユーザーが最後に確認された時間(Unixタイムスタンプ |
| `signed_up_at` | number | いいえ | ユーザーが登録した時刻(Unixタイムスタンプ) |
| `last_seen_at` | number | いいえ | ユーザーが最後に確認された時刻(Unixタイムスタンプ) |
| `owner_id` | string | いいえ | 連絡先のアカウント所有権が割り当てられた管理者のID |
| `unsubscribed_from_emails` | boolean | いいえ | 連絡先がメールの配信を解除しているかどうか |
| `custom_attributes` | string | いいえ | JSONオブジェクトとしてのカスタム属性(例:\{"attribute_name": "value"\} |
| `unsubscribed_from_emails` | boolean | いいえ | 連絡先がメールの配信停止をしているかどうか |
| `custom_attributes` | string | いいえ | カスタム属性(JSONオブジェクト形式、例:\{"attribute_name": "value"\}) |
| `company_id` | string | いいえ | 連絡先を関連付ける会社ID |
#### 出力
@@ -128,6 +133,8 @@ Intercomの既存の連絡先を更新する
| `query` | string | はい | 検索クエリ(例:\{"field":"email","operator":"=","value":"user@example.com"\} |
| `per_page` | number | いいえ | ページあたりの結果数最大150 |
| `starting_after` | string | いいえ | ページネーション用カーソル |
| `sort_field` | string | いいえ | ソート対象のフィールド(例:"name"、"created_at"、"last_seen_at" |
| `sort_order` | string | いいえ | ソート順:"ascending"(昇順)または"descending"(降順) |
#### 出力
@@ -166,9 +173,10 @@ Intercomで企業を作成または更新する
| `website` | string | いいえ | 企業のウェブサイト |
| `plan` | string | いいえ | 企業のプラン名 |
| `size` | number | いいえ | 企業の従業員数 |
| `industry` | string | いいえ | 企業が事業を展開している業界 |
| `monthly_spend` | number | いいえ | 企業があなたのビジネスにもたらす収益額。注このフィールドは小数点以下を切り捨てて整数にします155.98は155になります |
| `industry` | string | いいえ | 企業が事業を展開る業界 |
| `monthly_spend` | number | いいえ | 企業があなたのビジネスに生み出す収益額。注このフィールドは小数点以下を切り捨てて整数にします155.98は155になります |
| `custom_attributes` | string | いいえ | JSONオブジェクトとしてのカスタム属性 |
| `remote_created_at` | number | いいえ | あなたが企業を作成した時刻Unixタイムスタンプ |
#### 出力
@@ -204,6 +212,7 @@ IDによってIntercomから単一の企業を取得する
| --------- | ---- | -------- | ----------- |
| `per_page` | number | いいえ | ページあたりの結果数 |
| `page` | number | いいえ | ページ番号 |
| `starting_after` | string | いいえ | ページネーション用カーソル(ページベースのページネーションより推奨) |
#### 出力
@@ -221,7 +230,8 @@ IDによりIntercomから単一の会話を取得
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | はい | 取得する会話ID |
| `display_as` | string | いいえ | プレーンテキストでメッセージを取得するは「plaintext」に設定 |
| `display_as` | string | いいえ | プレーンテキストでメッセージを取得する場合は「plaintext」に設定 |
| `include_translations` | boolean | いいえ | trueの場合、会話パーツは会話の検出言語に翻訳されます |
#### 出力
@@ -240,6 +250,8 @@ IDによりIntercomから単一の会話を取得
| --------- | ---- | -------- | ----------- |
| `per_page` | number | いいえ | ページあたりの結果数最大150 |
| `starting_after` | string | いいえ | ページネーション用カーソル |
| `sort` | string | いいえ | ソートするフィールド「waiting_since」、「updated_at」、「created_at」 |
| `order` | string | いいえ | ソート順「asc」昇順または「desc」降順 |
#### 出力
@@ -258,9 +270,10 @@ IDによりIntercomから単一の会話を取得
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | はい | 返信する会話ID |
| `message_type` | string | はい | メッセージタイプ「comment」または「note」 |
| `body` | string | はい | 返信の本文テキスト |
| `admin_id` | string | いいえ | 返信を作成する管理者のID。提供されない場合、デフォルトの管理者(オペレーター/Finが使用されます。 |
| `attachment_urls` | string | いいえ | 画像URLのカンマ区切りリスト最大10 |
| `body` | string | はい | 返信のテキスト本文 |
| `admin_id` | string | いいえ | 返信を作成する管理者のID。指定しない場合、デフォルトの管理者(Operator/Finが使用されます。 |
| `attachment_urls` | string | いいえ | カンマ区切りの画像URL一覧最大10 |
| `created_at` | number | いいえ | 返信が作成されたときのUnixタイムスタンプ。指定しない場合、現在時刻が使用されます。 |
#### 出力
@@ -279,7 +292,9 @@ IDによりIntercomから単一の会話を取得
| --------- | ---- | -------- | ----------- |
| `query` | string | はい | JSONオブジェクトとしての検索クエリ |
| `per_page` | number | いいえ | ページあたりの結果数最大150 |
| `starting_after` | string | いいえ | ページネーション用カーソル |
| `starting_after` | string | いいえ | ページネーション用カーソル |
| `sort_field` | string | いいえ | ソートするフィールド(例:「created_at」、「updated_at」 |
| `sort_order` | string | いいえ | ソート順:「ascending」または「descending」 |
#### 出力
@@ -299,6 +314,10 @@ Intercomで新しいチケットを作成する
| `ticket_type_id` | string | はい | チケットタイプのID |
| `contacts` | string | はい | 連絡先識別子のJSON配列\[\{"id": "contact_id"\}\] |
| `ticket_attributes` | string | はい | _default_title_と_default_description_を含むチケット属性のJSONオブジェクト |
| `company_id` | string | いいえ | チケットに関連付ける会社ID |
| `created_at` | number | いいえ | チケットが作成された時間Unixタイムスタンプ。提供されない場合、現在時刻が使用されます。 |
| `conversation_to_link_id` | string | いいえ | このチケットにリンクする既存の会話のID |
| `disable_notifications` | boolean | いいえ | trueの場合、チケット作成時の通知を抑制します |
#### 出力
@@ -332,13 +351,15 @@ Intercomで管理者が開始した新しいメッセージを作成して送信
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `message_type` | string | はい | メッセージタイプ「inapp」または「email」 |
| `message_type` | string | はい | メッセージタイプ:アプリ内メッセージの場合は「inapp」、メールメッセージの場合は「email」 |
| `template` | string | はい | メッセージテンプレートスタイル:プレーンテキストの場合は「plain」、パーソナライズスタイルの場合は「personal」 |
| `subject` | string | いいえ | メッセージの件名emailタイプの場合 |
| `body` | string | はい | メッセージの本文 |
| `from_type` | string | はい | 送信者タイプ「admin」 |
| `from_type` | string | はい | 送信者タイプ:「admin」 |
| `from_id` | string | はい | メッセージを送信する管理者のID |
| `to_type` | string | はい | 受信者タイプ「contact」 |
| `to_type` | string | はい | 受信者タイプ:「contact」 |
| `to_id` | string | はい | メッセージを受信する連絡先のID |
| `created_at` | number | いいえ | メッセージが作成された時間Unixタイムスタンプ。提供されない場合、現在時刻が使用されます。 |
#### 出力

View File

@@ -60,9 +60,7 @@ Jina AI Readerを使用してウェブコンテンツを抽出し、LLMフレン
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `content` | string | URLから抽出されたコンテンツで、クリーンでLLMフレンドリーなテキストに処理されたもの |
| `links` | array | ページで見つかったリンクのリストgatherLinksまたはwithLinksummaryが有効な場合 |
| `images` | array | ページで見つかった画像のリストwithImagesummaryが有効な場合 |
| `content` | string | URLから抽出されたコンテンツクリーンでLLMフレンドリーなテキストに処理されています |
### `jina_search`

View File

@@ -94,10 +94,16 @@ Jira課題を作成する
| `projectId` | string | はい | 課題のプロジェクトID |
| `summary` | string | はい | 課題の要約 |
| `description` | string | いいえ | 課題の説明 |
| `priority` | string | いいえ | 課題の優先度 |
| `assignee` | string | いいえ | 課題の担当者 |
| `priority` | string | いいえ | 課題の優先度IDまたは名前「10000」または「高」 |
| `assignee` | string | いいえ | 課題の担当者アカウントID |
| `cloudId` | string | いいえ | インスタンスのJira Cloud ID。提供されない場合、ドメインを使用して取得されます。 |
| `issueType` | string | はい | 作成する課題のタイプ(例:タスク、ストーリー) |
| `labels` | array | いいえ | 課題のラベル(ラベル名の配列) |
| `duedate` | string | いいえ | 課題の期限形式YYYY-MM-DD |
| `reporter` | string | いいえ | 課題の報告者アカウントID |
| `environment` | string | いいえ | 課題の環境情報 |
| `customFieldId` | string | いいえ | カスタムフィールドIDcustomfield_10001 |
| `customFieldValue` | string | いいえ | カスタムフィールドの値 |
#### 出力
@@ -106,7 +112,8 @@ Jira課題を作成する
| `ts` | string | 操作のタイムスタンプ |
| `issueKey` | string | 作成された課題キーPROJ-123 |
| `summary` | string | 課題の要約 |
| `url` | string | 作成された課題のURL |
| `url` | string | 作成された課題のURL |
| `assigneeId` | string | 割り当てられたユーザーのアカウントID割り当てられている場合 |
### `jira_bulk_read`
@@ -520,7 +527,31 @@ Jira課題からウォッチャーを削除する
| `issueKey` | string | 課題キー |
| `watcherAccountId` | string | 削除されたウォッチャーのアカウントID |
## 注意事項
### `jira_get_users`
- カテゴリー: `tools`
- タイプ: `jira`
Jiraユーザーを取得します。アカウントIDが提供された場合、単一のユーザーを返します。それ以外の場合、すべてのユーザーのリストを返します。
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `domain` | string | はい | あなたのJiraドメインyourcompany.atlassian.net |
| `accountId` | string | いいえ | 特定のユーザーを取得するためのオプションのアカウントID。提供されない場合、すべてのユーザーを返します。 |
| `startAt` | number | いいえ | 返す最初のユーザーのインデックスページネーション用、デフォルト0 |
| `maxResults` | number | いいえ | 返すユーザーの最大数デフォルト50 |
| `cloudId` | string | いいえ | インスタンスのJira Cloud ID。提供されない場合、ドメインを使用して取得されます。 |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `ts` | string | 操作のタイムスタンプ |
| `users` | json | accountId、displayName、emailAddress、activeステータス、avatarUrlsを含むユーザーの配列 |
| `total` | number | 返されたユーザーの総数 |
| `startAt` | number | ページネーション開始インデックス |
| `maxResults` | number | ページあたりの最大結果数 |
## 注記
- カテゴリ:`tools`
- タイプ:`jira`

View File

@@ -1,6 +1,6 @@
---
title: メモリー
description: メモリストアを追加
description: メモリストアを追加
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
@@ -12,23 +12,22 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
## 使用方法
ワークフローにメモリを統合します。メモリの追加、取得、すべてのメモリの取得、メモリーの削除が可能です。
ワークフローにメモリを統合します。メモリの追加、取得、メモリの取得、削除が可能です。
## ツール
### `memory_add`
新しいメモリーをデータベースに追加するか、同じID既存のメモリに追します。
データベースに新しいメモリを追加するか、同じIDを持つ既存のメモリに追します。
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | いいえ | 会話識別子user-123、session-abc。このブロックに対してこの会話IDメモリがすでに存在する場合、新しいメッセージはそれに追加されます。 |
| `conversationId` | string | いいえ | 会話識別子user-123、session-abc。この会話IDを持つメモリがに存在する場合、新しいメッセージが追記されます。 |
| `id` | string | いいえ | 会話識別子のレガシーパラメータ。代わりにconversationIdを使用してください。後方互換性のために提供されています。 |
| `role` | string | はい | エージェントメモリの役割user、assistant、またはsystem |
| `role` | string | はい | エージェントメモリのロールuser、assistant、またはsystem |
| `content` | string | はい | エージェントメモリのコンテンツ |
| `blockId` | string | いいえ | オプションのブロックID。提供されない場合、実行コンテキストから現在のブロックIDを使用するか、デフォルトで「default」になります。 |
#### 出力
@@ -40,29 +39,27 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
### `memory_get`
conversationId、blockId、blockName、またはそれらの組み合わせによってメモリを取得します。一致するすべてのメモリを返します。
会話IDによってメモリを取得します。一致するメモリを返します。
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | いいえ | 会話識別子user-123、session-abc単独で提供された場合、すべてのブロックにわたるこの会話のすべてのメモリを返します。 |
| `conversationId` | string | いいえ | 会話識別子user-123、session-abcこの会話のメモリを返します。 |
| `id` | string | いいえ | 会話識別子のレガシーパラメータ。代わりにconversationIdを使用してください。後方互換性のために提供されています。 |
| `blockId` | string | いいえ | ブロック識別子。単独で提供された場合、すべての会話にわたるこのブロックのすべてのメモリを返します。conversationIdと一緒に提供された場合、そのブロック内の特定の会話のメモリを返します。 |
| `blockName` | string | いいえ | ブロック名。blockIdの代替。単独で提供された場合、この名前を持つブロックのすべてのメモリを返します。conversationIdと一緒に提供された場合、この名前を持つブロック内のその会話のメモリを返します。 |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | メモリが正常に取得されたかどうか |
| `memories` | array | conversationId、blockId、blockName、およびdataフィールドを含むメモリオブジェクトの配列 |
| `memories` | array | conversationIddataフィールドを含むメモリオブジェクトの配列 |
| `message` | string | 成功またはエラーメッセージ |
| `error` | string | 操作が失敗した場合のエラーメッセージ |
### `memory_get_all`
データベースからすべてのメモリを取得す
データベースからすべてのメモリを取得しま
#### 入力
@@ -74,22 +71,20 @@ conversationId、blockId、blockName、またはそれらの組み合わせに
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | すべてのメモリが正常に取得されたかどうか |
| `memories` | array | key、conversationId、blockId、blockName、およびdataフィールドを含むすべてのメモリオブジェクトの配列 |
| `memories` | array | key、conversationId、dataフィールドを含むすべてのメモリオブジェクトの配列 |
| `message` | string | 成功またはエラーメッセージ |
| `error` | string | 操作が失敗した場合のエラーメッセージ |
### `memory_delete`
conversationId、blockId、blockName、またはそれらの組み合わせによってメモリを削除します。一括削除をサポートしています。
conversationIdによってメモリを削除します。
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | いいえ | 会話識別子user-123、session-abc単独で提供された場合、すべてのブロックにわたるこの会話のすべてのメモリを削除します。 |
| `conversationId` | string | いいえ | 会話識別子user-123、session-abc。この会話のすべてのメモリを削除します。 |
| `id` | string | いいえ | 会話識別子のレガシーパラメータ。代わりにconversationIdを使用してください。後方互換性のために提供されています。 |
| `blockId` | string | いいえ | ブロック識別子。単独で提供された場合、すべての会話にわたるこのブロックのすべてのメモリを削除します。conversationIdと共に提供された場合、そのブロック内の特定の会話のメモリを削除します。 |
| `blockName` | string | いいえ | ブロック名。blockIdの代替。単独で提供された場合、この名前を持つブロックのすべてのメモリを削除します。conversationIdと共に提供された場合、この名前を持つブロック内のその会話のメモリを削除します。 |
#### 出力

View File

@@ -0,0 +1,124 @@
---
title: ServiceNow
description: ServiceNowレコードの作成、読み取り、更新、削除
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="servicenow"
color="#032D42"
/>
{/* MANUAL-CONTENT-START:intro */}
[ServiceNow](https://www.servicenow.com/)は、組織全体のITサービス管理ITSM、ワークフロー、ビジネスプロセスを効率化し自動化するために設計された強力なクラウドプラットフォームです。ServiceNowを使用すると、広範なAPIを使用してインシデント、リクエスト、タスク、ユーザーなどを管理できます。
ServiceNowでは、次のことができます。
- **ITワークフローの自動化**: インシデント、タスク、変更リクエスト、ユーザーなど、任意のServiceNowテーブルのレコードを作成、読み取り、更新、削除します。
- **システムの統合**: ServiceNowを他のツールやプロセスと接続して、シームレスな自動化を実現します。
- **単一の信頼できる情報源の維持**: すべてのサービスおよび運用データを整理してアクセス可能な状態に保ちます。
- **運用効率の向上**: カスタマイズ可能なワークフローと自動化により、手作業を削減し、サービス品質を向上させます。
Simでは、ServiceNow統合により、エージェントがワークフローの一部としてServiceNowインスタンスと直接やり取りできるようになります。エージェントは、任意のServiceNowテーブルのレコードを作成、読み取り、更新、削除でき、チケットやユーザーデータを活用して高度な自動化と意思決定を行うことができます。この統合により、ワークフロー自動化とIT運用が橋渡しされ、エージェントは手動介入なしでサービスリクエスト、インシデント、ユーザー、資産を管理できるようになります。SimとServiceNowを接続することで、サービス管理タスクを自動化し、応答時間を改善し、組織の重要なサービスデータへの一貫性のある安全なアクセスを確保できます。
{/* MANUAL-CONTENT-END */}
## 使用方法
ServiceNowをワークフローに統合します。インシデント、タスク、変更リクエスト、ユーザーなど、任意のServiceNowテーブルのレコードを作成、読み取り、更新、削除します。
## ツール
### `servicenow_create_record`
ServiceNowテーブルに新しいレコードを作成
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | はい | ServiceNowインスタンスURL(例: https://instance.service-now.com) |
| `username` | string | はい | ServiceNowユーザー名 |
| `password` | string | はい | ServiceNowパスワード |
| `tableName` | string | はい | テーブル名(例: incident、task、sys_user) |
| `fields` | json | はい | レコードに設定するフィールド(JSONオブジェクト) |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `record` | json | sys_idおよびその他のフィールドを含む作成されたServiceNowレコード |
| `metadata` | json | 操作メタデータ |
### `servicenow_read_record`
ServiceNowテーブルからレコードを読み取ります
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | はい | ServiceNowインスタンスURL(例: https://instance.service-now.com) |
| `username` | string | はい | ServiceNowユーザー名 |
| `password` | string | はい | ServiceNowパスワード |
| `tableName` | string | はい | テーブル名 |
| `sysId` | string | いいえ | 特定のレコードのsys_id |
| `number` | string | いいえ | レコード番号(例: INC0010001) |
| `query` | string | いいえ | エンコードされたクエリ文字列(例: "active=true^priority=1") |
| `limit` | number | いいえ | 返すレコードの最大数 |
| `fields` | string | いいえ | 返すフィールドのカンマ区切りリスト |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `records` | array | ServiceNowレコードの配列 |
| `metadata` | json | 操作メタデータ |
### `servicenow_update_record`
ServiceNowテーブル内の既存のレコードを更新
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | はい | ServiceNowインスタンスURLhttps://instance.service-now.com |
| `username` | string | はい | ServiceNowユーザー名 |
| `password` | string | はい | ServiceNowパスワード |
| `tableName` | string | はい | テーブル名 |
| `sysId` | string | はい | 更新するレコードのsys_id |
| `fields` | json | はい | 更新するフィールドJSONオブジェクト |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `record` | json | 更新されたServiceNowレコード |
| `metadata` | json | 操作メタデータ |
### `servicenow_delete_record`
ServiceNowテーブルからレコードを削除
#### 入力
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | はい | ServiceNowインスタンスURLhttps://instance.service-now.com |
| `username` | string | はい | ServiceNowユーザー名 |
| `password` | string | はい | ServiceNowパスワード |
| `tableName` | string | はい | テーブル名 |
| `sysId` | string | はい | 削除するレコードのsys_id |
#### 出力
| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `success` | boolean | 削除が成功したかどうか |
| `metadata` | json | 操作メタデータ |
## 注意事項
- カテゴリ: `tools`
- タイプ: `servicenow`

View File

@@ -110,8 +110,8 @@ Slackチャンネルから最新のメッセージを読み取ります。フィ
| `authMethod` | string | いいえ | 認証方法oauthまたはbot_token |
| `botToken` | string | いいえ | カスタムボット用のボットトークン |
| `channel` | string | いいえ | メッセージを読み取るSlackチャンネル#general |
| `userId` | string | いいえ | DM会話用のユーザーIDU1234567890 |
| `limit` | number | いいえ | 取得するメッセージ数デフォルト10、最大100 |
| `userId` | string | いいえ | DM会話用のユーザーIDU1234567890 |
| `limit` | number | いいえ | 取得するメッセージ数デフォルト10、最大15 |
| `oldest` | string | いいえ | 時間範囲の開始(タイムスタンプ) |
| `latest` | string | いいえ | 時間範囲の終了(タイムスタンプ) |

View File

@@ -48,7 +48,8 @@ Supabaseテーブルからデータを照会する
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | 照会するSupabaseテーブルの名前 |
| `table` | string | はい | クエリするSupabaseテーブルの名前 |
| `schema` | string | いいえ | クエリするデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用します。 |
| `filter` | string | いいえ | PostgRESTフィルター"id=eq.123" |
| `orderBy` | string | いいえ | 並べ替える列降順の場合はDESCを追加 |
| `limit` | number | いいえ | 返す最大行数 |
@@ -71,6 +72,7 @@ Supabaseテーブルにデータを挿入する
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | データを挿入するSupabaseテーブルの名前 |
| `schema` | string | いいえ | 挿入するデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用します。 |
| `data` | array | はい | 挿入するデータ(オブジェクトの配列または単一のオブジェクト) |
| `apiKey` | string | はい | あなたのSupabaseサービスロールシークレットキー |
@@ -89,10 +91,11 @@ Supabaseテーブルにデータを挿入する
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | SupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | クエリを実行するSupabaseテーブルの名前 |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | クエリするSupabaseテーブルの名前 |
| `schema` | string | いいえ | クエリするデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用します。 |
| `filter` | string | はい | 特定の行を見つけるためのPostgRESTフィルター"id=eq.123" |
| `apiKey` | string | はい | Supabaseサービスロールシークレットキー |
| `apiKey` | string | はい | あなたのSupabaseサービスロールシークレットキー |
#### 出力
@@ -111,7 +114,8 @@ Supabaseテーブルにデータを挿入する
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | 更新するSupabaseテーブルの名前 |
| `filter` | string | い | 更新する行を識別するPostgRESTフィルター"id=eq.123" |
| `schema` | string | いいえ | 更新するデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用します。 |
| `filter` | string | はい | 更新する行を識別するためのPostgRESTフィルター"id=eq.123" |
| `data` | object | はい | 一致する行で更新するデータ |
| `apiKey` | string | はい | あなたのSupabaseサービスロールシークレットキー |
@@ -132,7 +136,8 @@ Supabaseテーブルにデータを挿入する
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | 削除するSupabaseテーブルの名前 |
| `filter` | string | い | 削除する行を識別するPostgRESTフィルター"id=eq.123" |
| `schema` | string | いいえ | 削除するデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用します。 |
| `filter` | string | はい | 削除する行を識別するためのPostgRESTフィルター"id=eq.123" |
| `apiKey` | string | はい | あなたのSupabaseサービスロールシークレットキー |
#### 出力
@@ -151,8 +156,9 @@ Supabaseテーブルにデータを挿入または更新するアップサー
| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | データをアップサートするSupabaseテーブルの名前 |
| `data` | array | はい | アップサート(挿入または更新)するデータ - オブジェクトの配列または単一のオブジェクト |
| `table` | string | はい | データをupsertするSupabaseテーブルの名前 |
| `schema` | string | いいえ | upsertするデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用します。 |
| `data` | array | はい | upsert挿入または更新するデータオブジェクトの配列または単一のオブジェクト |
| `apiKey` | string | はい | あなたのSupabaseサービスロールシークレットキー |
#### 出力
@@ -172,6 +178,7 @@ Supabaseテーブルの行数をカウントする
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | 行数をカウントするSupabaseテーブルの名前 |
| `schema` | string | いいえ | カウント元のデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用 |
| `filter` | string | いいえ | PostgRESTフィルター"status=eq.active" |
| `countType` | string | いいえ | カウントタイプexact、planned、またはestimatedデフォルトexact |
| `apiKey` | string | はい | あなたのSupabaseサービスロールシークレットキー |
@@ -193,6 +200,7 @@ Supabaseテーブルで全文検索を実行する
| --------- | ---- | -------- | ----------- |
| `projectId` | string | はい | あなたのSupabaseプロジェクトIDjdrkgepadsdopsntdlom |
| `table` | string | はい | 検索するSupabaseテーブルの名前 |
| `schema` | string | いいえ | 検索するデータベーススキーマデフォルトpublic。他のスキーマのテーブルにアクセスする場合に使用 |
| `column` | string | はい | 検索する列 |
| `query` | string | はい | 検索クエリ |
| `searchType` | string | いいえ | 検索タイプplain、phrase、またはwebsearchデフォルトwebsearch |

View File

@@ -42,11 +42,14 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| `model` | string | はい | 使用するモデルgpt-4o、claude-sonnet-4-5、gemini-2.0-flash |
| `systemPrompt` | string | いいえ | アシスタントの動作を設定するシステムプロンプト |
| `context` | string | はい | モデルに送信するユーザーメッセージまたはコンテキスト |
| `apiKey` | string | いいえ | プロバイダーのAPIキーホストされたモデルの場合、提供されなければプラットフォームキーを使用) |
| `apiKey` | string | いいえ | プロバイダーのAPIキーホストされたモデルの場合、提供されない場合はプラットフォームキーを使用) |
| `temperature` | number | いいえ | レスポンス生成の温度0-2 |
| `maxTokens` | number | いいえ | レスポンスの最大トークン数 |
| `azureEndpoint` | string | いいえ | Azure OpenAIエンドポイントURL |
| `azureApiVersion` | string | いいえ | Azure OpenAI APIバージョン |
| `vertexProject` | string | いいえ | Vertex AI用のGoogle CloudプロジェクトID |
| `vertexLocation` | string | いいえ | Vertex AI用のGoogle Cloudロケーションデフォルトはus-central1 |
| `vertexCredential` | string | いいえ | Vertex AI用のGoogle Cloud OAuth認証情報ID |
#### 出力

View File

@@ -5,7 +5,6 @@ title: スケジュール
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'
スケジュールブロックは、指定された間隔または時間に定期的なスケジュールでワークフローを自動的にトリガーします。
@@ -21,20 +20,20 @@ import { Video } from '@/components/ui/video'
## スケジュールオプション
ドロップダウンオプションを使用してワークフローの実行タイミングを設定します:
ワークフローの実行タイミングを設定します:
<Tabs items={['簡単な間隔', 'Cron式']}>
<Tabs items={['Simple Intervals', 'Cron Expressions']}>
<Tab>
<ul className="list-disc space-y-1 pl-6">
<li><strong>分ごと</strong>5分、15分、30分間隔</li>
<li><strong>毎時</strong>1時間ごとまたは数時間ごと</li>
<li><strong>毎日</strong>1日に1回または複数回</li>
<li><strong>毎週</strong>週の特定の曜日</li>
<li><strong>毎月</strong>月の特定の日</li>
<li><strong>X分ごと</strong>分単位の間隔で実行1〜1440</li>
<li><strong>毎時</strong>毎時指定した分に実行</li>
<li><strong>毎日</strong>毎日指定した時刻に実行</li>
<li><strong>毎週</strong>毎週指定した曜日と時刻に実行</li>
<li><strong>毎月</strong>毎月指定した日時に実行</li>
</ul>
</Tab>
<Tab>
<p>高度なスケジューリングにはCron式を使用します</p>
<p>高度なスケジュール設定にはcron式を使用します</p>
<div className="text-sm space-y-1">
<div><code>0 9 * * 1-5</code> - 平日の午前9時</div>
<div><code>*/15 * * * *</code> - 15分ごと</div>
@@ -43,45 +42,36 @@ import { Video } from '@/components/ui/video'
</Tab>
</Tabs>
## スケジュールの設定
## アクティベーション
ワークフローがスケジュールされると
- スケジュールが**有効**になり、次の実行時間が表示されます
- **「スケジュール済み」**ボタンをクリックするとスケジュールを無効にできます
- スケジュールは**3回連続で失敗すると**自動的に無効になります
スケジュールはワークフローのデプロイに連動します
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-2.png"
alt="アクティブなスケジュールブロック"
width={500}
height={400}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="無効化されたスケジュール"
width={500}
height={350}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="無効化されたスケジュール"
width={500}
height={400}
className="my-6"
/>
</div>
無効化されたスケジュールは、最後に有効だった時間を表示します。**「無効」**バッジをクリックすると、スケジュールを再度有効にできます。
- **ワークフローをデプロイ** → スケジュールが有効になり実行を開始
- **ワークフローをアンデプロイ** → スケジュールが削除
- **ワークフローを再デプロイ** → 現在の設定でスケジュールが再作成
<Callout>
スケジュールブロックは入力接続を受け取ることができず、純粋なワークフロートリガーとして機能します
スケジュールを開始するには、ワークフローをデプロイする必要があります。スケジュールブロックを設定してから、ツールバーからデプロイしてください
</Callout>
## 自動無効化
スケジュールは**10回連続で失敗**すると、エラーの連鎖を防ぐため自動的に無効化されます。無効化されると:
- スケジュールブロックに警告バッジが表示されます
- スケジュールの実行が停止します
- バッジをクリックしてスケジュールを再有効化できます
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="無効化されたスケジュール"
width={500}
height={400}
className="my-6"
/>
</div>
<Callout>
スケジュールブロックは入力接続を受け取ることができず、ワークフローのエントリーポイントとしてのみ機能します。
</Callout>

View File

@@ -110,26 +110,24 @@ import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
```json
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
"selectedOption": "condition-1"
}
```
### 条件模块输出字段
- **content**:传递的原始内容
- **conditionResult**:条件评估的布尔结果
- **selectedPath**:关于选定路径的信息
- **blockId**:选定路径中下一个块的 ID
- **blockType**:下一个块的类型
- **blockTitle**:下一个模块的标题
- **selectedConditionId**:选定条件的 ID
- **conditionResult**:条件判断的布尔值结果
- **selectedPath**:所选路径的信息
- **blockId**:所选路径下一个区块的 ID
- **blockType**下一个块的类型
- **blockTitle**:下一个块的标题
- **selectedOption**:所选条件的 ID
</Tab>
<Tab>

View File

@@ -47,42 +47,42 @@ totalCost = baseExecutionCharge + modelCost
## 定价选项
<Tabs items={['托管模型', '使用您自己的 API 密钥']}>
<Tabs items={[ '托管模型', '自带 API 密钥' ]}>
<Tab>
**托管模型** - Sim 提供 API 密钥,价格为基础价格的 2.5 倍:
**托管模型** - Sim 提供 API 密钥,价格为基础价格的 2 倍:
**OpenAI**
| 模型 | 基础价格(输入/输出) | 托管价格(输入/输出) |
|-------|---------------------------|----------------------------|
| 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 |
| GPT-5.1 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 | $1.25 / $10.00 | $2.50 / $20.00 |
| GPT-5 Mini | $0.25 / $2.00 | $0.50 / $4.00 |
| GPT-5 Nano | $0.05 / $0.40 | $0.10 / $0.80 |
| GPT-4o | $2.50 / $10.00 | $5.00 / $20.00 |
| GPT-4.1 | $2.00 / $8.00 | $4.00 / $16.00 |
| GPT-4.1 Mini | $0.40 / $1.60 | $0.80 / $3.20 |
| GPT-4.1 Nano | $0.10 / $0.40 | $0.20 / $0.80 |
| o1 | $15.00 / $60.00 | $30.00 / $120.00 |
| o3 | $2.00 / $8.00 | $4.00 / $16.00 |
| o4 Mini | $1.10 / $4.40 | $2.20 / $8.80 |
**Anthropic**
| 模型 | 基础价格(输入/输出) | 托管价格(输入/输出) |
|-------|---------------------------|----------------------------|
| 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 |
| Claude Opus 4.5 | $5.00 / $25.00 | $10.00 / $50.00 |
| Claude Opus 4.1 | $15.00 / $75.00 | $30.00 / $150.00 |
| Claude Sonnet 4.5 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Sonnet 4.0 | $3.00 / $15.00 | $6.00 / $30.00 |
| Claude Haiku 4.5 | $1.00 / $5.00 | $2.00 / $10.00 |
**Google**
| 模型 | 基础价格(输入/输出) | 托管价格(输入/输出) |
|-------|---------------------------|----------------------------|
| 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 |
| Gemini 3 Pro Preview | $2.00 / $12.00 | $4.00 / $24.00 |
| Gemini 2.5 Pro | $1.25 / $10.00 | $2.50 / $20.00 |
| Gemini 2.5 Flash | $0.30 / $2.50 | $0.60 / $5.00 |
*2.5 倍的价格倍增用于覆盖基础设施和 API 管理成本。*
*2 倍系数涵盖了基础设施和 API 管理成本。*
</Tab>
<Tab>
@@ -105,43 +105,47 @@ totalCost = baseExecutionCharge + modelCost
显示的价格为截至 2025 年 9 月 10 日的费率。请查看提供商文档以获取最新价格。
</Callout>
## 自带密钥BYOK
你可以在 **设置 → BYOK** 中为托管模型OpenAI、Anthropic、Google、Mistral使用你自己的 API 密钥,以按基础价格计费。密钥会被加密,并在整个工作区范围内生效。
## 成本优化策略
- **模型选择**:根据任务复杂选择模型。简单任务可以使用 GPT-4.1-nano复杂推理可能需要 o1 或 Claude Opus。
- **提示工程**:结构良好、简洁的提示可以减少令牌使用,同时保质量。
- **本地模型**:对于非关键任务,使用 Ollama 或 VLLM 完全消除 API 成本。
- **缓存和重用**:将经常使用的结果存储在变量或文件中,避免重复调用 AI 模型。
- **批量处理**在单次 AI 请求处理多个项目,而不是逐一调用
- **模型选择**:根据任务复杂选择合适的模型。简单任务可用 GPT-4.1-nano复杂推理可 o1 或 Claude Opus。
- **提示工程**:结构清晰、简洁的提示能减少 token 使用,同时保质量。
- **本地模型**:对于非关键任务,使用 Ollama 或 VLLM,可完全消除 API 成本。
- **缓存与复用**:将常用结果存储在变量或文件中,避免重复调用 AI 模型。
- **批量处理**次 AI 请求处理多个项目,减少单独调用次数
## 使用监控
在 设置 → 订阅 中监控您的使用情况和账单:
你可以在 设置 → 订阅 中监控你的用量和账单:
- **当前使用情况**:当前周期的实时使用和成本
- **使用限制**:计划限制及其可视化进度指示
- **账单详情**:预计费用和最低承诺
- **计划管理**:升级选项和账单历史记录
- **当前用量**:当前周期的实时用量和费用
- **用量上限**:带有可视化进度指示的套餐限制
- **账单明细**:预计费用和最低承诺金额
- **套餐管理**:升级选项和账单历史
### 程序化使用跟
### 编程方式用量追
可以通过 API 程序化地查询当前的使用情况和限制:
可以通过 API 以编程方式查询当前用量和限制:
**端点**
**接口地址**
```text
GET /api/users/me/usage-limits
```
**认证:**
- 在 `X-API-Key` 标头中包含的 API 密钥
**认证方式**
- 在 `X-API-Key` header 中包含的 API 密钥
**示例请求:**
**请求示例**
```bash
curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" https://sim.ai/api/users/me/usage-limits
```
**示例响应:**
**响应示例**
```json
{
@@ -171,70 +175,70 @@ curl -X GET -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" htt
}
```
**速率限制字段:**
- `requestsPerMinute`:持续速率限制(令牌以此速率补充)
- `maxBurst`您可以累积的最大令牌数(突发容量)
- `remaining`:当前可用令牌数(最多可达 `maxBurst`
**限流字段:**
- `requestsPerMinute`:持续速率限制(token 按此速率补充)
- `maxBurst`你可累计的最大 token 数(突发容量)
- `remaining`:当前可用 token 数(最多可达 `maxBurst`
**响应字段:**
- `currentPeriodCost` 反映当前计费周期的使用情况
- `limit` 来源于个人限制(免费/专业)或组织池限制(团队/企业
- `plan` 是与的用户关联的最高优先级的活动计划
- `currentPeriodCost` 反映当前账单周期的用量
- `limit` 来源于个人限Free/Pro或组织池化限额Team/Enterprise
- `plan` 是与的用户关联的最高优先级的激活套餐
## 计划限制
## 套餐限制
不同的订阅计划有不同的使用限制:
不同的订阅套餐有不同的使用限制:
| 计划 | 每月使用限制 | 速率限制(每分钟) |
| 套餐 | 每月使用额度 | 速率限制(每分钟) |
|------|-------------------|-------------------------|
| **免费** | $10 | 5 同步10 异步 |
| **专业** | $100 | 10 同步50 异步 |
| **团队** | $500共享 | 50 同步100 异步 |
| **企业** | 自定义 | 自定义 |
| **Free** | $20 | 5 sync10 async |
| **Pro** | $100 | 10 sync50 async |
| **Team** | $500共享 | 50 sync100 async |
| **Enterprise** | 自定义 | 自定义 |
## 计费模式
Sim 使用 **基础订阅 + 超额**计费模式:
Sim 采用**基础订阅 + 超额**计费模式:
### 工作原理
### 计费方式说明
**专业计划$20/月):**
- 月订阅包含 $20 使用额度
- 使用低于 $20 → 无额外费用
- 使用超过 $20 → 月底支付超额部分
**Pro 套餐$20/月):**
- 月订阅包含 $20 使用额度
- 使用未超过 $20 → 无额外费用
- 使用超过 $20 → 月底结算超额部分
- 示例:$35 使用 = $20订阅+ $15超额
**团队计划$40/每席位/月):**
- 团队成员之间共享使用额度
- 超额费用根据团队总使用量计算
- 组织所有者收到一张账单
**Team 套餐$40//月):**
- 团队成员共享使用额度
- 超额费用团队总用量计算
- 账单由组织所有者统一支付
**企业计划**
**Enterprise 套餐**
- 固定月费,无超额费用
- 根据协议自定义使用限
- 使用额度可按协议定
### 阈值计费
当未计费的超额费用达到 $50 时Sim 会自动计费全额未计费金额。
当未结算的超额费用达到 $50 时Sim 会自动结算全部未结算金额。
**示例:**
- 第 10 天:$70 超额 → 立即计费 $70
- 第 15 天:额外使用 $35计 $105→ 已计费,无需操作
- 第 20 天:再使用 $50计 $155计费 $85→ 立即计费 $85
- 第 10 天:超额 $70 → 立即结算 $70
- 第 15 天:新增 $35 使用(累计 $105→ 已结算,无需操作
- 第 20 天:再用 $50计 $155结算 $85→ 立即结算 $85
会将大量的超额费用分散到整个月,而不是在周期结束时收到一张大账单。
样可以将大额超额费用分摊到每月多次结算,避免期末一次性大额账单。
## 成本管理最佳实践
1. **定期监控**:经常检查您的使用仪表,避免意外情况
2. **设预算**使用计划限制作为支出控制的护栏
3. **优化工作流程**查高成本执行操作,优化提示或模型选择
4. **使用合适模型**:根据任务需求匹配模型复杂度
5. **批量处理相似任务**:尽可能合并多个请求减少开销
1. **定期监控**:经常查看用量仪表,避免意外支出
2. **设预算**用套餐额度作为支出警戒线
3. **优化流程**查高成本执行,优化提示或模型选择
4. **选择合适模型**:根据任务需求匹配模型复杂度
5. **批量处理相似任务**:尽量合并请求减少额外开销
## 下一步
- 在[设置 → 订阅](https://sim.ai/settings/subscription)中查看您当前的使用情况
- 了解[日志记录](/execution/logging)以跟踪执行详情
- 探索[外部 API](/execution/api)以进行程序化成本监控
- 查看[工作流优化技](/blocks)以降低成本
- 在 [设置 → 订阅](https://sim.ai/settings/subscription) 中查看您当前的使用情况
- 了解 [日志记录](/execution/logging)以跟踪执行详情
- 探索 [外部 API](/execution/api),实现程序化成本监控
- 查看 [工作流优化技](/blocks)以降低成本

View File

@@ -34,81 +34,87 @@ Sim 支持 PDF、Word (DOC/DOCX)、纯文本 (TXT)、Markdown (MD)、HTML、Exce
<Image src="/static/knowledgebase/knowledgebase.png" alt="显示已处理内容的文档分块视图" width={800} height={500} />
### 分块配置
- **默认分块大小**1,024 个字符
- **可配置范围**:每块 100-4,000 个字符
- **智能重叠**:默认重叠 200 个字符以保留上下文
在创建知识库时,您可以配置文档如何被拆分为多个分块:
| 设置 | 单位 | 默认值 | 范围 | 说明 |
|---------|------|---------|-------|-------------|
| **最大分块大小** | tokens | 1,024 | 100-4,000 | 每个分块的最大大小1 token ≈ 4 个字符) |
| **最小分块大小** | 字符 | 1 | 1-2,000 | 避免生成过小分块的最小分块大小 |
| **重叠量** | 字符 | 200 | 0-500 | 相邻分块之间的上下文重叠字符数 |
- **分层拆分**:遵循文档结构(章节、段落、句子)
### 编辑功能
- **编辑分块内容**:修改单个分块的文本内容
- **编辑分块内容**修改单个分块的文本内容
- **调整分块边界**:根据需要合并或拆分分块
- **添加元数据**:为分块添加额外的上下文信息
- **添加元数据**:为分块补充更多上下文信息
- **批量操作**:高效管理多个分块
## 高级 PDF 处理
对于 PDF 文档Sim 提供增强的处理能:
对于 PDF 文档Sim 提供增强的处理能
### OCR 支持
当配置了 Azure 或 [Mistral OCR](https://docs.mistral.ai/ocr/) 时:
- **扫描文档处理**:从基于图像的 PDF 中提取文本
- **混合内容处理**:处理同时包含文本和图的 PDF
- **高精度**:先进的 AI 模型确保准确的文本提取
- **混合内容处理**:处理同时包含文本和图的 PDF
- **高精度**:先进的 AI 模型确保文本提取的准确性
## 在工作流中使用知识块
一旦您的文档处理,您可以通过知识块在 AI 工作流中使用它们。这使得检索增强生成RAG成为可能,让您的 AI 代理能够访问并理文档内容,从而提供更准确、有上下文的响应
文档处理完成后,您可以通过知识块在 AI 工作流中使用它们。这实现了 RAG检索增强生成,让您的 AI 智能体能够访问并理文档内容,从而提供更准确、有上下文的回复
<Image src="/static/knowledgebase/knowledgebase-2.png" alt="在工作流中使用知识块" width={800} height={500} />
### 知识块功能
- **语义搜索**使用自然语言查询查找相关内容
- **上下文集成**:自动将相关分块包含在代理提示
- **动态检索**:在工作流执行期间实时搜索
- **相关性评分**:根据语义相似对结果进行排
- **语义搜索**通过自然语言查询查找相关内容
- **上下文集成**:自动将相关分块纳入智能体提示
- **动态检索**:在工作流执行实时搜索
- **相关性评分**:根据语义相似对结果进行排
### 集成选项
- **系统提示**:为的 AI 代理提供上下文
- **动态上下文**:在对话中搜索并包含相关信息
- **多文档搜索**:在整个知识库中查询
- **过滤搜索**:结合标签实现精内容检索
- **系统提示**:为的 AI 智能体提供上下文
- **动态上下文**:在对话中搜索并纳入相关信息
- **多文档搜索**在整个知识库中查询
- **筛选搜索**:结合标签实现精内容检索
## 向量搜索技术
Sim 使用由 [pgvector](https://github.com/pgvector/pgvector) 提供支持的向量搜索理解的内容的含义和上下文:
Sim 利用 [pgvector](https://github.com/pgvector/pgvector) 提供的向量搜索理解的内容的含义和上下文:
### 语义理解
- **上下文搜索**:即使精确的关键词不匹配,也能找到相关内容
- **基于概念的检索**:理解想法之间的关系
- **多语言支持**支持跨不同语言工作
- **同义词识别**找到相关术语和概念
- **上下文搜索**:即使关键词不完全匹配,也能找到相关内容
- **基于概念的检索**:理解不同想法之间的关系
- **多语言支持**可跨多种语言使用
- **同义词识别**发现相关术语和概念
### 搜索
- **自然语言查询**:用简单的英语提问
- **相似搜索**:找概念上相似的内容
- **混合搜索**:结合向量传统关键词搜索
- **可配置结果**:控制结果数量和相关性阈值
### 搜索能
- **自然语言查询**用简单英文提问
- **相似搜索**找概念上相似的内容
- **混合搜索**:结合向量传统关键词搜索
- **结果可配置**控制结果数量和相关性阈值
## 文档管理
### 组织功能
- **批量上传**:通过异步 API 一次上传多个文件
- **处理状态**:实时更新文档处理状态
- **搜索和过滤**:在大型集合中快速找文档
- **元数据踪**:自动捕获文件信息和处理详情
- **处理状态**:实时更新文档处理进度
- **搜索与筛选**:在大型集合中快速找文档
- **元数据踪**:自动记录文件信息和处理详情
### 安全性和隐私
- **安全存储**:文档企业级安全存储
- **访问控制**:基于工作区的权限设置
- **处理隔离**:每个工作区的文档处理是独立的
- **数据保留**:配置文档保留策略
### 安全隐私
- **安全存储**:文档采用企业级安全存储
- **访问控制**:基于工作区的权限管理
- **处理隔离**:每个工作区的文档处理相互隔离
- **数据保留**配置文档保留策略
## 快速入门
## 快速开始
1. **导航到您的知识库**工作区侧边栏访问
2. **上传文档**:拖或选择文件进行上传
3. **监控处理**:查看文档处理分块进度
4. **探索分块**:查看编辑处理后的内容
5. **添加到工作流**:使用知识块与您的 AI 代理集成
1. **进入你的知识库**可在工作区侧边栏访问
2. **上传文档**:拖或选择文件上传
3. **监控处理进度**实时查看文档处理分块
4. **浏览分块内容**:查看编辑处理内容
5. **添加到工作流**:使用 Knowledge 模块集成到你的 AI 智能体
知识库将您的静态文档转化为智能、可搜索的资源,使您的 AI 工作流能够利用这些资源提供更有信息量和上下文的应。
知识库将您的静态文档转化为智能、可搜索的资源,使您的 AI 工作流能够利用这些信息,提供更有见地和更具上下文的应。

View File

@@ -0,0 +1,58 @@
---
title: Circleback
description: AI 驱动的会议记录与行动项
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="circleback"
color="linear-gradient(180deg, #E0F7FA 0%, #FFFFFF 100%)"
/>
{/* MANUAL-CONTENT-START:intro */}
[Circleback](https://circleback.ai/) 是一个 AI 驱动的平台可为您的团队自动生成会议记录、行动项、文字稿和录音。每当会议结束后Circleback 会处理对话内容,提供详细的会议纪要和行动项,同时附上文字稿和录音(如有)。这有助于团队高效捕捉洞见、分发行动项,并确保不会遗漏任何重要信息——所有内容都能无缝集成到您的工作流程中。
通过 Sim Circleback 集成,您可以:
- **获取详细的会议记录和行动项**:自动收集格式良好的会议摘要,并跟踪通话中讨论的可执行任务。
- **访问完整的会议录音和文字稿**:获取完整对话及相关录音,便于回顾关键时刻或与同事分享。
- **捕捉与会者信息和会议背景**:与会者名单、会议元数据和标签帮助您有序管理和利用数据。
- **将洞见直接推送到您的工作流程**:会议结束后,利用 Sim 强大的 webhook 触发器,自动触发自动化流程或将 Circleback 数据发送到其他系统。
**在 Sim 中的工作方式:**
Circleback 使用 webhook 触发器:每当会议处理完成,数据会自动推送到您的代理或自动化流程。您可以基于以下内容构建更多自动化:
- 会议完成(所有处理数据可用)
- 新会议记录(即使会议尚未全部处理,会议纪要也可提前获取)
- 原始 webhook 集成,适用于高级用例
**Circleback 会议 webhook 有效载荷中包含以下信息:**
| 字段 | 类型 | 描述 |
|----------------|---------|----------------------------------------------------|
| `id` | number | Circleback 会议 ID |
| `name` | string | 会议标题 |
| `url` | string | 虚拟会议 URLZoom、Meet、Teams 等) |
| `createdAt` | string | 会议创建时间戳 |
| `duration` | number | 时长(秒) |
| `recordingUrl` | string | 录制文件 URL有效期 24 小时) |
| `tags` | json | 标签数组 |
| `icalUid` | string | 日历事件 ID |
| `attendees` | json | 参会者对象数组 |
| `notes` | string | Markdown 格式会议记录 |
| `actionItems` | json | 行动项数组 |
| `transcript` | json | 会议记录片段数组 |
| `insights` | json | 用户创建的洞见 |
| `meeting` | json | 完整会议数据 |
无论你是想分发即时摘要、记录行动项还是基于新会议数据构建自定义工作流Circleback 和 Sim 都能让你自动无缝处理所有与会议相关的事务。
## 使用说明
当会议被处理时你将收到会议记录、行动项、转录和录音。Circleback 使用 webhook 将数据推送到你的工作流。
## 备注
- 分类:`triggers`
- 类型:`circleback`

View File

@@ -0,0 +1,218 @@
---
title: Grain
description: 访问会议录音、转录文本和 AI 摘要
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="grain"
color="#F6FAF9"
/>
{/* MANUAL-CONTENT-START:intro */}
[Grain](https://grain.com/) 是一个现代化平台,用于捕捉、存储和分享会议录音、转录文本、重点片段以及 AI 驱动的摘要。Grain 帮助团队将对话转化为可执行的洞察,让每个人都能对会议中的关键时刻保持一致。
使用 Grain您可以
- **访问可搜索的录音和转录文本**:可按关键词、参与者或主题查找和回顾每场会议。
- **分享重点片段和剪辑**:捕捉重要时刻,并在团队或工作流中分享短视频/音频片段。
- **获取 AI 生成的摘要**:利用 Grain 的先进 AI 自动生成会议摘要、行动项和关键洞察。
- **按团队或类型组织会议**:为录音打标签和分类,便于访问和报告。
Sim Grain 集成让您的坐席能够:
- 通过灵活的筛选条件(日期时间、参与者、团队等)列出、搜索和获取会议录音及详细信息。
- 获取会议的 AI 摘要、参与者、重点片段及其他元数据,以支持自动化或分析。
- 通过 Grain webhook在新会议被处理、摘要生成或重点片段创建时触发工作流。
- 轻松将 Grain 数据桥接到其他工具,或在会议中有重要事件发生时即时通知团队成员。
无论您是想自动化后续操作、保留重要对话记录还是在组织内挖掘洞察Grain 和 Sim 都能让您轻松将会议智能连接到工作流中。
{/* MANUAL-CONTENT-END */}
## 使用说明
将 Grain 集成到您的工作流中。访问会议录音、转录文本、重点片段和 AI 生成的摘要。还可以基于 Grain webhook 事件触发工作流。
## 工具
### `grain_list_recordings`
从 Grain 获取录音列表,可选过滤和分页
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
| `cursor` | string | 否 | 下一页的分页游标 |
| `beforeDatetime` | string | 否 | 仅包含此 ISO8601 时间戳之前的录音 |
| `afterDatetime` | string | 否 | 仅包含此 ISO8601 时间戳之后的录音 |
| `participantScope` | string | 否 | 过滤条件“internal” 或 “external” |
| `titleSearch` | string | 否 | 按录音标题搜索过滤 |
| `teamId` | string | 否 | 按团队 UUID 过滤 |
| `meetingTypeId` | string | 否 | 按会议类型 UUID 过滤 |
| `includeHighlights` | boolean | 否 | 响应中包含重点/片段 |
| `includeParticipants` | boolean | 否 | 响应中包含参与者列表 |
| `includeAiSummary` | boolean | 否 | 包含 AI 生成的摘要 |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `recordings` | array | 录音对象数组 |
### `grain_get_recording`
根据 ID 获取单个录音的详细信息
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
| `recordingId` | string | 是 | 录音 UUID |
| `includeHighlights` | boolean | 否 | 包含重点/片段 |
| `includeParticipants` | boolean | 否 | 包含参与者列表 |
| `includeAiSummary` | boolean | 否 | 包含 AI 摘要 |
| `includeCalendarEvent` | boolean | 否 | 包含日历事件数据 |
| `includeHubspot` | boolean | 否 | 包含 HubSpot 关联 |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `id` | string | 录音 UUID |
| `title` | string | 录音标题 |
| `start_datetime` | string | ISO8601 开始时间戳 |
| `end_datetime` | string | ISO8601 结束时间戳 |
| `duration_ms` | number | 持续时间(毫秒) |
| `media_type` | string | 音频、转录或视频 |
| `source` | string | 录音来源zoom、meet、teams 等) |
| `url` | string | 在 Grain 中查看的 URL |
| `thumbnail_url` | string | 缩略图 URL |
| `tags` | array | 标签字符串数组 |
| `teams` | array | 录音所属团队 |
| `meeting_type` | object | 会议类型信息id、name、scope |
| `highlights` | array | 高亮内容(如有) |
| `participants` | array | 参与者(如有) |
| `ai_summary` | object | AI 摘要文本(如有) |
| `calendar_event` | object | 日历事件数据(如有) |
| `hubspot` | object | HubSpot 关联信息(如有) |
### `grain_get_transcript`
获取录音的完整转录文本
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | ---- | ----------- |
| `apiKey` | string | 是 | Grain API 密钥(个人访问令牌) |
| `recordingId` | string | 是 | 录音 UUID |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `transcript` | array | 转录片段数组 |
### `grain_list_teams`
列出工作区中的所有团队
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `teams` | array | 团队对象数组 |
### `grain_list_meeting_types`
列出工作区中的所有会议类型
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `meeting_types` | array | 会议类型对象数组 |
### `grain_create_hook`
创建一个 webhook 以接收录制事件
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
| `hookUrl` | string | 是 | Webhook endpoint URL必须响应 2xx |
| `filterBeforeDatetime` | string | 否 | 筛选:此日期之前的录制 |
| `filterAfterDatetime` | string | 否 | 筛选:此日期之后的录制 |
| `filterParticipantScope` | string | 否 | 筛选“internal” 或 “external” |
| `filterTeamId` | string | 否 | 筛选:指定团队 UUID |
| `filterMeetingTypeId` | string | 否 | 筛选:指定会议类型 |
| `includeHighlights` | boolean | 否 | 在 webhook 负载中包含重点内容 |
| `includeParticipants` | boolean | 否 | 在 webhook 负载中包含参与者 |
| `includeAiSummary` | boolean | 否 | 在 webhook 负载中包含 AI 摘要 |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `id` | string | Hook UUID |
| `enabled` | boolean | Hook 是否激活 |
| `hook_url` | string | webhook URL |
| `filter` | object | 已应用的过滤器 |
| `include` | object | 包含的字段 |
| `inserted_at` | string | ISO8601 创建时间戳 |
### `grain_list_hooks`
列出该账户下的所有 webhook
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `hooks` | array | Hook 对象数组 |
### `grain_delete_hook`
根据 ID 删除 webhook
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | 是 | Grain API key个人访问令牌 |
| `hookId` | string | 是 | 要删除的 Hook UUID |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `success` | boolean | webhook 删除成功时为 true |
## 备注
- 分类:`tools`
- 类型:`grain`

View File

@@ -38,16 +38,18 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `email` | string | 否 | 联系人的电子邮件地址 |
| `external_id` | string | 否 | 客户提供的联系人的唯一标识符 |
| `phone` | string | 否 | 联系人的电话号码 |
| `name` | string | 否 | 联系人的姓名 |
| `avatar` | string | 否 | 联系人的头像图片 URL |
| `role` | string | 否 | 联系人角色。可选 'user' 或 'lead'。如未指定,默认为 'lead'。 |
| `email` | string | 否 | 联系人邮箱地址 |
| `external_id` | string | 否 | 客户端为联系人提供的唯一标识符 |
| `phone` | string | 否 | 联系人电话号码 |
| `name` | string | 否 | 联系人姓名 |
| `avatar` | string | 否 | 联系人头像图片 URL |
| `signed_up_at` | number | 否 | 用户注册时间Unix 时间戳) |
| `last_seen_at` | number | 否 | 用户上次访问时间Unix 时间戳) |
| `owner_id` | string | 否 | 被分配为联系人账户所有者的管理员 ID |
| `unsubscribed_from_emails` | boolean | 否 | 联系人是否取消订阅电子邮件 |
| `custom_attributes` | string | 否 | 自定义属性,格式为 JSON 对象 \(例如,\{"attribute_name": "value"\}\) |
| `last_seen_at` | number | 否 | 用户最后一次在线时间Unix 时间戳) |
| `owner_id` | string | 否 | 被分配为联系人账户所有者的管理员 ID |
| `unsubscribed_from_emails` | boolean | 否 | 联系人是否已退订邮件 |
| `custom_attributes` | string | 否 | 自定义属性,格式为 JSON 对象(如:\{"attribute_name": "value"\} |
| `company_id` | string | 否 | 创建联系人时关联的公司 ID |
#### 输出
@@ -82,15 +84,18 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `contactId` | string | 是 | 要更新的联系人 ID |
| `email` | string | 否 | 联系人的电子邮件地址 |
| `phone` | string | 否 | 联系人的电话号码 |
| `name` | string | 否 | 联系人的姓名 |
| `avatar` | string | 否 | 联系人的头像图片 URL |
| `role` | string | 否 | 联系人角色。可选 'user' 或 'lead'。 |
| `external_id` | string | 否 | 客户端为联系人提供的唯一标识符 |
| `email` | string | 否 | 联系人邮箱地址 |
| `phone` | string | 否 | 联系人电话号码 |
| `name` | string | 否 | 联系人姓名 |
| `avatar` | string | 否 | 联系人头像图片 URL |
| `signed_up_at` | number | 否 | 用户注册时间Unix 时间戳) |
| `last_seen_at` | number | 否 | 用户上次访问时间Unix 时间戳) |
| `owner_id` | string | 否 | 分配账户所有的管理员 ID |
| `unsubscribed_from_emails` | boolean | 否 | 联系人是否取消订阅电子邮件 |
| `custom_attributes` | string | 否 | 自定义属性,格式为 JSON 对象 \(例如:\{"attribute_name": "value"\}\) |
| `last_seen_at` | number | 否 | 用户最后一次在线时间Unix 时间戳) |
| `owner_id` | string | 否 | 分配为该联系人账户所有的管理员 ID |
| `unsubscribed_from_emails` | boolean | 否 | 联系人是否已退订邮件 |
| `custom_attributes` | string | 否 | 自定义属性,格式为 JSON 对象如:\{"attribute_name": "value"\} |
| `company_id` | string | 否 | 关联的公司 ID |
#### 输出
@@ -123,11 +128,13 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
#### 输入
| 参数 | 类型 | 必 | 描述 |
| 参数 | 类型 | 必 | 描述 |
| --------- | ---- | -------- | ----------- |
| `query` | string | 是 | 搜索查询 \(例如, \{"field":"email","operator":"=","value":"user@example.com"\}\) |
| `per_page` | number | 否 | 每页结果数量 \(最大值: 150\) |
| `starting_after` | string | 否 | 分页游标 |
| `query` | string | 是 | 搜索查询(例如:\{"field":"email", "operator":"=", "value":"user@example.com"\} |
| `per_page` | number | 否 | 每页结果数量最大值150 |
| `starting_after` | string | 否 | 用于分页游标 |
| `sort_field` | string | 否 | 排序字段(例如:"name""created_at""last_seen_at" |
| `sort_order` | string | 否 | 排序方式“ascending” 或 “descending” |
#### 输出
@@ -159,16 +166,17 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
#### 输入
| 参数 | 类型 | 必 | 描述 |
| 参数 | 类型 | 必 | 描述 |
| --------- | ---- | -------- | ----------- |
| `company_id` | string | 是 | 您公司唯一标识符 |
| `name` | string | 否 | 公司名称 |
| `company_id` | string | 是 | 您公司设置的唯一标识符 |
| `name` | string | 否 | 公司名称 |
| `website` | string | 否 | 公司网站 |
| `plan` | string | 否 | 公司计划名称 |
| `plan` | string | 否 | 公司套餐名称 |
| `size` | number | 否 | 公司员工数量 |
| `industry` | string | 否 | 公司所属行业 |
| `monthly_spend` | number | 否 | 公司为您的业务创造的收入。注意:此字段会将浮点数截断为整数(例如155.98 变为 155 |
| `custom_attributes` | string | 否 | 为 JSON 对象的自定义属性 |
| `monthly_spend` | number | 否 | 公司为您的业务带来的收入。注意:此字段会将浮点数截断为整数(例如155.98 变为 155 |
| `custom_attributes` | string | 否 | 自定义属性,格式为 JSON 对象 |
| `remote_created_at` | number | 否 | 您创建公司时的 Unix 时间戳 |
#### 输出
@@ -200,10 +208,11 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
#### 输入
| 参数 | 类型 | 必 | 描述 |
| 参数 | 类型 | 必 | 描述 |
| --------- | ---- | -------- | ----------- |
| `per_page` | 数字 | 否 | 每页结果数量 |
| `page` | 数字 | 否 | 页码 |
| `per_page` | number | 否 | 每页结果数量 |
| `page` | number | 否 | 页码 |
| `starting_after` | string | 否 | 分页游标(优先于基于页码的分页) |
#### 输出
@@ -220,8 +229,9 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | 字符串 | 是 | 要检索的会话 ID |
| `display_as` | 字符串 | 否 | 设为 "plaintext" 检索纯文本消息 |
| `conversationId` | string | 是 | 要检索的会话 ID |
| `display_as` | string | 否 | 设为 "plaintext" 检索纯文本消息 |
| `include_translations` | boolean | 否 | 若为 true会话内容将被翻译为检测到的会话语言 |
#### 输出
@@ -238,8 +248,10 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `per_page` | 数字 | 否 | 每页结果数量 \(最大值: 150\) |
| `starting_after` | 字符串 | 否 | 分页游标 |
| `per_page` | number | 否 | 每页结果数量最大值150 |
| `starting_after` | string | 否 | 分页游标 |
| `sort` | string | 否 | 排序字段(例如:"waiting_since"、"updated_at"、"created_at" |
| `order` | string | 否 | 排序方式:"asc"(升序)或 "desc"(降序) |
#### 输出
@@ -258,9 +270,10 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | 是 | 要回复的会话 ID |
| `message_type` | string | 是 | 消息类型:"comment" 或 "note" |
| `body` | string | 是 | 回复正文文本 |
| `admin_id` | string | 否 | 撰写回复管理员 ID。如果未提供将使用默认管理员Operator/Fin。 |
| `attachment_urls` | string | 否 | 逗号分隔的图片 URL 列表(最多 10 个) |
| `body` | string | 是 | 回复正文 |
| `admin_id` | string | 否 | 回复管理员 ID。如果未提供将使用默认管理员Operator/Fin。 |
| `attachment_urls` | string | 否 | 逗号分隔的图片 URL 列表(最多 10 个) |
| `created_at` | number | 否 | 回复创建时的 Unix 时间戳。如果未提供,则使用当前时间。 |
#### 输出
@@ -275,11 +288,13 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
#### 输入
| 参数 | 类型 | 必 | 描述 |
| 参数 | 类型 | 必 | 描述 |
| --------- | ---- | -------- | ----------- |
| `query` | string | 是 | 作为 JSON 对象的搜索查询 |
| `per_page` | number | 否 | 每页结果数量最大值150 |
| `starting_after` | string | 否 | 用于分页游标 |
| `starting_after` | string | 否 | 分页游标 |
| `sort_field` | string | 否 | 排序字段(例如:"created_at""updated_at" |
| `sort_order` | string | 否 | 排序顺序“ascending” 或 “descending” |
#### 输出
@@ -294,11 +309,15 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
#### 输入
| 参数 | 类型 | 必 | 描述 |
| 参数 | 类型 | 必 | 描述 |
| --------- | ---- | -------- | ----------- |
| `ticket_type_id` | string | 是 | 工单类型的 ID |
| `contacts` | string | 是 | 联系人标识符的 JSON 数组(例如\[\{"id": "contact_id"\}\] |
| `ticket_attributes` | string | 是 | 包含工单属性的 JSON 对象,包括 _default_title_ 和 _default_description_ |
| `contacts` | string | 是 | 联系人标识符的 JSON 数组(例如\[\{"id": "contact_id"\}\] |
| `ticket_attributes` | string | 是 | 包含 _default_title_ 和 _default_description_ 的工单属性 JSON 对象 |
| `company_id` | string | 否 | 要关联工单的公司 ID |
| `created_at` | number | 否 | 工单创建时的 Unix 时间戳。如果未提供,则使用当前时间。 |
| `conversation_to_link_id` | string | 否 | 要关联到此工单的现有会话 ID |
| `disable_notifications` | boolean | 否 | 若为 true创建工单时将不发送通知 |
#### 输出
@@ -332,13 +351,15 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `message_type` | string | 是 | 消息类型:"inapp" 或 "email" |
| `subject` | string | | 消息主题(针对 email 类型) |
| `message_type` | string | 是 | 消息类型:inapp” 表示应用内消息“email” 表示电子邮件消息 |
| `template` | string | | 消息模板样式“plain” 表示纯文本“personal” 表示个性化样式 |
| `subject` | string | 否 | 消息主题(仅适用于 email 类型) |
| `body` | string | 是 | 消息正文 |
| `from_type` | string | 是 | 发送类型:"admin" |
| `from_type` | string | 是 | 发送类型:admin |
| `from_id` | string | 是 | 发送消息的管理员 ID |
| `to_type` | string | 是 | 接收类型:"contact" |
| `to_type` | string | 是 | 接收类型:contact |
| `to_id` | string | 是 | 接收消息的联系人的 ID |
| `created_at` | number | 否 | 消息创建时的 Unix 时间戳。如果未提供,则使用当前时间。 |
#### 输出

View File

@@ -60,9 +60,7 @@ Jina AI Reader 专注于从网页中提取最相关的内容,去除杂乱、
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | 字符串 | 从 URL 提取的内容,处理为干净且适合 LLM 的文本 |
| `links` | 数组 | 页面中找到的链接列表(当启用 gatherLinks 或 withLinksummary 时) |
| `images` | 数组 | 页面中找到的图片列表(当启用 withImagesummary 时) |
| `content` | 字符串 | 从 URL 提取的内容,处理为简洁、适合 LLM 的文本 |
### `jina_search`

View File

@@ -91,13 +91,19 @@ Jira 的主要功能包括:
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `domain` | 字符串 | 是 | 您的 Jira 域名 \(例如yourcompany.atlassian.net\) |
| `projectId` | 字符串 | 是 | 问题项目 ID |
| `summary` | 字符串 | 是 | 问题摘要 |
| `description` | 字符串 | 否 | 问题描述 |
| `priority` | 字符串 | 否 | 问题优先级 |
| `assignee` | 字符串 | 否 | 问题负责人 |
| `cloudId` | 字符串 | 否 | 实例的 Jira ID。如果未提供将使用域名获取。 |
| `issueType` | 字符串 | 是 | 要创建的问题类型 \(例如:任务、故事\) |
| `projectId` | 字符串 | 是 | 问题所属项目 ID |
| `summary` | 字符串 | 是 | 问题摘要 |
| `description` | 字符串 | 否 | 问题描述 |
| `priority` | 字符串 | 否 | 问题优先级 ID 或名称 \(例如“10000”或“High”\) |
| `assignee` | 字符串 | 否 | 问题负责人账户 ID |
| `cloudId` | 字符串 | 否 | 实例的 Jira Cloud ID。如果未提供将使用域名获取。 |
| `issueType` | 字符串 | 是 | 要创建的问题类型 \(例如:Task、Story\) |
| `labels` | 数组 | 否 | 问题标签 \(标签名称数组\) |
| `duedate` | 字符串 | 否 | 问题截止日期 \(格式YYYY-MM-DD\) |
| `reporter` | 字符串 | 否 | 问题报告人账户 ID |
| `environment` | 字符串 | 否 | 问题环境信息 |
| `customFieldId` | 字符串 | 否 | 自定义字段 ID \(例如customfield_10001\) |
| `customFieldValue` | 字符串 | 否 | 自定义字段的值 |
#### 输出
@@ -107,6 +113,7 @@ Jira 的主要功能包括:
| `issueKey` | 字符串 | 创建的问题键 \(例如PROJ-123\) |
| `summary` | 字符串 | 问题摘要 |
| `url` | 字符串 | 创建的问题的 URL |
| `assigneeId` | 字符串 | 已分配用户的账户 ID如已分配 |
### `jira_bulk_read`
@@ -520,7 +527,31 @@ Jira 的主要功能包括:
| `issueKey` | string | 问题键 |
| `watcherAccountId` | string | 移除的观察者账户 ID |
## 注意事项
### `jira_get_users`
- 类别: `tools`
- 类型: `jira`
获取 Jira 用户。如果提供了账户 ID则返回单个用户否则返回所有用户的列表。
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `domain` | 字符串 | 是 | 您的 Jira 域名 \(例如yourcompany.atlassian.net\) |
| `accountId` | 字符串 | 否 | 可选账户 ID用于获取特定用户。如果未提供则返回所有用户。 |
| `startAt` | 数字 | 否 | 要返回的第一个用户的索引 \(用于分页默认值0\) |
| `maxResults` | 数字 | 否 | 要返回的最大用户数 \(默认值50\) |
| `cloudId` | 字符串 | 否 | 实例的 Jira Cloud ID。如果未提供将使用域名获取。 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `ts` | 字符串 | 操作的时间戳 |
| `users` | json | 用户数组,包含 accountId、displayName、emailAddress、active 状态和 avatarUrls |
| `total` | 数字 | 返回的用户总数 |
| `startAt` | 数字 | 分页起始索引 |
| `maxResults` | 数字 | 每页最大结果数 |
## 备注
- 分类:`tools`
- 类型:`jira`

View File

@@ -1,6 +1,6 @@
---
title: 内存
description: 添加内存存储
description: 添加记忆存储
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
@@ -12,53 +12,50 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
## 使用说明
记忆集成到工作流程中。可以添加记忆、获取记忆、获取所有记忆以及删除记忆。
Memory 集成到工作流程中。可以添加、获取单条记忆、获取所有记忆以及删除记忆。
## 工具
### `memory_add`
向数据库添加新的内存,或将数据追加到有相同 ID 的现有内存中。
向数据库添加新记忆,或将内容追加到有相同 ID 的记忆中。
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | 否 | 会话标识符(例如,user-123session-abc。如果此 block 已存在具有该 conversationId 的内存,新消息将附加到该内存中。 |
| `id` | string | 否 | 会话标识符的旧参数。请用 conversationId。为向后兼容而提供。 |
| `role` | string | 是 | 代理内存的角色user、assistant 或 system |
| `content` | string | 是 | 代理内存的内容 |
| `blockId` | string | 否 | 可选的 block ID。如果未提供将使用执行上下文中的当前 block ID或默认为 "default"。 |
| --------- | ---- | ---- | ----------- |
| `conversationId` | string | 否 | 会话标识符(user-123session-abc。如果已存在该 conversationId 的记忆,则新消息会追加到其中。 |
| `id` | string | 否 | 旧版会话标识参数。请使用 conversationId,保留用于兼容性。 |
| `role` | string | 是 | agent 记忆的角色user、assistant 或 system |
| `content` | string | 是 | agent 记忆的内容 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | 布尔值 | 是否成功添加了内存 |
| `memories` | 数组 | 包含新添加或更新内存的内存对象数组 |
| `error` | 字符串 | 如果操作失败,显示错误信息 |
| `success` | boolean | 记忆是否添加成功 |
| `memories` | array | 包含新或更新记忆的记忆对象数组 |
| `error` | string | 操作失败时的错误信息 |
### `memory_get`
通过 conversationId、blockId、blockName 或其组合检索内存。返回所有匹配的内存
根据 conversationId 检索记忆,返回匹配的记忆内容
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | 否 | 会话标识符(例如,user-123session-abc如果单独提供,将返回会话在所有 block 中的所有内存。 |
| `id` | string | 否 | 会话标识符的旧参数。请用 conversationId。为向后兼容而提供。 |
| `blockId` | string | 否 | block 标识符。如果单独提供,将返回此 block 中所有会话的所有内存。如果与 conversationId 一起提供,将返回此 block 中该特定会话的内存。 |
| `blockName` | string | 否 | block 名称。blockId 的替代选项。如果单独提供,将返回具有此名称的 block 的所有内存。如果与 conversationId 一起提供,将返回具有此名称的 block 中该会话的内存。 |
| --------- | ---- | ---- | ----------- |
| `conversationId` | string | 否 | 会话标识符(user-123session-abc。返回会话的记忆。 |
| `id` | string | 否 | 旧版会话标识参数。请使用 conversationId,保留用于兼容性。 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 内存是否成功检索 |
| `memories` | array | 包含 conversationId、blockId、blockName 和 data 字段的内存对象数组 |
| `success` | boolean | 是否成功检索到内存 |
| `memories` | array | 包含 conversationId 和 data 字段的内存对象数组 |
| `message` | string | 成功或错误信息 |
| `error` | string | 如果操作失败的错误信息 |
| `error` | string | 操作失败的错误信息 |
### `memory_get_all`
@@ -74,32 +71,30 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 是否成功检索到所有内存 |
| `memories` | array | 包含 key、conversationId、blockId、blockName 和 data 字段的所有内存对象数组 |
| `memories` | array | 包含 key、conversationId 和 data 字段的所有内存对象数组 |
| `message` | string | 成功或错误信息 |
| `error` | string | 如果操作失败的错误信息 |
| `error` | string | 操作失败的错误信息 |
### `memory_delete`
通过 conversationId、blockId、blockName 或其组合删除内存。支持批量删除
根据 conversationId 删除内存
#### 输入
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `conversationId` | string | 否 | 会话标识符 \(例如,user-123session-abc\)。如果单独提供,将删除会话在所有块中的所有内存。 |
| `id` | string | 否 | 会话标识符的旧参数。请用 conversationId。为向后兼容而提供。 |
| `blockId` | string | 否 | 块标识符。如果单独提供,将删除此块中所有会话的所有内存。如果与 conversationId 一起提供,将删除此块中特定会话的内存。 |
| `blockName` | string | 否 | 块名称。是 blockId 的替代项。如果单独提供,将删除具有此名称的块的所有内存。如果与 conversationId 一起提供,将删除此名称的块中该会话的内存。 |
| `conversationId` | string | 否 | 会话标识符(如 user-123session-abc)。将删除会话的所有内存。 |
| `id` | string | 否 | 旧版会话标识参数。请使用 conversationId,保留用于兼容性。 |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 内存是否成功删除 |
| `success` | boolean | 是否成功删除内存 |
| `message` | string | 成功或错误信息 |
| `error` | string | 如果操作失败的错误信息 |
| `error` | string | 操作失败的错误信息 |
## 注意
## 注意事项
- 类别:`blocks`
- 类型:`memory`

View File

@@ -0,0 +1,124 @@
---
title: ServiceNow
description: 创建、读取、更新和删除 ServiceNow 记录
---
import { BlockInfoCard } from "@/components/ui/block-info-card"
<BlockInfoCard
type="servicenow"
color="#032D42"
/>
{/* MANUAL-CONTENT-START:intro */}
[ServiceNow](https://www.servicenow.com/) 是一款强大的云平台,旨在简化和自动化 IT 服务管理ITSM、工作流以及企业各类业务流程。ServiceNow 让您能够通过其强大的 API 管理事件、请求、任务、用户等多种内容。
使用 ServiceNow您可以
- **自动化 IT 工作流**:在任意 ServiceNow 表中创建、读取、更新和删除记录,如事件、任务、变更请求和用户等。
- **集成系统**:将 ServiceNow 与您的其他工具和流程连接,实现无缝自动化。
- **维护单一数据源**:让所有服务和运营数据井然有序,便于访问。
- **提升运营效率**:通过可定制的工作流和自动化,减少手动操作,提高服务质量。
在 Sim 中ServiceNow 集成让您的代理能够在工作流中直接与 ServiceNow 实例交互。代理可以在任意 ServiceNow 表中创建、读取、更新或删除记录,并利用工单或用户数据实现复杂的自动化和决策。这一集成将您的工作流自动化与 IT 运维无缝衔接,使代理能够自动化管理服务请求、事件、用户和资产,无需人工干预。通过将 Sim 与 ServiceNow 连接,您可以自动化服务管理任务、提升响应速度,并确保对组织关键服务数据的持续、安全访问。
{/* MANUAL-CONTENT-END */}
## 使用说明
将 ServiceNow 集成到您的工作流中。在任意 ServiceNow 表(包括事件、任务、变更请求、用户等)中创建、读取、更新和删除记录。
## 工具
### `servicenow_create_record`
在 ServiceNow 表中创建新记录
#### 输入
| 参数 | 类型 | 是否必填 | 描述 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | 是 | ServiceNow 实例 URL例如https://instance.service-now.com |
| `username` | string | 是 | ServiceNow 用户名 |
| `password` | string | 是 | ServiceNow 密码 |
| `tableName` | string | 是 | 表名例如incident、task、sys_user |
| `fields` | json | 是 | 记录中要设置的字段JSON 对象) |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `record` | json | 创建的 ServiceNow 记录,包含 sys_id 及其他字段 |
| `metadata` | json | 操作元数据 |
### `servicenow_read_record`
从 ServiceNow 表中读取记录
#### 输入
| 参数 | 类型 | 是否必填 | 描述 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | 是 | ServiceNow 实例 URL例如https://instance.service-now.com |
| `username` | string | 是 | ServiceNow 用户名 |
| `password` | string | 是 | ServiceNow 密码 |
| `tableName` | string | 是 | 表名 |
| `sysId` | string | 否 | 指定记录 sys_id |
| `number` | string | 否 | 记录编号例如INC0010001 |
| `query` | string | 否 | 编码查询字符串(例如:"active=true^priority=1" |
| `limit` | number | 否 | 返回的最大记录数 |
| `fields` | string | 否 | 要返回的字段列表(以逗号分隔) |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `records` | array | ServiceNow 记录数组 |
| `metadata` | json | 操作元数据 |
### `servicenow_update_record`
更新 ServiceNow 表中的现有记录
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | 是 | ServiceNow 实例 URL例如https://instance.service-now.com |
| `username` | string | 是 | ServiceNow 用户名 |
| `password` | string | 是 | ServiceNow 密码 |
| `tableName` | string | 是 | 表名 |
| `sysId` | string | 是 | 要更新的记录 sys_id |
| `fields` | json | 是 | 要更新的字段JSON 对象) |
#### 输出
| 参数 | 类型 | 说明 |
| --------- | ---- | ----------- |
| `record` | json | 已更新的 ServiceNow 记录 |
| `metadata` | json | 操作元数据 |
### `servicenow_delete_record`
从 ServiceNow 表中删除记录
#### 输入
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---- | -------- | ----------- |
| `instanceUrl` | string | 是 | ServiceNow 实例 URL例如https://instance.service-now.com |
| `username` | string | 是 | ServiceNow 用户名 |
| `password` | string | 是 | ServiceNow 密码 |
| `tableName` | string | 是 | 表名 |
| `sysId` | string | 是 | 要删除的记录 sys_id |
#### 输出
| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `success` | boolean | 删除是否成功 |
| `metadata` | json | 操作元数据 |
## 备注
- 分类:`tools`
- 类型:`servicenow`

View File

@@ -109,10 +109,10 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
| `authMethod` | string | 否 | 认证方法oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 否 | 要读取消息的 Slack 频道(例如,#general |
| `userId` | string | 否 | DM 话的用户 ID例如U1234567890 |
| `limit` | number | 否 | 要检索的消息数量默认10最大100 |
| `oldest` | string | 否 | 时间范围的开始(时间戳) |
| `latest` | string | 否 | 时间范围结束(时间戳) |
| `userId` | string | 否 | DM 话的用户 ID例如U1234567890 |
| `limit` | number | 否 | 要检索的消息数量默认10最大15 |
| `oldest` | string | 否 | 时间范围始(时间戳) |
| `latest` | string | 否 | 时间范围结束(时间戳) |
#### 输出

View File

@@ -47,12 +47,13 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `projectId` | 字符串 | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | 字符串 | 是 | 要查询的 Supabase 表名 |
| `filter` | 字符串 | 否 | PostgREST 过滤条件 \(例如:"id=eq.123"\) |
| `orderBy` | 字符串 | 否 | 排序的列名 \(添加 DESC 表示降序\) |
| `limit` | 数字 | 否 | 返回的最大行数 |
| `apiKey` | 字符串 | | 您的 Supabase 服务角色密钥 |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要查询的 Supabase 表名 |
| `schema` | string | 否 | 要查询的数据库 schema \(默认public\)。用于访问其他 schema 下的表。|
| `filter` | string | 否 | PostgREST 过滤条件 \(例如:"id=eq.123"\) |
| `orderBy` | string | 否 | 排序的列名 \(添加 DESC 表示降序\) |
| `limit` | number | | 返回的最大行数 |
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
#### 输出
@@ -71,7 +72,8 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要插入数据的 Supabase 表名 |
| `data` | array | | 要插入的数据 \(对象数组或单个对象\) |
| `schema` | string | | 要插入的数据库 schema \(默认public\)。用于访问其他 schema 下的表。|
| `data` | array | 是 | 要插入的数据(对象数组或单个对象)|
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
#### 输出
@@ -91,7 +93,8 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要查询的 Supabase 表名 |
| `filter` | string | | PostgREST 筛选条件以找到特定行 \(例如:"id=eq.123"\) |
| `schema` | string | | 要查询的数据库 schema \(默认public\)。用于访问其他 schema 下的表。|
| `filter` | string | 是 | 用于查找特定行的 PostgREST 过滤条件 \(例如:"id=eq.123"\) |
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
#### 输出
@@ -110,9 +113,10 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要更新的 Supabase 表的名称 |
| `filter` | string | | 用于标识要更新行的 PostgREST 筛选条件 \(例如:"id=eq.123"\) |
| `data` | object | 是 | 要更新到匹配行的数据 |
| `table` | string | 是 | 要更新的 Supabase 表 |
| `schema` | string | | 要更新的数据库 schema \(默认public\)。用于访问其他 schema 下的表。|
| `filter` | string | 是 | PostgREST 筛选条件,用于定位要更新的行 \(例如:"id=eq.123"\) |
| `data` | object | 是 | 要在匹配行中更新的数据 |
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
#### 输出
@@ -131,8 +135,9 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要删除的 Supabase 表的名称 |
| `filter` | string | | 用于标识要删除行的 PostgREST 筛选条件 \(例如:"id=eq.123"\) |
| `table` | string | 是 | 要删除数据的 Supabase 表 |
| `schema` | string | | 要删除数据的数据库 schema \(默认public\)。用于访问其他 schema 下的表。|
| `filter` | string | 是 | PostgREST 筛选条件,用于定位要删除的行 \(例如:"id=eq.123"\) |
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
#### 输出
@@ -151,8 +156,9 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要插入或更新数据的 Supabase 表名 |
| `data` | array | | 要插入或更新的数据 \(插入或更新\) - 对象数组或单个对象 |
| `table` | string | 是 | 要 upsert 数据的 Supabase 表名 |
| `schema` | string | | 要 upsert 的数据库 schema \(默认public\)。用于访问其他 schema 下的表。|
| `data` | array | 是 | 要 upsert插入或更新的数据——对象数组或单个对象 |
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
#### 输出
@@ -172,6 +178,7 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要统计行数的 Supabase 表名 |
| `schema` | string | 否 | 要统计的数据库 schema \(默认public\)。用于访问其他 schema 下的表。 |
| `filter` | string | 否 | PostgREST 过滤条件 \(例如:"status=eq.active"\) |
| `countType` | string | 否 | 计数类型exact、planned 或 estimated \(默认exact\) |
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
@@ -193,8 +200,9 @@ Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Su
| --------- | ---- | -------- | ----------- |
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如jdrkgepadsdopsntdlom\) |
| `table` | string | 是 | 要搜索的 Supabase 表名 |
| `column` | string | | 要搜索的 |
| `query` | string | 是 | 搜索查询 |
| `schema` | string | | 要搜索的数据库 schema \(默认public\)。用于访问其他 schema 下的表。 |
| `column` | string | 是 | 搜索的列名 |
| `query` | string | 是 | 搜索查询内容 |
| `searchType` | string | 否 | 搜索类型plain、phrase 或 websearch \(默认websearch\) |
| `language` | string | 否 | 文本搜索配置的语言 \(默认english\) |
| `limit` | number | 否 | 返回的最大行数 |

View File

@@ -37,16 +37,19 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
#### 输入
| 参数 | 类型 | 必 | 描述 |
| 参数 | 类型 | 必 | 说明 |
| --------- | ---- | -------- | ----------- |
| `model` | string | 是 | 要使用的模型 \(例如gpt-4o、claude-sonnet-4-5、gemini-2.0-flash\) |
| `systemPrompt` | string | 否 | 设置助手行为的系统提示 |
| `context` | string | 是 | 发送给模型的用户消息或上下文 |
| `apiKey` | string | 否 | 提供的 API 密钥 \(如果未为托管模型提供,则使用平台密钥\) |
| `temperature` | number | 否 | 响应生成的温度 \(0-2\) |
| `maxTokens` | number | 否 | 响应的最大令牌数 |
| `azureEndpoint` | string | 否 | Azure OpenAI 端点 URL |
| `model` | string | 是 | 要使用的模型例如gpt-4o、claude-sonnet-4-5、gemini-2.0-flash |
| `systemPrompt` | string | 否 | 设置助手行为的 system prompt |
| `context` | string | 是 | 发送给模型的用户消息或上下文 |
| `apiKey` | string | 否 | 提供的 API key如未提供托管模型将使用平台密钥 |
| `temperature` | number | 否 | 响应生成的 temperature0-2 |
| `maxTokens` | number | 否 | 响应的最大 tokens 数 |
| `azureEndpoint` | string | 否 | Azure OpenAI endpoint URL |
| `azureApiVersion` | string | 否 | Azure OpenAI API 版本 |
| `vertexProject` | string | 否 | Vertex AI 的 Google Cloud 项目 ID |
| `vertexLocation` | string | 否 | Vertex AI 的 Google Cloud 区域(默认为 us-central1 |
| `vertexCredential` | string | 否 | Vertex AI 的 Google Cloud OAuth 凭证 ID |
#### 输出

View File

@@ -5,7 +5,6 @@ title: 计划
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'
计划模块会在指定的时间间隔或时间点自动触发工作流。
@@ -21,67 +20,58 @@ import { Video } from '@/components/ui/video'
## 计划选项
通过下拉选项配置工作流的运行时间:
配置工作流的运行时间:
<Tabs items={['简单间隔', 'Cron 表达式']}>
<Tab>
<ul className="list-disc space-y-1 pl-6">
<li><strong>每隔几分钟</strong>5 分钟、15 分钟、30 分钟的间隔</li>
<li><strong>每小时</strong>:每小时或每隔几小时</li>
<li><strong>每天</strong>:每天一次或多次</li>
<li><strong>每周</strong>一周中的特定日子</li>
<li><strong>每月</strong>一个月中的特定日子</li>
<li><strong>每 X 分钟</strong>按分钟间隔运行1-1440</li>
<li><strong>每小时</strong>:每小时在指定的分钟运行</li>
<li><strong>每天</strong>:每天在指定时间运行</li>
<li><strong>每周</strong>每周在指定的星期和时间运行</li>
<li><strong>每月</strong>每月在指定的日期和时间运行</li>
</ul>
</Tab>
<Tab>
<p>使用 cron 表达式进行高级调度:</p>
<div className="text-sm space-y-1">
<div><code>0 9 * * 1-5</code> - 每个工作日的上午 9 点</div>
<div><code>*/15 * * * *</code> - 每 15 分钟</div>
<div><code>*/15 * * * *</code> - 每 15 分钟一次</div>
<div><code>0 0 1 * *</code> - 每月的第一天</div>
</div>
</Tab>
</Tabs>
## 配置计划
## 启用
当工作流被计划时
- 计划变为**激活**状态,并显示下次执行时间
- 点击 **"已计划"** 按钮以停用计划
- 计划在 **连续失败 3 次** 后会自动停用
计划与工作流部署相关联
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-2.png"
alt="活动计划块"
width={500}
height={400}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="停用的计划"
width={500}
height={350}
className="my-6"
/>
</div>
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="禁用计划"
width={500}
height={400}
className="my-6"
/>
</div>
已禁用的计划会显示上次激活的时间。点击 **"已禁用"** 徽章以重新激活计划。
- **部署工作流** → 计划激活并开始运行
- **取消部署工作流** → 计划被移除
- **重新部署工作流** → 计划会以当前配置重新创建
<Callout>
计划块无法接收传入连接,仅作为纯工作流触发器
必须先部署工作流,计划才会开始运行。请先配置计划块,然后在工具栏中部署
</Callout>
## 自动禁用
计划在连续 **10 次失败** 后会自动禁用,以防止错误持续发生。禁用后:
- 计划块上会显示警告徽章
- 计划将停止执行
- 点击徽章可重新激活计划
<div className="flex justify-center">
<Image
src="/static/blocks/schedule-3.png"
alt="已禁用的计划"
width={500}
height={400}
className="my-6"
/>
</div>
<Callout>
计划块无法接收传入连接,只能作为工作流的入口点。
</Callout>

View File

@@ -217,19 +217,21 @@ checksums:
content/9: cbca5d806da167603e38e7dc90344e57
fb53ce2c1fc28db4c6c09f5296ff59c6:
meta/title: a75428cb811bc50150cecde090a3a0d5
content/0: c0a142478cc5c515f87d368fa72da818
content/0: e4684b7201c2aed215c82606e9eaa293
content/1: 3fcad3dff5044fbf0c734bab806c437e
content/2: 7c82b7d111a2517b08861c4c0e71eff9
content/3: 1ed1a03c7f922f4b1437594f34ea2afb
content/4: ca43f34465308970910b39fa073e10ec
content/5: f67fd398c98884cf0829682dca6d5d91
content/6: 72a5feaa2b80a1f22d224e311a0e4efe
content/7: 62261cedf5fff6a13220f3f0b6de661b
content/8: e58bf5c8afb239f2606ec5dfba30fc2f
content/9: 35840d3d91271d11c9449e7f316ff280
content/10: 2ff1c8bf00c740f66bce8a4a7f768ca8
content/11: 909f57e2475676b16d90b6605cd3ff43
content/12: 8f5b5d43297c4ff114ca49395878292b
content/4: d34ebf41fb97810c8398b4064520bd7b
content/5: 5025a2d2e9eadc2b91f323b2862b0a1a
content/6: 913f67efd4923e0f70e29640405e34d2
content/7: a706670c6362a1b723ccc3d6720ad6af
content/8: ab4fe131de634064f9a7744a11599434
content/9: 2f6c9564a33ad9f752df55840b0c8e16
content/10: fef34568e5bbd5a50e2a89412f85302c
content/11: b7ae0ecf6fbaa92b049c718720e4007e
content/12: bcd95e6bef30b6f480fee33800928b13
content/13: 2ff1c8bf00c740f66bce8a4a7f768ca8
content/14: 16eb64906b9e981ea3c11525ff5a1c2e
73129cc41f543288d67924faea3172db:
meta/title: 8cbe02c3108a0dbe0586dbc18db04efe
meta/description: 9540ac7731cebd594afa4ce2fb59ab9d
@@ -557,7 +559,7 @@ checksums:
content/8: 6325adefb6e1520835225285b18b6a45
content/9: b7fa85fce9c7476fe132df189e27dac1
content/10: 371d0e46b4bd2c23f559b8bc112f6955
content/11: 985f435f721b00df4d13fa0a5552684c
content/11: a34c59648e0f7218a8e9b72c333366fb
content/12: bcadfc362b69078beee0088e5936c98b
content/13: 6af66efd0da20944a87fdb8d9defa358
content/14: b3f310d5ef115bea5a8b75bf25d7ea9a
@@ -698,49 +700,49 @@ checksums:
content/11: 04bd9805ef6a50af8469463c34486dbf
content/12: a3671dd7ba76a87dc75464d9bf9b7b4b
content/13: 371d0e46b4bd2c23f559b8bc112f6955
content/14: 319b69dde6e263f38497a0a84dc58e60
content/14: 80578981b8b3a1cf579e52ff05e7468d
content/15: bcadfc362b69078beee0088e5936c98b
content/16: 09ed43219d02501c829594dbf4128959
content/17: 88ae2285d728c80937e1df8194d92c60
content/18: cb8a6d5bf54beed29f0809f80b27648d
content/19: 371d0e46b4bd2c23f559b8bc112f6955
content/20: cdbe4726ca8dd4bb6a013055e14117f5
content/20: 3212d5f414ea8ad920385eff8b18e61a
content/21: bcadfc362b69078beee0088e5936c98b
content/22: 5c59a9fe4d16c81655acd350d08a052e
content/23: 7d96d99e45880195ccbd34bddaac6319
content/24: 75d05f96dff406db06b338d9ab8d0bd7
content/25: 371d0e46b4bd2c23f559b8bc112f6955
content/26: c5aa1613dc223a1c4348732b24c13e8b
content/26: cfd801fa517b4bcfa5fa034b2c4e908a
content/27: bcadfc362b69078beee0088e5936c98b
content/28: a0284632eb0a15e66f69479ec477c5b1
content/29: b1e60734e590a8ad894a96581a253bf4
content/30: bebedc0826cdad098631d8090379501e
content/31: 371d0e46b4bd2c23f559b8bc112f6955
content/32: 017a5d7255b0b029754d91c0c4063a15
content/32: d1ac6e1bb29969a317cb9b98bbd3bf5e
content/33: bcadfc362b69078beee0088e5936c98b
content/34: 31a3025a3f0b9f7348f8c0b45a47d1dd
content/35: 9378daf3cd90dde934d19068f626e262
content/36: 65b3f733c34d0adb46e689c95980a45f
content/37: 371d0e46b4bd2c23f559b8bc112f6955
content/38: 35e18d7355312276b6706a79cdb4bb98
content/38: 2308dbb1aa8b94869e61aa991dc1182a
content/39: bcadfc362b69078beee0088e5936c98b
content/40: ebebd366813cd5cfb35e70121ab97565
content/41: 16f5fe78076e326d643c194312c730a5
content/42: 5d1098c4ada4a79ade1464bd8853fc9e
content/43: 371d0e46b4bd2c23f559b8bc112f6955
content/44: b37f6692238f3a45bfcf106f0d192b21
content/44: 39557f0370b8aa3677ee69977a78cb5d
content/45: bcadfc362b69078beee0088e5936c98b
content/46: 1788748095a805b62a0e21403789dad7
content/47: 0c504770bfe726a98df3e3fadeaf7640
content/48: 5673ae2a352e532a43b65322df0d33a8
content/49: 371d0e46b4bd2c23f559b8bc112f6955
content/50: 479fb8fb1b760e9a045b375aabfb1a45
content/50: f2e7eefa05af1e373a3c667164b00276
content/51: bcadfc362b69078beee0088e5936c98b
content/52: 72f3fd98f52ec42be8a95a019d74c253
content/53: 14db7775b92dc99c54d1fd5497d298ca
content/54: f84723b1195268ffc05970b701bf866a
content/55: 371d0e46b4bd2c23f559b8bc112f6955
content/56: 90c244b243ef73e8d08cc6265ff61445
content/56: 826a89366439187745611f2080d6ddd1
content/57: bcadfc362b69078beee0088e5936c98b
content/58: f1735da5af62123df5e5345ab834b2fa
content/59: dd231637d3d327f0daf546fe92594ac6
@@ -903,7 +905,7 @@ checksums:
content/24: 228a8ece96627883153b826a1cbaa06c
content/25: 53abe061a259c296c82676b4770ddd1b
content/26: 371d0e46b4bd2c23f559b8bc112f6955
content/27: 03e8b10ec08b354de98e360b66b779e3
content/27: 5b9546f77fbafc0741f3fc2548f81c7e
content/28: bcadfc362b69078beee0088e5936c98b
content/29: b82def7d82657f941fbe60df3924eeeb
content/30: 1ca7ee3856805fa1718031c5f75b6ffb
@@ -1896,25 +1898,25 @@ checksums:
content/5: b061763378e5f0aca9a25f819d03961d
content/6: 75972cfff5aa2f1d4c24f2a1c867cfb7
content/7: 371d0e46b4bd2c23f559b8bc112f6955
content/8: 8579c5fe58782fed019acfd5019c515e
content/8: deb556a0ce8537461dd58a02e584d808
content/9: bcadfc362b69078beee0088e5936c98b
content/10: 467bff9c1a90c96930d1b05286dd4bf8
content/11: ba06fa96a9fe3d308546a32490e5a8d8
content/12: 58490686b3358445d2fa89e8a048fb51
content/12: 8461d1c991d4c595a64940dc51b130e5
content/13: 371d0e46b4bd2c23f559b8bc112f6955
content/14: 9acf9c7ac7b83db796a143abc8f8de0f
content/14: 72895fa081d39eec0bdf7877fd53580e
content/15: bcadfc362b69078beee0088e5936c98b
content/16: d4ac7483993edc4308e6034d4bd551bd
content/16: 8a2c3d0b818f57012cb3d2e50d2dd05d
content/17: e13dff194d0bc1cecec833cb9805ceaa
content/18: 8813ba0bc9fbf636f3a38e59667df896
content/19: 371d0e46b4bd2c23f559b8bc112f6955
content/20: d71b6bb8e2dd6ce98101aec6a1dd77f2
content/21: bcadfc362b69078beee0088e5936c98b
content/22: d2f04b0f593a08f7656e7431a6b4e5e5
content/22: 7b17554ad765c6283fc5fe6c29b9cc77
content/23: 9eebc263273839cc24231b56fd90b71d
content/24: 9acb060c11b48ae498d55aceb053b996
content/24: c442d573aaae976f5fab534388cee115
content/25: 371d0e46b4bd2c23f559b8bc112f6955
content/26: 707c54d664fcfc307cea6027721b940b
content/26: 2bb55f4566a06bedea778f010f093d19
content/27: bcadfc362b69078beee0088e5936c98b
content/28: b48618ae66e09c34074972d091ceaef0
content/29: b3f310d5ef115bea5a8b75bf25d7ea9a
@@ -2521,9 +2523,9 @@ checksums:
content/22: ef92d95455e378abe4d27a1cdc5e1aed
content/23: febd6019055f3754953fd93395d0dbf2
content/24: 371d0e46b4bd2c23f559b8bc112f6955
content/25: 7ef3f388e5ee9346bac54c771d825f40
content/25: caf6acbe2a4495ca055cb9006ce47250
content/26: bcadfc362b69078beee0088e5936c98b
content/27: e0fa91c45aa780fc03e91df77417f893
content/27: 57662dd91f8d1d807377fd48fa0e9142
content/28: b463f54cd5fe2458b5842549fbb5e1ce
content/29: 55f8c724e1a2463bc29a32518a512c73
content/30: 371d0e46b4bd2c23f559b8bc112f6955
@@ -2638,8 +2640,14 @@ checksums:
content/139: 33fde4c3da4584b51f06183b7b192a78
content/140: bcadfc362b69078beee0088e5936c98b
content/141: b7451190f100388d999c183958d787a7
content/142: b3f310d5ef115bea5a8b75bf25d7ea9a
content/143: 4930918f803340baa861bed9cdf789de
content/142: d0f9e799e2e5cc62de60668d35fd846f
content/143: b19069ff19899fe202217e06e002c447
content/144: 371d0e46b4bd2c23f559b8bc112f6955
content/145: 480fd62f8d9cc18467e82f4c3f70beea
content/146: bcadfc362b69078beee0088e5936c98b
content/147: 4e73a65d3b873f3979587e10a0f39e72
content/148: b3f310d5ef115bea5a8b75bf25d7ea9a
content/149: 4930918f803340baa861bed9cdf789de
8f76e389f6226f608571622b015ca6a1:
meta/title: ddfe2191ea61b34d8b7cc1d7c19b94ac
meta/description: 049ff551f2ebabb15cdea0c71bd8e4eb
@@ -2658,7 +2666,7 @@ checksums:
content/12: 371d0e46b4bd2c23f559b8bc112f6955
content/13: 6ad8fcd98fc25eab726d05f9e9ccc6a4
content/14: bcadfc362b69078beee0088e5936c98b
content/15: 0ac8cd06fceaf16c960de79f7df987ee
content/15: 1eb58de69f18ba555d7f349fed365de5
content/16: c340d51e1b2d05b9b68a79baa8e9481a
content/17: 64d5a97527775c7bfcdcbb418a10ea35
content/18: 371d0e46b4bd2c23f559b8bc112f6955
@@ -4401,26 +4409,29 @@ checksums:
content/9: 072b097db5f884122f323c5d8386671c
content/10: 58882acf2056c9e54e27f38f1203f0cd
content/11: 68d81199ca72ece1c31474f5729f98cd
content/12: d152f1dcd6cd068be14a7ae05afd216e
content/13: bf918d2d9b62a9ab640371cea0629c28
content/14: 9b2ebe8a9c3efa9f14c35f6d71a7a274
content/15: fcc7c89bc4c545daecba16f986165f9e
content/16: 395dc70853e0c9ca156db72f3156ae36
content/17: b5b3cc0a48c0f06fa4c475544be4a0e6
content/18: 462ac511233020ce80369b6f834387bf
content/19: cad571a6ce02e0807c5c23699b115c17
content/20: 50251a58c6c1b448dc9a9ed65d7db7aa
content/21: 791148e6bad524eb53286aeea5ddbf24
content/22: ec70f2b34ad4b3839ff42a76c0378655
content/23: dd4d559eba1a9c83a9166bc491d2b2ac
content/24: 6b0f081f8453c427f3b3720d44e62857
content/25: 84dc89f2666e7201c72c258cb4c4e2d0
content/26: 4ae642d59321118a88ebf4ce8751c05a
content/27: 4703a7028a16d9e716631be2a49c72bb
content/28: d1c7c19aae4736f403b0df60cb6e48a4
content/29: 9e5a786192608844493dfbb6e4100886
content/30: 8961e5fb3a49bb48580b23dfd5e053c6
content/31: 1022391b9b79b1d2e9f8db789f9c50a2
content/12: 95cb1a1f36f0e562d85e0e54f0f439ba
content/13: ddaad9625d2ed0f4ec1b96094e7ec7c0
content/14: a050d81709025cb6c6c72619c80219c5
content/15: 8a7329562f5f1324f94ae0bc9b2b3853
content/16: bf918d2d9b62a9ab640371cea0629c28
content/17: 9b2ebe8a9c3efa9f14c35f6d71a7a274
content/18: fcc7c89bc4c545daecba16f986165f9e
content/19: 395dc70853e0c9ca156db72f3156ae36
content/20: b5b3cc0a48c0f06fa4c475544be4a0e6
content/21: 462ac511233020ce80369b6f834387bf
content/22: cad571a6ce02e0807c5c23699b115c17
content/23: 50251a58c6c1b448dc9a9ed65d7db7aa
content/24: 791148e6bad524eb53286aeea5ddbf24
content/25: ec70f2b34ad4b3839ff42a76c0378655
content/26: dd4d559eba1a9c83a9166bc491d2b2ac
content/27: 6b0f081f8453c427f3b3720d44e62857
content/28: 84dc89f2666e7201c72c258cb4c4e2d0
content/29: 4ae642d59321118a88ebf4ce8751c05a
content/30: 4703a7028a16d9e716631be2a49c72bb
content/31: d1c7c19aae4736f403b0df60cb6e48a4
content/32: 9e5a786192608844493dfbb6e4100886
content/33: 8961e5fb3a49bb48580b23dfd5e053c6
content/34: 1022391b9b79b1d2e9f8db789f9c50a2
3fd794279590b9d143d409252c8bcf91:
meta/title: 439cb79e8dfd7923d35b85cfbb6fd201
content/0: dc697d1a69b3cb0152fda60b44bc7da1
@@ -4561,48 +4572,50 @@ checksums:
content/10: d19c8c67f52eb08b6a49c0969a9c8b86
content/11: 4024a36e0d9479ff3191fb9cd2b2e365
content/12: 0396a1e5d9548207f56e6b6cae85a542
content/13: e3e263fb516c8a5413e94064e7700410
content/14: 41bbe0664b778cddce4e14055f6342a9
content/15: 8a274099c74e6b8dac89b8c413601d98
content/16: 55cac8cbd4373a3d1b51c8bbc536a7ce
content/17: 8159087a0aa1e5967545fa6ce86ec5f4
content/13: 4bfdeac5ad21c75209dcdfde85aa52b0
content/14: 35df9a16b866dbe4bb9fc1d7aee42711
content/15: 135c044066cea8cc0e22f06d67754ec5
content/16: 6882b91e30548d7d331388c26cf2e948
content/17: 29aed7061148ae46fa6ec8bcbc857c3d
content/18: e0571c88ea5bcd4305a6f5772dcbed98
content/19: 83fc31418ff454a5e06b290e3708ef32
content/20: 4392b5939a6d5774fb080cad1ee1dbb8
content/21: 890b65b7326a9eeef3933a8b63f6ccdd
content/22: 892d6a80d8ac5a895a20408462f63cc5
content/23: 930176b3786ebbe9eb1f76488f183140
content/24: 22d9d167630c581e868d6d7a9fdddbcf
content/25: d250621762d63cd87b3359236c95bdac
content/26: 50be8ae73b8ce27de7ddd21964ee29e8
content/27: cd622841b5bc748a7b2a0d9252e72bd5
content/28: 38608a5d416eb33f373c6f9e6bf546b9
content/29: 074c12c794283c3af53a3f038fbda2a6
content/30: 5cdcf7e32294e087612b77914d850d26
content/31: 7529829b2f064fedf956da639aaea8e1
content/32: 7b5e2207a0d93fd434b92f2f290a8dd5
content/33: f950b8f58af1973a3e00393d860bce02
content/34: d5ff07fec9455183e1d93f7ddf1dab1b
content/35: 5d2d85e082d9fdd3859fb5c788d5f9a3
content/36: 23a7de9c5adb6e07c28c23a9d4e03dc2
content/37: 7bb928aba33a4013ad5f08487da5bbf9
content/38: dbbf313837f13ddfa4a8843d71cb9cc4
content/39: cf10560ae6defb8ee5da344fc6509f6e
content/40: c5dc6e5de6e45b17ee1f5eb567a18e2f
content/41: 332dab0588fb35dabb64b674ba6120eb
content/42: 714b3f99b0a8686bbb3434deb1f682b3
content/43: ba18ac99184b17d7e49bd1abdc814437
content/44: bed2b629274d55c38bd637e6a28dbc4a
content/45: 71487ae6f6fb1034d1787456de442e6d
content/46: 137d9874cf5ec8d09bd447f224cc7a7c
content/47: 6b5b4c3b2f98b8fc7dd908fef2605ce8
content/48: 3af6812662546ce647a55939241fd88e
content/49: 6a4d7f0ccb8c28303251d1ef7b3dcca7
content/50: 5dce779f77cc2b0abf12802a833df499
content/51: aa47ff01b631252f024eaaae0c773e42
content/52: 1266d1c7582bb617cdef56857be34f30
content/53: c2cef2688104adaf6641092f43d4969a
content/54: 089fc64b4589b2eaa371de7e04c4aed9
content/22: ada515cf6e2e0f9d3f57f720f79699d3
content/23: 332e0d08f601da9fb56c6b7e7c8e9daf
content/24: 892d6a80d8ac5a895a20408462f63cc5
content/25: 930176b3786ebbe9eb1f76488f183140
content/26: 22d9d167630c581e868d6d7a9fdddbcf
content/27: d250621762d63cd87b3359236c95bdac
content/28: 50be8ae73b8ce27de7ddd21964ee29e8
content/29: cd622841b5bc748a7b2a0d9252e72bd5
content/30: 38608a5d416eb33f373c6f9e6bf546b9
content/31: 074c12c794283c3af53a3f038fbda2a6
content/32: 5cdcf7e32294e087612b77914d850d26
content/33: 7529829b2f064fedf956da639aaea8e1
content/34: 7b5e2207a0d93fd434b92f2f290a8dd5
content/35: f950b8f58af1973a3e00393d860bce02
content/36: d5ff07fec9455183e1d93f7ddf1dab1b
content/37: 5d2d85e082d9fdd3859fb5c788d5f9a3
content/38: 23a7de9c5adb6e07c28c23a9d4e03dc2
content/39: 7bb928aba33a4013ad5f08487da5bbf9
content/40: dbbf313837f13ddfa4a8843d71cb9cc4
content/41: cf10560ae6defb8ee5da344fc6509f6e
content/42: 1dea5c6442c127ae290185db0cef067b
content/43: 332dab0588fb35dabb64b674ba6120eb
content/44: 714b3f99b0a8686bbb3434deb1f682b3
content/45: ba18ac99184b17d7e49bd1abdc814437
content/46: bed2b629274d55c38bd637e6a28dbc4a
content/47: 71487ae6f6fb1034d1787456de442e6d
content/48: 137d9874cf5ec8d09bd447f224cc7a7c
content/49: 6b5b4c3b2f98b8fc7dd908fef2605ce8
content/50: 3af6812662546ce647a55939241fd88e
content/51: 6a4d7f0ccb8c28303251d1ef7b3dcca7
content/52: 5dce779f77cc2b0abf12802a833df499
content/53: aa47ff01b631252f024eaaae0c773e42
content/54: 1266d1c7582bb617cdef56857be34f30
content/55: c2cef2688104adaf6641092f43d4969a
content/56: 089fc64b4589b2eaa371de7e04c4aed9
722959335ba76c9d0097860e2ad5a952:
meta/title: 1f5b53b9904ec41d49c1e726e3d56b40
content/0: c2b41859d63a751682f0d9aec488e581
@@ -4811,9 +4824,9 @@ checksums:
content/19: 85547efea8ae0e8170ac4e2030f6be25
content/20: 25c56dcdc4af1516c3fbf9d82d96b48d
content/21: 56dbe63da14a319cd520ab1615c94be7
content/22: e092cde0c92ef09c642a62636e7e3ae3
content/22: e039f6c905c8aa148cc3e7af19f05239
content/23: c7004f5db8f7134d7e3a36a1916691a2
content/24: bbc26961050b132b9bc4f14ba11f407a
content/24: 26555018b90fc8fb3ac65cece15f3966
content/25: 56dbe63da14a319cd520ab1615c94be7
content/26: 3e835ecc38acf2c76179034360d41670
content/27: a13bbc3dac7388e1ef4e9cbafdcc8241
@@ -47151,7 +47164,7 @@ checksums:
content/9: b037aed60eb91ac0b010b6c1ce1a1a70
content/10: b1c4181c4bc75edd5dfa188bcdd3b6c4
content/11: 371d0e46b4bd2c23f559b8bc112f6955
content/12: a830a7e59569945973febaed7634fcf8
content/12: a71a30e9f91c10daf481ea8f542e91f6
content/13: bcadfc362b69078beee0088e5936c98b
content/14: 59c08999f9c404330ebd8f8a7d21e1a1
content/15: 49d191d312481589419c68a5506b0d71
@@ -47163,7 +47176,7 @@ checksums:
content/21: 2e70c0a22a98675a13b493b9761ff92f
content/22: 107f6e51a1e896ee4d18f8ed4f82c50f
content/23: 371d0e46b4bd2c23f559b8bc112f6955
content/24: 3a9d07c3ebf40ef00a67fb694dfbcf97
content/24: e506fbf4b80deecb3b44b29b8dc3438b
content/25: bcadfc362b69078beee0088e5936c98b
content/26: a9096a341b00ce4f4891daaca2586d1c
content/27: 934a0124aa2118682b2b17fa258ff06a
@@ -47175,7 +47188,7 @@ checksums:
content/33: 1a1e332b525e86f7fd92f9da1ac0096c
content/34: 00098e1591c0f80ef6287d934d391409
content/35: 371d0e46b4bd2c23f559b8bc112f6955
content/36: 991ec136b689e0dc95719260a0cef14a
content/36: e52688ff2fa61ce71026f33930e1ec86
content/37: bcadfc362b69078beee0088e5936c98b
content/38: d84fb23e5dfc9d41a177acd7dfb28e72
content/39: 17be090a79154f557bc96f940c687aea
@@ -47187,7 +47200,7 @@ checksums:
content/45: c76943404f9c8d34a85e6315359ed0c4
content/46: b5e111e430aa1c929fb07d5844bf65eb
content/47: 371d0e46b4bd2c23f559b8bc112f6955
content/48: 3e3ced1f6eb6c0ef39098531beb12598
content/48: 6692edffddc28d3c64974ded23d1def2
content/49: bcadfc362b69078beee0088e5936c98b
content/50: dbc08cce26f9565e719891bbbf4632a9
content/51: d0ce65f5420745c45ab42b7edd135bf4
@@ -47199,37 +47212,37 @@ checksums:
content/57: 440f2732ad006bee8cccc975fdbf673a
content/58: 7a7048c54763b0109643f37e583381ce
content/59: 371d0e46b4bd2c23f559b8bc112f6955
content/60: 5672a02f72bdb165f91b43e4ad24c4a9
content/60: 11ad0a529a7fcc5892ae811cde6894f6
content/61: bcadfc362b69078beee0088e5936c98b
content/62: c7055d8ce044e49929d4f005a28d7c0a
content/63: 2d7bad4340c1bc6a28e836e180e26c00
content/64: 576dbecf29644e7abf59d25ffda5728c
content/65: 371d0e46b4bd2c23f559b8bc112f6955
content/66: 61a490d594e10484da99d6b0e8ee684d
content/66: 59015900ce6b64caff0784491ec59ff9
content/67: bcadfc362b69078beee0088e5936c98b
content/68: 2f225a893086726db6b6a994cc8a5e3c
content/69: 63cbf703cf33e0fee06f12fb23184352
content/70: dae1fda5ec57e1b598a7e2596007a775
content/71: 371d0e46b4bd2c23f559b8bc112f6955
content/72: 7f00464f8e9368368ed1104fba516e5d
content/72: 757f42df5247f2e6684ab32888d30e11
content/73: bcadfc362b69078beee0088e5936c98b
content/74: 380f805a5118dd4957f4fcce41e01b86
content/75: 935f1a713d05f32d3d826434a7e715ee
content/76: e505d8f656fb6e3b65a98cb73d744598
content/77: 371d0e46b4bd2c23f559b8bc112f6955
content/78: e218c4f319e6a6a50c0535d3ee5e8fcf
content/78: 2e77859b0f2c89186fc6a2d51287ea47
content/79: bcadfc362b69078beee0088e5936c98b
content/80: 22bd99d5b844817b808b9d0d3baddac4
content/81: e959b48af94a559e9c46cbd7653d2dd2
content/82: 5e3c04c5a9fabfceb7fcc00215f93bf9
content/83: 371d0e46b4bd2c23f559b8bc112f6955
content/84: 8382a2ecb67d09244a2f004e098e0b46
content/84: a92b2a22061ee6fd453af32e0155f5aa
content/85: bcadfc362b69078beee0088e5936c98b
content/86: d84fb23e5dfc9d41a177acd7dfb28e72
content/87: c886f11a0852010b90a1032b97118920
content/88: c60c832c08f9e1ff5f91565bf4ba549e
content/89: 371d0e46b4bd2c23f559b8bc112f6955
content/90: 9019e9ff616caa381458fe1526c87840
content/90: 1545794f4e8e696db96c3b660de684ec
content/91: bcadfc362b69078beee0088e5936c98b
content/92: 573530e346d195727862b03b380f40fc
content/93: 3d31dedf076ec23547189a3eb5fe04c4
@@ -47241,7 +47254,7 @@ checksums:
content/99: e1a03f917ad8b0a1ebec9a601aa3eede
content/100: 3aa857b8f85da07ee2d87e65c95b76d0
content/101: 371d0e46b4bd2c23f559b8bc112f6955
content/102: c9e677ff65fd547dffa46b9c517402ac
content/102: cc49a24c087d08717866a162cc47776c
content/103: bcadfc362b69078beee0088e5936c98b
content/104: c6d621ee3cdc66de2c20b70a39aafe12
content/105: b3f310d5ef115bea5a8b75bf25d7ea9a
@@ -49822,3 +49835,122 @@ checksums:
content/472: dbc5fceeefb3ab5fa505394becafef4e
content/473: b3f310d5ef115bea5a8b75bf25d7ea9a
content/474: 27c398e669b297cea076e4ce4cc0c5eb
9a28da736b42bf8de55126d4c06b6150:
meta/title: 418d5c8a18ad73520b38765741601f32
meta/description: 41cb31abf94297849fb8a4023cf0211d
content/0: 1b031fb0c62c46b177aeed5c3d3f8f80
content/1: e72670f88454b5b1c955b029de5fa8b5
content/2: d586e5af506d99add847369c0accfb4d
content/3: a2ce9ed4954ab55bcebed927cec8e890
content/4: 5fc7b723a6adcf201e8deb3f5ed9a9e3
content/5: a78981875c359a3343f26ed4d115f899
content/6: 821e6394b0a953e2b0842b04ae8f3105
content/7: 56a538eaccb1158fb1f7a01cc32f7331
content/8: 9c8aa3f09c9b2bd50ea4cdff3598ea4e
content/9: 263633aee6db9332de806ae50d87de05
content/10: 5a7e2171e5f73fec5eae21a50e5de661
content/11: 371d0e46b4bd2c23f559b8bc112f6955
content/12: 5905ef5d0db0354c08394acb0b5cda4b
content/13: bcadfc362b69078beee0088e5936c98b
content/14: d81ef802f80143282cf4e534561a9570
content/15: 02233e6212003c1d121424cfd8b86b62
content/16: efe2c6dd368708de68a1addbfdb11b0c
content/17: 371d0e46b4bd2c23f559b8bc112f6955
content/18: 2722e8bee100e7bc4590fa02710e9508
content/19: bcadfc362b69078beee0088e5936c98b
content/20: 953f353184dc27db1f20156db2a9ad90
content/21: 2011e87d0555cd0ab133ef2d35e7a37b
content/22: dbf08acb413d845ec419e45b1f986bdb
content/23: 371d0e46b4bd2c23f559b8bc112f6955
content/24: afc35de2990ed0e9bb8f98dc1b9609ce
content/25: bcadfc362b69078beee0088e5936c98b
content/26: c06a5bb458242baa23d34957034c2fe7
content/27: ff043e912417bc29ac7c64520160c07d
content/28: 9c2175ab469cb6ff9e62bc8bdcf7621d
content/29: 371d0e46b4bd2c23f559b8bc112f6955
content/30: 20e6bddad8e7f34a3d09e5b0c5678c13
content/31: bcadfc362b69078beee0088e5936c98b
content/32: fd0f38eb3fe5cf95be366a4ff6b4fb90
content/33: b3f310d5ef115bea5a8b75bf25d7ea9a
content/34: 4a7b2c644e487f3d12b6a6b54f8c6773
d75b83c6e1f54ba41b8cd27960256f4e:
meta/title: 63d9b961cc414fe48ed3a117b1849ac0
meta/description: 0828295c4f8482d4ab18ae67cefb3efa
content/0: 1b031fb0c62c46b177aeed5c3d3f8f80
content/1: ce93512e241ca1ac9723d797d937e8d6
content/2: 4539a8e7b9a0b8c570e8b2261e6d53e8
content/3: 05d783b8313bd21464edbc35f72acda7
content/4: aadfc263ce44fb67b5ec899cf7034707
content/5: 7feedc49fa38d45979f4ae3685e2a2e8
content/6: 6d8ac64adb588d4675e8ad779861cf79
content/7: 9b55ef7d0cb63e28ac9aa5b71ca5611e
content/8: 821e6394b0a953e2b0842b04ae8f3105
content/9: 3e3c921ad486b0390454b325a0ecab98
content/10: 9c8aa3f09c9b2bd50ea4cdff3598ea4e
content/11: 3e12916db64b7037df05c733542689b8
content/12: bf76a8fa5e9be0ad03d4a25fc1cd5d2c
content/13: 371d0e46b4bd2c23f559b8bc112f6955
content/14: 7476e5130f17fef0005e9eb79a288a4b
content/15: bcadfc362b69078beee0088e5936c98b
content/16: 921522dc74bcfe253933280a44e32325
content/17: 5c91a98c8c182a86561bdc2bb55d52fb
content/18: 5a003869e25c931a6a39e75f1fbb331e
content/19: 371d0e46b4bd2c23f559b8bc112f6955
content/20: c03a1ad5898fb9592c47f9fef3a443f9
content/21: bcadfc362b69078beee0088e5936c98b
content/22: 966dd802eb6aa5f8a6d37be800aa0476
content/23: d7f931ee4088a41234a19dbc070bbb06
content/24: b7a5a66f81700ac0f58f0f417a090db1
content/25: 371d0e46b4bd2c23f559b8bc112f6955
content/26: 8dddce76764cf0050ac4f8cb88cbf3b7
content/27: bcadfc362b69078beee0088e5936c98b
content/28: b30efde22ffd4646ac11e1b7053b2f71
content/29: e12dd4d7b99e7c7038b8935f48fbed29
content/30: fd9b29ad276abb6ffbb5350d71fb174a
content/31: 371d0e46b4bd2c23f559b8bc112f6955
content/32: 2e9928cbf2e736fc61f08d4339ccae59
content/33: bcadfc362b69078beee0088e5936c98b
content/34: 99b063108e07f3350f6ec02ce632d682
content/35: c1d1369970a7430014aa1f70a75e1b56
content/36: 25adb991028a92365272704d5921c0fe
content/37: 371d0e46b4bd2c23f559b8bc112f6955
content/38: 2e9928cbf2e736fc61f08d4339ccae59
content/39: bcadfc362b69078beee0088e5936c98b
content/40: 852dffd5402c58c35f6abfd6b8046585
content/41: 66a326fe86b5ff7c12f097bae8917018
content/42: a58bde3efd6164d3541047bd97cee6fe
content/43: 371d0e46b4bd2c23f559b8bc112f6955
content/44: 1c98f5538b8b37801da7f5e8c5912219
content/45: bcadfc362b69078beee0088e5936c98b
content/46: a84d2702883c8af99a401582e2192d39
content/47: e3dd3df817017359361432029b0c5ef1
content/48: 557fb6942a695af69e94fbd7692590e6
content/49: 371d0e46b4bd2c23f559b8bc112f6955
content/50: 2e9928cbf2e736fc61f08d4339ccae59
content/51: bcadfc362b69078beee0088e5936c98b
content/52: 69a6fbea11482ab284195984788c9710
content/53: dafa30ae47d52c901b756bd8bd0ae2fd
content/54: 70e8dcde230d0cd4a9b7b18c8df043cd
content/55: 371d0e46b4bd2c23f559b8bc112f6955
content/56: 97a4116e8509aede52ea1801656a7671
content/57: bcadfc362b69078beee0088e5936c98b
content/58: 2b73b3348aa37da99e35d12e892197f2
content/59: b3f310d5ef115bea5a8b75bf25d7ea9a
content/60: 11e67a936d6e434842446342f83b5289
753fe021f7c0fca8dc429f2e971fae5a:
meta/title: b3498307d692252f1286175a18b62e16
meta/description: 5f52444a2ad126633723bb44d06e7638
content/0: 1b031fb0c62c46b177aeed5c3d3f8f80
content/1: 28c5925266bfcf8a373b0490f6e63c8c
content/2: 76482724500904d534bc171470aa5594
content/3: 5e43b6ea89ab6aa913524b5db4c4f2f3
content/4: aa6b3680f93d09752072d278d8d3e6bb
content/5: 49686bd2f0af8b45071a5e11a47df85e
content/6: 4fcff29464aac96e894b0e9da8b7aac5
content/7: 89255fc21a3a429f27d1f2cdfe065235
content/8: 51dac9c1f218035a3f23137588eca5b6
content/9: 2ddb58bd6414897d33c6cb1590558749
content/10: 821e6394b0a953e2b0842b04ae8f3105
content/11: 972721b310d5e3e6e08ec33dc9630f62
content/12: b3f310d5ef115bea5a8b75bf25d7ea9a
content/13: 06a9cbcec05366fe1c873c90c36b4f44

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

View File

@@ -573,10 +573,10 @@ export default function LoginPage({
<Dialog open={forgotPasswordOpen} onOpenChange={setForgotPasswordOpen}>
<DialogContent className='auth-card auth-card-shadow max-w-[540px] rounded-[10px] border backdrop-blur-sm'>
<DialogHeader>
<DialogTitle className='auth-text-primary font-semibold text-xl tracking-tight'>
<DialogTitle className='font-semibold text-black text-xl tracking-tight'>
Reset Password
</DialogTitle>
<DialogDescription className='auth-text-secondary text-sm'>
<DialogDescription className='text-muted-foreground text-sm'>
Enter your email address and we'll send you a link to reset your password if your
account exists.
</DialogDescription>

View File

@@ -70,6 +70,7 @@ export const FOOTER_TOOLS = [
'Salesforce',
'SendGrid',
'Serper',
'ServiceNow',
'SharePoint',
'Slack',
'Smtp',

View File

@@ -41,7 +41,7 @@ interface PricingTier {
* Free plan features with consistent icons
*/
const FREE_PLAN_FEATURES: PricingFeature[] = [
{ icon: DollarSign, text: '$10 usage limit' },
{ icon: DollarSign, text: '$20 usage limit' },
{ icon: HardDrive, text: '5GB file storage' },
{ icon: Workflow, text: 'Public template access' },
{ icon: Database, text: 'Limited log retention' },

View File

@@ -20,7 +20,7 @@ interface NavProps {
}
export default function Nav({ hideAuthButtons = false, variant = 'landing' }: NavProps = {}) {
const [githubStars, setGithubStars] = useState('18.6k')
const [githubStars, setGithubStars] = useState('24k')
const [isHovered, setIsHovered] = useState(false)
const [isLoginHovered, setIsLoginHovered] = useState(false)
const router = useRouter()

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