Documentation

Build a Discord bot in minutes.

Conjure turns plain-English descriptions into working discord.js bots — code you can read, edit, test in a sandboxed Discord, and deploy live with one click. This page is the full manual.

Quickstart

Five steps. The first three take under two minutes; the last two take as long as Discord makes you wait for an app to be created.

  1. Sign up with Discord (recommended — that way Conjure already knows your handle for the connect step later) or with email.
  2. Describe your boton the "new bot" page. Be concrete: "a moderation bot with /kick, /ban, /mute, and a warnings counter that resets weekly". The AI generates the discord.js code in real time.
  3. Start from a template (optional). Browse discord.js templates — ping, welcome, moderation — then customize in chat.
  4. Connect your Discord application. Paste the bot token from the Discord developer portal. Conjure encrypts it at rest; you'll never see it again from the UI.
  5. Deploy. One click ships your bot to managed Fly.io infrastructure. The post-deploy wizard gives you a one-click invite link for your server.

The workflow in detail

Chat with the AI

Every bot starts as a conversation. Conjure runs Claude Sonnet 4.5 for fresh generation and routes follow-up edits to Haiku 4.5 when the change is small enough — you get fast, cheap iterations for tweaks and the big model when you need new features.

Long conversations get automatically summarised after 30 turns so you don't pay token costs for ancient back-and-forth, but the recent 10 messages stay verbatim so the AI never "forgets" what you're currently asking about.

Edit the code yourself

The Monaco editor (same one VS Code uses) is right next to the chat. Edit anything by hand — the AI sees your changes on the next turn and adapts. Useful for tweaks that are faster to type than describe.

Test on Discord

After deploy, use a private server to try slash commands. Invite the bot with the applications.commands scope. Global commands can take up to an hour to update on Discord's side after a redeploy.

Connect your bot token

Create an application in the Discord developer portal, grab the bot token, paste it into Conjure's connect modal. We encrypt it with libsodium sealed boxes before it touches the database. The decryption key never leaves the deploy environment. The token is write-only from your end — the UI shows "Connected" but never the value.

Deploy

Deploys run on Fly.io Machines, one per bot. Each gets a persistent volume mounted at /app/data so your bot can keep state (sqlite, JSON files, level data) across redeploys. We scale to zero when idle with ~1s cold-start.

Logs stream live back into the editor — open the status pill in the bot header to follow along. Iterating on a live bot: edit code, click Deploy again. Old machine shuts down, new one comes up, volume survives.

Self-host the export

Don't want managed hosting? Download a ZIP of your bot's code from any plan (including Free). Standard Node project — npm install DISCORD_TOKEN=… node src/index.js → it runs anywhere Node 20+ does.

Plans & quotas

All limits are per calendar month. Allowances reset on the 1st. Tax handled automatically by Stripe at checkout.

PlanPriceBotsAI updates / moLive deploys
FreeFree125
Hobby$10/mo31501
Pro$19/mo65003
Studio$49/moUnlimitedFair-use10

$1 / 24h trial

If you want the full Hobby experience without committing to a subscription, the trial is a one-off $1 charge that grants 24 hours of Hobby-tier access. No auto-renew — your card never gets touched again unless you explicitly upgrade. After it expires you drop back to Free.

The trial is single-use per account. If you cancel a paid subscription later, you can't restart the trial from scratch — upgrade directly to Hobby or higher.

What counts as an "AI update"?

One chat turn between you and Conjure = one update. Describing a brand-new bot, asking for a tweak, or pasting an error and asking for a fix all count identically. Background calls Conjure makes on your behalf (lint, classify, summarise) don't count against your allowance.

What counts as a "bot"?

Each row in your workspace. Deleting a bot doesn't free a slot for the rest of the calendar month — this is anti-abuse, documented in the delete confirmation. Bot creation resets on the 1st.

What counts as a "live deployment"?

A bot currently in deployedstatus (i.e. burning Fly Machine seconds). Drafts, stopped, and errored bots don't count. Free tier can't deploy at all — you can still build and edit bots on Free without spending Fly money.

API

