Discord integration

For brands running a creator community on Discord.

The Short Answer

The Discord integration is live and it does a lot more than post updates. You connect it from Dashboard → Connections → Integrations, authorize the Cruva bot into a server you own, and from then on Cruva can: see which of your creators are in your server (with their GMV, posts, and views next to their Discord identity), automatically assign and remove Discord roles based on creator performance, post recurring leaderboards and announcements on a schedule, send one-off broadcasts to any channel, drop countdown announcements into your server as campaign deadlines approach, and put a "Join our Discord" button on your campaigns and Brand Hub.

Most connection problems come down to being signed into the wrong Discord account (or not owning a server yet), not a broken integration. If you previously hit "This bot can't join more servers as it has not been verified" or "Awaiting additional verification," that was a temporary Discord verification hold while the bot was being approved — it's resolved, and the bot connects normally now.

One timing rule to remember for everything automated: Cruva's sync runs once an hour, on the hour. Scheduled posts and role rules are applied on that cycle. One-off broadcasts and manual role changes happen immediately.

Connecting Discord

The standard flow

Go to Dashboard → Connections → Integrations (/dashboard/integrations) — near the bottom left of the dashboard.

Click the Discord card → Connect.

You'll be sent to Discord to authorize the Cruva bot. Pick the server you want it to join and approve.

Back in Cruva, the card shows Connected with your server name.

A few things worth knowing:

  • The bot asks for Administrator permission. That's what lets Cruva manage roles, edit server settings, and post anywhere on your behalf. Approve it as-is — trimming permissions on the Discord side will break role rules and posting.
  • One server per shop. Each Cruva shop connects to exactly one Discord server. Connecting a different server replaces the old connection.
  • You must own or manage the server. If the account you're signed into doesn't manage any servers, the server dropdown on Discord's screen will be empty.

If someone else owns the server

If your community manager (or anyone else) owns the Discord server, you don't need their login. On the Discord card, click "Copy share link" and send them the link. It takes them straight to Discord's authorize screen for your shop — no Cruva login needed. When they finish, they'll see a "Discord Connected!" confirmation page and your dashboard will show the server as connected.

Disconnecting

Click Disconnect on the Discord card (or Unlink Discord under Community → Discord → Settings → Connection). This removes the Cruva bot from your server and clears the connection. Your saved roles, role rules, and scheduled posts are kept — if you reconnect later, they're reused. Discord broadcasts and automations stop working until you reconnect.

The Discord Page (Community → Discord)

Once connected, Community → Discord becomes your command center. The header shows your server name, a green Connected indicator, and a live count of members online. There are four tabs: Overview, Manage Roles, Scheduled Posts, and Settings.

Overview — your creators, matched to your server

This tab answers the question every community manager has: which of my creators are actually in my Discord, and how are they performing?

How creators get linked: creators connect their own Discord from the creator app — you don't link them manually. Once a creator verifies their Discord through Cruva, we match them against your server's member list, and their Discord identity appears next to their TikTok handle and performance data.

