Before you start
This workflow assumes the Gmail connector is already connected for your organization and that you have a specific past-due invoice in hand. Both are worth confirming before you open Copilot, because a missing connector produces a silent failure rather than an error. You need:- An AR role that can read invoices and customer records. Copilot inherits your role-based permissions and cannot surface an invoice you could not open yourself.
- The Gmail connector installed for your organization, which requires a Google Cloud OAuth web application client your organization owns and a role with the integrations permission. See how to connect an MCP connector.
- Your own Gmail account connected to it. Credentials are per-user, so an install your colleague authorized does nothing for you until you complete the authorization yourself.
- Gmail’s draft tool set to Enable or Opt-in under Interactive Tools in the connector’s Permissions section. Interactive tools start disabled, so Copilot can search your mail but produces no draft until that one tool is turned on. Opt-in is the safer setting here, since it puts a confirmation in front of every draft.
- A decision about Gmail’s send tool, which is a separate permission from drafting. Leaving it Disable is what makes “draft only” hold for everyone using the connector. Set it to Opt-in rather than Enable if you want it available at all, so no message leaves the mailbox without a confirmation.
- The mailbox you authorize chosen deliberately. Drafts appear in your own mailbox, not a shared one, so authorize the AR or billing account your customers already recognize rather than a personal inbox.
- An approved, posted invoice that is genuinely past due. Confirm it in AR aging first if you are not sure.
- Your organization’s position on collections tone and any legal language required after 30 or 60 days. Copilot writes what you ask for, including things you would rather not put in writing.
How the pieces fit together
Two systems combine in this workflow. DualEntry supplies the invoice facts because Copilot reads your ledger, and Gmail supplies the delivery surface because the connector can read, search, draft, and send messages in the mailbox you authorized. Neither one decides which customer to contact. That stays with you. The sequence runs from the aging report to a message you send yourself. You identify a past-due invoice, Copilot reads the record from the general ledger, the Gmail connector turns it into a draft, the draft lands in the connected mailbox, and you review and send it. Every Copilot turn along the way is written to the audit trail. Asking Copilot to send directly would collapse the last two steps, which is exactly the review this workflow is built around. Keep the send tool disabled, or set it to Opt-in, so a stale balance or a wrong recipient meets a person before it meets a customer.Draft a reminder for one invoice
Drafting takes three steps: scope the conversation to the issuing entity, verify the invoice, then ask for the email. Do them in order, because each one gives you something to check the next against.Step 1: Scope the conversation to the right entity
In the Copilot composer, set the company selector from All companies to the entity that issued the invoice, and confirm the accounting basis selector reads GAAP. Skipping this is the most common way these drafts go wrong. In a multi-entity org, an unscoped question can return a consolidated balance, and a reminder quoting a consolidated figure to a single-entity customer is a call you do not want to take.Step 2: Confirm the invoice in Copilot
Ask for the record before you ask for the email. A short verification turn gives you something to check the draft against.Asking these verification questions cannot change the invoice or the ledger, so they are always safe to repeat if you are unsure whether the aging snapshot has moved.
Step 3: Draft the email
Give Copilot the recipient, the record, the tone, and the ask. Naming the invoice explicitly keeps it from summarizing the whole relationship.Review and send
Copilot’s draft is a starting point, not a finished message. Reviewing it in Gmail and recording the contact in DualEntry are the two steps that make the reminder defensible later.Step 4: Review in Gmail, then send
Open the draft in Gmail and check:- The recipient is the AP contact who pays, not the person who signed the contract.
- The open balance matches what you verified in Step 2, to the cent and to the currency.
- The invoice number appears in the subject line, so the customer can route it internally.
- Your remittance instructions and payment link are present. Copilot has your ledger, not your bank details, so add these yourself unless they are in a signature block.
- Nothing about other invoices, other entities, or internal notes leaked in.
Step 5: Close the loop in DualEntry
Your Copilot prompts and responses are captured in the audit trail with a timestamp and the records referenced. The Gmail call is logged too, but only as metadata: the tool that ran, who ran it, and whether it succeeded. Neither the recipient nor the wording of the draft is stored. The email itself lives in Gmail, so it does not appear in the invoice’s own communication history the way a native dunning step would. If your collections process depends on a complete per-invoice log, note the contact on the invoice record after sending. Auditors and whoever covers your desk next month both need it.Batch a full aging pass
Once the single-invoice version works, run the same shape across the aging report./ from the composer, so the next pass becomes one keystroke and the wording stays consistent across whoever is covering AR that week. DualEntry ships /ar-aging-digest for the list half of this workflow, which is a reasonable starting point to copy and narrow.
Schedule the recurring version
To have the review waiting for you instead of remembering to ask:- In the Agents panel, select Scheduled Agents, then create a new agent.
- Set the cadence. Weekly on Monday morning suits most collections rhythms, and daily is usually more than the aging data changes.
- Use a prompt that produces the list, not the drafts. For example: list every invoice newly crossing 30 days past due since the last run, with customer, open balance, and days past due.
- Set the entity scope explicitly. A scheduled agent has no one sitting at the composer to correct All companies.
