How a vendor gets invited
The onboarder can only chase a vendor it knows about. So the first job is starting the vendor — creating its folder, its checklist, and sending the supplier a link where they can upload. There are three ways a vendor gets started: an owner fills a short form, a salesperson forwards the supplier’s first email, or somebody adds a row in the Drive sheet. The first one is the clean path. The other two exist because in real life people don’t open a form for a supplier they just agreed to use over the phone.
Key takeaways
- Three intake lanes start one vendor file: a web form, an inbox-forwarding lane, and a Drive sheet row.
- The forwarded-email lane uses Bedrock Haiku 4.5 to read the supplier’s name and contact from the message.
- Every started vendor gets a folder in S3, a checklist row in DynamoDB, and a private upload link.
- The vendor type (contractor, software, supplier) decides which documents the checklist asks for.
- The upload link is a Lambda Function URL — a small page, not a heavy web app.
Three lanes into one vendor file
Lane 1: the web form
The simplest lane. The owner opens a small page — a Lambda Function URL, so it’s a single function serving one form, not a hosted web app — and types three things: the vendor’s name, the contact email, and the vendor type (contractor, software supplier, goods supplier, and so on). On submit, the intake Lambda creates a folder in S3 for the vendor’s documents, writes a checklist row in DynamoDB seeded from the checklist doc for that type, and emails the supplier their private upload link.
The vendor type is the only field that changes what happens next. A contractor’s checklist asks for bank details, a tax form, and an insurance certificate. A software supplier’s might ask only for bank details and a tax form. The checklist doc holds those lists in plain prose, so adding a new type is an edit, not a deploy.
Lane 2: inbox forwarding (the lane most teams actually use)
Set up a dedicated inbound address — something like vendors@your-company.com — via Amazon SES. When a salesperson agrees a deal over email and the supplier replies with their details, the salesperson just forwards that email to the address. SES writes the raw message to s3://vo-raw-mime/. The S3 write triggers the intake Lambda, which calls Bedrock Haiku 4.5 to read the supplier’s company name and the best contact email out of the message.
The model prompt is short: “Read this email. Return JSON with the supplier company name and the contact email. Do not invent details that aren’t there.” The result goes to a small message to the owner with the proposed vendor and a one-tap choice of vendor type. Only on that confirmation is the vendor file created. The reason a human picks the type is that the type decides the whole checklist, and guessing it wrong means asking the supplier for the wrong documents.
Lane 3: the Drive sheet
Some teams prefer to line up several vendors at once — after a trade show, or when switching suppliers across a category. For them, the registry is a Google Sheet with one row per vendor: name, contact email, vendor type. A small drive-sync Lambda runs hourly, reads the sheet via the Sheets API, and starts a vendor for any new row it hasn’t seen before. The same create-folder, seed-checklist, send-link steps run for each one.
The sheet doubles as the owner-facing view later: the same drive-sync Lambda writes each vendor’s checklist status back into the sheet, so a manager who lives in spreadsheets can see at a glance which vendors are still collecting and which are ready to approve.
What the vendor sees
The supplier gets one email: a short, friendly note in your voice that says what you need and why, and a button that opens their private upload page. The page is theirs alone — the link carries a long random token, so nobody can guess another vendor’s page — and it lists each required document with a place to drop a file. They can upload one item now and the rest later; the page remembers what’s already in. There’s no account to create and no password to set, which is exactly what a busy supplier wants.
Funneling all three lanes into one start action means there is exactly one vendor file per supplier, no matter how it began. The next post follows a single uploaded document through the checker: how it gets read, how the system decides present-or-missing and in-date-or-expired, and why a human confirms before any item counts as done.
All posts