At the top you get five stat cards: Total Server (everyone in your server), Linked Creators (verified via Cruva), In Server (linked creators who've actually joined, with a percentage), Total GMV (across all linked creators), and Bot Channels (channels the bot can post to — hover to see the list).

Below that, a table of every linked creator showing:

  • Creator — their TikTok handle (searchable).
  • Discord identity — their server nickname/username and avatar. Server boosters get a lightning-bolt badge.
  • In Server — Yes/No, filterable, so you can spot creators who linked Discord but haven't joined your server yet.
  • Roles — their current Discord roles as colored chips. Click the cell to manage that member's roles directly — assign existing roles, remove them, or create a brand-new role on the spot (name, color, whether it shows separately in the member list, whether it's @mentionable). These changes apply to Discord immediately.
  • Joined Server date, Campaigns count, and Total Paid.
  • Performance metrics — Shop GMV, Video Posts, Views, Likes, Comments, and Units Sold, each with a sparkline and trend. Use the date-range picker above the table to window these (otherwise they're all-time).
  • TikTok — a one-click link to their profile.

Manage Roles — performance-based roles on autopilot

This tab has two halves: your server's roles, and the rules that assign them automatically.

Roles (right panel): create, edit, and delete real Discord roles without leaving Cruva — name, color, "show separately in member list," and "allow @mention." Each role shows how many members hold it. Deleting a role here removes it from Discord and from every member who has it, so the delete confirmation is worth reading.

Dynamic Role Assign (left panel): rules that automatically assign, remove, or switch a role for creators who match conditions you define. This is the feature to use for tiered communities (e.g., a "VIP" role for creators above $10k GMV). Rules are applied by the hourly sync — nothing changes on Discord until it runs.

Creating a rule, you choose:

  • ActionAssign (give matching creators a role), Remove (take it away), or Switch (move creators from one role to another, e.g. "Rising Star" → "VIP").
  • Role(s) — pick an existing role or create one inline.
  • Tracking period — Last 7 days, Last 30 days, Last 6 months, or All time. Metrics are summed over this window.
  • Conditions — one or more of GMV, Posts, or Views, each with a ≥ or ≤ threshold. Combine them with All conditions (AND) or Any condition (OR).
  • Auto-remove (assign rules only) — a checkbox: "Remove the role when a creator no longer matches." Check it and the role is stripped automatically when a creator falls below the threshold; leave it unchecked and the role sticks once earned. Decide this deliberately — it's the difference between a status badge and a live tier.

As you build the rule, a live "Who this affects" preview shows exactly which server members currently match — e.g. "12 of 87 in server match → get the role" — with each creator's current metric values. No surprises when the sync runs.

Rules can be paused and resumed at any time, and each role can have one assign rule and one remove rule.

Scheduled Posts — leaderboards and announcements on a schedule

This tab automates the posts that keep a community alive. There are two post types:

Leaderboard — a ranked list of your top creators, posted to a channel of your choice. You configure:

  • Rank by: GMV, Views, or Posts.
  • Top N: 1–50 creators.
  • Window: the last 1–365 days.
  • Caption: optional text placed before or after the list (e.g. "🔥 This week's top creators — keep it up!").
  • Tag creators: a toggle. When on, creators whose Discord is linked get @-mentioned in the post (the rest show by handle) — the configurator tells you exactly how many of the top N will be tagged. When off, everyone shows by handle only.

A live preview shows the actual current leaderboard as you configure, so you can see exactly what will be posted.

Announcement — a free-text message with handy shortcuts: insert a campaign link or a brief link with one click, and optionally attach inspiration videos (their links are appended to the message).

Both types support three delivery modes:

  • Send now — broadcasts immediately and is kept in the table as history (status "Sent").
  • Once — on a date — a one-time post at a date, hour, and timezone you pick.
  • Recurring — Daily, Weekly (pick the day), or Monthly (pick the day of month), at a specific hour and timezone.

Scheduled and recurring posts are sent by the hourly sync, so times are on the hour — a post scheduled for 9:00 goes out at 9:00, and there's no 9:30 option. Recurring posts can be paused and resumed; one-off posts can only be deleted. The table shows each post's schedule in plain English, its channel, when it last sent, and how many times it has run.

Settings — manage your server from Cruva

Because the bot has Administrator permission, the Settings tab edits your actual Discord server:

  • Bot profile: rename the bot for your server (up to 32 characters), give it a custom avatar and banner (up to 8 MB), or one-click "Use shop logo" so the bot posts under your brand.
  • Server identity: server name and description.
  • Moderation: verification level, explicit content filter, default notification settings.
  • System messages & channels: which system messages appear and where; system/rules/updates/safety channels; AFK channel and timeout.
  • Boost & language: boost progress bar, server locale.
  • Connection: the unlink control described above.

Changes are staged until you hit Save Settings.

One-Off Broadcasts

For a message you want out right now, use the broadcast dialog (the megaphone on the Creators/community page). It has tabs for Email, Discord, and Lark. On the Discord tab: pick any channel the bot can access, write up to 4,096 characters (Discord markdown supported), and send. The message posts immediately as an embed in that channel.

Broadcasts are one-shot and channel-wide — for recurring content use Scheduled Posts, and for per-creator messaging use the email/DM channels instead.

Discord in Campaigns

Discord shows up in two places when you build a campaign (Community → Campaigns), and both require Discord to already be connected — if it isn't, both spots link you to the Integrations page.

1. The Discord Join Button (Branding tab)

In the campaign's Branding tab, under "Support Email & Discord," click Add next to Discord Join Button. That's it — a join button pointing at your server's invite is shown on the campaign's help page, so creators who join your campaign are one click from joining your community. The invite itself comes from your shop's Discord connection (managed via the Brand Hub), so there's nothing to paste per-campaign.

This works on every campaign type.

2. Discord Announcements (Reminders tab)

In the campaign's Reminders tab you'll find Discord Announcements — scheduled channel posts that fire as the campaign deadline approaches. As the in-product copy puts it: "Unlike text reminders, these are channel-wide broadcasts — not sent per creator." Each announcement is posted once, to one channel, N days before the deadline.

To set it up:

Flip on "Send Discord announcements."

Pick an Announcement Channel from your server's text channels.

Click Add Announcement for each message you want. Each one has a "days before deadline" number (minimum 1) and a message box (Discord markdown supported).

A typical setup is three announcements: 7 days out, 3 days out, and 1 day out.

Message variables make the announcements dynamic — click a token badge to insert it, and Cruva fills in the live value when the message posts:

  • Every campaign type: [shop_name], [campaign_name], [campaign_link].
  • Leaderboard campaigns additionally get [top_prize] and [leaderboard] — the latter inserts the full current ranked standings with Discord @mentions, so a "3 days left" post can literally ping the current top creators with their live rankings. This is the single most effective competitive nudge in the toolkit.
  • Race campaigns additionally get [prizes_remaining] and [prize_pool_left] — perfect for urgency posts like "Only [prizes_remaining] prizes left in [campaign_name]!"

Cruva validates on save: if announcements are enabled you must pick a channel, and every announcement needs a message.

How Discord fits each campaign type

Every campaign type — Leaderboard, Race, Contest, Sweepstakes, Bingo, and Retainer — supports both the Discord Join Button and deadline announcements. The only difference between them is the extra announcement tokens:

  • Leaderboard: [top_prize] and [leaderboard] (the full ranked list with @mentions)
  • Race: [prizes_remaining] and [prize_pool_left]
  • All other types: the universal tokens only ([shop_name], [campaign_name], [campaign_link])

For leaderboard-style hype outside a campaign deadline (e.g. a standing weekly top-10 post), use Scheduled Posts on the Discord page — that's the recurring engine; campaign announcements are one-shot countdowns tied to a specific campaign's end date.

Sharing Your Discord Invite with Creators

  • Brand Hub (Community): the Brand Hub is your activation home for creators — it surfaces your Discord invite as a styled join button alongside onboarding. The invite link and button styling are managed there, and the same connection powers campaign join buttons.
  • In invite/outreach messages: you can paste a Discord link, but links inside TikTok invite cards aren't very clickable. For better join rates, share the invite in a DM instead.
  • On campaigns: enable the Discord Join Button so every campaign page doubles as a community funnel.

Best Practices

Build the funnel: campaign → server → tier. Enable the join button on every campaign, so campaigns feed the server. Then let role rules sort arrivals into tiers automatically. Creators see a visible ladder ("Member" → "Rising Star" → "VIP") without you touching anything.

Use Switch rules for promotions. Rather than stacking assign/remove pairs, a single Switch rule ("From: Rising Star → To: VIP when GMV ≥ $10,000, last 30 days") keeps each creator in exactly one tier.

Decide up front whether tiers are earned-forever or live. The "Remove the role when a creator no longer matches" checkbox on assign rules is the lever. Live tiers (checked) create urgency; permanent badges (unchecked) reward loyalty. Mixing the two — a permanent "Alumni" badge plus a live "Top Seller This Month" role — works well.

Always check the rule preview before saving. The "Who this affects" panel shows exactly who gains or loses a role when the sync runs. If it says 60 of 87 members match your "VIP" rule, your threshold is too low.

One recurring leaderboard beats daily noise. A weekly top-10 (GMV, 7-day window, tagging on) posted Monday morning is the sweet spot. Daily leaderboards go stale fast; tagging turns the post into a notification for your best creators.

Caption your leaderboards. A short "before list" caption ("🔥 This week's top creators — keep it up!") makes an automated post feel human.

Stack campaign announcements at 7 / 3 / 1 days. And use the dynamic tokens: for leaderboard campaigns, a 1-day-out post containing [leaderboard] @-mentions the current standings — creators just outside the money tend to make their final push right after that ping.

Brand the bot. Two minutes in Settings → Bot Profile (shop logo, brand name) means every automated post looks like it comes from you, not "Cruva Bot."

Mind the hourly cadence. Everything automated fires on the hour. If you create a role rule at 2:15pm, expect roles to move at 3:00pm. Need something out immediately? Use "Send now" on a scheduled post, the broadcast megaphone, or click a creator's Roles cell to change roles instantly.

Watch the "In Server" column. Creators who linked Discord but show "No" for In Server accepted the idea but never joined your server — a perfect DM segment for your invite link.

Troubleshooting

Connecting

"Invalid invite when clicking the Discord link" / the server dropdown is empty. Almost always an account/permission issue on the Discord side:

Sign into the correct Discord account — the one that owns or manages the server. A personal account with no servers shows an empty dropdown.

You must own (or manage) a server. If you don't have one yet, create a Discord server first, then reconnect.

Use the same browser you're signed into Cruva with, and refresh / sign in again to clear any leftover error from a previous attempt. The Discord desktop app can behave differently — try the browser.

If the server belongs to someone else on your team, don't fight the login — send them the "Copy share link" from the Discord card and let them authorize it themselves.

"Discord Connection Failed" toast after authorizing. Usually the flow was cancelled or interrupted on Discord's side. Retry from the Integrations card; if it persists, log out of Discord in that browser, back in, and try again.

"Bot can't join / not verified / awaiting verification." Resolved — the bot is verified. Reconnect from Connections.

Posting & broadcasts

"Bot is no longer in the Discord server. Please reconnect Discord." Someone kicked the Cruva bot from your server. Reconnect from Integrations — your saved rules and posts are still there and pick right back up.

"Bot doesn't have permission to access this channel" or "...to send messages in this channel." A channel-level permission override is blocking the bot (common in private/staff channels). Either grant the bot's role access to that channel in Discord, or disconnect and reconnect to refresh permissions. Note the channel picker only offers channels the bot can already access — if a channel is missing from the dropdown, this is why.

"Channel no longer exists." The channel was deleted on Discord after you configured the post. Edit the post and pick a new channel.

A scheduled post didn't go out. Check, in order: (1) is its status Paused? Resume it. (2) Scheduled posts send on the hour via the hourly sync — give it until just past the hour. (3) Does the leaderboard have data? An empty window has nothing to send. (4) Is Discord still connected?

"Nothing to send" when broadcasting now. For a leaderboard, there's no data in the chosen window; for an announcement, the message is empty — add text or a video link.

Roles

A role rule isn't applying. (1) Rules run on the hourly sync — wait for the top of the hour. (2) Check the rule isn't Paused. (3) Open the rule and look at the preview — if it shows "0 of N in server match," your conditions don't match anyone (remember the tracking period: "GMV ≥ $5,000 over last 7 days" is a much higher bar than over all time). (4) Rules only affect creators who have linked Discord and joined your server.

Roles aren't being removed when creators drop below the threshold. On assign rules, auto-removal only happens if "Remove the role when a creator no longer matches" was checked. Edit the rule and check it.

Manual role change fails ("Failed to add role"). Usually role hierarchy: in Discord's own settings, the Cruva bot's role must sit above any role it manages. Drag the bot's role higher in Server Settings → Roles.

Creators

"No creators have linked their Discord yet." Creators connect their Discord from the creator app — you can't link them from the brand dashboard. Nudge them (a broadcast works well): once they verify, their GMV and server activity appear on the Overview tab automatically.

A creator is linked but shows "No" for In Server. They verified their Discord with Cruva but haven't joined your server. Send them your invite link.

Campaigns

"Discord is not connected. Connect Discord in the Integrations page to enable announcements." Connect Discord first, then hit Refresh on the Reminders tab — no need to rebuild the campaign.

Campaign announcement didn't post. Announcements fire N days before the campaign's end date — check the campaign's deadline and each announcement's "days before" value, and confirm the chosen channel still exists and the bot can access it.

"Discord Channel Required" / "Discord Announcement Message Required" on save. With announcements enabled, you must pick a channel and every announcement needs a message — fill them in or toggle announcements off.

FAQ

"Can I put my Discord link in TikTok invites?" Yes, but it won't be very clickable there — DM it for better conversion.

"Can I connect two servers?" No — one server per shop. Connecting a new server replaces the old connection.

"If I disconnect, do I lose my setup?" No. Roles, role rules, and scheduled posts are all kept and reused when you reconnect. Automations just stop running while disconnected.

"Do campaign announcements message each creator?" No — they're posted once to the channel, not per creator. For per-creator nudges, use the text reminders on the same tab.

Limits & Quick Reference

  • Servers per shop: 1
  • Automation cadence: Hourly, on the hour
  • Scheduled post types: Leaderboard, Announcement
  • Leaderboard rank metrics: GMV, Views, Posts
  • Leaderboard size / window: Top 1–50 / last 1–365 days
  • Schedule modes: Send now · Once on a date · Recurring (Daily / Weekly / Monthly)
  • Role rule actions: Assign · Remove · Switch
  • Role rule metrics & operators: GMV, Posts, Views · ≥ / ≤
  • Role rule tracking periods: 7 days · 30 days · 6 months · All time
  • Rules per role: 1 assign + 1 remove
  • Broadcast message length: 4,096 characters (Discord markdown supported)
  • Campaign announcement timing: N days before deadline (min 1), posted once per announcement
  • Announcement tokens (all types): [shop_name] [campaign_name] [campaign_link]
  • Extra tokens — Leaderboard: [top_prize] [leaderboard] (with @mentions)
  • Extra tokens — Race: [prizes_remaining] [prize_pool_left]
  • Bot nickname / images: 32 chars / 8 MB

Was this article helpful?

Related articles