# Microsoft Dynamics 365 Business Central

> Microsoft Dynamics 365 Business Central through One

- Skill: `withoneai/microsoft-dynamics-365-business-central` (Agent Skill)
- Install (CLI): `npx skillmds@latest add withoneai/microsoft-dynamics-365-business-central`
- Raw SKILL.md: https://api.skillmd.com/api/skills/withoneai/microsoft-dynamics-365-business-central/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: withoneai (https://skillmd.com/u/withoneai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/withoneai/microsoft-dynamics-365-business-central

---


# Microsoft Dynamics 365 Business Central through One

A comprehensive business management solution that helps small and mid-sized companies manage finances, operations, sales, and customer service in a connected environment.

One exposes Microsoft Dynamics 365 Business Central through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.

## How to run an action

1. Find the action in the table below, or call `search_one_platform_actions` with platform `microsoft-dynamics-365-business-central` if it is not listed.
2. Call `get_one_action_knowledge` with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
3. Call `execute_one_action` with parameters copied from that knowledge.

Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.

## Before you start

Call `list_one_integrations` once and confirm Microsoft Dynamics 365 Business Central is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.

Each connection carries an `access` field. If it reports `{"policy": "methods", "methods": ["GET"]}` the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.

## Before a write

Creates, updates, deletes and sends land on a real Microsoft Dynamics 365 Business Central account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.

## Actions

### DefaultDimensions

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Customer’s Default Dimensions | GET | `/customers({{customerId}})/defaultDimensions` | `conn_mod_def::GJ46yJP5PW0::11fSSHU7Sv-bGyVkEMO-dQ` |
| List a Vendor’s Default Dimensions (for a Company) | GET | `/vendors({{vendorId}})/defaultDimensions` | `conn_mod_def::GJ466RhA7-c::L4YE7jgdT3GP2i-mKISUzQ` |
| List Default Dimensions for an Entity | GET | `/defaultDimensions` | `conn_mod_def::GJ46zIhU-dE::y3RkyS88SLm7LXX9OBZOXw` |
| Create a Customer’s Default Dimensions | POST | `/customers({{customerId}})/defaultDimensions` | `conn_mod_def::GJ46x9tA7s0::5_v1LrPgTk2-kMNz8eTUCw` |
| Create a Default Dimension for an Entity | POST | `/items({{itemId}})/defaultDimensions` | `conn_mod_def::GJ46zBZ4ukY::NZi8MuEZSJ6M7Lm9mc9-zQ` |
| Create a Vendor’s Default Dimensions | POST | `/vendors({{vendorId}})/defaultDimensions` | `conn_mod_def::GJ466Cl7Rqs::t_OaQmygTneJSHAvxq640Q` |
| Create an Employee’s Default Dimensions | POST | `/employees({{employeeId}})/defaultDimensions` | `conn_mod_def::GJ46zrwfEzY::YfK-pnX4QPiR_pYwKv5hFA` |
| Delete a Company Entity’s Default Dimension | DELETE | `/{{entityPath}}/defaultDimensions({{defaultDimensionId}})` | `conn_mod_def::GJ46y81e5t8::lZTYeD78S_iBNQeBjbZC6g` |
| Delete a Vendor’s Default Dimension | DELETE | `/vendors({{vendorId}})/defaultDimensions({{vendorId}},{{dimensionId}})` | `conn_mod_def::GJ466R0RSy8::5G9VDuOGR5WSEurxO8wdSg` |
| Update a Company's Entity Default Dimension | PATCH | `/items({{itemId}})/defaultDimensions({{defaultDimensionId}})` | `conn_mod_def::GJ46zLFySDM::Oh6pOl6ST8ercuY38R4fbQ` |
| Update a Customer’s Default Dimensions (in a Company) | PATCH | `/customers({{customerId}})/defaultDimensions({{customerId}},{{dimensionId}})` | `conn_mod_def::GJ46yGlOfyo::htjeHDDFSoqFsOHGNnaFaQ` |

