Pre-Built Tooling
Category | Details |
---|---|
Authentication | OAuth 2.0 (Authorization Code with refresh tokens) |
Two-Way Sync | No |
Events Supported | No |
Realtime | Polling |
Supports Rate Limiting | Yes |
Authentication Scopes Supported | openid , 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
Question | Answer |
---|---|
Offers free trial? | Yes. Microsoft offers a 30-day free trial of Business Central. Start free trial |
Requires paid sandbox | No. 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)
- Go to Azure Portal (https://portal.azure.com/) and sign in with your Microsoft account.
- Navigate to Azure Active Directory → App registrations → New registration.
- 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
- Click Register to create the application.
- Note your Application (client) ID from the Overview page.
- Navigate to Certificates & secrets and click New client secret.
- Add a description and expiration period, then click Add.
- Copy the Value of the client secret immediately (it won’t be shown again).
- Navigate to API permissions and click Add a permission.
- Select Dynamics 365 Business Central and add the following delegated permissions:
API.ReadWrite.All
- Access to Business Central APIsAutomation.ReadWrite.All
- Access to automation APIsFinancials.ReadWrite.All
- Access to financial data
- Add Microsoft Graph permissions:
openid
,email
,profile
,offline_access
- Click Grant admin consent if you have admin privileges, or ask your tenant administrator to grant consent.
- 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.