尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证n8n community node for GovInbox: federal contract opportunities, recompetes, exclusions and watchlists from the GovInbox API
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗n8n community node for GovInbox.
GovInbox watches U.S. federal contracting data and turns it into plain-English records you can search and automate: contract opportunities, award history, recompetes, SAM.gov exclusions, GAO bid protests, agency small business goals, SBA size standards and GSA labor rate bands. Set-aside programs (SDVOSB, 8(a), HUBZone, WOSB and others) are one of the filters you can apply, not a limit on what you can search.
This node connects n8n to the GovInbox REST API so you can pull that data into workflows, on a schedule or as a tool for an AI agent.
In n8n, open Settings, Community nodes, Install and enter the package name:
n8n-nodes-govinbox
Accept the community node notice and install. For other installation methods, see n8n's guide to installing community nodes.
Once the package is approved for the verified list, it also appears directly in the nodes panel.
The node authenticates with a personal GovInbox API token, sent as Authorization: Bearer <token>.
Saving the credential runs a test request (GET /v1/me) to confirm the token works. That request counts as one call against your allowance.
The node is built in n8n's declarative style: each operation is one request to the GovInbox REST API at https://api.getgovinbox.com.
| Resource | Operation | API request | What it does |
|---|---|---|---|
| Opportunity | Search | GET /v1/opportunities | Search opportunities by set-aside program, NAICS code, keyword, place-of-performance state, agency, work type and how recently they were first seen. |
| Opportunity | Get | GET /v1/opportunities/{notice_id} | One opportunity with its full record, early signals and contracting contacts. Optional receipts and headcount add a size standard comparison. |
| Opportunity | Get Contacts | GET /v1/opportunities/{notice_id}/contacts | Contracting contact cards published on the notice. |
| Opportunity | Get Contract History | GET /v1/opportunities/{notice_id}/contract-history | Prior awards for the same kind of work: who won, for how much and when. |
| Recompete | Get Many | GET /v1/recompetes | Opportunities flagged as likely recompetes, with the incumbent and the expiring award. |
| Recompete | Get for Opportunity | GET /v1/opportunities/{notice_id}/recompete | The recompete verdict for one opportunity, with candidate prior awards. |
| Exclusion | Check | GET /v1/exclusions/check | Is a firm or person on the SAM.gov exclusion list? Search by name, UEI or CAGE code. |
| Protest | Search | GET /v1/protests | GAO bid protest docket entries by solicitation number, agency and status. |
| Reference | Get Agency Goals | GET /v1/agency-goals | Which agencies are behind or ahead of their small business goal for a program. |
| Reference | Get Size Standard | GET /v1/size-standards/{naics} | SBA size standard for a NAICS code. |
| Reference | Get Labor Rates | GET /v1/labor-rates | GSA CALC ceiling-rate bands per labor category. |
| Reference | Get Set-Aside Programs | GET /v1/set-asides | Every program GovInbox tracks, with its official SAM.gov codes. |
| Reference |
Operations marked Write change your GovInbox account. Every other operation only reads data.
Parameter names sent to the API (program, naics, q, state, agency, days, limit, offset, work_type, min_confidence, include_awards, and so on) match the REST API exactly. Optional filters live under Additional Fields.
The node only wraps endpoints that the GovInbox REST API serves today. Award history is available through Opportunity, Get Contract History (prior awards by the same NAICS code) and through the recompete operations. Other GovInbox data, such as reported subawards and grants, is not exposed by the REST API at this time, so it has no node operation yet. New operations will be added as the API grows.
examples/daily-opportunity-digest.json is a small workflow you can import into n8n. It runs every morning, searches for opportunities first seen in the last day in NAICS 5617 (services to buildings) with work performed in Virginia, and passes each result to the next node. Replace the last node with Slack, email, a spreadsheet or a CRM.
To build it by hand:
5617, State VA and Days Since First Seen 1.The GovInbox node is marked usableAsTool: true, so you can connect it to the Tools input of an n8n AI Agent node. The agent chooses the resource and operation and fills in the parameters from the conversation. Ask, for example, "Which opportunities for janitorial work were posted in Washington this week?" or "Is Acme Construction LLC on the SAM exclusion list?"
Notes:
List operations (Opportunity Search, Recompete Get Many, Protest Search, Reference Get Agency Goals, Watchlist Get Many) return one page.
total, limit and offset.Operations that return one record, or reference data with its own as_of and status fields, return the response as a single item.
Every authenticated API call, including the credential test, counts against the daily request allowance of the GovInbox account that owns the token. The allowance is shared with other ways of using the same account. When it is used up, the API answers with HTTP 429 and n8n shows the error on the node. Use Account, Get to see the remaining allowance.
This section maps each n8n requirement for community nodes, and for the verified badge, to how this package meets it. The requirements were read from n8n's documentation (cited under each row); where n8n's pages have moved, both the current and the former address are given.
Sources:
n8n-node tool: https://docs.n8n.io/connect/create-nodes/build-your-node/using-the-n8n-node-tool| # | n8n requirement | Source | How this package meets it |
|---|---|---|---|
| 1 | Package name starts with n8n-nodes- or @scope/n8n-nodes- | 2, 3 | Package name is n8n-nodes-govinbox. |
| 2 | n8n-community-node-package keyword in package.json | 2, 7 | Present in keywords. |
| 3 | Nodes and credentials listed in the n8n block of package.json | 2, 7, 8 | n8n.nodes points to dist/nodes/GovInbox/GovInbox.node.js; n8n.credentials points to dist/credentials/GovInboxApi.credentials.js; n8nNodesApiVersion is 1 and strict is true, as in the starter. |
| 4 | Generated with, and checked by, the n8n-node tool | 1, 3 | Uses @n8n/node-cli for build, lint, dev and release, with the starter's tsconfig.json, ESLint config and scripts. |
| 5 | Linter passes (npm run lint) | 2, 3 | npm run lint runs n8n-node lint and passes with no errors or warnings. |
| 6 | Declarative style preferred (needed for fast approval on n8n Cloud); triggers must be programmatic | 1, 3 | Declarative style only: every operation is a routing.request in the node description, with no custom execute code. The package has no trigger. |
| 7 | Integrates one third-party service and does not duplicate an existing node | 1 | One service: the GovInbox REST API. No existing n8n node for it. |
| 8 | No logic or flow-control nodes | 1 | Single action node. |
| 9 | No runtime dependencies | 1, 2 | dependencies is empty. n8n-workflow is a peer dependency; everything else is a development dependency. scripts/smoke.mjs asserts this. |
| 10 | No access to environment variables or the file system; pass data through node parameters |
npm ci
npm run lint # n8n-node lint
npm run build # n8n-node build
npm run smoke # checks the built description (no network)
npm run dev # runs n8n with the node loaded (needs Docker or Podman)
npm run smoke loads the compiled node and credential from dist/ and asserts the resources, operations, request routes, parameter names and package contract. It makes no network calls.
Any request the node sends can be reproduced with curl. For example, the Opportunity Search request for NAICS 5617 in Washington, first seen in the last 30 days:
curl -s -H "Authorization: Bearer $GOVINBOX_TOKEN" \
"https://api.getgovinbox.com/v1/opportunities?limit=5&naics=5617&state=WA&days=30"
scripts/e2e/ runs the compiled node through n8n's own execution engine (n8n-core) against a GovInbox API and checks the response of every operation. It is not part of the published package and adds no dependencies to it.
npm run build
npm install --no-save n8n-core@latest [email protected]
GOVINBOX_TOKEN=... node scripts/e2e/e2e.cjs # read operations only
GOVINBOX_TOKEN=... E2E_WRITE=1 node scripts/e2e/e2e.cjs # also creates, deletes and restores a test watchlist
Set GOVINBOX_BASE to test against another API host. Every call counts against the allowance of the account that owns the token.
Publishing is done from GitHub Actions only (see publish.yml):
AUsernameForYou/n8n-nodes-govinbox and push this code.NPM_TOKEN repository secret.package.json, push, and publish a GitHub release tagged v<version>.npx @n8n/scan-community-package n8n-nodes-govinbox and fix anything it reports.| Get Work Types |
GET /v1/work-types |
| The work-type tags you can filter opportunities by. |
| Reference | Get Data Source Status | GET /v1/signals/status | Which reference datasets are loaded and how fresh they are. |
| Watchlist | Get Many | GET /v1/watchlists | Your saved watchlists and any shared with your organization. |
| Watchlist | Get | GET /v1/watchlists/{id} | One watchlist. |
| Watchlist | Get Digest | GET /v1/watchlists/{id}/digest | New matches for a watchlist as plain-English lines, newest first. |
| Watchlist | Create | POST /v1/watchlists | Write. Saves a search as a new watchlist in your GovInbox account. |
| Watchlist | Delete | DELETE /v1/watchlists/{id} | Write. Deletes a watchlist. It can be restored for a limited time. |
| Watchlist | Restore | POST /v1/watchlists/{id}/restore | Write. Undoes a delete inside the restore window. |
| Account | Get | GET /v1/me | Plan tier and remaining request allowance for the token in use. |
| 1 |
The source never reads process.env or touches files. The only network target is the base URL https://api.getgovinbox.com. |
| 11 | MIT license | 1 | LICENSE.md is MIT and package.json sets "license": "MIT". |
| 12 | README with usage instructions, example workflows and authentication details | 1 | This README, plus examples/daily-opportunity-digest.json. |
| 13 | npm repository URL, author or maintainer and public GitHub repository agree; the git link works and the repository is public | 1 | repository.url is git+https://github.com/AUsernameForYou/n8n-nodes-govinbox.git, homepage is https://getgovinbox.com, and the author is GovInbox. The repository must be public before submission. |
| 14 | Published from a GitHub Actions workflow with an npm provenance statement (mandatory for all community nodes from 1 May 2026) | 1, 2, 9 | .github/workflows/publish.yml runs on a published GitHub release and publishes with npm publish --provenance --access public, with id-token: write and contents: read. The package owner configures npm trusted publishing (OIDC) or an NPM_TOKEN repository secret. |
| 15 | @n8n/node-cli 0.23.0 or later for the provenance flow | 2 | @n8n/node-cli is pinned in devDependencies at a later version. |
| 16 | npx @n8n/scan-community-package n8n-nodes-govinbox passes | 1, 10 | The scanner checks the published package and its provenance, so it runs after the first publish. The same lint rules were run on the source and on the packed tarball before release. |
| 17 | English only for the interface, help text, error messages and README | 1 | All copy is English. |
| 18 | UI guidelines: Title Case for names and labels, sentence case for actions and descriptions, Whether... for boolean descriptions, Get Many and Get vocabulary | 4 | Enforced by the n8n lint rules; the lint passes. Write operations say so in their descriptions. |
| 19 | API key and other sensitive credentials are password fields | 4 | The API Token field is a password field. |
| 20 | Credential test request so n8n can verify the credential | 5 | The credential declares test as GET https://api.getgovinbox.com/v1/me, authenticated with the stored token. |
| 21 | Node usable as an AI agent tool | 7 | usableAsTool: true in the node description. |
| 22 | Codex file with categories and documentation links | 6 | nodes/GovInbox/GovInbox.node.json. |
| 23 | Submit through the n8n Creator Portal | 2 | Owner action after publishing. See Publishing. |