### Items

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Item | GET | `/items({{itemId}})` | `conn_mod_def::GJ460mRGlw0::i1eds37ZTM6bU2T4Vkn7CQ` |
| Get an Item’s Picture | GET | `/items({{itemId}})/picture` | `conn_mod_def::GJ460mPuahA::eOY-Qm33T1imys3M2FW4fw` |
| Create an Item for a Company | POST | `/items` | `conn_mod_def::GJ460dxQrIM::Iz1gIKocSISsCHhIMaOx1Q` |
| Delete a Company's Item | DELETE | `/items({{itemId}})` | `conn_mod_def::GJ460maOkqU::5TfzFuJcRGCRnuIUQpk5tA` |
| Delete an Item’s Picture (in a Company) | DELETE | `/items({{itemId}})/picture` | `conn_mod_def::GJ460d2yzvs::YBe_50UVTQeN5SAltFNCgA` |
| Update a Company's Item | PATCH | `/items({{itemId}})` | `conn_mod_def::GJ460nxVgDw::ZYj1HgBaRCyq3uGvIPStBg` |

### SalesInvoices

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Sales Invoice | GET | `/salesInvoices({{salesInvoiceId}})` | `conn_mod_def::GJ464FlqXgo::lPO2U-9bQg6RIhrznoqkVA` |
| Get a Sales Invoice PDF Document (binary) | GET | `/salesInvoices({{invoiceId}})/pdfDocument({{invoiceId}})/content` | `conn_mod_def::GJ464F064ww::o5cRUnQLSMqocVzvYIJXxg` |
| Create a Company's Sales Invoice | POST | `/salesInvoices` | `conn_mod_def::GJ464E-8BrE::LPbl0JBWSFmFzlDid8M1Ig` |
| Delete a Company's Sales Invoice | DELETE | `/salesInvoices({{salesInvoiceId}})` | `conn_mod_def::GJ464GKyIG4::b2mQOBQgRIaKbM4Dbxtqtw` |
| Update a Company's Sales Invoice | PATCH | `/salesInvoices({{salesInvoiceId}})` | `conn_mod_def::GJ464Tv0y5I::bMu21hONRqutdYi3DXowvA` |

### SalesQuotes

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Sales Quote | GET | `/salesQuotes({{salesQuoteId}})` | `conn_mod_def::GJ465BbTPKk::2Fd5Ft5JQsOacLPgrkxv7w` |
| Get a Sales Quote PDF Document (Binary Content) | GET | `/salesQuotes({{quoteId}})/pdfDocument({{pdfDocumentId}})/content` | `conn_mod_def::GJ46413eLYs::eKOIaRf0Sdm0bijTxICYxw` |
| Create a Company's Sales Quote | POST | `/salesQuotes` | `conn_mod_def::GJ4640hou9Q::KNjjuykiTb-65xJgP3UUJg` |
| Delete a Company's Sales Quote | DELETE | `/salesQuotes({{salesQuoteId}})` | `conn_mod_def::GJ46409MMD4::kB-8FnJATJarmn5neejv8g` |
| Update a Company's Sales Quote | PATCH | `/salesQuotes({{salesQuoteId}})` | `conn_mod_def::GJ465CVbh0Y::PKyBE8EITg6o6KaqCD4wlQ` |

### Attachments

| Action | Method | Path | Action id |
|---|---|---|---|
| List Company Attachments (Filtered by Parent Entity) | GET | `/attachments` | `conn_mod_def::GJ46w74l8xM::AGbmnwSwRTWzWUmnyoJ0hA` |
| Create a Company's Attachment (Incoming Document) | POST | `/attachments` | `conn_mod_def::GJ46w7KDQWY::iDpQXZ8IQyGJR1WjftpvEQ` |
| Delete a Company Attachment | DELETE | `/attachments({{attachmentId}})` | `conn_mod_def::GJ46w7tfcWc::X0tNQY1iRM-dNKi1wCoNwg` |
| Update an Attachment’s Content (Incoming Document) | PATCH | `/attachments({{attachmentId}})/attachmentContent` | `conn_mod_def::GJ46w7rcNMU::ia8-mmibTA6EV9wa72dT4w` |

### BankAccounts

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company's Bank Account | GET | `/bankAccounts({{bankAccountId}})` | `conn_mod_def::GJ46xHWirM4::UG_LJMkGRCqw3OXnHyFrUA` |
| Create a Company's Bank Account | POST | `/bankAccounts` | `conn_mod_def::GJ46xG29l2I::0C5YX1ERTNi6F9MxOeqlVQ` |
| Delete a Company’s Bank Account | DELETE | `/bankAccounts({{bankAccountId}})` | `conn_mod_def::GJ46xG20JBY::W38XymCaR2C2SG55khIZiA` |
| Update a Company’s Bank Account | PATCH | `/bankAccounts({{bankAccountId}})` | `conn_mod_def::GJ46xHPXD4M::BLXJbGZCRs-RdLmqPf6Cxg` |

