Skip to main content
Rich Presence lets your game display live, actionable data on a Discord user’s profile when they have activity sharing enabled: what they’re playing, what level they’re on, how long they’ve been in a session, or a prompt for friends to join. It’s a lightweight integration that connects your app to Discord’s social layer. The data you surface is entirely up to you. Rich Presence supports custom text fields, timestamps, party size indicators, and uploaded art assets. When configured with a “Join” button, friends can jump directly into a user’s game session from their profile card. Rich Presence is available through two SDKs depending on what you’re building: the Discord Social SDK for native game integrations, or the Embedded App SDK for Activities running inside Discord.
Rich Presence data appears publicly on a user’s Discord profile. During development, use a test account that belongs only to your private development server(s).

Choosing an SDK

Discord Social SDK

Use this SDK if you are building social features directly into a native game. Supports friends lists, game invites, Rich Presence, and more on PC, mobile, and console.

Embedded App SDK

Use this SDK if you are building an Activity that runs inside Discord. Handles communication between Discord and your iframe-based web app.

Discord Social SDK

The Discord Social SDK is used for off-platform game integrations. When a user is playing your game, you can show what they are doing on their Discord profile. A “Join” button can also be configured so that friends can jump into the session directly, and you can enable game invites. Learn how to implement Rich Presence with the Discord Social SDK

Embedded App SDK

The Embedded App SDK is used to build Activities — multiplayer games and social experiences hosted in an iframe inside Discord. After a user joins an Activity, Rich Presence can dynamically show what that user is doing and prompt others to join. Use the setActivity command to update Rich Presence from your Activity:
await discordSdk.commands.setActivity({
  activity: {
    type: 0,
    details: 'In a match',
    state: 'Playing ranked',
    timestamps: {
      start: Date.now(),
    },
    party: {
      id: 'some-party-id',
      size: [2, 4],
    },
  }
});
Learn how to implement Rich Presence with the Embedded App SDK

Start Building

Rich Presence with the Embedded App SDK

Guide on using Rich Presence in the Embedded App SDK while building an Activity.

Rich Presence with the Discord Social SDK

Guide on using Rich Presence in the Discord Social SDK for your game.

Rich Presence Best Practices

Design tips and a launch checklist for shipping a polished Rich Presence integration.