Configure the SQL connection and manage who can sign in.
Metal cost ($/lb) by month, built from its components. Total Cost = A + C, where A = LME+MW + Supplier Conversion and C = A × Scrap Rate % × Scrap Conversion. This is what values the metal content of shipments. Edit any cell below and it saves on its own.
API keys for the AI Chat page, one per lab. Keys are stored
server-side in aiconfig.json and are never sent back to this browser — once saved, the
field shows only whether a key is on file. Saving verifies the key against the provider.
Anything you or the model sends is transmitted to that provider.
Use Refresh to pull the two newest models from the provider's own catalogue.
The account outgoing mail is sent through. Pick whichever
is easiest for you — a plain SMTP username and password works with any provider and takes a
minute; the two Google methods avoid storing a password but need a Google Cloud project.
Secrets are stored server-side in mailconfig.json and never sent back to this
browser; those fields show only whether something is on file.
Saving signs in to prove the details actually work.
Whatever mail service you already have will have given
you these four. Common ones:
Gmail — smtp.gmail.com, port 587, username = the address, password = an
App password (the account needs 2-Step Verification; its normal password will not work).
Microsoft 365 — smtp.office365.com, port 587.
A relay such as Brevo or SMTP2GO — sign up, verify the domain, copy the SMTP username
and password they show you. A relay is the better choice for reports going to many people:
it will not trip Gmail's daily send limits and it shows you bounces.
From a Google Cloud project with the Gmail API enabled:
create an OAuth client of type Web application with
https://developers.google.com/oauthplayground as an authorized redirect URI —
that lets you mint the refresh token in Google's OAuth Playground rather than writing code.
In the Playground, tick “Use your own OAuth credentials”, authorize the
gmail.send scope as the sending mailbox, and exchange the code for tokens.
Publish the consent screen, or mark it Internal — in “Testing” the refresh token
expires after 7 days and mail stops without warning.
Create a service account in a Google Cloud project with
the Gmail API enabled, add a JSON key (Keys → Add key → JSON) and paste the whole file
below. Then a Workspace super-admin must authorize its client ID for the
gmail.send scope under Admin console → Security → API controls →
Domain-wide delegation. Nothing here expires, and mail can be sent as any mailbox on the
domain — that is what “Send as” picks.