Data & AI

LLM

Generate, evaluate and summarize text through an OpenAI-compatible model endpoint.

Explore 7 capabilities ↓

What you can build

  • Generate and revise drafts with a chosen quality level
  • Evaluate and classify text with confidence scoring
  • Extract structured data from unstructured text
  • Summarize long documents and synthesize researched answers

Access and credentials

Read-only model calls via your API token. No write or destructive actions.

This plugin uses an API token. Store credentials in OrgSDK and select them for the project that needs access.

Example action

Summarize a project update

Use this call in a saved OrgSDK action after enabling the plugin and connecting a credential.

return await llm.summarizeText({
  "text": "The weekly project update to summarize…",
  "maxLength": 200
});

Use with OrgSDK

OrgSDK gives external AI clients persistent projects and controlled execution. Plugins add optional tools to those projects. Each run uses pinned plugin versions, and project configuration determines which credentials they can use.

Set up OrgSDK locally ↗

The plugin’s toolkit

Capabilities

7 functions from this published version. Read calls retrieve or process information; write actions can change data in the connected service.

7 of 7 functions

llm.generate

Read call

Generate free-form text using an LLM. Takes a user prompt and an optional system prompt to guide the response style/behavior. Optional quality parameter controls model intelligence: 'high' (default, most capable), 'medium' (balanced), 'low' (fastest). Returns an object { content: string, tokensUsed: number } with the generated text and the token usage for billing.

Parameters and return value
ParameterTypeDetails
userPromptstring—
systemPromptOptionalstring—
qualityOptional'high' | 'medium' | 'low'Model quality tier: 'high' (default), 'medium', or 'low'

Returns Promise<{ content: string; tokensUsed: number }>

Use AI to evaluate if text matches given criteria with few-shot examples. Returns { result: boolean, confidence: number }. Requires positive and negative examples to disambiguate the classification boundary. Use confidence thresholds: >0.9 auto-process, 0.7-0.9 log for audit, <0.7 flag for human review. Optional quality parameter: 'high' (default), 'medium', 'low'.

Parameters and return value
ParameterTypeDetails
textstring—
criteriastring—
positiveExample{ text: string; matches: true; reason?: string }—
negativeExample{ text: string; matches: false; reason?: string }—
qualityOptional'high' | 'medium' | 'low'Model quality tier: 'high' (default), 'medium', or 'low'

Returns Promise<{ result: boolean; confidence: number }>

Use AI to categorize text into multiple categories from a comma-separated list. Returns array of category names. Optional quality parameter: 'high' (default), 'medium', 'low'.

Parameters and return value
ParameterTypeDetails
textstring—
categoriesstring—
qualityOptional'high' | 'medium' | 'low'Model quality tier: 'high' (default), 'medium', or 'low'

Returns Promise<string[]>

Use AI to extract structured data from text using a Zod schema object. Returns { data } on success, or { error, data: null } on failure. IMPORTANT: Pass a Zod schema object created with z.object({...}), z.string(), z.number(), etc. JSON schema objects or plain object shapes will fail. When defining the schema, add helpful metadata via .description('...') on each field so the model knows the expected format or details (e.g. date formats, specific keywords). Optional quality parameter: 'high' (default), 'medium', 'low'.

Parameters and return value
ParameterTypeDetails
textstring—
schemaz.ZodType<any>—
qualityOptional'high' | 'medium' | 'low'Model quality tier: 'high' (default), 'medium', or 'low'

Returns Promise<{ data: Record<string, any> } | { error: string; data: null }>

Search for information using LLM. Returns {content, results: [{url, title, snippet, source, publishedDate}]}

Parameters and return value
ParameterTypeDetails
querystring—
maxResultsnumber—

Returns Promise<{content: string, results: Array<{url: string, title: string, snippet: string, source: string, publishedDate: string}>}>

Summarize text content using LLM. Returns {summary, originalLength, summaryLength, tokensUsed}

Parameters and return value
ParameterTypeDetails
textstring—
maxLengthnumber—

Returns Promise<{summary: string, originalLength: number, summaryLength: number, tokensUsed: number}>

Synthesize research findings into a comprehensive answer using LLM. Returns {answer, question, sources, tokensUsed}

Parameters and return value
ParameterTypeDetails
questionstring—
findingsany[]—

Returns Promise<{answer: string, question: string, sources: string[], tokensUsed: number}>