### Contacts

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company's Contact | GET | `/contacts({{contactId}})` | `conn_mod_def::GJ46xc915TE::7hYpaMtKR2Wc1wNydg5q-w` |
| Create a Company’s Contact | POST | `/contacts` | `conn_mod_def::GJ46xP5Bpxg::CBEUCp_hSnS9Ulfddt-KNQ` |
| Delete a Company's Contact | DELETE | `/contacts({{contactId}})` | `conn_mod_def::GJ46xaSjnoA::8Lc5kNR0Q1qdpzygYyDxwg` |
| Update a Company's Contact | PATCH | `/contacts({{contactId}})` | `conn_mod_def::GJ46xmAuRCY::XwV1SC2vRLOov9XRNHciCw` |

### CountriesRegions

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company's Country/Region (countriesRegions) | GET | `/countriesRegions({{countryRegionId}})` | `conn_mod_def::GJ46xvT8jWw::ju1HjSgeRIeK5WVQq8xHFw` |
| Create a Company Country/Region (countriesRegions) | POST | `/countriesRegions` | `conn_mod_def::GJ46xbjzKCU::CT0eFDgWQ0uaF85QepZHFw` |
| Delete a Company's Country/Region | DELETE | `/countriesRegions({{countryRegionId}})` | `conn_mod_def::GJ46xxFKvb4::Z7vPW1_gRK-PfPJWTyTUow` |
| Update a Company's Country/Region | PATCH | `/countriesRegions({{countryRegionId}})` | `conn_mod_def::GJ46xuHFG1U::zRJVGFPYQ9q4EIvculLtdA` |

### Currencies

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Currency | GET | `/currencies({{currencyId}})` | `conn_mod_def::GJ46x529j_k::cizyGFJsTvuzMTw_Ob9cNw` |
| Create a Company Currency | POST | `/currencies` | `conn_mod_def::GJ46xuVtFDg::ATDCeRogQaOX2p00CtzlHQ` |
| Delete a Company's Currency | DELETE | `/currencies({{currencyId}})` | `conn_mod_def::GJ46xudiiaE::oxsGZcCaRP2wWpeiJ9Xufg` |
| Update a Company's Currency | PATCH | `/currencies({{currencyId}})` | `conn_mod_def::GJ46x6CoGZI::34VmpSPdTmqrr8dCldhkJg` |

### Customers

| Action | Method | Path | Action id |
|---|---|---|---|
| Retrieve a Company's Customer | GET | `/customers({{customerId}})` | `conn_mod_def::GJ46yKyMN98::gaMm04pVS7KTMlDzJZTQ6w` |
| Create a Customer (in a Company) | POST | `/customers` | `conn_mod_def::GJ46x887hPo::u6AyjgGbSXOMB7FAJbXA6g` |
| Delete a Company's Customer | DELETE | `/customers({{customerId}})` | `conn_mod_def::GJ46yGKBO_o::kwLXfN1_SuqutHAUN7DC1g` |
| Update a Company's Customer | PATCH | `/customers({{customerId}})` | `conn_mod_def::GJ46yT5UbgU::sTKmsItHQWed3RblGJCqPQ` |

### CustomerPayments

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company's Customer Payment | GET | `/customerPayments({{customerPaymentId}})` | `conn_mod_def::GJ46yeJl7W4::epcAOXlERv28_JrIaMYJyA` |
| Create a Company Customer Payment | POST | `/customerPayments({{customerPaymentId}})` | `conn_mod_def::GJ46yemDDV8::47NC5P93SeCj05KBZ-tHbQ` |
| Delete a Company's Customer Payment | DELETE | `/customerPayments({{customerPaymentId}})` | `conn_mod_def::GJ46yiH0Qdg::UW9pkRBGQyicNY6AmRTDfw` |
| Update a Company's Customer Payment | PATCH | `/customerPayments({{customerPaymentId}})` | `conn_mod_def::GJ46yf3bqbs::6zBAHfqsRO27Ph73pTARnA` |

