diff --git a/samples/SocketModeBot/Program.cs b/samples/SocketModeBot/Program.cs index d46f05ad..d6607315 100644 --- a/samples/SocketModeBot/Program.cs +++ b/samples/SocketModeBot/Program.cs @@ -9,7 +9,8 @@ HostApplicationBuilder builder = Host.CreateApplicationBuilder(args); builder.Services.AddTeamsBotApplication(options => options.UseSocketMode(socket => { - // Socket Mode is only available on the canary ring for now. + // Socket Mode is only available on the Canary and Pilot1 rings for now. + // Pilot1 (https://pilot1.botapi.skype.com) is supported as well. socket.NegotiateBaseUrl = new Uri("https://canary.botapi.skype.com"); })); IHost host = builder.Build(); diff --git a/samples/SocketModeBot/README.md b/samples/SocketModeBot/README.md index 44819db6..301063c9 100644 --- a/samples/SocketModeBot/README.md +++ b/samples/SocketModeBot/README.md @@ -9,7 +9,7 @@ This sample is an echo bot that receives activities over Socket Mode instead of ## What it shows -- `UseSocketMode(...)` on `AddTeamsBotApplication` to receive activities over Socket Mode, with `NegotiateBaseUrl` set to the canary ring, the only ring where Socket Mode is available today. +- `UseSocketMode(...)` on `AddTeamsBotApplication` to receive activities over Socket Mode, with `NegotiateBaseUrl` set to the canary ring. Socket Mode is currently only available on the Canary (`https://canary.botapi.skype.com`) and Pilot1 (`https://pilot1.botapi.skype.com`) rings. - `$(NoWarn);ExperimentalTeamsSocketMode` in the project file, because Socket Mode is experimental. - A generic host (`Host.CreateApplicationBuilder`) with no web server, and `UseTeamsBotApplication()` to get the app. diff --git a/src/Microsoft.Teams.Apps/README.md b/src/Microsoft.Teams.Apps/README.md index 48b94293..1cad43d7 100644 --- a/src/Microsoft.Teams.Apps/README.md +++ b/src/Microsoft.Teams.Apps/README.md @@ -166,8 +166,9 @@ host.Run(); - **Public cloud only** — Registration fails for bots configured for another cloud. - **Classic bot identity only** — The connection is negotiated with the bot's app ID and credentials. Agentic identities are not supported. -- **Canary endpoint** — Socket Mode is currently available only on the canary ring. Set `NegotiateBaseUrl` to - `https://canary.botapi.skype.com` until it is enabled on the default production endpoint. +- **Canary and Pilot1 endpoints** — Socket Mode is currently available only on the Canary and Pilot1 rings. Set + `NegotiateBaseUrl` to `https://canary.botapi.skype.com` or `https://pilot1.botapi.skype.com` until it is enabled on + the default production endpoint. - **Rejected credentials are not retried** — If negotiation returns HTTP 401 or 403, startup fails immediately. After startup, the affected geo stops reconnecting until the app restarts. - **Idempotent handlers** — The service can redeliver an activity, for example after a reconnect, so handlers