← Cofferwell
DocumentationPrivacyEULASupport

Cofferwell: Business Central Panel (docs)

Published at https://greatwork.company/apps/cofferwell/docs. Support: hello@greatwork.company, reply within one business day.

What agents see

On a ticket, Cofferwell finds the requester's customer in Microsoft Dynamics 365 Business Central, in this order:

  1. The customer linked to the requester's Zendesk organization (see "Link the organization").
  2. Customers whose email field holds one of the requester's addresses (the primary email and every other email identity on their Zendesk profile). Business Central lets one field hold several addresses separated by semicolons; each is compared exactly.
  3. Customers of a customer contact with one of those addresses.
  4. The customers on the latest invoices and orders sent to one of those addresses.

When nothing matches, the customers whose email or website is on the requester's company domain are listed to pick from (mailbox providers such as gmail.com are skipped, and a look-alike domain such as notexample.com never counts for example.com). It shows:

  • Customer: name, number, city, phone, salesperson, how it was found, and a red badge when the customer is on hold (no shipping, no invoicing, or all transactions blocked).
  • Balance and overdue amount, credit limit with the share used, payment terms and total sales. Amounts carry their currency; records in your local currency use the Local currency setting.
  • Open orders: late ones first (past the requested delivery date), each with its item lines (how many shipped of how many, and the planned shipment date for the rest) and the shipments that already went out for it.
  • Open invoices, most overdue first, with the amount still open, the due date, days overdue, the customer's PO number and the order. Paid and canceled ones one click away.
  • Recent shipments with shipment number, date, order, shipping method, destination and items.
  • Credit memos: the latest five, with the invoice they correct.
  • Lookup box: an order, invoice, shipment or credit memo number, the customer's own PO number, a customer number, a name or an email. Document numbers in the ticket subject are offered as one-click lookups.

On a user profile the same panel shows for that user. On an organization profile Cofferwell shows the linked customer, or the customers on the organization's domains (or with exactly its name) to pick from. Every record has an Open link into Business Central.

Actions

