The Sales Order Agent reads customer emails that ask for prices, availability, or orders. It finds the customer and the items, creates a sales quote, and prepares a reply. Depending on your settings, it sends the quote for confirmation and converts it to a sales order when the customer agrees.
Since update 28.3 you can run several Sales Order Agents in the same company, each with its own mailbox and rules. This guide covers the setup and the settings that decide how much the agent does on its own.
When to Use This
The agent works well when customers order by email in plain text or with a PDF purchase order attached, and your items are easy to identify by name, number, or item reference. It is less useful when every order needs custom pricing or complex configuration. In that case, you can still let it create the quote and stop there.
Prerequisites
- Permissions. To create an agent instance you need the Configure All Agents system permission (ID 9665). The AGENT - ADMIN permission set grants it. To work with tasks, users need Manage Agent Tasks, which the D365 Agent permission set and Essential and Premium licenses include.
- A Microsoft 365 mailbox. A shared mailbox works best. You need Read and manage (Full Access) and Send as permission on it.
- Billing. Set up consumption billing in the Business Central admin center. The agent uses Copilot Credits.
- Sandbox only: in Extension Management, select Sales Order Agent and turn on Allow HttpClient Requests.
- Clean contact data. The agent identifies customers by matching the sender’s email address against the E-Mail field on contacts. Missing or outdated addresses mean manual work on every request.
The agent is validated in Danish, English, French, German, Italian, Brazilian Portuguese, and Spanish.
Step 1: Turn On the Capability
- Look for the Sales Order Agent icon in the Role Center navigation.
- If it isn’t there, search for Copilot & agent capabilities and turn on Sales Order Agent under Generally available.
Step 2: Activate the Agent
- Select Sales Order Agent > Activate.
- On the Configure the Copilot agent page, turn on Active.
- Select Language and region to set the default language, region, and time zone. A language on the customer or contact card overrides the default for outgoing emails.
- Select Manage user access and add the people who handle orders. Select Can Configure only for users who should change the setup.
- Set Display name and Initials. With several agents, use names that tell them apart, for example Webshop orders and Key accounts.
- Turn on Monitor and process emails, set Mailbox, and set Folder.
Use Go to next card (Ctrl + Right arrow) to move through the remaining settings.
Step 3: Configure Responses to Inquiries
| Option | Default | Notes |
|---|---|---|
| Messages from already registered senders | First message in a conversation | When a person reviews incoming mail from known contacts |
| Messages from unregistered senders | All | Keep review on for unknown senders |
| Select only available items | On | The agent checks inventory for the requested date and location, and says when items aren’t available |
| Include capable to promise | Off | Turn on to offer items that can be delivered later |
With Select only available items off, the agent creates quotes even when stock goes negative. That suits make-to-order businesses but not most distributors.
Step 4: Decide What Happens with Quotes and Orders
The agent always starts with a sales quote. Quotes don’t affect planning, reservations, or availability, which makes them a safe first step. Two switches decide what happens next:
| Send quotes for confirmation | Make orders from quotes | Result |
|---|---|---|
| On | On | The customer gets the quote, confirms by email, and the agent converts it to an order (default) |
| On | Off | The customer gets the quote, and you convert it to an order yourself |
| Off | On | The agent converts the quote straight to an order, and the customer only sees the order |
| Off | Off | The agent creates the quote and stops |
Two more settings add review steps before anything is emailed:
- Review quotes when created and updated
- Review orders when created and updated
Both are off by default. Outgoing emails always need a person to confirm them, whatever these settings say.
If your pricing has manual steps, turn on Review quotes when created and updated and turn off Send quotes for confirmation. The agent reads the email, finds the items, checks availability, and creates the quote. A salesperson then adds discounts and sends it.
Step 5: Configure the Mailbox
| Option | Default | Notes |
|---|---|---|
| Folder | None (required) | The folder the agent watches |
| Mark email as read | On | Shows the team which emails the agent handled |
| Analyze attachments | Enabled | PDF, PNG, and JPG. PDFs up to 50 pages and about 150,000 characters across all attachments in one email |
| Daily email limit | 100 | Emails over the limit are handled the next day |
To limit the agent to approved customers, point it at a subfolder such as Sales Requests and use Outlook rules to move mail from approved senders into it. Everything else stays in the inbox, and the agent never sees it.
Step 6: Add a Signature
- On the Format outgoing message card, select Include a custom signature in the replies.
- Select Edit signature and enter the signature text, with formatting, a logo, or links.
- Select OK, then select Update to finish the setup.
The agent icon changes when it is active.
Step 7: Test Without Sending Email
- On Configure Sales Order Agent, select Create task in the Try it out section.
- Set Sender to a customer contact.
- Write the request in the message body, or select Use sample message to generate one from your own item data.
- Optionally attach a file, then select Create.
The agent handles the task as if it came by email. To test with real emails, forward one to the monitored folder. A forwarded email shows your address as the sender, so the agent applies the review setting for unregistered senders unless your address is on a contact.
Run Several Agents in One Company
Each instance has its own mailbox, folder, signature, rules, and figures. An example setup:
| Instance | Mailbox | Settings |
|---|---|---|
| Shared sales inbox | [email protected] |
All review steps on, quotes sent for confirmation |
| Key accounts | Subfolder in a salesperson’s mailbox | Send quotes for confirmation off, orders created directly, salesperson’s signature |
Agent accounts are named SALES ORDER AGENT - [COMPANY], then SALES ORDER AGENT - [COMPANY] 2, and so on.
Agent Permissions
The agent’s user account has the SOA - EDIT permission set by default. Extensions that add fields or logic to sales pages may need more. If a task shows The agent needs additional permissions to continue:
- Note the extension, object type, and object ID in the error details.
- Open Permissions Overview and filter on that extension and object to find a permission set that grants the access.
- Open Agents, select the agent, and set State to Disabled.
- Select Edit agent permissions and add the narrowest permission set that works.
- Reactivate the agent on Configure Sales Order Agent and retry the task.
Credits
When Copilot Credits run out, the agent stops processing new emails but still sends replies it already prepared. When credits come back, it processes everything that piled up. Use Daily email limit to cap use, and turn off Active before credits run out if you are only testing.
Once the agent is running, most of the daily work is reviewing its tasks. See How to Review and Supervise Agent Work in Business Central.