# 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.

- Workflow type: agent
- Services: OpenCorporates, Google Sheets, Slack Bot
- Categories: Operations, Finance
- Published: 2026-08-09

## What it does

- 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 you'll need

- 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.

## Prompt

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.

## How to customize

- 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.

## 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.

## FAQ

### 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.

Use this prompt in General Input: https://www.generalinput.com/prompts/automated-company-due-diligence-briefs-for-your-deal-desk