mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-28 03:00:29 -04:00
b0cb95be2f8a55625f2ffcecaa88af45f3756ce7
117 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e2e53aba76 |
feat(agentmail): add AgentMail integration with 21 tools (#3901)
* feat(agentmail): add AgentMail integration with 21 tools * fix(agentmail): clear stale to field when switching to reply_message operation * fix(agentmail): guard messageId and label remappings with operation checks * fix(agentmail): clean up subBlock titles * fix(agentmail): guard replyTo and thread label remappings with operation checks * fix(agentmail): guard inboxIdParam remapping with operation check * fix(agentmail): guard permanent, replyAll, and draftInReplyTo with operation checks |
||
|
|
45f053a383 |
feat(rootly): add Rootly incident management integration with 14 tools (#3899)
* feat(rootly): add Rootly incident management integration with 14 tools * fix(rootly): address PR review feedback - PATCH method, totalCount, environmentIds - Changed update_incident HTTP method from PUT to PATCH per Rootly API spec - Fixed totalCount in all 9 list tools to use data.meta?.total_count from API response - Added missing updateEnvironmentIds subBlock and params mapping for update_incident * fix(rootly): add id to PATCH body and unchanged option to update status dropdown - Include incident id in JSON:API PATCH body per spec requirement - Add 'Unchanged' empty option to updateStatus dropdown to avoid accidental overwrites * icon update * improvement(rootly): complete block-tool alignment and fix validation gaps - Add missing get_incident output fields (private, shortUrl, closedAt) - Add missing block subBlocks: createPrivate, alertStatus, alertExternalId, listAlertsServices - Add pageNumber subBlocks for all 9 list operations - Add teams/environments filter subBlocks for list_incidents and list_alerts - Add environmentIds subBlock for create_alert - Add empty default options to all optional dropdowns (createStatus, createKind, listIncidentsSort, eventVisibility) - Wire all new subBlocks in tools.config.params and inputs - Regenerate docs * fix(rootly): align tools with OpenAPI spec - list_incident_types: use filter[name] instead of unsupported filter[search] - list_severities: add missing search param (filter[search]) - create_incident: title is optional per API (auto-generated if null) - update_incident: add kind, private, labels, incidentTypeIds, functionalityIds, cancellationMessage params - create/update/list incidents: add scheduled, in_progress, completed status values - create_alert: fix status description (only open/triggered on create) - add_incident_event: add updatedAt to response - block: add matching subBlocks and params for all new tool fields Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(rootly): final validation fixes from OpenAPI spec audit - update_incident: change PATCH to PUT per OpenAPI spec - index.ts: add types re-export - types.ts: fix id fields to string | null (matches ?? null runtime) - block: add value initializers to 4 dropdowns missing them - registry: fix alphabetical order (incident_types before incidents) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * reorg --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
512558dcb3 |
feat(launchdarkly): add LaunchDarkly integration for feature flag management (#3870)
* feat(launchdarkly): add LaunchDarkly integration for feature flag management * fix(launchdarkly): guard empty instructions array, trim apiKey in auth header * lint |
||
|
|
72e28baa07 |
feat(extend): add Extend AI document processing integration (#3869)
* feat(extend): add Extend AI document processing integration * fix(extend): cast json response to fix type error * fix(extend): correct API request body structure per Extend docs * fix(extend): address PR review comments * fix(extend): sync integrations.json bgColor to #000000 * lint |
||
|
|
d99dd86bf2 |
feat(tailscale): add Tailscale integration with 20 API operations (#3868)
* feat(tailscale): add Tailscale integration with 20 API operations * fix(tailscale): fix transformResponse signatures and block output types * fix(tailscale): safe response.json() pattern, trim apiKey, guard expirySeconds |
||
|
|
1a2aa6949e |
feat(secrets-manager): add AWS Secrets Manager integration (#3866)
* feat(secrets-manager): add AWS Secrets Manager integration * fix(secrets-manager): address PR review feedback - Conditional delete message based on forceDelete flag - Add binary secret detection in getSecretValue * fix(secrets-manager): handle boolean forceDelete and validate numeric inputs - Accept both string 'true' and boolean true for forceDelete - Guard parseInt results with isNaN check for maxResults and recoveryWindowInDays |
||
|
|
e5aef6184a |
feat(profound): add Profound AI visibility and analytics integration (#3849)
* feat(profound): add Profound AI visibility and analytics integration * fix(profound): fix import ordering and JSON formatting for CI lint * fix(profound): gate metrics mapping on current operation to prevent stale overrides * fix(profound): guard JSON.parse on filters, fix offset=0 falsy check, remove duplicate prompt_answers in FILTER_OPS * lint * fix(docs): fix import ordering and trailing newline for docs lint * fix(scripts): sort generated imports to match Biome's organizeImports order * fix(profound): use != null checks for limit param across all tools * fix(profound): flatten block output type to 'json' to pass block validation test * fix(profound): remove invalid 'required' field from block inputs (not part of ParamConfig) * fix(profound): rename tool files from kebab-case to snake_case for docs generator compatibility * lint * fix(docs): let biome auto-fix import order, revert custom sort in generator * fix(landing): fix import order in sim icon-mapping via biome * fix(scripts): match Biome's exact import sort order in docs generator * fix(generate-docs): produce Biome-compatible JSON output The generator wrote multi-line arrays for short string arrays (like tags) and omitted trailing newlines, causing Biome format check failures in CI. Post-process integrations.json to collapse short arrays onto single lines and add trailing newlines to both integrations.json and meta.json. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
f37e4b67c7 |
feat(ketch): add Ketch privacy consent integration (#3794)
* feat(ketch): add Ketch privacy consent integration * fix(ketch): add response.ok guards and fix registry ordering * fix(ketch): include errorMessage in error response output for all tools * fix(ketch): wire optional purposes filter for get_consent operation |
||
|
|
7a1a46067d |
feat(granola): add Granola meeting notes integration (#3790)
* feat(granola): add Granola meeting notes integration * fix(granola): use string comparison for includeTranscript to avoid truthy string bug * fix(granola): add missing get_note output fields to block definition * regen docs |
||
|
|
2691c12747 |
feat(rippling): add Rippling HR integration with 19 tools (#3764)
* feat(rippling): add Rippling HR integration with 19 tools * fix(rippling): address PR review feedback - Fix lint:check import ordering in icon-mapping.ts - Build clean params object instead of spreading all UI fields to API - Add try/catch around JSON.parse for users field - Use != null guard for limit/offset to not drop 0 values - Add missing tags to block config and integrations.json * fix(rippling): guard startDate by operation and clarify totalCount descriptions - Guard startDate/endDate with operation check to prevent candidateStartDate from clobbering date filters on leave/activity operations - Update totalCount output descriptions on paginated tools to clarify it reflects page size, not total record count * fix(rippling): use null-safe guard for groupVersion param * fix(rippling): remove operation field from tool params payload * fix(rippling): add input validation for action param and empty group update body |
||
|
|
8f793d9c42 |
feat(quiver): add QuiverAI integration for SVG generation and vectorization (#3728)
* feat(quiver): add QuiverAI integration for SVG generation and vectorization * fix(quiver): address review feedback — n>1 data loss, error handling, import consistency * fix(quiver): add files array to image-to-svg response, remove camelCase param leaks |
||
|
|
6326353f5c |
feat(okta): add complete Okta identity management integration (#3685)
* feat(okta): add complete Okta identity management integration Add 18 Okta Management API tools covering user lifecycle (list, get, create, update, activate, deactivate, suspend, unsuspend, reset password, delete) and group management (list, get, create, update, delete, add/remove members, list members). Includes block with conditional UI, icon, registry entries, and generated docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(okta): add manual description section to generated docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): address PR review — SSRF prevention, safe response parsing, consistent sendEmail - Add validateOktaDomain() to prevent SSRF via user-supplied domain param - Fix 9 tools to check response.ok before calling response.json() - Make sendEmail query param explicit in deactivate_user and delete_user Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): only forward boolean switches when explicitly true Switch subBlocks default to OFF (false), which was being forwarded to tools and overriding their default-true behavior for sendEmail and activate params. Now only forward these when explicitly toggled ON. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): use nullish coalescing for boolean switch defaults Block now forwards sendEmail/activate values as-is (including false). Tools use ?? operator so: explicit true/false from switches are respected, undefined (programmatic calls) still defaults to true. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(okta): prevent silent data loss in update operations - update_group: always include description in PUT body (defaults to '') since PUT replaces the full profile object - update_user: use !== undefined checks so empty strings can clear fields via Okta's POST partial update - block: allow empty strings through passthrough loop and use !== undefined for groupDescription mapping Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor(okta): move validateOktaDomain to centralized input-validation - Moved validateOktaDomain from tools/okta/types.ts to lib/core/security/input-validation.ts alongside other validation utils - Added .trim() to handle copy-paste whitespace in domain input - Updated all 18 tool files to import from the new location Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
d3daab743f |
feat(microsoft-ad): add Azure AD (Entra ID) integration (#3686)
* feat(microsoft-ad): add Azure AD (Entra ID) integration Add complete Azure AD integration with 13 tools for managing users and groups via Microsoft Graph API v1.0. Includes OAuth config with PKCE, block definition with conditional subBlocks, and generated docs. Tools: list/get/create/update/delete users, list/get/create/update/delete groups, list/add/remove group members. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(microsoft-ad): add $search/$filter guard, $count=true, and memberId validation - Prevent using $search and $filter together (Graph API rejects this) - Add $count=true when $search is used (required with ConsistencyLevel: eventual) - Validate and trim memberId in add_group_member body before use Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(microsoft-ad): fix docsLink underscore and accountEnabled update safety - Change docsLink from microsoft-ad to microsoft_ad to match docs routing - Split accountEnabled dropdown into separate create/update subBlocks - Update operation shows "No Change" default (empty string) to prevent silently re-enabling disabled accounts when updating other fields - Create operation keeps "Yes" default as before Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(microsoft-ad): prevent visibility from always being sent on group update Split visibility dropdown into separate create/update subBlocks with "No Change" default for update_group, preventing silent overwrite of group visibility when updating other fields like description. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(microsoft-ad): prevent empty values leaking into PATCH requests - Use operation-aware checks for accountEnabled and visibility in block params to prevent create defaults bleeding into update operations - Change tool body guards from `!== undefined` to truthy checks so empty-string inputs from unfilled subBlocks are omitted from PATCH Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
0d22cc3186 |
feat(infisical): add Infisical secrets management integration (#3684)
* feat(infisical): add Infisical secrets management integration * fix(infisical): rename tool files to underscores, add configurable baseUrl, fix error type casts * fix(infisical): make get_secret fallback consistent with other tools * fix(infisical): add type casts to fix TypeScript build error in tag/metadata mapping * fix(infisical): guard empty secretValue, validate version number, move DELETE params to query string * fix(infisical): use falsy check for secretComment to prevent clearing existing comments |
||
|
|
cef321bda2 |
feat(box): add Box and Box Sign integrations (#3660)
* feat(box): add Box and Box Sign integrations Add complete Box integration with file management (upload, download, get info, list folders, create/delete folders, copy, search, update metadata) and Box Sign e-signature support (create/get/list/cancel/resend sign requests). Includes OAuth provider setup, internal upload API route following the Dropbox pattern, block configurations, icon, and generated docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): address PR review comments - Fix docsLink for Box Sign: use underscore (box_sign) to match docs URL - Move normalizeFileInput from tool() to params() in Box block config to match Dropbox pattern - Throw error on invalid additionalSigners JSON instead of silently dropping signers Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): remove unsupported reason param from cancel sign request The Box Sign cancel endpoint (POST /sign_requests/{id}/cancel) does not accept a request body per the API specification. Remove the misleading reason parameter from the tool, types, block config, and docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): use canonical param ID for file normalization in params() The params function must reference canonical IDs (params.file), not raw subBlock IDs (uploadFile/fileRef) which are deleted after canonical transformation. Matches the Dropbox block pattern. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): use generic output descriptions for shared file properties Rename "Uploaded file ID/name" to "File ID/name" in UPLOAD_FILE_OUTPUT_PROPERTIES since the constant is shared by both upload and copy operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): rename items output to entries for list_folder_items Rename the output field from "items" to "entries" to match Box API naming and avoid collision with JSON schema "items" keyword that prevented the docs generator from rendering the nested array structure. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): filter empty file IDs from sourceFileIds input Add .filter(Boolean) after splitting sourceFileIds to prevent empty strings from trailing/double commas being sent as invalid file IDs to the Box Sign API. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor(box): merge Box Sign into single Box block Combine Box and Box Sign into one unified block with all 15 operations accessible via a single dropdown, removing the separate box_sign block. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): filter empty strings from tags array in update_file Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * style(docs): apply lint formatting to icon-mapping and meta.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * style(box): format chained method calls per linter rules Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * style(box,docusign): set block bgColor to white and regenerate docs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * style(docs): apply lint formatting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): populate OAuth scopes for Box since token response omits them Box's OAuth2 token endpoint does not return a scope field in the response, so Better Auth stores nothing in the DB. This causes the credential selector to always show "Additional permissions required". Fix by populating the scope from the requested scopes in the account.create.before hook. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(box): add sign_requests.readwrite scope for Box Sign operations Box Sign API requires the sign_requests.readwrite scope in addition to root_readwrite. Without it, sign requests fail with "The request requires higher privileges than provided by the access token." Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update docs --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
638063cac1 |
feat(docusign): add docusign integration (#3661)
* feat(docusign): add DocuSign e-signature integration * fix(docusign): add base_uri null check and move file normalization to params * fix(docusign): use canonical param documentFile instead of raw subBlock IDs * fix(docusign): validate document file is present before sending envelope * fix(docusign): rename tool files from kebab-case to snake_case for docs generation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
d06aa1de7e |
fix(connectors): align connector scopes with oauth config and fix kb modal UX (#3573)
* fix(connectors): align connector scopes with oauth config and fix kb modal UX * fix(connectors): restore onCheckedChange for keyboard accessibility * feat(connectors): add dynamic selectors to knowledge base connector config Replace manual ID text inputs with dynamic selector dropdowns that fetch options from the existing selector registry. Users can toggle between selector and manual input via canonical pairs (basic/advanced mode). Adds selector support to 12 connectors: Airtable (cascading base→table), Slack, Gmail, Google Calendar, Linear (cascading team→project), Jira, Confluence, MS Teams (cascading team→channel), Notion, Asana, Webflow, and Outlook. Dependency clearing propagates across canonical siblings to prevent stale cross-mode data on submit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * updated animated blocks UI * fix(connectors): clear canonical siblings of dependents and resolve active mode values Fixes three issues from PR review: - Dependency clearing now includes canonical siblings of dependent fields (e.g., changing base clears both tableSelector AND tableIdOrName) - Selector context and depsResolved now resolve dependency values through the active canonical mode, not just the raw depFieldId - Tooltip text changed from "Switch to manual ID" to "Switch to manual input" to correctly describe dropdown fallbacks (e.g., Outlook folder) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: linter class ordering fixes and docs link update Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(connectors): reset apiKeyFocused on connector re-selection Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|
|
5b9f0d73c2 |
feat(mothership): mothership (#3411)
* Fix lint * improvement(sidebar): loading * fix(sidebar): use client-generated UUIDs for stable optimistic updates (#3439) * fix(sidebar): use client-generated UUIDs for stable optimistic updates * fix(folders): use zod schema validation for folder create API Replace inline UUID regex with zod schema validation for consistency with other API routes. Update test expectations accordingly. * fix(sidebar): add client UUID to single workflow duplicate hook The useDuplicateWorkflow hook was missing newId: crypto.randomUUID(), causing the same temp-ID-swap issue for single workflow duplication from the context menu. * fix(folders): avoid unnecessary Set re-creation in replaceOptimisticEntry Only create new expandedFolders/selectedFolders Sets when tempId differs from data.id. In the common happy path (client-generated UUIDs), this avoids unnecessary Zustand state reference changes and re-renders. * Mothership block logs * Fix mothership block logs * improvement(knowledge): make connector-synced document chunks readonly (#3440) * improvement(knowledge): make connector-synced document chunks readonly * fix(knowledge): enforce connector chunk readonly on server side * fix(knowledge): disable toggle and delete actions for connector-synced chunks * Job exeuction logs * Job logs * fix(connectors): remove unverifiable requiredScopes for Linear connector * fix(connectors): remove legacy requiredScopes from Jira and Confluence connectors Jira and Confluence OAuth tokens don't return legacy scope names like read:jira-work or read:confluence-content.all, causing the 'Update access' banner to always appear. Set requiredScopes to empty array like Linear. * feat(tasks): add rename to task context menu (#3442) * Revert "fix(connectors): remove legacy requiredScopes from Jira and Confluence connectors" This reverts commit |
||
|
|
a8bbab2d21 |
feat(google-ads): add google ads integration for campaign and ad performance queries (#3360)
* feat(google-ads): add google ads integration for campaign and ad performance queries
* fix(google-ads): add input validation for GAQL query parameters
* fix(google-ads): remove deprecated pageSize param, fix searchSettings nesting, add missing date ranges
* fix(google-ads): validate managerCustomerId before use in login-customer-id header
* chore(docs): regenerate docs after google ads integration
* fix(google-ads): use centralized scope utilities and add type re-export
- Replace hardcoded scopes in auth.ts with getCanonicalScopesForProvider('google-ads')
- Replace hardcoded requiredScopes in block with getScopesForService('google-ads')
- Add type re-export from index.ts barrel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(google-ads): add userinfo scopes to oauth provider config
Align google-ads with all other Google services by including
userinfo.email and userinfo.profile scopes in the centralized
OAUTH_PROVIDERS config.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* lint
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
|
||
|
|
97f78c60b4 |
feat(tools): add Fathom AI Notetaker integration (#3531)
* feat(fathom): add Fathom AI Notetaker integration * fix(fathom): address PR review feedback - Add response.ok checks to all 5 tool transformResponse functions - Fix include_summary default to respect explicit false (check undefined) - Add externalId validation before URL interpolation in webhook deletion * fix(fathom): address second round PR review feedback - Remove redundant 204 status check in deleteFathomWebhook (204 is ok) - Use consistent undefined-guard pattern for all include flags - Add .catch() fallback on webhook creation JSON parse - Change recording_id default from 0 to null to avoid misleading sentinel * fix(fathom): add missing crm_matches to list_meetings transform and fix action_items type - Add crm_matches pass-through in list_meetings transform (was silently dropped) - Fix action_items type to match API schema (description, user_generated, completed, etc.) - Add crm_matches type with contacts, companies, deals, error fields * fix(fathom): guard against undefined webhook id on creation success * fix(fathom): add type to nested trigger outputs and fix boolean coercion - Add type: 'object' to recorded_by and default_summary trigger outputs - Use val === true || val === 'true' pattern for include flag coercion to safely handle both boolean and string values from providerConfig --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Lakee Sivaraya <71339072+lakeesiv@users.noreply.github.com> Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai> Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> |
||
|
|
1ba1bc8edb |
feat(evernote): add Evernote integration with 11 tools (#3456)
* feat(evernote): add Evernote integration with 11 tools * fix(evernote): fix signed integer mismatch in Thrift version check * fix(evernote): fix exception field mapping and add sandbox support * fix(evernote): address PR review feedback * fix(evernote): clamp maxNotes to Evernote's 250 limit Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
53fd92a30a |
feat(obsidian): add Obsidian integration with 15 tools (#3455)
* feat(obsidian): add Obsidian integration with 15 tools * fix(obsidian): encode path segments individually to preserve slashes * improvement(obsidian): add type re-exports and improve output descriptions * fix(obsidian): remove unreachable 404 handling from transformResponse |
||
|
|
6fa4b9b410 |
feat(integrations): add brandfetch integration (#3402)
* feat(integrations): add brandfetch integration * lint * ack comments |
||
|
|
f0ee492ada |
feat(integrations): add google meet integration (#3403)
* feat(integrations): add google meet integration * lint * ack comments |
||
|
|
61a447aba5 |
feat(integrations): add dub.co integration (#3400)
* feat(integrations): add dub.co integration * improvement(dub): add manual docs description and lint formatting fixes * lint * fix(dub): remove unsupported optional property from block outputs |
||
|
|
79bb4e5ad8 |
feat(docs): add API reference with OpenAPI spec and auto-generated endpoint pages (#3388)
* feat(docs): add API reference with OpenAPI spec and auto-generated endpoint pages * multiline curl * random improvements * cleanup * update docs copy * fix build * cast * fix builg --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Lakee Sivaraya <71339072+lakeesiv@users.noreply.github.com> Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai> Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> |
||
|
|
ee20e119de |
feat(integrations): add amplitude, google pagespeed insights, and pagerduty integrations (#3385)
* feat(integrations): add amplitude and google pagespeed insights integrations * verified and regen docs * fix icons * fix(integrations): add pagerduty to tool and block registries Re-add registry entries that were reverted after initial commit. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * more updates * ack comemnts --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
4cfe8be75a |
feat(google-contacts): add google contacts integration (#3340)
* feat(google-contacts): add google contacts integration * fix(google-contacts): throw error when no update fields provided * lint * update icon * improvement(google-contacts): add advanced mode, error handling, and input trimming - Set mode: 'advanced' on optional fields (emailType, phoneType, notes, pageSize, pageToken, sortOrder) - Add createLogger and response.ok error handling to all 6 tools - Add .trim() on resourceName in get, update, delete URL builders |
||
|
|
f193e9ebbc |
feat(loops): add Loops email platform integration (#3359)
* feat(loops): add Loops email platform integration Add complete Loops integration with 10 tools covering all API endpoints: - Contact management: create, update, find, delete - Email: send transactional emails with attachments - Events: trigger automated email sequences - Lists: list mailing lists and transactional email templates - Properties: create and list contact properties Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ran litn --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
bf0e25c9d0 |
feat(ashby): add ashby integration for candidate, job, and application management (#3362)
* feat(ashby): add ashby integration for candidate, job, and application management * fix(ashby): auto-fix lint formatting in docs files |
||
|
|
d4f8ac8107 | feat(greenhouse): add greenhouse integration for managing candidates, jobs, and applications (#3363) | ||
|
|
63fa938dd7 |
feat(gamma): add gamma integration for AI-powered content generation (#3358)
* feat(gamma): add gamma integration for AI-powered content generation * fix(gamma): address PR review comments - Make credits/error conditionally included in check_status response to avoid always-truthy objects - Replace full wordmark SVG with square "G" letterform for proper rendering in icon slots * fix(gamma): remove imageSource from generate_from_template endpoint The from-template API only accepts imageOptions.model and imageOptions.style, not imageOptions.source (image source is inherited from the template). * fix(gamma): use typed output in check_status transformResponse * regen docs |
||
|
|
50b882a3ad |
feat(luma): add Luma integration for event and guest management (#3364)
* feat(luma): add Luma integration for event and guest management Add complete Luma (lu.ma) integration with 6 tools: get event, create event, update event, list calendar events, get guests, and add guests. Includes block configuration with wandConfig for timestamps/timezones/durations, advanced mode for optional fields, and generated documentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(luma): address PR review feedback - Remove hosts field from list_events transformResponse (not in LumaEventEntry type) - Fix truncated add_guests description by removing quotes that broke docs generator Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(luma): fix update_event field name and add_guests response parsing - Use 'id' instead of 'event_id' in update_event request body per API spec - Fix add_guests to parse entries[].guest response structure instead of flat guests array Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
c8a0b62a9c |
feat(databricks): add Databricks integration with 8 tools (#3361)
* feat(databricks): add Databricks integration with 8 tools Add complete Databricks integration supporting SQL execution, job management, run monitoring, and cluster listing via Personal Access Token authentication. Tools: execute_sql, list_jobs, run_job, get_run, list_runs, cancel_run, get_run_output, list_clusters Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(databricks): throw on invalid JSON params, fix boolean coercion, add expandTasks field - Throw errors on invalid JSON in jobParameters/notebookParams instead of silently defaulting to {} - Always set boolean params explicitly to prevent string 'false' being truthy - Add missing expandTasks dropdown UI field for list_jobs operation * fix(databricks): align tool inputs/outputs with official API spec - execute_sql: fix wait_timeout default description (50s, not 10s) - get_run: add queueDuration field, update lifecycle/result state enums - get_run_output: fix notebook output size (5 MB not 1 MB), add logsTruncated field - list_runs: add userCancelledOrTimedout to state, fix limit range (1-24), update state enums - list_jobs: fix name filter description to "exact case-insensitive" - list_clusters: add PIPELINE_MAINTENANCE to ClusterSource enum * fix(databricks): regenerate docs to reflect API spec fixes --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
25c59e3e2e |
feat(devin): add devin integration for autonomous coding sessions (#3352)
* feat(devin): add devin integration for autonomous coding sessions * lint * improvement(devin): update tool names and add manual docs description * improvement(devin): rename tool files to snake_case and regenerate docs * regen docs * fix(devin): remove redundant Number() conversions in tool request bodies |
||
|
|
40016e79a1 |
feat(google-tasks): add Google Tasks integration (#3342)
* feat(google-tasks): add Google Tasks integration * fix(google-tasks): return actual taskId in delete response * fix(google-tasks): use absolute imports and fix registry order * fix(google-tasks): rename list-task-lists to list_task_lists for doc generator * improvement(google-tasks): destructure task and taskList outputs with typed schemas * ran lint * improvement(google-tasks): add wandConfig for due date timestamp generation |
||
|
|
e4fb8b2fdd |
feat(bigquery): add Google BigQuery integration (#3341)
* feat(bigquery): add Google BigQuery integration * fix(bigquery): add auth provider, fix docsLink and insertedRows count * fix(bigquery): set pageToken visibility to user-or-llm for pagination * fix(bigquery): use prefixed export names to avoid aliased imports * lint * improvement(bigquery): destructure tool outputs with structured array/object types * lint |
||
|
|
063ec87ced |
feat(google-translate): add Google Translate integration (#3337)
* feat(google-translate): add Google Translate integration * fix(google-translate): api key as query param, fix docsLink, rename tool file |
||
|
|
60f9eb21bf |
feat(attio): add Attio CRM integration with 40 tools and 18 webhook triggers (#3324)
* feat(attio): add Attio CRM integration with 40 tools and 18 webhook triggers * update docs * fix(attio): use timestamp generationType for date wandConfig fields |
||
|
|
d4a014f423 |
feat(public-api): add env var and permission group controls to disable public API access (#3317)
Add DISABLE_PUBLIC_API / NEXT_PUBLIC_DISABLE_PUBLIC_API environment variables and disablePublicApi permission group config option to allow self-hosted deployments and enterprise admins to globally disable the public API toggle. When disabled: the Access toggle is hidden in the Edit API Info modal, the execute route blocks unauthenticated public access (401), and the public-api PATCH route rejects enabling public API (403). Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
fe34d23a98 |
feat(gong): add Gong integration with 18 API tools (#3316)
* feat(gong): add Gong integration with 18 API tools * fix(gong): make toDateTime optional for list_calls, add list_trackers to workspaceId condition * chore(gong): regenerate docs * fix(hex): update icon color and block bgColor |
||
|
|
e318bf2e65 |
feat(tools): added hex (#3293)
* feat(tools): added hex * update tool names |
||
|
|
61c7afc19e |
feat(tools): added redis, upstash, algolia, and revenuecat (#3261)
* feat(tools): added redis, upstash, algolia, and revenuecat * ack comment |
||
|
|
dcf81372af |
feat(tools): advanced fields for youtube, vercel; added cloudflare and dataverse tools (#3257)
* refactor(vercel): mark optional fields as advanced mode Move optional/power-user fields behind the advanced toggle: - List Deployments: project filter, target, state - Create Deployment: project ID override, redeploy from, target - List Projects: search - Create/Update Project: framework, build/output/install commands - Env Vars: variable type - Webhooks: project IDs filter - Checks: path, details URL - Team Members: role filter - All operations: team ID scope Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * style(youtube): mark optional params as advanced mode Hide pagination, sort order, and filter fields behind the advanced toggle for a cleaner default UX across all YouTube operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * added advanced fields for vercel and youtube, added cloudflare and dataverse block * addded desc for dataverse * add more tools * ack comment * more * ops --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
91aa1f9a52 |
feat(tools): added vercel block & tools (#3252)
* feat(vercel): add complete Vercel integration with 42 API tools Add Vercel platform management integration covering deployments, projects, environment variables, domains, DNS records, aliases, edge configs, and team/user management. All tools use API key authentication with Bearer tokens. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(vercel): add webhook and deployment check tools Add 8 new Vercel API tools: - Webhooks: list, create, delete - Deployment Checks: create, get, list, update, rerequest Brings total Vercel tools to 50. * fix(vercel): expand all object and array output definitions Expand unexpanded output types: - get_deployment: meta and gitSource objects now have properties - list_deployment_files: children array now has items definition - get_team: teamRoles and teamPermissions arrays now have items Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update icon size, update docs --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
6c006cdfec | feat(google books): Add google books integration | ||
|
|
b3dbb4487f |
improvement(jsm): destructured outputs for jsm, jira, and added 1password integration (#3174)
* improvement(jsm): destructured outputs for jsm, jira, and added 1password integration * update 1password to support cloud & locally hosted * updated & tested 1pass * added an additional wandConfig for OnePassword & jira search issues * finished jira * removed unused route * updated types * restore old outputs * updated types |
||
|
|
1e21ec1fa3 |
feat(airweave): add airweave block (#3079)
* feat(icons): add Airweave icon and update registry with Airweave block and tool * feat(icons): add Airweave icon and update icon mapping and metadata * fix(search): update API key header from Authorization to X-API-Key for Airweave search tool * refactor(icon-mapping): reorder icon imports for consistency and formatting improvements; update airweave block retrieval strategy description formatting; add newline at end of meta.json * refactor(search): update visibility settings for retrieval strategy and query options to allow access for both users and LLMs |
||
|
|
552dc56fc3 |
feat(confluence): added more confluence endpoints (#3139)
* feat(confluence): added more confluence endpoints * update license * updated * updated docs |
||
|
|
c6357f7438 |
feat(tools): added enrich so (#3103)
* feat(tools): added enrich so * updated docs and types |