Joining Convoys via Discord & Xbox
PC / Steam edition. How invites actually flow between Discord, the Xbox PC app, and FH6 — and the three places an invite can hide before it dies. For broader Discord literacy (mental model, noise reduction, finding meets across servers), see the Discord Primer.
TL;DR mental model
Three apps, three jobs, no native integration:
- Discord — the social/coordination layer (chat, voice, scheduled meets, "I just posted a drive" pings).
- Xbox PC app — the invite/session pipe. Must be running. Gamertag is the universal ID.
- FH6 — must be running and in freeroam/lobby to receive an invite.
None of them talk to each other automatically. You are the integration.
Why there's no seamless Discord ↔ FH6
Steam-native titles (F1 24, Assetto Corsa, etc.) use Discord's Rich Presence / GameSDK, which is why they show "Join" buttons in Discord that just work. Forza ships on Xbox Live's session system even when bought on Steam — there's no API hook from Discord into that. Microsoft owns the competing surface (Xbox app, parties, social) and has no incentive to bridge it. So: Xbox app is the mandatory middleman. Not a missing setting, not a bug — the feature isn't there to find. Don't expect this to change in FH6's lifecycle.
The three places an invite can land
When a host invites you, the same invite fires through three surfaces simultaneously. If you miss one, the others are your safety net.
Windows notification, top-right
Disappears in ~5 seconds. Invisible if you're alt-tabbed into a fullscreen app or have Focus Assist on.
Xbox app bell, top-left
Sits there for several minutes. If someone says "I invited you" and you missed the toast, click this first.
In-game FH6 toast
Top-center of the screen, only fires if FH6 is already running. Confirm with the prompt to join the session.
The actually-reliable join flow
- Before the meet (once per person): add the host as an Xbox friend. Xbox app → Friends panel (popout, right side) → search by gamertag → add. Discord display names are not gamertags; if HSK profile shows
display name · gamertag · nickname, the middle one is what Xbox wants. Copy-paste from Discord rather than retyping — gamertags have a lot of look-alikes (Ivsl,0vsO). - ~5 min before the convoy: launch FH6, get to freeroam, leave it running. Open the Xbox PC app on a second monitor or alt-tab.
- In Discord: "Ready, FH6 is up." Hosts won't always invite proactively — speak up.
- When the host invites: accept via any of the three surfaces. Xbox app bell is the most reliable. Click the invite → it auto-launches you into their session.
- If nothing happens in ~30 seconds: ask host to re-invite. First invite occasionally dies in NAT-land. Don't restart anything; just have them resend.
"Play Here" vs "Stream" — what they mean
When you click a friend's profile in the Xbox app and hit Join, you get two options:
| Option | What it does | When to use |
|---|---|---|
| Play Here | Launches FH6 on your machine (your Steam copy) and joins their session. | Always this on PC with FH6 installed. |
| Stream | Cloud-streams the host's game to your machine via Xbox Cloud Gaming. You watch their instance; you don't run the game locally. | Almost never. For people without the game installed. |
Xbox app: the search box is two different searches
The same search box behaves differently depending on where you opened it. The tell is the small header above the result list.
| Context | Searches | Header above results |
|---|---|---|
| Floating Friends panel (popout, right side) | Everyone on Xbox (global) | "Everyone on Xbox" |
| Full Friends page | Your friends list only | "Your friends" |
| Party invite dialogs | Friends + recent players | "Recent players" / "Friends" |
For adding new gamertags from Discord, the floating popout is fastest: type gamertag → click profile → friend request. The dedicated "add by email/realname" dialog is only needed if you don't have a gamertag yet.
Discord-side conventions worth knowing (HSK and similar)
Profile
Put your gamertag in your Discord display name or "About Me" so hosts can invite you without asking. HSK pattern is Discord Name · gamertag · nickname. Mimic it.
Server structure to look for
- Events tab (top of server, calendar icon) — scheduled meets/drives. Hit "Interested" to get pinged when it starts.
- #roles or #pick-a-role channel — self-assign tags like PC / Xbox / Drift / Race so the right pings reach you.
- Voice channels named "Convoy 1," "Cruise VC," etc. — hop in before the convoy starts. Listening counts; you don't have to talk.
- LFG / looking-for-group channels — post platform, region, what you want to do. Gets you tagged in faster than waiting passively.
Discord settings to enable
- User Settings → Activity Privacy → "Display current activity as a status message" → ON. Lets HSK folks see you're in FH6 for opportunistic invites.
- Same screen → "Share your detected activities with others" → ON.
This doesn't enable a join button (FH6 doesn't expose one to Discord), but it shows "Playing Forza Horizon 6" under your name so people know to invite via Xbox app.
Why your join rate is low (early failure modes)
| Symptom | Likely cause | Fix |
|---|---|---|
| Never see the invite at all | Toast missed (alt-tabbed), bell unchecked, FH6 wasn't running | Check Xbox app bell first. Have FH6 running at freeroam before they invite. |
| Invite arrives but "Join" greys out | Host is in a race / story event / non-joinable state | Wait for them to be in freeroam, ask them to host a fresh convoy. |
| Click Join → nothing happens | FH6 not running, or first invite died in NAT | Launch FH6, then ask for a re-invite. |
| Friended the wrong person | Gamertag collision (case, lookalike chars) | Always copy-paste gamertag from Discord. Don't retype. |
| Sent invite, friend doesn't see it | They're offline in Xbox, or have invites set to friends-only and you're not yet friends | Add as Xbox friend first, then invite. Don't skip the friend step. |