Automated company due diligence briefs for your deal desk

Drop company names in a spreadsheet and get a research brief every weekday morning covering who owns each business, who controls it, and what to double check.

Agentic Task
OpenCorporatesGoogle SheetsSlack BotOperationsFinanceResearch & MonitoringAI Reports
PromptCreate

Every weekday at 8am, produce a due diligence brief for each company waiting in my Google Sheets intake queue.

Start by reading the intake queue with the Google Sheets Get Values operation. The queue has one row per target company, and each row carries at least a company name, a country or jurisdiction, and a status column. Process only the rows whose status is pending, and skip anything already marked done.

OpenCorporates identifies a company by the pair of jurisdiction code and company number rather than by a single id, so resolve each queue row to that pair before researching it. Use Search Companies with the company name, narrowed by the jurisdiction implied by the country column, then confirm the match with Get Company to pull the core record: legal name, company number, jurisdiction code, incorporation date, current status, company type, and registered address. If several companies match a name and the row is genuinely ambiguous, pick the closest match and say plainly in the brief that the match was ambiguous rather than guessing silently.

Then map the ownership picture. Call Get Company Network to retrieve parent, subsidiary, and controlling entity relationships so you can describe the corporate family. Call Search Control Statements to pull the ownership and control statements that indicate who ultimately controls the entity. Call Search Officers to list the current directors and officers, and to find the other boards those same people sit on.

Write a short structured brief per company with these sections: a one paragraph overview of the entity, the corporate family covering parents, subsidiaries, and sibling entities, who ultimately controls it based on the control statements, the current directors along with any notable other directorships, and a risk flags section.

Raise a risk flag when any of these appear: the entity or one of its parents is incorporated in a recognised secrecy jurisdiction, the entity was incorporated within the last 12 months, or a director sits on an unusually large number of boards. Treat all of these strictly as heuristics that prompt human review. They are signals worth a second look, not a compliance determination, and the brief must state that explicitly so no reader mistakes it for a cleared verdict.

Cite the jurisdiction code and company number for every entity you mention, including parent companies, subsidiaries, and the other companies a director is tied to, so the reader can verify each claim against the source register. Where a fact comes from a control statement rather than the company record itself, note that.

Post each finished brief to the deal desk channel in Slack as its own message using the Slack Bot Send a Message operation, formatted with Slack markdown so the sections and flags are easy to scan.

Finally, append a one line summary for each company back to the Google Sheets queue using Append Values. The line should carry the company name, the jurisdiction code and company number, the date, a short verdict such as clear, review, or escalate, and the headline reason. This marks the row as done so the next run does not pick it up again.

If a company cannot be found in OpenCorporates at all, still write a short brief saying the entity could not be matched, post it, and append a row with a not found verdict so the queue stays accurate. OpenCorporates enforces a daily and monthly request quota, so if the queue is unusually long, process the oldest pending rows first and note in the final Slack message which companies were left for the next run.

Example output

Northwind Logistics Holdings Ltd (gb, 09876543) Corporate family: Parent is Northwind Group Holdings (ky, CI-284119). Two UK subsidiaries: Northwind Freight Ltd (gb, 10112233) and Northwind Warehousing Ltd (gb, 10445566). Ultimate control: Control statements name Alan J. Petrie as holding 75% or more of shares and voting rights, held indirectly through the Cayman parent. Directors: Alan J. Petrie (director, 14 other active directorships), Maria Coelho (director, 2 other directorships). Risk flags for human review: - Parent is incorporated in the Cayman Islands (ky), a jurisdiction with limited public ownership disclosure. - Northwind Warehousing Ltd (gb, 10445566) was incorporated 4 months ago. - Alan J. Petrie sits on 15 boards in total, which is high and worth confirming. Verdict: Review. The ownership chain is documented but runs through a secrecy jurisdiction. These flags are prompts for review, not a compliance determination.

What does this prompt do?

  • Reads your intake spreadsheet every weekday morning and picks up every company you have marked as pending.
  • Looks each business up in public corporate register records to map its parent companies, subsidiaries, owners, and directors.
  • Writes a short brief covering the corporate family, who ultimately controls the business, and anything worth a closer look, then posts it to your deal desk chat channel.
  • Writes a one line verdict back to the spreadsheet so the row is marked done and nothing gets researched twice.

What do I need to use this?

  • A Google account with an intake spreadsheet that has a column for the company name, a column for its country, and a status column.
  • An OpenCorporates account on a plan that allows automated lookups, which is what powers the company and ownership research.
  • A Slack workspace and the channel where your deal desk wants briefs posted.

How can I customize it?

  • Change the timing. Every weekday at 8am is the default, but it can run once a week or several times a day.
  • Adjust the risk flags. The starting set covers secrecy jurisdictions, very new companies, and directors sitting on a lot of boards, and you can add your own.
  • Send briefs somewhere else, such as a private compliance channel, a direct message, or a different channel for each deal team.

FAQs

Do I need to know each company's official registration number?
No. The workflow searches by company name and uses the country column to narrow it down, then confirms the official record. Including a country column makes matches far more reliable, because the same company name often exists in many countries.
Is this a compliance sign off?
No. The brief is research that speeds up a human reviewer. The risk flags are rules of thumb that point out things worth checking, not a legal or compliance determination. Every company mentioned is cited with its country and registration number so you can verify each claim yourself.
Which countries does this cover?
OpenCorporates draws on official company registers from around the world, so coverage is broad. The depth of ownership and director information varies by country, because it depends on what each national register actually publishes.
What happens if a company cannot be found?
It still gets a brief noting that the company could not be matched, and the spreadsheet row is marked accordingly. Your queue stays accurate and you know to check the spelling or the country.
Can my team add companies without any technical setup?
Yes, and that is the reason the queue is a spreadsheet. Anyone who can type a row can add a target company, and the next scheduled run picks it up.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task

Stop hand researching every company in your pipeline.

Let the queue fill up during the day and read the finished briefs with your morning coffee.