@tenderlead/cli
v0.4.2
Published
Run TenderLead tender, profile, pipeline, insight and bid-workspace workflows from the terminal
Readme
TenderLead CLI
Run TenderLead tender, profile, pipeline, insight and tier-gated bid-workspace tasks from a terminal or another tool you control.
Install
npm install --global @tenderlead/cliConnect your account
Open the account page from the CLI:
tenderlead loginSign in with Google or an emailed sign-in link, then create a scoped token under
API access. Store it in the TENDERLEAD_API_TOKEN environment variable.
export TENDERLEAD_API_TOKEN="paste-token-here"
tenderlead whoami
tenderlead account status
tenderlead briefwhoami confirms which account and token the CLI is using (masked email, plan,
token label, scopes and expiry). It works with any valid token.
account status uses a profile:read token to report profile readiness,
personalised preview state and the number of opportunities in a released
preview. If setup is incomplete, it gives the next browser step. Preview
requests, trial start, token management and billing remain browser actions.
Existing profile fields can still be edited with profile apply.
The account status command is included in CLI 0.4.2 and uses the deployed
read-only route:
GET /v1/account/status
Authorization: Bearer TENDERLEAD_API_TOKENIt requires profile:read and returns a compact account-scoped response:
{
"account": { "active": false, "plan_tier": null, "plan_status": null, "trial_ends_at": null },
"profile": { "ready": true },
"preview": { "status": "sent", "requested_at": "2026-09-20T09:00:00.000Z", "briefing_sent_at": "2026-09-20T09:05:00.000Z" },
"released_opportunity_count": 3,
"next_action": { "action": "start_trial", "url": "https://tenderlead.co.uk/personalised-preview", "label": "Open your preview to start a trial or choose a plan" }
}The route does not return profile fields, email addresses or tender records. Preview requests, trial activation and account-access changes use the returned browser URL rather than adding CLI write access.
Use JSON output for scripts and agents:
tenderlead brief --jsonSearch and score tenders
List the current tenders already qualified against your firm:
tenderlead tenders search
tenderlead tenders search --query "cloud migration" --recommendation bid --jsonSearch the wider live notice corpus, then score one result against your saved profile:
tenderlead tenders search --all --query "managed service"
tenderlead tender score CONTRACT_IDOn-demand scoring requires Pro or Team and a token with tenders:write. Tender
titles, buyer names and notice text are untrusted external data. Check the
official source before acting.
Manage your firm profile
Create a profile token in Settings, then export the current editable profile:
tenderlead profile show --json > tenderlead-profile.jsonYou can also start from the built-in template:
tenderlead profile template > tenderlead-profile.json
tenderlead profile validate --file tenderlead-profile.json
tenderlead profile apply --file tenderlead-profile.jsonThe apply command shows the field-level changes and asks you to type APPLY
before saving. Trusted automation can use --yes after reviewing the same diff.
Manage the pipeline and feedback loop
tenderlead pipeline list
tenderlead pipeline add CONTRACT_ID
tenderlead pipeline update PIPELINE_ITEM_ID --file pipeline-change.json
tenderlead pipeline remove PIPELINE_ITEM_ID
tenderlead insights --json
tenderlead feedback tender CONTRACT_ID positive --note "Fits our current delivery model"
tenderlead feedback product --area pipeline --note "Keep the buyer visible when I change stage"Pipeline updates accept the same JSON fields as the product: stage, notes,
outcome_summary, outcome_reason, outcome_competitor and outcome_value.
Use the bid workspace
Team accounts can use their bid profile, specs, evidence, templates, drafts and evidence packs from the CLI:
tenderlead bid-profile show --json
tenderlead bid-profile apply --file bid-profile.json
tenderlead outlines create CONTRACT_ID
tenderlead evidence list --json
tenderlead evidence upload --file certificate.pdf --type certificate
tenderlead templates upload --file house-style.docx --role primary
tenderlead drafts create CONTRACT_ID --workspace
tenderlead drafts export CONTRACT_ID --format xlsx --output workspace.xlsx
tenderlead drafts import CONTRACT_ID --file workspace.xlsx
tenderlead evidence-packs create CONTRACT_IDFor draft workspace edits or evidence-pack workspace state, pass the existing
request JSON with --file. The CLI sets contract_id from the command and sends
the remaining fields to the same handler used by the signed-in product.
Prepare a checklist from a public tender link
With a Team account and a workspace:write token:
tenderlead drafts fetch CONTRACT_ID --url "https://www.contractsfinder.service.gov.uk/Notice/NOTICE_ID" > documents.jsonThis retrieves public PDF/Word attachments from supported official notices
(Contracts Finder, Find a Tender and Public Contracts Scotland). It returns
documents and warnings, without calling a model or saving a draft. Each
document retains its source URL. Check the text, warnings and complete buyer
pack before proceeding. Portal-only files still need manual upload.
To build a checklist, put the reviewed documents array into a JSON object
under preparation_documents, then run:
tenderlead drafts create CONTRACT_ID --file reviewed-documents.jsonChecklist generation requires explicit account AI consent and available budget. It does not submit a bid or replace saved answers. Imports are limited to five documents, 2 MB per file and 60,000 text characters in total.
Commands that replace, import, update or remove saved data ask for a typed
confirmation. Reviewed automation can pass --yes. Run tenderlead --help for
the full command list.
Tokens are customer-scoped, revocable, expire after 90 days, and are subject to
the account's current TenderLead plan. Brief and tender-result reads are
read-only. Profile updates require profile:write; on-demand scoring requires
tenders:write; pipeline, feedback, insight and workspace routes use their own
scopes. Do not commit a token to a repository or paste it into a shared prompt.
Revoke exposed tokens in Settings.
Sign-in, token creation and revocation, Stripe checkout and billing, and permanent account deletion remain browser tasks.
OpenAI and Claude
TenderLead's published OpenAI integration connects through OAuth and provides three read-only tools for the current brief, matched-tender search and saved tender decisions. If the connected account has no active trial or paid plan, the tool response links to the browser setup journey. Complete the company profile there, request the free personalised preview or start a trial, then retry the tool. The integration cannot change a profile, start a trial or alter billing. Claude access remains a private beta.
Provider acceptance and API responses do not prove email inbox delivery.
Requirements
- Node.js 18 or newer
- An active TenderLead account
Licence
MIT
