Build & ship an agent in minutes

This guide walks you from zero → a deployed Ordo agent embedded in your app and available in chat surfaces.

1. Quick Start

  1. Register / login
  2. Create an agent (Dashboard → Agents → New)
  3. Add at least one Tool
  4. Add knowledge (optional)
  5. Test in the in-app chat
  6. Embed in your app

Estimated: 5–10 minutes for a basic data retrieval agent.

2. Core Concepts

Agent
The orchestrator: a system prompt + model settings + attached tools + optional document knowledge base.
Tool
An operation (often HTTP) the model can invoke. Tools can return raw text/data or display blocks.
Display Block
A structured object returned by a tool that renders charts (Chart.js) or diagrams (Mermaid).
Documents
Indexed content the agent can reference for grounded answers (RAG). Usage appears in analytics.
Tenant
Your organization sandbox. Credentials, usage limits, and members are isolated per tenant.
Session
A chat timeline aggregated for analytics (messages, tokens, tool calls, visuals).

3. Create an Agent

  1. Dashboard → Agents → New.
  2. Name & optional description.
  3. Write a concise System Prompt (persona + what to do / not do).
  4. Add an Opener message to greet users.
  5. Select a model + temperature (start low for deterministic results).
  6. Save. You now have a runnable base agent.
Tip: Keep the system prompt short; offload specifics to tools & snippets for easier iteration.

4. Add Tools

Tools let the LLM call out for data or actions. You provide the surface; the model decides when to use a tool and how to weave returned data into the answer.

A. OpenAPI Import

  1. Click Import OpenAPI.
  2. Paste a spec URL or upload JSON/YAML.
  3. Select the operations you want; they become tools instantly.
  4. Optionally disable noisy endpoints later.

B. Custom Tool

  1. Define: name, description (what it returns / when to use), HTTP method & path.
  2. Optional headers & JSON body (static or with simple placeholders).
  3. Attach credentials (configured in Settings) — they’re injected server-side.
  4. Save; enable it for the agent.

Return plain JSON or text. If you return a recognized display block, Ordo renders visuals automatically.

Display Blocks (Optional)

For visuals, your tool response body can directly return:

{ "type":"chart", "variant":"line", "data":{ "labels":["Jan","Feb"], "datasets":[{"label":"MRR","data":[12000,14000]}] } }
{ "type":"diagram", "format":"mermaid", "code":"graph TD; A-->B; B-->C;" }

No extra wiring required — the transcript shows the chart/diagram inline.

5. Secure Credentials

Go to Settings → Organization / Tools (or equivalent panel) and add API keys / secrets. They’re vaulted server-side; the browser only references logical names. Attach them to tools by selecting the credential mapping.

Never hardcode secrets in tool bodies. Use {{credential.NAME}} placeholders or configured auth headers.

6. Add Knowledge (Documents)

  1. Navigate to Documents.
  2. Upload files or paste text / URLs.
  3. Ingestion chunks & indexes content (vector store).
  4. Link your agent to the document set (if not automatic).
  5. Ask a question referencing that domain; verify citations (if provided).

Usage counts toward plan ingest pages; monitored per tenant.

7. Test & Iterate

  • Use the agent preview chat to exercise tool paths.
  • Check Chat History → select a session → inspect tool calls & tokens.
  • Refine system prompt & tool descriptions for better selection quality.
  • Add prompt snippets for reusable instructions (e.g. “Return a concise executive summary”).

8. Deployment Options

Current surface: In-app Web Embed. Additional chat surfaces will arrive in a future release.

9. Web Embed

The production embed uses a lightweight client script plus a window._ordochat config object. Provide only non-sensitive values here (never raw model provider keys).

<!-- Ordo Chat (Production Embed) -->
<script>
  window._ordochat = {
    apiKey: 'YOUR_PUBLIC_ORDO_KEY',        // Scoped Ordo key (not your LLM key)
    instanceName: 'your-agent-identity',   // Matches the agent identity you created
    apiUrl: 'https://pub.ordo.chat/api',                // Public widget API (proxy)
    autoLoadConfig: true                   // Fetch remote display & tool config automatically
    // Optional advanced overrides:
    // theme: 'dark',                      // light | dark | blue | red | black-gold
    // position: 'bottom-right',           // bubble position
    // startMaximized: false,
    // showBubble: true,                   // show floating bubble
    // title: 'Assistant',
    // placeholder: 'Ask a question...'
  };
</script>
<script src="https://ordo.chat/chat-agent-client.js" async></script>

Key fields:

  • apiKey: Public, scoped Ordo key intended for embedding; safe to include on any public site. You can revoke/regenerate it in Ordo if you ever need to disable it. Never paste raw OpenAI (or other provider) keys here.
  • instanceName: The agent identity (e.g. support-bot) you configured in the Agent Builder.
  • autoLoadConfig: When true, theme + personality details are fetched server-side; you can still override via optional properties.

The script injects the chat bubble and handles sessions, tool invocation, and visual block rendering. All sensitive execution (credentials, outbound calls, RAG) stays server-side.

Lifecycle Events

The widget dispatches chatagent:* events on window.

window.addEventListener('chatagent:load', (e) => {
  // e.detail = { sessionId, instanceName, headless }
});
window.addEventListener('chatagent:message-sent', (e) => {
  // e.detail = { message, sessionId, instanceName }
});
window.addEventListener('chatagent:message-received', (e) => {
  // e.detail = { message, sessionId, instanceName }
});

10. Visual Outputs

Supported display blocks:

  • Chart: line, bar, pie, scatter (Chart.js)
  • Diagram: flowchart, sequence, gantt, class, state, ER (Mermaid)
  • Markdown (basic formatting)

Tools can return multiple blocks; they render sequentially in the chat transcript.

11. Security & Governance

  • Server-side credential storage & redaction.
  • SSRF guard rails: outbound host allowlist (configurable).
  • Per-tool rate limits (plan-based + custom overrides).
  • Audit trail: every tool call & response logged per session.
  • RBAC: separate admin vs member permissions.

Enterprise features (SCIM / SSO / advanced retention) available on higher plans (see pricing).

12. Analytics & Usage

Navigate to Chat History / Analytics to view:

  • Daily message, tool invocation, and token counts
  • Per-model breakdown of spend/usage (approximate tokens)
  • Top tools & latency distribution
  • Session counts & retention
Tip: Use analytics to prune unused tools and adjust limits.

13. Plans & Limits

Core, Pro, and Scale tiers define monthly quotas (agents, conversations, pages ingested, web lookups). Annual billing applies a discount. See the pricing section for current numbers.

Overages: upgrade or add Boost Packs (+25% each) where available.

14. FAQ

How do I version a tool?

Create a duplicate with a new name (e.g. finance-v2), migrate traffic, then archive the old one.

Can I bring my own OpenAI key?

Yes — add it under credentials and select BYOK for the agent’s model config.

How do I export chat data?

Use the management API endpoint (forthcoming) or contact support for a secure export.