### CustomerPaymentJournals

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Customer Payment Journal | GET | `/customerPaymentJournals({{customerPaymentJournalId}})` | `conn_mod_def::GJ46yqxnez0::jhZMCYb9QMaQdI1CntyyTg` |
| Create a Company's Customer Payment Journal | POST | `/customerPaymentJournals` | `conn_mod_def::GJ46yfOUFWM::i8_2q27pTk-E7ds7LszM8g` |
| Delete a Company's Customer Payment Journal | DELETE | `/customerPaymentJournals({{customerPaymentJournalId}})` | `conn_mod_def::GJ46yrA3Z2g::0OOvLWecR_mAUCwDmmkS9g` |
| Update a Company's Customer Payment Journal | PATCH | `/customerPaymentJournals({{customerPaymentJournalId}})` | `conn_mod_def::GJ46yzIDZSM::UQayc9OxSuSsApAi_KPfcQ` |

### CustomerReturnReasons

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Customer Return Reason | GET | `/customerReturnReasons({{customerReturnReasonId}})` | `conn_mod_def::GJ46y7hXnOM::9cmXmxpmT1uKb2B1n9wmVA` |
| Create a Company's Customer Return Reason | POST | `/customerReturnReasons` | `conn_mod_def::GJ46yrlY7Y0::HIMEPGjGTeeLwNsi7c0jmQ` |
| Delete a Company's Customer Return Reason | DELETE | `/customerReturnReasons({{customerReturnReasonId}})` | `conn_mod_def::GJ46yscb96M::ALuvzyxRSH2296MRNXG6ug` |
| Update a Company's Customer Return Reason | PATCH | `/customerReturnReasons({{customerReturnReasonId}})` | `conn_mod_def::GJ46y8vZsK0::Shm-7g7-QJiC8MXTaOjt1w` |

### DimensionSetLines

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Dimension Set Line (for a Company Document) | GET | `/salesOrders({{salesOrderId}})/dimensionSetLines({{dimensionSetLineId}})` | `conn_mod_def::GJ46zWnXTIg::TRgl1k63Qqe1l6t5ZV2ZEQ` |
| Create a Dimension Set Line for a Parent Entity | POST | `/salesOrders({{parentId}})/dimensionSetLines({{dimensionSetLineId}})` | `conn_mod_def::GJ46zMkHCII::_aoAijXOTkmDONtqY74u0Q` |
| Delete a Dimension Set Line for a Parent Record | DELETE | `/{{parentCollection}}({{parentId}})/dimensionSetLines({{dimensionSetLineId}})` | `conn_mod_def::GJ46zN3Wekw::QJpMdTp5ScC7jyTAyDw4Eg` |
| Update a Sales Order’s Dimension Set Line | PATCH | `/salesOrders({{salesOrderId}})/dimensionSetLines({{dimensionSetLineId}})` | `conn_mod_def::GJ46zX0eT5U::YD70wV-kTYeP2BQccEel6Q` |

### DisputeStatus

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Dispute Status | GET | `/disputeStatus({{disputeStatusId}})` | `conn_mod_def::GJ46zgzhRio::GwkpC40HSpmpd3I3_exn1A` |
| Create a Company Dispute Status | POST | `/disputeStatus({{disputeStatusId}})` | `conn_mod_def::GJ46zXJyNJ8::yYy2FvC7T76YquatNsqrAw` |
| Delete a Company’s Dispute Status | DELETE | `/disputeStatus({{disputeStatusId}})` | `conn_mod_def::GJ46zXiBmic::QgwaH07nS82ZCW0DhRlS5A` |
| Update a Company’s Dispute Status | PATCH | `/disputeStatus({{disputeStatusId}})` | `conn_mod_def::GJ46zhftZ-c::6HoaajE-TOKURTtm_Fi4Jg` |

### DocumentAttachments

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Document Attachment | GET | `/documentAttachments({{documentAttachmentId}})` | `conn_mod_def::GJ46zf58OQw::385kDVoNQdKDWjCtPrRdlA` |
| Create a Company Document Attachment | POST | `/documentAttachments({{documentAttachmentId}})` | `conn_mod_def::GJ46ziWKPk8::9l9zz487QZK7iaqmcQQ05g` |
| Delete a Company’s Document Attachment | DELETE | `/documentAttachments({{documentAttachmentId}})` | `conn_mod_def::GJ46zf-_HwM::EAcOAYBVQgCIjdzpbfqCYQ` |
| Update a Company’s Document Attachment | PATCH | `/documentAttachments({{documentAttachmentId}})` | `conn_mod_def::GJ46zqiM6RE::vRn_Whp8SwiCV4OBgQhTcA` |

