Back to tracker
Plugin tracker
Tools
Explore what tracked Claude Connectors and ChatGPT Plugins can actually do. Search by tool, Plugin, Brand, category, verb, or access requirement.
Latest snapshot2026-09-13USmethodology registry-public-v1
Searchable tools
119,491
Authless tools
7,773
Auth required
107,252
Described tools
64,388
119,491 tools
- Partner Incentives — Inc 2.0partner · [Partner Incentives] Get a partner's Inc 2.0 incentive program data. Requires partner_id — the data is scoped to THAT partner, not the logged-in user. action='status' returns the current tier (`tier_name`, `tier_badge`, `tier_badge_color`, `tier_order`), `program_name`/`program_status`/`progression_type`, `payout_frequency`, plus three flat lists: `commission_structure[]` — one row per product-group × revenue-range × time-period, each row with `group_name`, `all_products`, `range_min`, `range_max`, `is_max_infinite`, `fixed_payout`, `demo_payout`, `net_days`, `period_months`, `commission_pct`; `benefits[]` — the current tier's non-monetary benefits (`property_name`, `type`, `answer_text`/`answer_bool`/`answer_number`/`answer_select`); and `active_campaign[]` — 0 or 1 active temporary boost/override campaign (`name`, `type`, `date_start`, `date_end`, `boost_pct`, `boost_fixed`, `override_tier_name`). action='progression' returns `current_tier_name`/`current_tier_order`, `program_tiers[]` — every tier in the program (`tier_name`, `tier_order`, `tier_badge`, `badge_color`), `at_highest_tier`, `next_tier_name`/`next_tier_order` (the next tier above the partner's current one), `all_tiers[]` — one row per advancement rule across the program's tiers (`tier_name`, `tier_order`, `logic`, `metric`, `operator`, `value`, `period`) — and `live_metrics[]` — the partner's live progress, EACH ROW already carrying its rule + which tier it belongs to: `tier_name`, `tier_order`, `logic`, `metric`, `operator`, `goal` (the rule's threshold), `calculated` (current value), `passing`, `period`. Returns found=false if no Inc 2.0 assignment exists. To explain what's needed to reach the next tier, filter `live_metrics[]` by `tier_name === next_tier_name` — each row is a requirement with its target (`goal`), current progress (`calculated`), and whether it's met (`passing`). `all_tiers[]` is the full rule catalog per tier (use it for tiers that have no live metric yet); `live_metrics[]` is the one that carries progress.EULEREULER
PluginrequiredSales & CRM - Partner Performanceperformance · [Performance & Rankings] Partner performance metrics and rankings over a date range. action='overall' ranks all partners (e.g. 'top 5 partners', 'best performing partners', 'leaderboard', 'highest performers', 'partner ranking') and REQUIRES start_date, end_date, page, limit, and entity_key. Dates use YYYY-MM-DD format (e.g. '2024-04-07') — NEVER include a time component; full ISO 8601 datetimes are silently mis-parsed downstream and return corrupted years. When the user doesn't specify a window, default start_date to today − 90 days and end_date to today. Pagination defaults: page=1, limit=10. entity_key selects the ranking metric — pass 'revenue' for closed-won/invoiced revenue ($) questions (top sellers, biggest accounts, highest revenue contributors) and as the default for generic performance questions; pass 'deals' only when the question is specifically about deal COUNT (most deals closed, most wins). 'overall' is terminal — it returns ranking plus aggregate metrics in one call, considering deals only (no commissions data); subsequent partner_artifacts/commissions calls aren't necessary unless the user asks for more depth. action='partner' returns a single partner's metrics — requires partner_id, callable by partner-role tokens. action='company' returns the user's own company aggregate (sales/deals/charges) — customer-only. Disambiguation when the user names an entity: if the name matches the user's own company (`list_accounts` entry where `type==='customer'` AND `name===<asked>`), use action='company'. If it matches an `affiliate_company_name` in `list_accounts` OR a partner of the user's company, use action='partner' with that partner_id. Partner_id sources for action='partner': `list_accounts` (match by `affiliate_company_name`) or `partners(action: 'list', filter_name: ...)`. IDs from `partner_directory_search` are profile_ids and will be rejected as `partner_not_in_consent`.EULEREULER
PluginrequiredSales & CRM - Partner Program — Overall Statsget · [Dashboards — Program-wide Overview] Single-call executive snapshot of the company's partner program. Returns total partner count (all), active partner count, pending partner count, total deal count, won deal count, total revenue (sum), and the top 100 partners ranked by revenue. Use when the user wants a quick at-a-glance picture of the program (e.g. 'give me a program overview', 'how is our partner program doing overall', 'top performers'). Customer-side only; scoped to the caller's company automatically. For ranking by date range / pagination, use `performance(action: 'overall')` instead — this tool is unfiltered and lifetime-to-date.EULEREULER
PluginrequiredSales & CRM - Partner Users & Roles (read)partner · [Partner — Users & Roles] Reads the users and permission roles of a partner organisation. Works for BOTH a partner-admin reading their OWN team AND a customer-admin reading one of their company's partners. action='list_users' returns ONLY the partner's people who have an activated EULER portal login, as `users[]` (each: id, email, first_name, last_name, roles); requires partner_id. ⚠️ This is NOT the partner's full team — most partner people are contacts who were never invited or never logged in and do NOT appear here, so a partner with hundreds of contacts may legitimately return only a handful of users (or zero); that is correct, not a truncation. For the COMPLETE team roster (everyone, with or without a login) use `list_partner_contacts`. action='list_roles' returns the partner's permission roles as `roles[]` (each: id, role_title, category, have_admin_permissions, all_sections_enabled, default_sections_enabled, custom_sections_enabled, qty_users_assigned); requires partner_id. action='get_default_roles' returns the role(s) auto-assigned to new members (same role shape); requires partner_id. Everything is tenant-isolated by privacy rules — you only ever see your own partner account (partner-admin) or a partner of your own company (customer-admin). partner_id comes from list_accounts. NOTE: `list_roles`'s `qty_users_assigned` counts how many of the partner's CONTACTS hold each role, so its total is typically far larger than `list_users` (which is only logged-in users) — they are different populations and are NOT expected to match.EULEREULER
PluginrequiredSales & CRM - Ping (Diagnostics)ping · [Diagnostics] Returns pong + echoes the caller's identity (user_id, company_id, partner_ids, roles). Useful for smoke-testing the auth chain.EULEREULER
PluginrequiredSales & CRM - Query Company Invoicescompany · [Invoices] Query invoices at the company level. action='list' returns invoices with advanced filters (status, currency, date range, sort, descending); 'summary' returns aggregate totals by status (paid/pending/processing) — use for 'how much was invoiced', 'total revenue', invoice aggregate questions.EULEREULER
PluginrequiredSales & CRM - Query Partnerspartners · [Partners — general management] Query partners of the user's company (customer-admin view). action='list' searches by name (filter_name='<name>') and returns partner_id values usable in referrals / partner_artifacts / performance / commissions. If the user is asking about a partner where they themselves have an account (they are a partner OF that company), prefer `list_accounts` matched by affiliate_company_name. action='pending' returns partners awaiting approval. action='summary' returns company-wide aggregate metrics broken down by partner status — this is the canonical source for company-level partner-status / partner-count questions like 'how many partners are active?', 'how many active partners do we have?', 'partner status breakdown', 'partner totals'. Generic mentions of partner status refer to the company's partner roster and belong here; route to `partner_directory_search` ONLY when the user explicitly mentions the Partner Directory (which uses a separate profile-status concept). The summary result is stable across a conversation, so call it at most once per conversation when needed. action='tags' lists the company's partner tags (partner groupings) as {id, name} records — feed the returned ids into flows_manage(action:'assign', assign_to:'Partners by Tags', tag_ids:[...]) or invite_partners_to_portal(tags:[...]).EULEREULER
PluginrequiredSales & CRM - Query Referralsreferrals · [Partner Relationships] Query existing referrals / deal-registrations. action='search' returns the company's referrals in BOTH directions — inbound (received FROM partners) and outbound (sent TO partners) — with optional partner_id filter, date range, status and `direction`. Each row's `approval_type` states its direction, and `total_referrals_received_from_partner` / `total_referrals_sent_to_partner` count each side of the full result (not just the returned page); treat those counts as authoritative. For questions like 'pending outbound referrals' pass direction='outbound' (+ filter_status); 'which partner sent us the most referrals' is direction='inbound'. action='for_partner' returns ONE partner's referrals in BOTH directions (paginated) — what that partner submitted to the company AND what the company sent to that partner — narrowable with `direction`. Each row's `approval_type` states its direction, and `total_referrals_you_submitted` / `total_referrals_sent_to_you` count each side of the full result (not just the returned page); treat those counts as authoritative. Those two field names are written from the PARTNER's point of view even when a customer admin makes the call — 'you_submitted' is what the partner sent the company (inbound), 'sent_to_you' is what the company sent the partner (outbound). action='get_form_for_partner' returns the referral-form question schema a partner must fill in — call this before `submit_referral` to discover form_id + questions[]. Each question carries an `answer_field` ('answer_text' | 'multiselect_options') telling you exactly which field to put its answer in (only true multi-select uses multiselect_options; everything else, dropdown included, uses answer_text). The response also includes `question_count` and a `presentation_guidance` string with formatting tips for displaying the questions cleanly to the user — follow it, especially for long forms. action='get_answers' returns the form answers submitted with a specific referral (requires approval_id — obtain it from a prior `search` (POPs / customer-side) or `for_partner` (PAM / partner-side) call; each referral record carries the identifier). action='rejection_reasons' lists the valid rejection reasons for a referral; call it before rejecting via resolve_referral. Partner_id sources: `list_accounts` (the user's own partner roles) or `partners(action: 'list', filter_name: ...)` (customer admin querying their company's partners). From `partner_directory_search`, the item's `id` is a profile_id and will be rejected — use the same item's `partner_id` field instead (empty when the profile's partner link was never set). Use `submit_referral` to actually send a new referral after collecting answers.EULEREULER
PluginrequiredSales & CRM - Quizzes (read)quizzes · [Flows — onboarding & training lifecycle] Read quizzes and their questions (customer-admin only; a quiz attaches to a Flow step of type 'Quiz'). action='list' returns the company's quizzes as {id, name} records. action='get' returns one quiz's settings and, if quiz_question_id is also passed, that question's details (requires quiz_id). action='all_questions' returns a quiz's question list as {id, name} records (requires quiz_id). action='list_categories' returns the company's quiz-question categories as {id, name} records. action='attempts' returns the quiz's attempt records across the company's partners (requires quiz_id; optional partner_id filter) — each {id, user_id, partner_id, score, status, attempt_number}; use it to answer 'how did partner X score on quiz Y' or 'who is mid-attempt'. There is no stored pass/fail — compare score to the quiz's quiz_passing_score from action='get'. To create or edit quizzes/questions, use `quizzes_manage`.EULEREULER
PluginrequiredSales & CRM - Quizzes — managequizzes · [Flows — onboarding & training lifecycle] Create, edit, and delete quizzes and their questions (customer-admin only). Quiz questions are multiple-choice only: question_type='single_choice' (exactly one correct answer) or 'multiple_choice' (one or more correct answers). action='create' creates an empty draft quiz and returns its id. action='save' saves quiz-level settings AND propagates all pending question changes to existing/in-progress attempts (requires quiz_id and name — pass the quiz's CURRENT name if you're not renaming it; optional quiz_description, quiz_enable_retake, quiz_passing_score) — run it ONLY after the user confirms they want to propagate. action='add_question' adds a question (requires quiz_id, name, question_type, order, options, correct_answers; quiz_category_id is OPTIONAL — omit it to create the question without a category). action='update_question' fully replaces a question (requires quiz_question_id — NOT quiz_id — plus name, question_type, order, required, options, correct_answers); every field is overwritten, so resend the current values you want to keep — EXCEPT quiz_category_id, which is optional: omitting it KEEPS the question's current category, passing it changes the category, and there is no way to clear a category via this tool. `options` is the list of answer choices; `correct_answers` must be a non-empty subset of `options` (exactly one for single_choice). action='delete_question' soft-deletes a question (requires quiz_id, quiz_question_id). action='delete' deactivates a quiz (requires quiz_id). action='create_category' creates a quiz-question category (requires name) and returns quiz_category_id; action='edit_category' renames one (requires quiz_category_id, name); action='delete_category' soft-deletes one (requires quiz_category_id). Resolve category ids via quizzes(action:'list_categories'). add_question / update_question / delete_question are mutate-only and do NOT reach existing quiz attempts on their own — do NOT save automatically: after any of these, tell the user the change won't propagate to existing/in-progress attempts until the quiz is saved, and ask whether to save now; call action='save' only once the user confirms. To read quizzes, use `quizzes`.EULEREULER
PluginrequiredSales & CRM - SI Service Projects (customer admin)si · [SI Service Projects — Customer Admin] Reads SI (System Integrator) service projects from the CUSTOMER ADMIN side — service delivery across ALL of the company's partners. The customer company is resolved server-side (NOT an AI input). action='list' returns the company's projects (paginated via offset/limit; optionally filtered to one partner via partner_id) as `items[]` — each item has id, name, partner_id, partner_name, status, service_types[], start_date, end_date, completed_date, created_date — PLUS total_count and has_more. action='scope_form' returns ONE project's full scope form (requires project_id): `questions[]` (each with field_id, field_name, type, required, order, and the current answer in answer_text / answer_number / answer_date / answers_list, plus `options` for Dropdown/Multi-select/Checkbox) and `checkboxes[]`. action='export' is a BATCH for pulling large volumes: it returns a page of projects (offset/limit, max 100) where EACH project is already enriched with its full `scope_form` (+ `checkboxes`) — use it to extract all ~N projects' complete data in pages without calling scope_form one-by-one (a project may carry `scope_form_error` if its form couldn't be fetched; the rest of the batch still returns). Everything is tenant-isolated by privacy rules (a project outside your company is never returned). NOTE: 'In Progress' here is the project lifecycle status; a scope-form field literally named 'Project Status' (e.g. 'Scoping') is a different value that lives inside the scope form.EULEREULER
PluginrequiredSales & CRM - Search & List Dealsget · [Partner Relationships] Query deals — look one up by name, or list/rank/filter them. `deal_name` is OPTIONAL: pass it to find a specific deal ('find the Acme deal', 'deals named *renewal*'); omit it to list or rank deals by filter and sort instead ('list my open deals', 'top 10 deals by value', 'deals in the Negotiation stage'). Filter with `stage`, `pipeline`, `status` (won/lost/open) and a `start_date`/`end_date` close-date window; order with `sort` and cap with `limit` — both applied server-side. Each row returns deal_name, amount, stage, close_date and the associated company/partner. SCOPE: partner-role callers MUST pass partner_id (scopes to that partner's deals); customer-role callers MAY pass partner_id to narrow to one partner, otherwise the search spans all the company's deals. For PARTNER rankings/leaderboards (top partners by revenue or deal count) use `performance(action: 'overall')` instead; for the raw unfiltered page-through of a single partner's deals use `partner_artifacts(action: 'deals')`.EULEREULER
PluginrequiredSales & CRM - Search Partner Directorypartner · [Partner Directory] Searches EULER's Partner Directory — public-facing partner profiles, tiers, status, custom-fields completeness, iframe analytics, saved filters. Every directory item carries TWO DIFFERENT ids: `id` is the `profile_id` (this tool's filters and `partner_directory_profiles` take it), and `partner_id` is the roster id used by referrals / partner_artifacts / performance / commissions. Passing `id` where a partner_id is expected produces `partner_not_in_consent`. Use the item's `partner_id` to cross a directory result over to those tools, and to answer which partners already have a profile — do NOT match the two rosters by NAME, which is unreliable (a partner's roster name and its directory name legitimately differ). `partner_id` is EMPTY on a profile whose partner link was never set (9 of 213 measured on 2026-09-01): treat an empty one as unknown, never as 'no such partner'. To resolve a partner_id from a name instead, prefer `list_accounts` (match by `affiliate_company_name`) or `partners(action: 'list', filter_name: ...)`. entity_key selects mode: 'partner_directory' is THE workhorse search mode — filters by name, status, tier, type, email, featured, and incomplete ONLY (the `language` and `website` params are NOT applied in this mode, and its results do not include language data). 'partner_history' returns a single profile's change history (requires profile_id) — each entry carries id, latest_update, inputs_updated, created_by, short_description, long_description, languages and rejection_message, and this is the ONLY mode where the `language` / `website` filters apply. It does NOT return the profile's website, accepting_clients or hide_contact_button, and neither does the directory mode — for those use `partner_directory_profiles(action:'read_profile')`. To answer 'does partner X serve <language>?': first entity_key='partner_directory' with name='X' to get the profile_id, then entity_key='partner_history' with that profile_id + language='<language>' (total_count > 0 means yes). Directory-WIDE language coverage ('which partners serve Spanish?') cannot be answered by a single filtered search — apply the history recipe ONLY to partners the user explicitly names (a handful at most); NEVER enumerate the whole directory profile-by-profile (dozens of calls that will be cut off before finishing), and NEVER present an unfiltered directory listing as a language-filtered answer. When no specific partners are named, tell the user the directory can't be filtered by language yet. 'partner_filter' applies a named saved filter via `version_description` — only used when the user explicitly references a saved filter name. The `status` enum here filters Directory profile status (Active / Under Review / Awaiting Setup / Rejected / Hidden) — that's distinct from the partner roster's active-vs-pending state. Route generic partner-status / partner-count questions ('how many partners are active?', 'how many active partners do we have?', 'partner status breakdown') to `partners(action: 'summary')`; only use this tool's `status` filter when the user is explicitly asking about the Partner Directory. Filterable by name, status, featured, incomplete, tier, profile_id, type, email (directory mode); language, website, version_description (history / saved-filter modes).EULEREULER
PluginrequiredSales & CRM - Search Shared Partner Contentcontent · [Content Search] Semantic (vector) search INSIDE a partner's privately-shared content — the documents/decks/files the customer shared with a specific partner — matches on meaning, not filename. Use for 'find content about <topic>' / 'what do my shared docs say about X' scoped to a partner. Partner-scoped: requires `partner_id` (resolve via `list_accounts` for partner-role, or `partners(action: 'list', filter_name: ...)` for customer-admin). For product HELP / how-to questions about EULER itself ('how do I add a user', 'how does EULER work'), use `euler_help` instead. To LIST or browse a partner's files by name, use `content_list`. NOT for the caller's OWN records or numbers — this searches documents, so it can only ever return prose ABOUT a topic, never the user's actual data. Questions like 'what are my top commission earning deals', 'what is my affiliate link', 'when is my next payout', 'why haven't I been paid', 'how many referrals did I send' must go to the data tools instead: `commissions` (earnings/payouts), `partner_artifacts` (action 'tracking_links' for affiliate links, 'deals', 'invoices', 'charges', 'agreements'), `get_search_deals` (a specific deal by name), `referrals`, `performance(action: 'partner')` (that partner's metrics). Searching documents for those returns a generic article instead of the answer — if a question asks for the user's own figures, records or status, call the data tool, not this one.EULEREULER
PluginrequiredSales & CRM - Send Outbound Referralsend · [Partner Relationships] Sends an OUTBOUND referral from your company TO one of your partners (the customer-side counterpart of a partner's submit_referral). The partner receives it and decides via their assistant or the partner portal; the form answers stay hidden from them until they accept. Required flow: (1) resolve partner_id for the recipient with `partners(action: 'list', filter_name: ...)` — it must be a partner OF YOUR COMPANY (EULER rejects a partner outside it). (2) call `get_outbound_form` to fetch the outbound form_id + questions[]. (3) have the user fill in every required question. (4) call this tool with partner_id + form_id + answers (a JSON array of {question_id, answer_text, multiselect_options[]} entries). Each call sends to ONE partner. IDs from `partner_directory_search` are profile_ids, NOT partner_ids — they'll be rejected.EULEREULER
PluginrequiredSales & CRM - Submit MCP Feedbacksubmit · [Feedback] Sends feedback to the EULER engineering team about the MCP itself — tool errors, ambiguous descriptions, missing capabilities. Use proactively when: (a) type='error' — a tool returned an unrecoverable error and the user couldn't get what they asked for; (b) type='improvement' — a tool's description was ambiguous and led down the wrong path before recovering; (c) type='feature_request' — the user asked for something this MCP doesn't support yet; (d) type='recommendation' — a general suggestion (UX, naming, missing context, etc). Feedback is delivered to a Slack channel monitored by EULER engineering. Do NOT use for routine user-fixable errors (wrong input, missing partner_id, malformed deal_id) or to surface successful operations — only when the MCP itself fell short.EULEREULER
PluginrequiredSales & CRM - Submit Referralsubmit · [Partner Relationships] Submits a new referral or deal registration on behalf of a partner. TWO caller modes: (A) a PARTNER submitting for one of their OWN partner accounts — resolve partner_id from `list_accounts` (match by `affiliate_company_name`, e.g. 'send a referral to <Partner>' means the user has a partner account with that affiliate_company_name); (B) a CUSTOMER admin submitting on behalf of a partner OF THEIR COMPANY — resolve partner_id from `partners(action: 'list', filter_name: ...)`. Required flow: (1) resolve partner_id (mode A via `list_accounts`, mode B via `partners(action: 'list')`). (2) call `referrals(action: 'get_form_for_partner', partner_id)` to fetch form_id + questions[]. (3) have the user fill in every required question. (4) call this tool with partner_id + form_id + answers (a JSON array of {question_id, answer_text, multiselect_options[]} entries) — place each value in the field its question's `answer_field` indicates (almost always `answer_text`; only true multi-select uses `multiselect_options`). A customer admin may only submit for a partner that belongs to their own company — EULER enforces that scoping server-side (a partner outside your company won't resolve). From `partner_directory_search`, the item's `id` is a profile_id, NOT a partner_id, and will be rejected — use the same item's `partner_id` field instead (empty when the profile's partner link was never set).EULEREULER
PluginrequiredSales & CRM - Upload Content Filecontent · [Content Management — Customer Admin] Two-step browser upload for a content file, so file bytes are never inlined into a tool argument (which stalls or truncates for anything but tiny files). action='prepare' returns a link to share with the user; action='check' returns the resulting file_url once they've uploaded. Pass content_id ONLY when replacing an existing item's file (ahead of content_manage(action:'edit')) and omit it for a brand-new item (ahead of action:'create') — whichever you choose, use the SAME value for both actions. action='check' additionally REQUIRES the `upload_ref` that 'prepare' returned. 'check' waits briefly so the user usually doesn't need to say 'done'; if it returns status:'pending', ask them to confirm and call again.EULEREULER
PluginrequiredSales & CRM - Activate a syncsync · Turns a paused sync on. A draft whose mappings a person has not yet reviewed fails with confirmation_required — relay the required_action's url so they can review and start it in the app.WhalesyncWhalesync
PluginrequiredOperations - Await a live export savelive · The latest save: how it ended (with per-table errors), staying on the line while one is still running. succeeded is authoritative — it is only reported when no edits remain unsaved. If it returns a still-running state, simply call it again.WhalesyncWhalesync
PluginrequiredOperations - Cancel a live export runlive · Stop an in-flight run. A run that already finished returns run_not_active.WhalesyncWhalesync
PluginrequiredOperations - Create a live exportlive · Creates a draft live export: a one-way scheduled copy from a source app into destination tables the export creates. NEVER ask the person for credentials in chat: create with connector names only and the export comes back with a pending_actions link per side where the person connects securely in the app — relay each link. Include auth inline only for api_key connectors whose credentials were already handed to you programmatically. Not idempotent: if a call fails ambiguously, check live_export_list before retrying.WhalesyncWhalesync
PluginrequiredOperations - Create a syncsync · Creates a draft sync between two connectors. NEVER ask the person for credentials in chat: create the sync with connector names only (no auth, no base) and it comes back with a pending_actions link per side where the person connects securely in the app — relay each link. That is the only option for OAuth connectors (the person picks the base in the browser; even a remote_id you know from another sync cannot be pre-selected), and the default for API-key connectors too; include auth inline only when the credentials were already handed to you programmatically. Validation reports the first problem it finds, so fix and retry rather than expecting every issue at once. Not idempotent: if a call fails ambiguously, check sync_list before retrying.WhalesyncWhalesync
PluginrequiredOperations - Delete a live exportlive · Deletes the live export and its schedule. Tables already created in the destination stay put.WhalesyncWhalesync
PluginrequiredOperations - Delete a syncsync · Stops and deletes the sync. The connected apps and their data are not touched.WhalesyncWhalesync
PluginrequiredOperations - Get a live exportlive · Full live export details: status, both sides, schedule, last run, and pending_actions. When pending_actions is non-empty, relay each action's url and instruction to the person verbatim — browser sign-ins can only be done by a human.WhalesyncWhalesync
PluginrequiredOperations - Get a live export runlive · One run with its ordered steps (pull → map → write) — where a failed run explains itself.WhalesyncWhalesync
PluginrequiredOperations - Get a live export schedulelive · The export's cadence and on/off switch, plus allowed_cadences from the person's plan. There is no pause/activate — the schedule IS the lifecycle switch.WhalesyncWhalesync
PluginrequiredOperations - Get a record's sync statussync · Everything known about one record's sync state — the diagnosis tool for "why isn't this record syncing". Returns open issues blocking it, a pending delete awaiting a person's review, operations queued right now, per-side flags (deleted / filtered out by a sync filter / sync disabled), links to the record in both apps, and its most recent operations. queued_operations null means the queue could not be consulted, not that it is empty. For older history call sync_list_operations with record. Diagnose from the flags and issues before assuming the sync itself is broken: a filtered or sync-disabled record is excluded on purpose, and a pending delete waits for a person to approve it in the app.WhalesyncWhalesync
PluginrequiredOperations - Get a syncsync · Full sync details: status, both sides, open issue count, review_url, and pending_actions. When pending_actions is non-empty, relay each action's url and instruction to the person verbatim — those steps (browser sign-in, reviewing before starting) can only be done by a human.WhalesyncWhalesync
PluginrequiredOperations - Get an issuesync · One issue in full, including its remediation.WhalesyncWhalesync
PluginrequiredOperations - Get an operationsync · One operation in full, including per-field changes.WhalesyncWhalesync
PluginrequiredOperations - Get live export mappingslive · The working mappings document: which source tables copy into which to-be-created destination tables, field by field. Carries the revision to send back on live_export_update_mappings.WhalesyncWhalesync
PluginrequiredOperations - Get live export statuslive · The live view: whether a run is in flight right now, and when the next scheduled run fires.WhalesyncWhalesync
PluginrequiredOperations - Get live sync statussync · A live snapshot: pending pushes and each side's polling/initializing state. Makes live calls, so it can take a few seconds — use sync_get for the cheap summary.WhalesyncWhalesync
PluginrequiredOperations - Get the mappingssync · The sync's declarative mappings document plus its revision. Keep the revision and send it back with sync_update_mappings so a concurrent edit fails instead of being silently overwritten. Also the place to find a table pair's sync filter and advanced settings when asked why some records never sync.WhalesyncWhalesync
PluginrequiredOperations - List a side's basessync · The bases/sites/databases the credential on one side can reach, fetched live from the connected app (can take a few seconds). Reference a base by its remote id — names are not unique.WhalesyncWhalesync
PluginrequiredOperations - List a side's tablessync · The tables on one side of the sync, from Whalesync's cached schema (fetched automatically the first time). Pass refresh: true after changing the connected app's schema; refresh requires the sync to be off. May block for up to a minute while a fetch completes.WhalesyncWhalesync
PluginrequiredOperations - List a table's fieldssync · The fields of one table with type metadata, from the cached schema. Reference the table by table_… id, remote id, or exact name — resolution tries them in that order, so when the same string names tables on both sides (Postgres remote ids are bare table names), pass side to pin which one you mean. May block for up to a minute while a fetch completes. When choosing what to map: fields with write: false (formulas, created-time, Whalesync's synthesized record id, …) can only be the SOURCE side of a one-way mapping — include them only when the person wants that value in the other app (syncing a record id across is a common, legitimate case). Skip fields whose type_details.mapping_disabled is true, and map link/reference fields only when the table they point at is also mapped.WhalesyncWhalesync
PluginrequiredOperations - List connectorssync · Every connector Whalesync supports, with its auth method (API key fields vs browser OAuth) and capabilities. Start here to learn what a sync side needs.WhalesyncWhalesync
PluginrequiredOperations - List destination locationslive · Where the destination can host created tables (an Airtable base, a Notion parent page). Pick one with live_export_update. Only destinations with pickable locations return any.WhalesyncWhalesync
PluginrequiredOperations - List live export connectorslive · The connectors usable for live exports, each with the roles it can play (source, destination) and its auth. A separate registry from sync_list_connectors — the same brand can differ per surface.WhalesyncWhalesync
PluginrequiredOperations - List live export runslive · One export's recent runs, newest first — the monitoring surface (live exports have runs, not issues; a failed run's error is the diagnostic). History is retention-bounded.WhalesyncWhalesync
PluginrequiredOperations - List live exportslive · The account's live exports, newest first. Paginate with cursor when has_more is true.WhalesyncWhalesync
PluginrequiredOperations - List open issuessync · Open issues on one sync, each with a remediation hint. Empty means healthy.WhalesyncWhalesync
PluginrequiredOperations - List operationssync · The record-level change log for one sync, newest first: what was created, updated, or deleted, where, and why. The place to verify a sync is actually moving data.WhalesyncWhalesync
PluginrequiredOperations - List pending deletessync · Deletes waiting on a person for one sync. When a record goes missing on one side, Whalesync holds the delete rather than applying it to the other side, so an accidental delete or an app outage cannot destroy data. Each entry links to the record in the connected app so a person can look before deciding. Approving or ignoring is irreversible and deliberately not in this API — relay the entry's review_url. A sync that auto-approves deletes has no queue and answers delete_approval_disabled; sync_get reports which mode a sync is in before you call.WhalesyncWhalesync
PluginrequiredOperations - List source fieldslive · One source table's exportable fields, each with the name and type it would get in the destination. Pick from these when writing mappings — field types are planned by the server, never chosen by you.WhalesyncWhalesync
PluginrequiredOperations - List source tableslive · The exportable tables in the source app. Live — the connector enumerates them, so it can be slow.WhalesyncWhalesync
PluginrequiredOperations - List syncssync · The account's syncs, newest first. Paginate with cursor when has_more is true.WhalesyncWhalesync
PluginrequiredOperations
What is Tool Explorer?
Tool Explorer indexes the callable tool names and descriptions attached to public registry profiles. It is useful for seeing what agents can actually invoke, not just which profile exists.
How do category and verb filters work?
Category filters use the live registry category rollup. Verb filters use the public tool insights rollup, so the page stays backed by the same read models as the tracker charts.
Why do auth requirements matter?
Auth requirements show whether a tool is likely usable without account connection, requires authentication, is private, or is unknown in the current snapshot.