Skip to content

feat(enrichment): add CompanyEnrich company and people research - #128

Open
namirali wants to merge 1 commit into
debpalash:mainfrom
namirali:codex/companyenrich-provider
Open

namirali wants to merge 1 commit into
debpalash:mainfrom
namirali:codex/companyenrich-provider

Conversation

@namirali

@namirali namirali commented Nov 2, 2026 •

Copy link
Copy Markdown

What & why

CompanyEnrich is a B2B data API for company enrichment, target-account discovery, similar companies, professional profiles and observed workforce information. This adds six explicit, opt-in workbook providers: company enrichment (domain/name), reverse person lookup from an existing email, workforce, people search, semantic company search and company lookalikes.

Each action makes one bounded API call. Search returns at most ten results as full JSON text; nested data, pagination, similarity scores and exact int64 IDs survive workbook caching. Company/person enrichment also maps supported profile fields. People search does not return email addresses or phone numbers. These providers are not added to default waterfalls, and they do not create contacts or enroll anyone in campaigns.

The integration includes the encrypted settings key, workspace override support, paid BYOK cost estimates, full-input cache identity, registry/contract fixtures and a setup/scope guide. Bulk jobs, scroll/export, saved lists, advanced source filters and beta contact discovery remain outside this row-enrichment contract; no such operation runs implicitly.

Type

  • New enrichment provider / source
  • Docs

Validation

  • make test passed using Go 1.27.3 and the repository's CI-pinned Bun 1.4.2: Go vet, all Go package tests, frontend frozen install, lint and build.
  • Focused race suites cover provider HTTP mappings/failures, cache, settings, vendor catalog and workbook registry.
  • Synthetic fixtures cover all six actions plus company-name fallback, malformed responses, int64 preservation, missing inputs, no automatic retries/redirects, key redaction, encrypted settings and cache separation. No live credentials or paid API calls used.
  • No SQL/schema/migration changes.

Checklist

  • Human contributor DCO sign-off is pending; no legal certification was made by automation.
  • Individual/corporate CLA is pending human review and execution as applicable.
  • Native Go backend tests pass (the template's uv run pytest refers to the previous backend).
  • Frontend lint and build pass.
  • No scraping of paywalled, pirated or login-gated content added.
  • Credentialed providers are opt-in and inert by default.

Ready for technical review. Contributor DCO certification and the applicable individual/corporate CLA remain outstanding requirements before merge; marking this PR ready does not certify or sign either agreement.

Security-sensitive?

This adds outbound requests to the fixed HTTPS api.companyenrich.com host and an encrypted provider secret. It reuses the existing guarded HTTP dialer, bounded body/deadline helper and workspace key resolver. No redirects or application retries are followed; standard transports use fresh HTTP/1 connections to prevent transparent replay of paid GETs on stale pooled connections. Vendor error bodies and credentials are not returned to the UI. Cache keys include the provider and complete row inputs, preventing different person/search requests sharing a domain-only cache entry. Paid cost estimates reserve the maximum for the bounded ten-result searches; actual billing remains with the provider.

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown

Thank you for contributing to OpenGTM. Before this pull request can merge, everyone who contributed to it must sign the Contributor License Agreement 1.0 once. You keep your copyright; the agreement lets Yupcha Softwares Private Limited, the company that maintains OpenGTM, ship your work in both the AGPL-3.0 app and commercial builds. If you contribute as part of your job, your employer also signs the Corporate CLA.

Still to sign: @namirali

To sign, post this as a new comment on its own line:

I have read the OpenGTM CLA 1.0 and I hereby sign it.

Comment recheck to run the check again.

@github-actions github-actions Bot added the cla-pending CLA signatures still needed label Nov 8, 2026
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

CLA deadline: 2026-11-23 UTC (12 days remaining). Please sign using the instructions in the CLA check above. After 14 days, maintainers may independently fix the underlying issue without using your contribution. You can still sign after the deadline; this timer does not close your pull request.

@namirali
namirali marked this pull request as ready for review November 10, 2026 05:16
@namirali
namirali requested a review from debpalash as a code owner November 10, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-cla cla-pending CLA signatures still needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant