Skip to main content

Establishing a connection with BC

The FastTrack wizard taught Business Central how to talk to Dime.Scheduler. This page is the other half of that conversation: it teaches Dime.Scheduler how to talk back. Concretely, you create a connector in Dime.Scheduler that knows two things - where to find this BC instance (a web service URL) and how to authenticate against it (a credential). With those, every appointment you draft on the planning board can be written into BC the moment you save it.

Open the connector setup
tip

This page only covers the BC-specific bits. For the rest of what connectors can do, see the connector setup docs.

Where to reach BC

The Dime.Scheduler extension publishes its appointment endpoint in two flavors - a classic SOAP web service and a modern REST API page - and which one you use is mostly historical preference. Pick one in the connector's API Type field, then paste the matching URL below.

SOAP

In BC, open the Web Services page, find the Dime.Scheduler Appointment Card page, and copy its SOAP URL. The shape is:

https://{YOUR_URL_TO_BC}:7047/WS/Page/Appointment

API page (REST)

The REST URL follows this format:

https://{YOUR_URL_TO_BC}/api/dimeSoftware/dimeScheduler/v1.0/companies({COMPANY_ID})/appointments

Two placeholders: the URL to BC itself, and the company ID (the company GUID, which BC will show you on the company card):

Paste the finished URL into a browser to make sure BC responds before you save the connector. For BC Cloud, the shape is slightly different:

https://api.businesscentral.dynamics.com/v2.0/{USER_DOMAIN_NAME}/{ENVIRONMENT_NAME}/api/dimeSoftware/dimeScheduler/v1.0/companies({COMPANY_ID})/appointments

Here, {USER_DOMAIN_NAME} is the Entra ID tenant GUID, {ENVIRONMENT_NAME} is the BC environment's display name, and {COMPANY_ID} is the company GUID from above.

How to authenticate

Which method?

On-premises BC accepts three options; cloud BC only accepts one. The pragmatic story is short: Microsoft has deprecated everything except OAuth2, and even on-prem the REST API page won't talk to Windows authentication at all. Unless you have a hard reason otherwise, use OAuth2.

MethodSOAP Web ServicesAPI page
Basic authentication
Windows auth: NTLM and Kerberos
OAuth2

For BC online (Cloud), OAuth2 is the only option.

Basic / Windows (on-premises)

These two configure the same way: in the connector's Authentication section, pick the type and enter the credentials of a BC service account Dime.Scheduler can use.

Connector setup

OAuth2 with Microsoft Entra ID

OAuth2 is more involved because it doesn't rely on a single password; it relies on an app registration in Microsoft Entra ID that Dime.Scheduler can use to request tokens on its own behalf. The setup has three places you need to touch, in this order:

  1. Register an app in Entra ID. This is the identity Dime.Scheduler will use.
  2. Tell Business Central that this app is allowed in, and which permission sets it has.
  3. Tell Dime.Scheduler where that app lives and how to prove it owns it.
Official docs

Microsoft's register-an-app guide covers the Entra ID side in depth.

Try it first

We have a walkthrough for setting up OAuth2 between Dime.Scheduler and BC on-premises via Docker - a safe way to rehearse before touching your test or production environment.

Step 1: Register the app [Microsoft Entra ID]

  1. Sign in to the Azure portal.

  2. Register an application in your Entra ID tenant:

    • Give it a name, e.g. Dime.Scheduler for Business Central.
    • Select the supported account type.
  3. Add these Application API permissions:

    • Dynamics 365 Business Central: app_access
    • Dynamics 365 Business Central: API.ReadWrite.All
  4. Grant admin consent. The result should look like this:

    API permissions

Step 2: Register the app in BC [Business Central]

The app exists in Entra ID, but BC won't let it through the door until it's listed on the BC side too. You'll need the app's application (client) ID, directory (tenant) ID, and a client secret.

  1. Search for Microsoft Entra Applications (or Azure AD applications on older versions) and open it.
  2. Create a new application:
    • Paste the client ID into the Client ID field.
    • Add a description, e.g. Dime.Scheduler.
  3. Assign permission sets to the company you're connecting:
    • D365 Basic ISV
    • Dime.Scheduler
    • plus any set needed to reach your custom objects

Step 3: Configure the connector [Dime.Scheduler]

The final piece: the client secret. In the Entra ID app, go to Certificates & secrets, click New client secret, and copy the value the instant it appears - you can't read it again later.

Client secret

Then create the connector in Dime.Scheduler and fill in the Authentication section:

  • Authentication type: MS Entra ID
  • Tenant ID: the app's Directory (tenant) ID
  • Client ID: the app's client ID
  • Client Secret: the secret you just copied

Save it, and the OAuth2 connector is live.

Connector setup

Source App

One last field ties everything together. The source app on this connector must match the value you set in the FastTrack Wizard back in Business Central - it's how Dime.Scheduler knows that an appointment headed out through this connector belongs to the same back-office system whose records came in under that source app.

If those two values don't match, the integration runs fine in isolation but the loop never closes: appointments leave Dime.Scheduler and end up nowhere BC can see them.

Connector setup