Last updated: 23 September 2026
CustomerGate Setup in CustomerGate 365
CustomerGate Setup holds the settings of the app, one record per company, and status lines that show whether the environment is ready: the web service, the e-mail account, the job queue entries and the permissions. Start here whenever something does not work.
The licence at the top
While the licence needs attention, a Licence line is shown at the top of CustomerGate Setup: a trial that is running, an end date that is near, an environment whose name differs from the key, or web services that are stopped. Choose the Licence Status to open CustomerGate Licence. With a valid licence the line is not there. The Licence action opens the same page.
Environment
This group appears only when something is wrong. CustomerGate records the environment in which its settings were adopted, and notices when the company starts up in a different one afterwards.
- Environment Name
- The Business Central environment in which these settings were last adopted: at installation, when a company is created, or with This Is the Real Environment. An ordinary change does not move it, because one changed setting in a copy would otherwise lift the guard.
- This Environment
- The environment this session runs in, and whether that is a production environment or a sandbox.
- Environment Copy Guard Active
- Comes on as soon as this company turns out to be a copy in a sandbox: no e-mail leaves and the mail job and the cleanup job go on hold. In a production environment only the warning appears; nothing is switched off there on purpose, because taking a live environment down over a suspicion breaks the website.
This Is the Real Environment adopts the current environment and lifts the block. Only do that if this environment is the one that serves the live website. Choose Repair Permissions afterwards as well: an environment copy carries the Entra registrations and the web services of the source environment.
Numbering
- Request Nos., Account Request Nos.
- The number series for web requests and account requests. After installation they are WEBREQ (WEB000001 onwards) and WEBACCOUNT (ACC000001 onwards).
Privacy
- Retention Period (Days)
- How long personal data is kept, counted from the day a request was received, not from when it was handled. Default 365, minimum 1. Keep it equal to what the privacy statement on your website promises.
- Cleanup Disabled
- Stops the cleanup job from erasing anything, even after the retention period. A separate switch with a confirmation and a red warning, for a short test only: it breaks what the privacy statement promises.
- Cleanup Job Status
- Whether the job queue entry that cleans up personal data is set to Ready. On hold, the retention period passes but nothing is erased.
- Awaiting Cleanup
- How many requests are past their retention period while still holding personal data. It should be zero.
- Last Cleanup Run, Cleanup Errors Last Run, Last Cleanup Error
- When the cleanup last ran, how many steps failed (they are retried the next night) and the first error.
- Notification E-mail
- The inside sales address for notifications of new requests. Without an address, no notification is sent.
- Inside Sales Language
- The language of notifications to inside sales, and of e-mails to a customer whose language is unknown.
- Send Confirmation E-mail, Send Notification E-mail
- Whether requesters get a confirmation (in their own language, with the request number, since 1.0.44 the project, and the lines, without prices) and whether inside sales gets a notification, which since 1.0.44 names the project too. Both are on after installation.
- Response Time (Working Days)
- Within how many working days the confirmation promises a reply. Default 1. If your website promises a period too, keep the two the same.
- Maximum E-mail Attempts
- How often the mail job retries a message before it gives up on it. Default 5.
- Send E-mails Starting From
- Requests from before this moment get no e-mail. It is set to the moment of installation.
- E-mail Account
- Whether there is an e-mail account to send from, and a default account. Without one, every CustomerGate e-mail fails, sign-in codes included.
- Mail Job Status
- Whether the job queue entry that sends the e-mails every five minutes is set to Ready. On hold, nothing is sent.
Inside Sales
- Rejection Reason Mandatory
- Whether a request can only be rejected with a reason from the Rejection Reasons list. After installation this is off: a reason that is forced becomes n/a within a month.
- Rejection Reasons
- How many reasons are set up and can still be chosen. Click it to maintain the list.
- Duplicate Window (Hours)
- Within how many hours a second request with the same e-mail address and the same lines counts as a duplicate. The same window counts the requests per sender. Default 24; zero turns both off. A duplicate is only flagged, never refused.
- Max. Requests per Sender
- How many requests from the same IP hash within that window are still normal. Above that number, the screening adds a signal to the score. Nothing is blocked: a busy construction company behind one connection is not spam. Default 10.
- Default Customer Template
- Which customer template Create Customer proposes on a request. Leave it empty to choose from the full list each time.
- Staff Orders Enabled
- Whether staff members can send in orders for a customer who is present, for example someone who collects the goods at the warehouse. Such a request becomes a sales order instead of a quote, may contain any item the company sells, and sends no e-mail. After installation this is off: the Staff Orders cues and the Staff Member field are hidden, and the website gets [VOA-StaffOrdersDisabled] if it sends one. Turn it on only where your staff work this way.
Demo Mode
A demo, training or test company is almost always a copy of a real environment, and the customer cards in it carry real e-mail addresses. Somebody who submits a request there to show how it works sends a confirmation, or a sign-in code, to a customer who asked for nothing.
- Demo Mode
- Redirects every message the app sends: confirmations, notifications to inside sales, account e-mails, the confirmation of an acceptance and the portal's sign-in code. They all go to the demo recipient, with
[DEMO]in front of the subject and a first line naming the address the message would otherwise have gone to. - Demo E-mail Recipient
- The address everything goes to. Without that address nothing is sent at all: that is deliberate, because sending to the customer instead is exactly what this switch exists to prevent. Every attempt is then recorded as a failed message on the request, and the page says so in red.
- Demo Mode Since
- When demo mode was switched on. A demo company that has been redirecting mail for months is usually one somebody forgot.
- Turning it on asks for confirmation, and so does turning it off. That second question matters most: from that moment the waiting messages go to real addresses.
- The page and the Web Requests part on the role center both show a red warning while it is on.
- It changes mail and nothing else. Requests, quotes, orders and acceptances are written exactly as they would be otherwise; a demo that produces different records proves nothing.
- An installation or an update never switches demo mode on or off. On or off is a choice per company.
Customer Portal
- Portal Address
- Where customers sign in, starting with https://. The e-mail about an approved account request links to it; while it is empty, that e-mail says that the portal opens soon.
- Portal Notifications Enabled
- The master switch for the e-mails the portal sends by itself about quotes, orders, shipments, invoices and requests. It is off after a fresh installation and after every update. While it is off, nothing is queued and nothing is sent, whatever a portal user has ticked. Turning it on by itself still does nothing: each portal user then switches on in the portal what they want mail about.
- Maximum Invitations per Day
- How many colleagues one portal user with the Buyer role may invite in a day. An invitation produces an account request that you still approve yourself. Default 5; zero switches inviting off and does not fall back to the default.
- Portal Documents from Reports
- Whether customers get PDFs of their quotes, orders, shipments, invoices and credit memos in the portal, printed with your Business Central reports. Used only where the Steel 365 document archive is not installed. It gives the website account read access to posted sales documents through the tenant permission set VOA CG DOCUMENTS; turn it off if that is not allowed.
- Maximum Code Attempts
- Up to how many wrong attempts per sign-in code are counted, as a trace of misuse. It is not a lockout: a code of ten characters out of thirty-two cannot realistically be guessed, and a lockout would let anyone who knows a customer's address keep that customer out. Default 5.
- Sign-in Code Wait Time (Sec.)
- The minimum time between two sign-in codes for the same address. Default 60. Zero removes the limit; use that only for a test.
- Session Duration (Min.)
- How long a sign-in stays valid without use. Every call extends it. Default 480.
- Maximum Session Age (Hours)
- When a session ends at the latest, however actively it is used. Default 168, seven days.
- voaPortal Web Service
- Whether the web service the portal calls is published. If it is not, every sign-in fails.
- Website Permission Baseline
- Whether an account of the website also has D365 BASIC. It must not: that set lets the account read customers, contacts, sales documents and margins.
- Steel 365 Module
- Active or Off, depending on whether iFacto Steel 365 is installed in the environment.
- Document Archive
- Where the portal gets its documents. Present: iFacto DXSteel Doc Archive is installed and the PDFs come from the archive. Without the archive it reads "Not present - the portal shows the PDFs from the Business Central reports" while Portal Documents from Reports is on (the default), and, in yellow, "Not present - the portal does not show any documents" when that switch is off.
Web Catalog
Which items your website may see is decided here and not on the website. One choice, one state of affairs and one job; the rest of the decision sits on the items, their categories and the publication rules. See Web catalog.
- Only Publish Marked Items
- Off means: every item is in the catalog except what is excluded. On means: an item is in it only if the item itself, its item category or a publication rule says so. For a new website, on is the safer choice. The tick moves the catalog of the whole website and recomputes everything straight away.
- Catalog Decision
- Whether CustomerGate has computed which items belong in the catalog in this company, and when it last did. While it says that never happened, the catalog services refuse to serve: an unfiltered catalog would publish exactly the items you excluded. Choose Recompute Web Catalog then.
- Items on the Website
- How many items are in the catalog and how many are deliberately kept out. Look at this before go-live, and drill down to see per item which step decided it.
- Maximum Picture Size (MB)
- The largest item picture the catalog service hands to the website. A larger picture is still listed, with its size, but without its content: the synchronization skips it and reports it instead of failing. Nothing is resized here. Default 10.
- Catalog Job Status
- Whether the job queue entry that recomputes the catalog every night is set to Ready. It is a safety net and not the engine: the catalog is brought up to date as soon as an item, an item category or a rule changes. On hold, a missed change is only corrected when somebody recomputes.
Attachments
Whether requesters may send files along, and what those files have to satisfy. See Web Requests for what happens to a file.
- Attachments Enabled
- Whether the website may upload files with a request. While this is off, the service refuses every file.
- Maximum Attachment Size (KB)
- The largest attachment allowed. The limit is checked on the length of the base64 text before it is decoded as well as on the real bytes.
- Allowed Attachment Types
- The file extensions that may come in, for example pdf, dwg, dxf, step and the ordinary picture formats.
- Maximum Attachments per Request
- How many files may belong to one request at most.
- Copy Attachments to Sales Document
- Whether the files travel to the quote or order as document attachments at conversion. Travelling widens who can see the file, and that is the customer's choice.
Above these settings sits a deny list in the code (exe, dll, js, vbs, ps1, bat, cmd, scr, msi, jar, sh, html, htm and svg) that no setting can override; the page warns an administrator who tries. That list applies to every dot-separated part of the file name.
Since 1.0.44 the website does not have to guess these settings: voaPing returns the values in force in this company, with the defaults for 0 filled in and with the deny list, so the upload form on the website can show exactly what Business Central accepts. A change here therefore reaches the form on the website the next time the website reads them, usually when it starts.
Permissions
- Website Client ID
- The application (client) ID of the Microsoft Entra application the website uses for requests and the customer portal.
- Synchronization Client ID
- The application (client) ID of the application that reads the catalog. Leave it empty if the catalog is not synchronized.
- Tenant Permission Sets
- Whether the CustomerGate tenant permission sets exist with exactly the permissions the app prescribes. Lines for apps that are not installed in the environment are skipped and counted separately.
- Document Archive Filter
- Only with the Steel 365 document archive: whether the security filter limits the website account to the allowed archive categories.
- Assignments
- Whether both applications have their permission sets. For the website, Website Client ID must be filled in.
Webhooks
Webhooks are the other direction: Business Central calls an address of your website itself as soon as something has happened. They do nothing until somebody creates a subscription on Webhook Subscriptions. See Webhooks.
- Outgoing HTTP Requests
- Whether this environment lets the app call an address outside Business Central. Without it, webhooks stay in the queue and nothing leaves. You turn it on under Extension Management, CustomerGate 365, Configure, Allow HttpClient Requests.
- Webhook Delivery Job
- Whether the job queue entry that delivers the webhooks is running. Like the other three it is created on hold; while it is, events are queued and not sent.
- Webhook Failures Before Disabling
- After how many failed attempts in a row a subscription turns itself off. Default 20. A subscription that turned itself off never turns back on by itself: somebody looks at the endpoint and puts it back with Enable.
- Webhook Log Retention (Days)
- For how many days delivered and parked deliveries stay on the list. They hold no personal data, so this is housekeeping and not a retention period. Default 30.
Emergency Stop
- Refuse Requests
- Makes the app turn down new quote and account requests for a while; the website receives a clean error message. The customer portal keeps working.
The four job queue entries
CustomerGate installs four job queue entries, all four on hold. Uploading an app should not send e-mail, should not erase data, should not move a website's catalog and should not call an address outside Business Central. Existing entries for these codeunits are never overwritten.
| Entry | How often | When to turn it on |
|---|---|---|
| Send confirmations and notifications | every 5 minutes | At go-live, with Turn On Both Jobs |
| Clean up personal data after the retention period | nightly at 02:00 | At go-live, with Turn On Both Jobs |
| Recompute which items are on the website | nightly at 03:00 | Set to Ready separately; it is a safety net |
| Deliver the queued webhooks | every 5 minutes | As soon as the first webhook subscription is on |
Turn On Both Jobs covers the first two and those only. The button refuses while Cleanup Disabled is on or while no e-mail account can send.
Actions
- Turn On Both Jobs
- Sets the mail job and the cleanup job to Ready. It refuses while Cleanup Disabled is on or while no e-mail account can send. Do this at go-live, once the e-mail account, the notification address and the retention period are right. The catalog job and the webhook delivery job are switched on separately.
- Repair Permissions
- Creates or corrects the tenant permission sets, sets the archive filter, and registers both applications with their permission sets. Needs SUPER. Run it after filling in a client ID, after copying an environment, after changing the archive categories, or when a line under Permissions is not in order. Business Central applies changed permissions after a few minutes.
- Diagnostics
- Opens the diagnostics screen: environment, versions, modules, the state of the job queue entries and of every web service, the counts per status, the cleanup preview and the connection test. With a report to paste into a support e-mail, without personal data in it. See Diagnostics.
- Permission Gaps
- Shows per object what CustomerGate 365 expects in the tenant permission sets next to what is actually granted, and only the differences. A line that differs usually means the set was written by an older version of the app.
- Test Connection
- Checks, per account the website signs in with, whether the user exists and is enabled, whether it carries every permission set, whether the tenant sets are at the version this app writes, whether the web services are published and whether the setup is complete. It checks only; nothing is repaired without asking.
- Preview Cleanup
- Shows what the cleanup job would process right now: how many quote requests, account requests, acceptances, portal users, sign-in codes and sessions are past the retention period, the oldest date involved, and how many of them cannot be fully erased because the text sits on a posted document. It changes nothing.
- This Is the Real Environment
- Adopts the current environment and lifts the block on outgoing e-mail, with a confirmation that says what that means and a second question about the mail job and the cleanup job the copy guard put on hold.
- Export Settings, Import Settings
- Put this company's settings in a file and read them back, for example to set up a second company the same way.
- Recompute Web Catalog
- Recomputes in one round which items, variants and item categories belong on the website. Safe to run at any moment: it changes nothing that is already correct.
- Web Publication Rules, Items on the Website
- Open the rules you steer the catalog with, and the overview per item with the reason behind it. See Web catalog.
- Webhook Subscriptions
- Opens the subscriptions: which address is called on which event, with the secret it is signed with.
- Rejection Reasons
- Opens the list of reasons inside sales rejects a request with, and the message that can go to the requester with such a reason.
- Send Pending E-mails Now
- Runs the mail round straight away instead of at the next run of the job queue.
- Clean Up Personal Data Now
- Runs the cleanup straight away, after a confirmation.
- Mail Job, Cleanup Job, Catalog Job, Webhook Delivery Job
- Open the four job queue entries.
- E-mail Accounts
- Opens the e-mail accounts of Business Central, where you can also assign an account to each CustomerGate scenario.
- Archive Categories
- Opens the archive categories. Only with the Steel 365 document archive.
- Web Requests, Account Requests, Portal Users
- Open the lists.
Related help
- Assisted setup
The guide that connects the website, e-mail and the customer portal.
- CustomerGate Diagnostics
Everything about this installation on one screen, and where to start.
- Privacy tools
Retention, the cleanup job, and export or erasure per e-mail address.
- Troubleshooting
Common symptoms and where to look first.
- Setup guide
From installing the app to a first request, and on: the job queue entries, the web catalog, webhooks and the diagnostics screen.