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
- Register / login
- Create an agent (Dashboard → Agents → New)
- Add at least one Tool
- Add knowledge (optional)
- Test in the in-app chat
- Embed in your app
Estimated: 5–10 minutes for a basic data retrieval agent.
2. Core Concepts
3. Create an Agent
- Dashboard → Agents → New.
- Name & optional description.
- Write a concise System Prompt (persona + what to do / not do).
- Add an Opener message to greet users.
- Select a model + temperature (start low for deterministic results).
- Save. You now have a runnable base agent.
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
- Click Import OpenAPI.
- Paste a spec URL or upload JSON/YAML.
- Select the operations you want; they become tools instantly.
- Optionally disable noisy endpoints later.
B. Custom Tool
- Define: name, description (what it returns / when to use), HTTP method & path.
- Optional headers & JSON body (static or with simple placeholders).
- Attach credentials (configured in Settings) — they’re injected server-side.
- 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.
{{credential.NAME}}
placeholders or configured auth headers.
6. Add Knowledge (Documents)
- Navigate to Documents.
- Upload files or paste text / URLs.
- Ingestion chunks & indexes content (vector store).
- Link your agent to the document set (if not automatic).
- 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
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.