Available to the agents you allow ("Who may take actions"), each one switchable:

  • Insert into reply: order status (with shipped and pending items, planned dates and shipments), open invoices (number, your customer's PO, amount open, due date, days past due) or the balance, written for the customer. It goes into the reply editor; you read and edit it before sending. Credit limits, holds and internal details never go into the text. Works on new tickets too.
  • Email a copy of a posted invoice or credit memo from Business Central (saved tickets). It goes out through your company's document sending setup in Business Central, to the address Business Central has for the customer. Drafts can't be sent.
  • Link the organization: saves the customer number on the Zendesk organization (in the field "Cofferwell: Business Central customer no."), so every ticket from that company shows the customer. Unlink the same way.
  • Customer hold (saved tickets, only the people in "Who may change customer holds", nobody by default): put the customer on hold for shipping, invoicing or all transactions, or release the hold, with a reason.

Before anything is sent the form shows one sentence saying exactly what will happen. After Business Central accepts an email or a hold change, Cofferwell adds an internal note to the ticket ("Cofferwell (Business Central): Emailed invoice PS-INV103005 to Alder & Finch Cycles (C10000)", the agent's name and a link to the record) and a tag: cofferwell_sent or cofferwell_hold.

Plans

  • Team: $150 per month for Zendesk accounts with up to 10 agents and admins.
  • Scale: $16 per agent per month for 11 or more agents and admins.

Every feature on both. 14-day trial; Zendesk asks for a card at install and billing starts when the trial ends unless you uninstall. If your account grows past the Team plan, records stay visible and actions turn off until an admin switches to Scale.

Setup guide

You need a Microsoft Entra admin (or Application Administrator) for step 1 and a Business Central admin for step 2. Cofferwell works with Business Central online on Microsoft's commercial cloud in every country, not with on-premises installations.

1. Register an app in Microsoft Entra ID

  1. Microsoft Entra admin center > Identity > Applications > App registrations > New registration.
  2. Name "Zendesk Cofferwell", "Accounts in this organizational directory only", no Redirect URI, Register.
  3. Copy the Application (client) ID and the Directory (tenant) ID from Overview.
  4. Certificates & secrets > Client secrets > New client secret, 24 months. Copy the Value right away (not the Secret ID).
  5. API permissions > Add a permission > Dynamics 365 Business Central > Application permissions > API.ReadWrite.All > Add permissions, then Grant admin consent.

2. Add the app in Business Central

  1. In Business Central, search for Microsoft Entra Applications and choose New.
  2. Client ID: the Application (client) ID. Description: "Zendesk Cofferwell". State: Enabled.
  3. User Permission Sets: add D365 BASIC and D365 READ for the company Zendesk should show. Together they give read access to almost all tables, which is all the panel needs, and changes nothing.
  4. Only if agents may email invoices and credit memos: also add the permission sets your staff use to send posted sales documents, and make sure an email account in Business Central (Email Accounts and Email Scenarios) may send for this app.
  5. Only if some people may change customer holds: add D365 CUSTOMER, EDIT.
  6. Business Central never allows SUPER for an app like this. Prefer your own permission set if your policy requires an exact table list: Customer, Contact, Customer Business Relation, Sales Header and Line, Sales Invoice Header and Line, Sales Shipment Header and Line, Sales Cr.Memo Header and Line, Cust. Ledger Entry, Detailed Cust. Ledg. Entry, Payment Terms (read).

Your Microsoft licensing still applies: ask your Microsoft partner whether people who see Business Central data through Zendesk need a Business Central license.

3. Install Cofferwell in Zendesk

  1. Install from the Zendesk Marketplace (Team or Scale; 14-day trial, card required).
  2. Settings: Directory (tenant) ID, Business Central environment (from Business Central admin center > Environments, usually Production; case-sensitive), Company (exactly as Business Central shows it), Application (client) ID, Client secret.
  3. Who may take actions: agent (everyone, the default), admin, custom role ids, or group:<id>, separated by commas. Who may change customer holds: empty means nobody.
  4. Switch off any action you don't want, choose whether shipments and credit memos show, and set the Local currency your company keeps its books in.

Cofferwell creates one organization field at install, "Cofferwell: Business Central customer no.".

4. Run the setup check

Open any ticket as a Zendesk admin. If anything is missing, Cofferwell opens its setup check, which tests every step live and names the exact fix, without changing anything:

  1. App settings in Zendesk
  2. Sign-in to Microsoft Entra ID
  3. The app in Business Central (registered and enabled on the Microsoft Entra Applications page)
  4. Company (the companies the app can see are listed if the name doesn't match)
  5. Read customers, invoices, orders, shipments and credit memos
  6. Actions agents can take

When every step passes, choose Open the panel. Agents who are not admins see "Cofferwell is not connected yet" until it does. Admins can open the setup check any time from the sidebar.

Security model

  • The secret stays in Zendesk. The client secret is a secure setting with the body scope only. The sign-in request to https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token carries a {{setting.client_secret}} placeholder; Zendesk's proxy fills in the value outside the browser. The manifest's domain whitelist is exactly login.microsoftonline.com and api.businesscentral.dynamics.com, so Zendesk will only ever send the secret to Microsoft, whatever is typed in the settings.
  • The access token is short-lived and bounded by the permission sets. Microsoft answers with an access token for Business Central that reaches the agent's browser (Zendesk's proxy cannot chain a sign-in and a data request). Cofferwell keeps it in memory only, never in browser storage, notes or logs, and replaces it shortly before it expires (Microsoft sets the lifetime, usually 60 to 90 minutes). It can do exactly what the app's permission sets allow and nothing more, which is why the guide starts with read-only D365 BASIC and D365 READ.
  • To revoke access at once, delete the client secret in Microsoft Entra ID (no new tokens) and set the app's State to Disabled in Business Central.
  • Zendesk-side limits (who may take actions, who may change holds, which actions exist) are enforced by the sidebar; the permission sets are the hard limit.

Data

Read live while the sidebar is open; never copied, stored, cached or exported; no Great Work server; no analytics; no AI. Writes only when an agent confirms one. Full details in the privacy policy (https://greatwork.company/apps/cofferwell/privacy).

Troubleshooting

MessageFix
"Microsoft did not accept the client secret"Paste the secret's Value, not its Secret ID; or create a new secret. A secret containing a plus sign also fails: create a new one
"The client secret has expired"Create a new client secret and paste its Value
"No app with this Application (client) ID"Copy the client ID from the app registration's Overview, in the same tenant as the tenant ID
"found no Business Central in tenant ... or the app has no permission"Add API.ReadWrite.All (application permission) and grant admin consent (step 1.5)
"Business Central refused the app"Add it on the Microsoft Entra Applications page, set State to Enabled, assign D365 BASIC and D365 READ (step 2)
"no environment called ..."Copy the environment name exactly (case-sensitive)
"no company called ..."Copy a company name from the list the message shows
"it needs TableData ...: Read"Add D365 BASIC and D365 READ, or that table to your own permission set
"No customer found"Use the lookup box, link the organization once, or add the address to the customer's email field (separate several with semicolons)
"Email a copy" failsThe app needs the permission sets your staff use to send posted sales documents, and an email account it may send from
No actions shownYour role or group is not in "Who may take actions", the action is off, this is a user or organization profile (read-only for Business Central changes), or the plan band (the sidebar names the plan)
"Business Central is limiting requests"The app's 6,000 requests per 5 minutes are shared by every agent; wait a few seconds and Refresh

Uninstalling

Uninstalling deletes the settings, including the stored secret, and Zendesk removes Cofferwell's organization field. Delete the client secret (or the whole app registration) in Microsoft Entra ID and the app's entry in Business Central. Internal notes and cofferwell_* tags on tickets stay.