Skype for Business Bot - hybrid environment support

Skype for Business bots can be connected to the Skype for Business Server users if hybrid connectivity has been deployed in the environment.

Hybrid connectivity between Skype for Business Server and Skype for Business Online means users of a domain, such as contoso.com, are split between using Skype for Business Server on-premises and Skype for Business Online. Some of the domain users are homed on-premises, and some users are homed online. Bots will be configured as online users reachable by the on-premises users.

Getting started

Bot setup for Skype for Business hybrid environment

After you have successfully deployed the hybrid environment, follow these steps to build and enable a Skype for Business bot:

  1. Create the bot using the Microsoft Bot Framework. See Creating a Skype for Business bot section for details.

  2. Launch the Connecting your bot to Skype for Business Online page and follow all the instructions to add your bot to Skype for Business Online. You will be required to sign in as a Tenant Administrator of the Skype for Business Online environment and run the New-CsOnlineApplicationEndpoint PowerShell cmdlet.

        New-CsOnlineApplicationEndpoint -ApplicationID <AppID generated from Bot Framework Portal like 41ec7d50-ba91-1207-73ee-136b88859725> -Name <NameOfTheBot> -Uri sip:<bothandle@yourdomain.com>
    

    For the Skype for Business Hybrid environment, the New-CsOnlineApplicationEndpoint cmdlet will output an additional on-premises cmdlet to be run in your Skype for Business Server (on-premises) Management Shell. The additional cmdlet is covered in more detail in the next step.

    Note

    Read Skype for Business Bot - Common Errors to troubleshoot some of the common Bot setup issues.

  3. Create an application endpoint on the Skype for Business Server (on-premises) Management Shell using the following on-premises cmdlet:

      New-CsHybridApplicationEndpoint -ApplicationId <AppID generated from Bot Framework Portal like 41ec7d50-ba91-1208-73ee-136b88859725> -DisplayName <NameOfTheBot> -SipAddress sip:<bothandle@yourdomain.com> –OU <ou=Redmond,dc=litwareinc,dc=com>
    

    Note

    Ensure that the New-CsHybridApplicationEndpoint parameters: ApplicationId, DisplayName, and SipAddress have the same values as (step 2) New-CsOnlineApplicationEndpoint parameters: ApplicationID, Name and Uri, respectively.

    Skype for Business Server Cumulative Update 5 or greater is required to run this cmdlet.

    Parameters Required Type Description
    ApplicationId Required Guid The ApplicationId or Client Id for which the endpoint is being created.
    DisplayName Required String Friendly name for the application endpoint.
    SipAddress Required String The SipUri for the Endpoint. SIP Uri must be lowercase.
    LineUri Optional String Valid phone number for the application endpoint. (Not currently supported through BOT framework.)
    OU Required String Azure Directory Organizational Unit (OU) of the user.

    The successful execution of the New-CsHybridApplicationEndpoint cmdlet will create a disabled user object on Active Directory and show a "Successfully initiated provisioning of application endpoint on-prem" message.

  4. Wait for the newly created user object to be directory synced to the Azure Active Directory or start a new directory sync cycle by running the Start-ADSyncSyncCycle on the domain controller machine. To learn more about Azure AD Connect directory sync, see Azure AD Connect sync: Scheduler and Integrate your on-premises directories with Azure Active Directory.

  5. Ensure that you wait for 8 hours before the endpoint is discovered from the Skype for Business clients for the newly created application ids. An on-premises user should be able to search for the BOT from the client and initiate the chat conversations.