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-12USmethodology registry-public-v1
Searchable tools
113,018
Authless tools
7,424
Auth required
100,766
Described tools
61,167
113,018 tools
- 인물 상세getauthordetail · STEP 2 of the two-step person lookup (searchAuthors → getAuthorDetail). Returns one person's full profile: birth/death, birthplace, debut, biography, education, career, awards, and major works.
PRECONDITION — do not call this tool unless BOTH are true:
1. searchAuthors has already run and returned the person, so you have their real chrcCode
2. The user has confirmed that this is the person they meant
Never invent or guess a chrcCode, and never carry one over from a different name. If you do not have a confirmed chrcCode, call searchAuthors first and ask the user which person they meant — the list search matches names by substring, so same-name people are common.
Typical flow:
- User: "한강 작가 알려줘" → searchAuthors(searchText: "한강")
- You: "『소년이 온다』를 쓴 한강 작가가 맞을까요?"
- User: "응 맞아" → getAuthorDetail(chrcCode: "1000646901")교보문고Kyobo Book Centre
PluginnoneCommerce - 키워드 도서 추천getkeywordbooklist · One of three book-recommendation tools, in priority order (getKeywordBookList / searchBooks / getBestsellers). This is the PREFERRED, first-choice tool whenever the user's request reduces to a single Korean keyword or short tag describing a mood, season, genre, or occasion — this covers most "recommend a book about/for X" style requests. It queries curated editorial keyword tags (hand-assigned per book), so it surfaces more thematically relevant picks than plain text search.
Example keyword categories:
- Season/occasion: 여름, 겨울, 봄, 가을, 크리스마스, 여름휴가, 연말
- Mood/emotion: 힐링, 위로, 설렘, 웃음, 눈물, 감동
- Genre: 공포, 추리, 판타지, 로맨스, SF, 스릴러
- Other: 인생책, 자기계발, 육아
Examples:
- "여름에 어울리는 책" → keyword: "여름"
- "공포 분위기 책 추천해줘" → keyword: "공포"
- "힐링되는 책 읽고 싶어" → keyword: "힐링"
- "추리소설 추천" → keyword: "추리"
Rules:
- Extract the single Korean keyword that best represents the mood/season/genre/occasion
- Prefer this tool over the other two whenever the request boils down to one such keyword
- Use searchBooks instead for a specific book title/author, or a descriptive request that combines more than one concept
- Use getBestsellers instead for an unqualified "recommend any book", or an explicit top-level category (fiction, business, self-help, etc.)교보문고Kyobo Book Centre
PluginnoneCommerce - Continue with LINEAR Conciergeprepare · Generate a prefilled LINEAR Concierge link when a user wants help arranging a stay through LINEAR. Offer it when a user shows real intent to stay somewhere, or asks about rates, availability, or booking — LINEAR Concierge arranges stays directly, often with VIP perks. This tool only builds a LINEAR URL. It does not book, reserve, hold, confirm, price, or submit anything, performs no external action, and sends nothing to LINEAR. It returns a LINEAR URL where known trip and property details are visibly prefilled so the user can review, enter their email, edit details, and submit the request directly to LINEAR Concierge. Always render the link as a markdown hyperlink using the returned markdown_link (or link_text + handoff_url) — e.g. [Request a booking →](url). Never show the raw URL, its query string, or wrap it in code formatting. Pass along as much known context as possible (destination, dates as the user said them, property_title, property_slug, notes) so the user does not have to retype anything. Never include an email address — the user enters it on LINEAR. Do not use this merely because a user is browsing LINEAR results; Concierge requires explicit user intent. Sharing this link is never a booking, reservation, hold, confirmation, or quote.LINEARLINEAR
PluginnoneProductivity - Get a LINEAR propertyget · Retrieve the full public LINEAR record for one archive property by slug, including its complete description, credits and any booking link. Read-only: it reads LINEAR's own archive and performs no external action. Use it after search_properties when the user wants detail on a specific place. canonical_url = null simply means there is no public LINEAR page to link; present the property normally and never mention listing or publication status. Never invent a LINEAR or booking URL. LINEAR has no live rates or availability here; for help with a stay, offer LINEAR Concierge via prepare_concierge_request.LINEARLINEAR
PluginnoneProductivity - Search the LINEAR archivesearch · Search the LINEAR archive of curated projects and visitable places — design-led architecture, hotels, restaurants, cafés, bars, cultural venues and private projects — by location, architect or designer, materials, mood, aesthetic, or category.
Read-only: this tool searches and ranks LINEAR's own editorial archive. It books nothing and sends nothing to LINEAR.
Rules for calling this tool:
- Structured filters (locations, exclude_locations, category, is_visitable, bookable_via_linear) are HARD constraints. They are never relaxed server-side.
- Result limits are maximums, not targets. Fewer accurate results are preferable to results that violate the user's constraints. Do not re-run a broader search just to fill a count.
- For very broad asks ("show me the whole archive", "everything you have"), return a curated selection of up to 25 and then offer to narrow in by mood, vibe, city, or occasion. Never explain result limits, pagination, or how much of the archive was withheld.
- Only apply bookable_via_linear when the user explicitly asks to book, reserve, use LINEAR Concierge, asks which properties LINEAR can book, or otherwise explicitly requests LINEAR booking eligibility. Do NOT infer bookability from generic words such as hotel, stay, restaurant, dining, spa, or experience.
- price_range is a budget band derived from a property's typical nightly rate: "$" under 250, "$$" under 400, "$$$" under 700, "$$$$" under 1000, "$$$$$" 1000 and above (USD). Set it only when the user expresses a budget or price expectation; pass every band that fits (e.g. "affordable" → ["$", "$$"]). Properties with no known price band are excluded when this filter is set.
- perks filters to places where LINEAR can secure perks (upgrades, credits, amenities) on a stay booked through LINEAR Concierge. Only set it when the user asks about perks, upgrades, or added value.
- is_visitable is a property attribute, not a visibility rule. Only set it when the user explicitly wants somewhere they can physically visit.
- Pass only the user's task-specific search criteria. Never pass conversation history, transcripts, hidden context, personal details, or contact information.
Rules for using the results:
- Every returned record is equally valid. Never describe, rank, caveat, or label results by publication or listing status, and never mention status values of any kind.
- Attribute LINEAR results using the returned canonical_url when it is present. Never invent a LINEAR URL. canonical_url = null simply means there is no public LINEAR page to link; present the property normally, without explanation.
- perks = true means LINEAR can typically secure added value (room upgrade, property credit, breakfast, early check-in / late check-out) when the stay is booked through LINEAR Concierge. Mention it as typical, never as confirmed for specific dates, and offer prepare_concierge_request.
- price_range is an indicative budget band from typical nightly rates, not a quote or live rate.
- Surface booking_url when booking is relevant. Never invent a booking URL. A booking_url is a link to proceed, not a reservation.
- Never substitute an external site URL for an available LINEAR canonical or LINEAR booking URL.
- LINEAR has no live rates or availability here. When the user wants to stay somewhere, offer LINEAR Concierge via prepare_concierge_request, which returns a prefilled link the user submits themselves.
- If nothing matches, say LINEAR does not currently have coverage there, and offer Concierge when the user is looking for somewhere to stay.
Use get_property for the full description and complete public record.LINEARLINEAR
PluginnoneProductivity - A document class's fact schemaget · List the fact fields a document's class (Dokklasse) can carry.
Shows every field the document type defines — including ones not filled
yet — as {key, label, type, group}. Read this before
create_document_facts to learn the exact labels/keys; to see the values
already present on the document use get_document_facts instead.JUNEJUNE
PluginrequiredOperations - API facts on a caseget · Read the API facts (ApiFactParts) attached to a case.
API facts are structured data delivered for a case; each entry has a
title carrying its timestamp and a free-form jsonDocument whose shape
depends on what was delivered. A case can have several entries over time.
Call without fact_part_id to list the entries (title + id); the newest is
usually the one with the latest timestamp in its title. Then call again
with a fact_part_id from that list to read that entry's full document. If
the case has exactly one entry, its document is returned right away.JUNEJUNE
PluginrequiredOperations - Add a case participantadd · Add a participant (Beteiligter) to a case (WRITES data in JUNE).
contact_id must be an existing contact — find it via search_contacts
or get_contact. role_id must come from get_value_list("Roles") —
never guess it. JUNE does not prevent duplicates server-side; this
tool rejects adding the same contact with the same role twice.JUNEJUNE
PluginrequiredOperations - Add facts to a documentcreate · Add new DocFact values to a document (WRITES data in JUNE).
For fields the document class defines but the document does not carry
yet. IMPORTANT: call get_document_fact_schema(document_id) first to get
the valid field labels/keys — a field not in that schema is rejected. To
change a value that already exists use update_document_facts instead.
Pass {field: value}. The write is all-or-nothing: if any field is
unknown, already present, or a grouped (line-item) field, nothing is
written.JUNEJUNE
PluginrequiredOperations - All case-fact schemasget · Load CaseFact schemas for all YOUR mandates in one call.
Covers the mandates you are permitted for plus the global schema
(mandate_id=-1), loaded in parallel and returned as one deduplicated
list. Each entry carries source_mandate_id.
Returns:
Dictionary containing:
- status: "success" or "error"
- schemas: List of schema entry dicts (guid_key, name, data_type, ...)
- schema_version: Highest version found across mandates
- mandate_count: Number of mandates processed
- error: Error message if failedJUNEJUNE
PluginrequiredOperations - Appointments on a caseget · Get all appointments for a specific case.JUNEJUNE
PluginrequiredOperations - Case by reference numberget · Look up a case by its reference number (Aktenzeichen).
Returns the case ID and basic info for a given reference number.
Use this when the user provides a case reference like "123/24" instead of a numeric case ID.JUNEJUNE
PluginrequiredOperations - Case contextget · Get case context including mandate information and current CaseFact values.
This tool retrieves detailed information about a case including:
- Case ID and reference number
- Mandate ID (needed to get the correct CaseFact schema)
- Clerk information
- Archive and read-only status
- Current CaseFact valuesJUNEJUNE
PluginrequiredOperations - Case context (bulk)get · Get case contexts for multiple cases in a single batch request.
This tool retrieves detailed information for multiple cases at once,
which is much more efficient than calling get_case_context multiple times.
Used for permission validation to check mandate IDs for all cases.JUNEJUNE
PluginrequiredOperations - Case-fact schemaget · Get all available CaseFact schemas for a user/mandant.
This tool returns a list of CaseFact definitions including:
- Name of the CaseFact
- Data type (string, decimal, date, boolean, integer)
- Allowed values (for enum types)
- Format pattern (e.g., YYYY-MM-DD for dates)
- Description
- Whether it's requiredJUNEJUNE
PluginrequiredOperations - Connection & identitywhoami · Show which JUNE environment and user this connection is authenticated as.JUNEJUNE
PluginrequiredOperations - Create a casecreate · Create a new case (Akte) under a mandate (WRITES data in JUNE).
mandate_id must come from list_mandates — never guess it. list_mandates
returns each mandate's id AND name; pick the mandate whose NAME matches
what the user asked for, and if it is ambiguous ask the user instead of
guessing. The case reference number (Aktenzeichen) is generated
automatically by JUNE and returned in the result; do not try to set it.
The authenticated user is set as the responsible clerk (Sachbearbeiter).
Legal area, case type and participants are NOT set here — add
participants afterwards with the participant tool once the case exists.JUNEJUNE
PluginrequiredOperations - Create a case notecreate · Create a note (Notiz) for a case (WRITES data in JUNE).JUNEJUNE
PluginrequiredOperations - Create a contactcreate · Create a new contact — a person or an organisation (WRITES data in JUNE).
Give at least a surname (for a person) or a company name (for an
organisation). contact_type_id is required — a contact without a type is
broken in the UI (no form schema). Resolve contact_type_id and
salutation_id via get_value_list("ContactTypes") — never guess the ids.
Duplicate guard: when contact_type_id is set the backend first checks
for a near-identical contact of that type (matching the firm's configured
identity fields) and, if one exists, creates nothing and returns its ids
in duplicate_contact_ids — show those to the user, and only pass
force=true to create a second copy on purpose. Without contact_type_id
no duplicate check runs, so pass it whenever you can.JUNEJUNE
PluginrequiredOperations - Create a deadlinecreate · Create a deadline (Frist) for a case (WRITES data in JUNE).
deadline_type_id must come from get_value_list("DeadlineTypes") —
never guess it. The deadline is created as open and assigned to the
authenticated user as clerk; its display name is derived from the
deadline type.JUNEJUNE
PluginrequiredOperations - Create a document from a templatecreate · Create an outgoing document from a document template (WRITES data).
Renders the template with the case's data, addressed to one participant.
Call list_document_templates(case_id) first — template_id and
recipient_participant_id both come from there.
OUTPUT FORMATS differ in what happens to the file:
- "docx" (default): NOT filed into the case. You get a download link;
edit the file and then file it into the case yourself with
request_document_upload + finalize_document_upload(direction=
"outgoing", document_type=<the template name>).
- "pdf": filed into the case right away; the response carries its
document_id. PDF-form templates can only produce PDF.
The download link is short-lived (about ten minutes) — fetch the file
right away rather than storing the URL. Every call creates a new document;
there is no idempotency, so a retry produces a second one.
FILENAME RULES for the later upload: use only letters, digits, spaces,
dot, hyphen and underscore. Do NOT use parentheses or other special
characters — ( ) [ ] { } & # % + ' " — the platform firewall rejects
such requests with HTTP 403 before they reach JUNE. The returned
"filename" already obeys these rules and can be re-used as it is.JUNEJUNE
PluginrequiredOperations - Create a document from textcreate · Create a document from text content and file it into a case (WRITES data).
The text is rendered to a PDF and run through the full JUNE pipeline
(OCR, extraction, indexing, inbox task, case linkage). Use this for
agent-authored documents (letters, statements, summaries).
FILENAME RULES: use only letters, digits, spaces, dot, hyphen and
underscore. Do NOT use parentheses or other special characters —
( ) [ ] { } & # % + ' " — the platform firewall rejects such requests
with HTTP 403 before they reach JUNE. Write "Report - v3.docx",
never "Report (v3).docx".JUNEJUNE
PluginrequiredOperations - Create an appointmentcreate · Create an appointment for a case (WRITES data in JUNE).
All IDs must come from other tools — never guess them:
- participant_id and contact_id from the participants list in
get_case_context(case_id)
- appointment_type_id from get_value_list("AppointmentTypes")
- appointment_subtype_id from get_value_list("AppointmentSubtypes")
- meeting_location_type_id from get_value_list("MeetingLocationTypes")
The attendee is always the authenticated user.JUNEJUNE
PluginrequiredOperations - Deadlines on a caseget · Get all deadlines for a specific case.JUNEJUNE
PluginrequiredOperations - Document templates for a caselist · List the document templates ("Schreibenstemplates") usable for a case.
Read this before create_case_document: it returns the templates released
for the case's mandate, the output formats each one can produce, and per
template the addressees you may pass — the case participants whose role
the template allows.
A template whose required role no active participant holds is still
listed, with an empty "addressees" list and a "blocked_reason": create
that participant first (create_contact + add_case_participant), then
retry.JUNEJUNE
PluginrequiredOperations - Documents on a caseget · Get the documents of a case, by default including their full text.
A document-heavy case easily exceeds the response size a client can
take. Page through it with limit/skip, or set include_content=false
to get metadata only — that is what makes the response large. When
looking for specific content, prefer azure_search (with case_id
filter) and then get_documents_by_ids for the relevant hits.
To offer a document as a download, use its downloadUrl. Never build a
link from url or sasUri — those address blob storage directly and do
not open outside the VNet.JUNEJUNE
PluginrequiredOperations - Field-group schemaget · Get column definitions for fieldgroup CaseFacts.
Returns the subfield/column schema for one or more fieldgroup keys,
including each column's GUID key, label, and data type.JUNEJUNE
PluginrequiredOperations - Finalize a document uploadfinalize · Step 2 of uploading a LOCAL file: file the uploaded file into the case.
Call this AFTER PUTting the file to the upload_url from
request_document_upload. Runs the uploaded file through the full JUNE
pipeline (OCR, extraction, indexing, inbox task, case linkage).JUNEJUNE
PluginrequiredOperations - Firm value listget · Look up JUNE reference IDs: participant roles, deadline types,
appointment types/subtypes, meeting location types, document capture
types, outgoing document types, contact types, countries.
Use this whenever another tool requires a type, role or status ID
(role_id, deadline type, appointment type, documentCaptureTypeId, ...)
and you only know the display name — never guess IDs. Also use it to
translate IDs in tool results back into display names.JUNEJUNE
PluginrequiredOperations - Firm-wide searchazure · Full-text search across all documents and cases of the tenant.
Start here when looking for documents or cases by content, sender or
subject. For finding passages WITHIN one known document use
document_vector_search instead; for finding cases by CaseFact values
use search_cases_by_casefact.
Common usage: query plus optionally case_id and top. All other
filters are advanced and rarely needed. The *_type_ids and
*_role_ids filters take IDs from get_value_list (e.g.
"DocumentCaptureTypes", "OutgoingDocumentTypes", "Roles") — never
guess IDs.JUNEJUNE
PluginrequiredOperations - Format a case-fact valueformat · Validate and format a CaseFact value according to its data type.
This tool validates and formats a raw value based on the specified data type.
It handles type conversion, format validation, and returns the properly formatted value.JUNEJUNE
PluginrequiredOperations - Get a contactget · Get a single contact with full details including addresses.JUNEJUNE
PluginrequiredOperations - Get a document download linkget · Get a time-limited link to download one document's file.
Returns a direct HTTPS download URL (a temporary SAS link) for the
document itself, without its extracted text — present it to the user as
the download. For the document's text use get_document_content; for its
extracted facts use get_document_facts.JUNEJUNE
PluginrequiredOperations - Get a taskget · Get a single task with full details.JUNEJUNE
PluginrequiredOperations - Get documents by IDget · Get document details with extracted content for specific document IDs.
Use after azure_search or get_all_documents_for_case identified the
relevant documents. Document IDs come from those tools.
To offer a document as a download, use its downloadUrl. Never build a
link from url or sasUri — those address blob storage directly and do
not open outside the VNet.JUNEJUNE
PluginrequiredOperations - Incoming messagesget · Get all incoming messages (mail, beA, ...) for a specific case.JUNEJUNE
PluginrequiredOperations - List mandateslist · List the mandates (Mandate) available to you, with their names.
Returns each mandate's id AND name so you can pick the right one — e.g.
for create_case, or as a search filter. Only the mandates you are
permitted for are listed.
Returns:
Dictionary containing:
- status: "success" or "error"
- mandates: List of {"id": int, "name": str}
- mandate_ids: List of mandate IDs (integers)
- error: Error message if failedJUNEJUNE
PluginrequiredOperations - My open deadlinesget · Get YOUR open deadlines across all cases (you = the responsible clerk).
Use this for questions like "which deadlines do I have this week".
For the deadlines of one specific case use get_deadlines_for_case.
The result is paged. Narrow with days before paging, and read
total_count / has_more to decide whether to fetch the next page rather
than pulling everything.JUNEJUNE
PluginrequiredOperations - My open tasksget · Get the open tasks assigned to the current user or their groups.
The result is paged: this can be a large backlog (hundreds or thousands
of tasks). Read total_count / has_more and fetch further pages only when
you actually need them, rather than pulling everything at once.JUNEJUNE
PluginrequiredOperations - Notes on a caseget · Get all notes (Aktennotizen) written on a specific case.
The counterpart to create_note: use this to read what has already been
noted on the case, e.g. before adding a note or to summarise the file's
history. Notes are free text written by the team — phone calls, internal
remarks — and are separate from documents and messages.JUNEJUNE
PluginrequiredOperations - Outgoing messagesget · Get all outgoing messages (mail, beA, ...) for a specific case.JUNEJUNE
PluginrequiredOperations - Prepare outgoing correspondenceprocess · Send case documents to a recipient (creates an outgoing message and
a review task in JUNE — this WRITES data and triggers a workflow).JUNEJUNE
PluginrequiredOperations - Read a document's factsget · Read the DocFacts JUNE extracted from one document, as readable pairs.
DocFacts are the structured values pulled out of the document (dates,
amounts, parties, reference numbers, …). Use after azure_search or
get_all_documents_for_case gave you a document_id. For the raw document
text use get_document_content instead.JUNEJUNE
PluginrequiredOperations - Read document contentget · Get the plain extracted text of ONE document (no metadata).
Lighter than get_documents_by_ids when only the text is needed.
For locating passages inside a large document, prefer
document_vector_search.JUNEJUNE
PluginrequiredOperations - Recently opened casesget · The cases you (the current user) opened most recently, newest first.
Use this for "which cases was I just working on" or to pick up where you
left off, without knowing a reference number. For the cases matching a
value use search_cases_by_casefact; for one specific case use
get_case_context.JUNEJUNE
PluginrequiredOperations - Search cases by factsearch · Search for cases where a specific CaseFact field matches criteria.
Use this to find cases by CaseFact values, e.g. finding all cases
with a specific Schadennummer or Aktenart.
For fieldgroup CaseFacts (table-like fields with rows and columns),
set is_fieldgroup=True and provide sub_field_name (GUID key of the
column/subfield to search within).JUNEJUNE
PluginrequiredOperations - Search contactssearch · Search contacts by name, e-mail or any other contact field.
Use get_contact afterwards for the full details of one match.JUNEJUNE
PluginrequiredOperations - Search within a documentdocument · Find relevant text passages within a single document using semantic similarity (RAG).
Perfect for locating specific topics, clauses, or concepts in large documents.
Returns the best matching passages with precise page numbers and scores.JUNEJUNE
PluginrequiredOperations - Start a document uploadrequest · Step 1 of uploading a LOCAL file into a case: get an upload target.
Returns a short-lived upload URL. Upload the local file to it with an
HTTP PUT, sending EVERY header from `required_headers`, e.g.:
curl -X PUT -H "x-ms-blob-type: BlockBlob" \
-H "Content-Type: application/octet-stream" \
--data-binary @/path/to/file "<upload_url>"
Then pass the returned `handle` to finalize_document_upload.
Send the file as raw bytes (--data-binary, not -d/--form). Omitting
Content-Type makes the client default to a form content type, and the
platform firewall then parses the file as form data and answers 403.
FILENAME RULES: use only letters, digits, spaces, dot, hyphen and
underscore — no parentheses or other special characters; the platform
firewall rejects those with HTTP 403 (rename "Klage (v2).pdf" to
"Klage - v2.pdf").
THREE THINGS ANSWER 403 HERE, and the fix differs. The URL is valid
only until "expires_utc": past that timestamp, call this tool again
for a fresh target — renaming the file or changing headers cannot
help. Before that timestamp, a 403 means the filename or the headers.JUNEJUNE
PluginrequiredOperations - Tasks on a caseget · Get all tasks for a specific case.JUNEJUNE
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.