A Discord bot for business connects your company's Discord server to the systems behind your product. It gives each member the role that matches their plan, opens support tickets that already show who the customer is, posts release notes and incidents from your own tools, and files bug reports straight into Linear, Jira or GitHub. I build these on a Discord application your company owns, so the token, the code and the member data stay with you.
A lot of this needs no custom code. Discord's onboarding questions, AutoMod and Server Insights cost nothing, Zapier and Make can add and remove roles, and a support desk like Mava has paid plans from $39 a month (as of September 2026). A custom bot pays off when Discord has to know who your customers are, because only your systems know a member's account, plan and entitlements.
What a Discord bot for business does
Take a SaaS startup with a public community server and a paid tier.
For a member
- They join and answer Discord's built-in onboarding question, "Are you a customer?" Yes shows them the account-linking channel.
- They run
/link-accountand get a private link to your product's sign-in page. After they log in, your backend knows which Discord user it was, and the bot gives them the Pro role within seconds. That role opens the priority support and beta channels. - When they upgrade, downgrade or stop paying, your billing webhook tells the bot and the role follows. The paid membership page covers the Stripe side in detail, including grace periods for failed cards.
- They hit a bug and run
/bug. A form asks for steps, app version and a screenshot, and the bot files the issue with their account ID and plan attached, then replies with the link. When your team closes it, the bot tells them.
For your team
- Support with context.
/supportopens a private ticket with the member's plan and account ID at the top, and higher plans can go to a priority queue. They can go to Zendesk instead, if your staff work there. The ticket bot page covers transcripts and routing, and an AI support bot can answer from your docs before a human is needed. - Releases and incidents. A new release or changelog entry is posted in your announcements channel and published to every server that follows it. Statuspage sends a webhook when an incident is updated or a component changes status, and the bot posts it in a status channel.
- Numbers you can use. A weekly export of joins, leaves and linked accounts per plan, as CSV or into your warehouse.
Plan roles: bot-managed or Linked Roles?
Discord offers two ways to mark customers:
| Bot-managed roles | Discord Linked Roles | |
|---|---|---|
| How the role arrives | The bot adds and removes it through the API as your billing data changes | The member opts in under Linked Roles, and Discord grants the role once your app's data meets the server's requirements |
| What your backend stores | The member's Discord user ID | Each member's OAuth2 refresh token, so it can update their data later |
| Limits | The bot needs Manage Roles and a role placed above the roles it hands out | Up to 5 data fields per app, compared as numbers, dates or yes/no |
| What others see | A normal role | A role tag that shows which checks the member passed |
I usually recommend bot-managed roles for customer tiers, because they update without the member doing anything. Linked Roles fit when members should choose to show a verified badge.
What it connects to
| System | What moves | Worth knowing |
|---|---|---|
| Your product's API or database | Discord user ID in, plan and account status out | Linking uses Discord OAuth2 with the identify scope, or a one-time code in the bot's sign-in link |
| Stripe or your billing system | Subscription events that change roles | Signed webhooks, with a nightly check that catches missed events |
| Linear | New issues from /bug, status changes back |
GraphQL issueCreate; Linear recommends webhooks for updates |
| Jira Cloud | New issues | POST /rest/api/3/issue; the description must be Atlassian Document Format, and the account needs Browse projects and Create issues permissions |
| GitHub Issues | New issues | Needs the Issues (write) permission; GitHub warns that creating content too quickly can trigger secondary rate limits, so reports are queued |
| Statuspage, releases | Incident and release posts | Discord's crosspost endpoint publishes a message to every server following your announcements channel |
A single connection on its own is a smaller build, covered on the integrations page.
Free tools, SaaS bots or custom?
Prices are from each vendor's pricing page, as of September 2026, billed monthly.
| Option | Price | What you get | Pick it when |
|---|---|---|---|
| Discord's own tools | Free | AutoMod keyword and spam filters. In Community servers, onboarding questions that hand out roles and channels, and Server Insights past 500 members | Your needs stop at structure and moderation |
| Zapier or Make | Zapier free for 100 tasks a month, Professional $29.99 ($19.99 billed annually). Make free for 1,000 credits, Core $10.59 ($9 billed annually) | Posts to Discord when something happens in another app, and both can add or remove a member's role. Neither has a slash-command trigger | Something should appear in a channel when a deal closes or a user signs up |
| Mava | Free for 30 requests a month; $39, $99, $199 or $599 a month | An AI support desk for Discord, Telegram, Slack, email and web chat. API and webhooks from the $199 plan | Support is the whole job |
| CommunityOne | Modules from $14.99 a month; Enterprise Core $150, Enterprise Ops $350; people-run management $500 to $3,000 | AI support, quests, analytics with CSV export and AI moderation | You want engagement features and staff to run them |
| Levellr | Demo only | Discord analytics, sentiment tracking, segmentation and a post scheduler for studios, labels and SaaS companies. It says it is ISO 27001 certified | Community insight for several teams is the priority |
| Custom bot | From $1,490, plus Care from $49 a month | Your roles, routing and data flows, on your own application, with the code | Discord has to know your customers |
If the job is an AI help desk, a year of Mava's $99 plan ($1,188) costs less than the Community build alone, and I'd tell you to buy it. A custom bot earns its price when roles depend on your billing data, when tickets and bug reports need account context, or when one bot replaces three subscriptions that don't talk to each other.
What I've built that's closest
None of my published case studies is a SaaS company's server, so here is what the work above draws on:
- Rivals League. Players sign in to the league website with Discord, and a sync job repairs usernames that have changed since registration. That's the account link a plan-role bot starts from. Staff also see member counts per game server from hourly snapshots.
- The Trello bot, an internal project. Eight slash commands create, move and list cards, and a webhook receiver checks Trello's signature before posting more than ten kinds of board events to a channel. Filing to Linear, Jira or GitHub follows the same pattern.
- A ticket bot for an esports tournament organizer, with a control room for ticket types, HTML transcripts and every staff action stored.
What it costs
A business bot usually lands in the Community tier: from $1,490, in 2 to 4 weeks. That covers up to three systems sharing one database, for example plan roles, support tickets and bug intake, plus admin commands, audit logging and the integration they share, usually your own API. Each further outside system, such as a tracker or a helpdesk, adds to the quote, and most Community quotes land between $1,490 and $3,000. You get the source code, setup docs, 30 days of bug fixes and the first month of Care.
- Starter, from $590: one system, such as plan roles synced from Stripe, with up to about five slash commands.
- Platform, from $3,500: a web dashboard, several external APIs, or a public app your customers install in their own servers.
The quote goes up with more billing states to map, backfilling existing customers, several servers and a staff dashboard. It comes down when your API already exposes plan status and sends webhooks. Hosting is separate: Care is $49 a month, or $149 for Care Plus with up to 2 hours of changes a month. The Bot Blueprint ($249) gets you a written spec and a fixed price, credited in full if you order within 30 days.
How the build works
- Brief. Your product, your plans and which systems the bot should touch.
- Spec. We agree on the data map (what the bot stores, where, and for how long), each permission and intent, and an acceptance checklist.
- Build and test in a private test server against your staging API and test copies of your tracker.
- Launch on your company's Discord application. You pay 50% to book the slot and 50% when the delivery passes the checklist.
- Care keeps it hosted, monitored and updated when Discord changes things.
I take a limited number of builds each month, so put any launch date in the brief.
Security and data
- Least privilege. The bot never gets Administrator. Role sync needs Manage Roles, and Discord only lets a bot grant roles below its own highest role. If your server requires 2FA for moderation, the app owner's account needs 2FA before the bot can use Manage Roles.
- Ownership. The application sits in a developer team you control, with roles for each person. The bot token guide explains who can reset what.
- Intents. Slash commands need no privileged intent. Welcome flows and the join and leave export need Server Members, and once more than 10,000 users can see the app, privileged access needs Discord's approval.
- Data. The bot stores the Discord-to-account mapping, plan, ticket records and bug report IDs, not message history, unless a feature needs it. The database runs on Care hosting or in your own cloud account. Discord's Developer Terms require a privacy policy for the app, deletion when a user asks, and encryption at rest, so the build includes an unlink-and-delete command.
- No mass DMs. Discord's Developer Policy bans unsolicited direct messages, so announcements go in channels.
Tell me which of your systems the bot has to touch on the brief form, and I'll reply with a fixed quote or the cheaper tool that already does it.