Skip to main content

Pre-Built Tooling

CategoryDetails
AuthenticationOAuth 2.0 (Authorization Code with refresh tokens)
Two-Way SyncNo
Events SupportedNo
RealtimePolling
Supports Rate LimitingYes
Authentication Scopes Supportedopenid, email, profile, offline_access, https://api.businesscentral.dynamics.com/.default

Objects Supported

Alloy Automation supports syncing the following objects from Microsoft Dynamics Business Central: Based on the Business Central API v2.0, typical objects include:
  • Company
  • Item
  • Customer
  • Vendor
  • Sales Invoice
  • Sales Invoice Line
  • Purchase Invoice
  • Journal
  • Journal Line
  • Employee
  • Account
  • General Ledger Entry
  • Payment Method
  • Currency
  • Dimension

Set Up Guide

Trial Access

QuestionAnswer
Offers free trial?Yes. Microsoft offers a 30-day free trial of Business Central. Start free trial
Requires paid sandboxNo. Trial environments include sandbox capabilities for testing.
Requires partnership to obtain authentication?No, but you need an Azure AD tenant and must register an application in the Azure Portal.

Authentication (OAuth 2.0)

For customers who want to completely whitelabel their OAuth experience, you can provide your own developer keys instead of using Alloy Automation’s.

Create your OAuth app (Azure Portal)

  1. Go to Azure Portal (https://portal.azure.com/) and sign in with your Microsoft account.
  2. Navigate to Azure Active DirectoryApp registrationsNew registration.
  3. Fill in your application details:
    • Name: Your application’s name
    • Supported account types: Choose “Accounts in any organizational directory” for multi-tenant access
    • Redirect URI: Select “Web” and enter https://api.runalloy.com/api/strategy/connector/microsoftBusinessCentral/callback
  4. Click Register to create the application.
  5. Note your Application (client) ID from the Overview page.
  6. Navigate to Certificates & secrets and click New client secret.
  7. Add a description and expiration period, then click Add.
  8. Copy the Value of the client secret immediately (it won’t be shown again).
  9. Navigate to API permissions and click Add a permission.
  10. Select Dynamics 365 Business Central and add the following delegated permissions:
    • API.ReadWrite.All - Access to Business Central APIs
    • Automation.ReadWrite.All - Access to automation APIs
    • Financials.ReadWrite.All - Access to financial data
  11. Add Microsoft Graph permissions:
    • openid, email, profile, offline_access
  12. Click Grant admin consent if you have admin privileges, or ask your tenant administrator to grant consent.
  13. Copy your Application (client) ID and Client Secret into Alloy Automation.

Important Notes

  • Business Central uses tenant-specific URLs: https://api.businesscentral.dynamics.com/v2.0/{tenantId}/production/api/v2.0
  • The tenant ID is a GUID that identifies the customer’s Business Central environment.
  • API access requires users to have appropriate permissions in Business Central (Web Services Access permission set).

Use Cases

1) E-commerce and ERP synchronization

Sync orders from your e-commerce platform to Business Central as sales invoices, automatically creating customer records, updating inventory, and posting financial transactions in real-time.

2) Automated financial reporting

Extract general ledger entries, trial balances, and financial statements from Business Central into your business intelligence platform for consolidated reporting across multiple business units or companies.

3) Vendor and supplier management

Integrate procurement systems with Business Central to automatically create purchase orders, track vendor invoices, and manage payment schedules while maintaining accurate accounts payable records.

4) Inventory management automation

Synchronize inventory levels between Business Central and warehouse management systems, automatically adjusting stock quantities, creating transfer orders, and triggering reorder workflows based on real-time data.

5) Employee time tracking integration

Connect time tracking applications with Business Central to automatically create time registration entries, enabling accurate job costing, payroll processing, and project billing.

API Gotchas

  • Business Central APIs require the tenant ID in the URL path, which must be obtained during the OAuth flow. The tenant ID is not the same as the Azure AD domain name - it’s a GUID that must be retrieved from the token or user info endpoint.
  • The API uses OData v4 with strict ETag requirements for updates. When modifying records, you must include the current ETag value in the If-Match header, otherwise the update will fail with a 412 Precondition Failed error.
  • Company context is required for most operations. Business Central supports multiple companies per tenant, and API endpoints typically require a company ID in the URL. You must first list companies, then use the specific company ID for subsequent operations.
  • Field naming conventions are inconsistent - some fields use camelCase while others use lowercase. Custom fields follow different patterns depending on how they were created. Always consult the metadata endpoint ($metadata) to determine exact field names.
For questions or troubleshooting, contact support@runalloy.com.
I