Conjure exposes a small REST API for everything you can do in the dashboard — list bots, create new ones, iterate via streaming, deploy, fetch logs. Authentication is via personal access tokens (PATs) you generate in Settings → API tokens. Tokens carry your full account permissions; treat them like passwords.

Base URL

https://useconjure.app/api/v1

Auth

Send a bearer token in the Authorization header. Tokens are shown once at creation — copy them immediately, we can't recover them after.

curl https://useconjure.app/api/v1/me \
  -H "Authorization: Bearer cnj_live_xxxxxxxxxxxxxxxxx"

Rate limits: 5 burst / 1 token per 3 seconds sustained, same as the dashboard. Quotas:API calls count against your normal monthly AI-update budget — there's no separate API allowance.

Endpoints

GET/me

Your account, plan tier, current usage.

GET/bots

List all your bots.

POST/bots

Create a new bot. Body: { name, description? }.

GET/bots/:id

Fetch one bot — config, status, files.

PATCH/bots/:id

Update name, description, or saved files.

DELETE/bots/:id

Soft-delete a bot. Frees no quota slot.

POST/bots/:id/iterate

Stream a chat turn (SSE). Same engine as the editor.

POST/bots/:id/deploy

Deploy the latest saved code to Fly.

GET/bots/:id/logs

Recent Fly logs (last 200 lines).

Example: create + iterate + deploy

# 1. Create a bot
curl -X POST https://useconjure.app/api/v1/bots \
  -H "Authorization: Bearer $CONJURE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Welcome bot", "description": "Greets new members"}'

# Returns: { "ok": true, "data": { "id": "abc-123", ... } }

# 2. Iterate (streaming SSE)
curl -N -X POST https://useconjure.app/api/v1/bots/abc-123/iterate \
  -H "Authorization: Bearer $CONJURE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"Add a /ping command"}]}'

# 3. Deploy
curl -X POST https://useconjure.app/api/v1/bots/abc-123/deploy \
  -H "Authorization: Bearer $CONJURE_TOKEN"

Response envelope

Every endpoint returns either:

{ "ok": true, "data": { ... } }
{ "ok": false, "error": { "code": "...", "message": "..." } }

Status codes follow standard conventions — 401 (missing/bad token), 403 (out of quota), 404 (no such bot), 429 (rate limited), 5xx (us). The error.message field is safe to surface directly to your users.

Use Conjure from Discord

The official Conjure Discord server runs a bot that exposes the same API from inside a Discord channel. You'll be able to type /conjure new "a poll bot", watch the code get generated, and deploy without ever leaving Discord.

Shipping soon. The bot uses the same REST API documented above — you'll be able to use those endpoints in your own Discord bot the moment they launch. Watch the status page for the launch announcement.

FAQ

Can I export my code and host it somewhere else?
Yes, any plan. The download button in the editor exports a ZIP — standard Node project, no Conjure runtime required. Plug your DISCORD_TOKEN into the env and it runs anywhere.
What happens when my trial expires?
You drop back to the Free tier silently. No auto-renew, no surprise charges. Your bots stay in your workspace (you can still edit them). Any bot you deployed during the trial keeps running on its current machine — we don't auto-stop it — but you won't be able to redeploy it or deploy a new one until you upgrade. Stop deployed bots manually from their workspace if you want them off.
Can I run more than one bot on a single Fly machine?
No. Each bot gets its own isolated machine + volume so a crash or memory leak in one can't take down another.
What happens if Discord changes their API?
We track discord.js releases and bump the version Conjure generates against. Your existing deployments keep running on whatever version they were generated with; re-iterating in the editor regenerates against the current default.
Do you support voice / music bots?
Not in v1. Voice needs different infrastructure (UDP voice servers, opus encoding, etc.) and music adds a legal liability we're not interested in.
What happens to my data if I delete my account?
Bots are destroyed (Fly machines + volumes), encrypted tokens are deleted, AI usage history is anonymised. We keep billing records as long as legally required (7 years).
Is there a self-hosted / on-premise version?
Not in v1. The ZIP export covers most self-host use cases. Enterprise self-hosting could come later.
Where do I report bugs or request features?
Email hello@useconjure.app for now. A public issue tracker is on the roadmap.
Last updated: 2026. Find something missing? Email hello@useconjure.app and we'll add it.