Connect any external bot (Telegram, Discord, Slack, custom) to your NavOrb brain. Your orb's personality, memory, skills, and preferred model are applied — the user's bot becomes a client of your orb.
ai_disclosurefield — bots must not present replies as coming from a human.NAVORB_TOKEN.POST to https://navorb.ai/api/bridge/chat with the token as a Bearer auth header.
curl https://navorb.ai/api/bridge/chat \
-H "Authorization: Bearer nvorb_live_xxx..." \
-H "Content-Type: application/json" \
-d '{
"message": "What should I do today?",
"stream": false
}'const res = await fetch('https://navorb.ai/api/bridge/chat', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.NAVORB_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
message: "What should I do today?",
stream: false,
}),
});
const { reply, model } = await res.json();
console.log(reply);import os
import requests
from telegram import Update
from telegram.ext import ApplicationBuilder, MessageHandler, filters
async def handle(update: Update, ctx):
r = requests.post(
"https://navorb.ai/api/bridge/chat",
headers={
"Authorization": f"Bearer {os.environ['NAVORB_TOKEN']}",
"Content-Type": "application/json",
},
json={"message": update.message.text, "stream": False},
timeout=60,
)
reply = r.json().get("reply", "…")
await update.message.reply_text(reply)
app = ApplicationBuilder().token(os.environ["TG_BOT_TOKEN"]).build()
app.add_handler(MessageHandler(filters.TEXT, handle))
app.run_polling()import { Client, GatewayIntentBits } from 'discord.js';
const client = new Client({ intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
]});
client.on('messageCreate', async (msg) => {
if (msg.author.bot) return;
const res = await fetch('https://navorb.ai/api/bridge/chat', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.NAVORB_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ message: msg.content }),
});
const { reply } = await res.json();
msg.reply(reply);
});
client.login(process.env.DISCORD_TOKEN);{
"reply": "Here's what I think...",
"model": "qwen/qwen3.7-plus",
"conversation_id": null
}Set "stream": true in the request body to receive a text/plain SSE stream instead of JSON. Useful when driving real-time chat UIs.
/pricing or revoke unused tokens.