### Employees

| Action | Method | Path | Action id |
|---|---|---|---|
| Get an Employee (by Company and Employee ID) | GET | `/employees({{employeeId}})` | `conn_mod_def::GJ46z4KcRpE::yqRT-xA7SOiR2O9k2sBJ2A` |
| Create an Employee in a Company | POST | `/employees` | `conn_mod_def::GJ46zqzL73M::nlB3_pBKRGem7cr4TPzN2w` |
| Delete a Company's Employee | DELETE | `/employees({{employeeId}})` | `conn_mod_def::GJ46zruorXY::PAQgqh_FRFCFbyXUOtaenw` |
| Update a Company's Employee | PATCH | `/employees({{employeeId}})` | `conn_mod_def::GJ46z4ixWNI::lkK44RcHSfGagO_QsMI9Jw` |

### FixedAssets

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Fixed Asset | GET | `/fixedAssets({{fixedAssetId}})` | `conn_mod_def::GJ460EeDp4g::0iS69rLvRM6UydjquItF3Q` |
| Create a Company's Fixed Asset | POST | `/fixedAssets({{fixedAssetId}})` | `conn_mod_def::GJ46z7MbPZs::pIJpOIH9TfS7vQz5ziP4uw` |
| Delete a Company's Fixed Asset | DELETE | `/fixedAssets({{fixedAssetId}})` | `conn_mod_def::GJ460E8qkvM::C-l_80EjQsOwov3Wol8p4Q` |
| Update a Company's Fixed Asset | PATCH | `/fixedAssets({{fixedAssetId}})` | `conn_mod_def::GJ460ExFu58::8jfGufUVQ4yZig-QNc9UPA` |

### FixedAssetLocations

| Action | Method | Path | Action id |
|---|---|---|---|
| Get a Company’s Fixed Asset Location | GET | `/fixedAssetLocations({{fixedAssetLocationId}})` | `conn_mod_def::GJ460QcifOA::ULpbN7pITWOKhplDwlSC7A` |
| Create a Company's Fixed Asset Location | POST | `/fixedAssetLocations({{fixedAssetLocationId}})` | `conn_mod_def::GJ460ECAX-Q::V5QZoSOhS0yxgFd6WVMsBw` |
| Delete a Company's Fixed Asset Location | DELETE | `/fixedAssetLocations({{fixedAssetLocationId}})` | `conn_mod_def::GJ460IEj1jQ::ndhoTKV_Tl-EZMfR7zzuaA` |
| Update a Company's Fixed Asset Location | PATCH | `/fixedAssetLocations({{fixedAssetLocationId}})` | `conn_mod_def::GJ460UYVuQI::Te-9kHStQyWJARsWZqR1QA` |

### ItemCategories

| Action | Method | Path | Action id |
|---|---|---|---|
| Get an Item Category (Company Scoped) | GET | `/itemCategories({{itemCategoryId}})` | `conn_mod_def::GJ460yeePj4::inQY2ZnbQkuTtEWnQPRYOw` |
| Create an Item Category for a Company | POST | `/itemCategories` | `conn_mod_def::GJ4603_H6F0::New1p1p2TgmN7WTUNSVjWg` |
| Delete a Company's Item Category | DELETE | `/itemCategories({{itemCategoryId}})` | `conn_mod_def::GJ460yqEy-U::_rmHtT30RvaV1jsS7CfgTg` |

1 more ItemCategories actions are available through search.

This lists 90 of 260 actions. For anything not here, call `search_one_platform_actions` with platform `microsoft-dynamics-365-business-central`. The full catalog is at https://www.withone.ai/knowledge/microsoft-dynamics-365-business-central.

## When a call fails

The error comes from Microsoft Dynamics 365 Business Central, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.

Full catalog: https://www.withone.ai/knowledge/microsoft-dynamics-365-business-central

Integration knowledge by One (withone.ai), licensed under [One-Knowledge-1.0](https://www.withone.ai/licenses/knowledge). Attribution must be preserved in derivative works.

