AbsoluteJS

@absolutejs/engagement-apollo

@absolutejs/engagement-apollov0.0.8betaCommerce & Growth

Apollo.io EngagementSource adapter for @absolutejs/engagement — person/company enrichment and outreach activity (emails sent/opened/replied) from the Apollo API.

#Installation

BASH
bun add @absolutejs/engagement-apollo

#Capabilities

Overview

Apollo.io adapter for @absolutejs/engagement.

Capabilities

Method — Apollo endpoint — Notes

enrichPerson — POST /v1/people/match — Consumes an enrichment credit per match.

enrichCompany — GET /v1/organizations/enrich — Domain required.

Show 2 more

listActivities — POST /v1/emailer_messages/search — Plan-gated — engagement API access varies by Apollo plan. Returns [] if unsupported; verify field mapping against a live account before relying on it.

All calls fail soft: a non-2xx response or an unexpected shape returns null / [] rather than throwing, so a consumer can treat the source as best-effort.

Outcomes

What you can build

Build on the supported package contract

Use @absolutejs/engagement-apollo through its supported public entry points.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/engagement-apollo version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/engagement-apollo example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#@absolutejs/engagement-apollo quick start

Partial snippet

# @absolutejs/engagement-apollo

TS
import { apolloSource } from "@absolutejs/engagement-apollo";

const apollo = apolloSource({ apiKey: process.env.APOLLO_KEY! });

// Enrichment
const person = await apollo.enrichPerson?.({ email: "jane@acme.com" });
const company = await apollo.enrichCompany?.({ domain: "acme.com" });

// Outreach activity (what's been sent / opened / replied) for a contact
const activity = await apollo.listActivities?.({
  contactEmail: "jane@acme.com",
});

#Public entry points

Supported entry points declared by this package manifest.

Package entry point declared in package.json.

@absolutejs/engagement-apollo@absolutejs/engagement-apollo/manifest@absolutejs/engagement-apollo/manifest.json

#Package commands

Scripts declared by this package manifest.

bun run buildrm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --target=bun --external @absolutejs/engagement --external '@absolutejs/engagement/*' --external @absolutejs/manifest --external @sinclair/typebox && tsc --emitDeclarationOnly --project tsconfig.json && absolute-manifest emit
bun run check:packagebun run format && bun run typecheck && bun run test && bun run verify-package && bun run build && bun run verify-package --artifacts
bun run formatprettier --write "./**/*.{ts,json,md}"
bun run testbun test
bun run typechecktsc --noEmit

#API reference

Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.

2 symbols
ApolloOptionstypePermalinkSource
TS
type ApolloOptions = {
    apiKey: string;
    /** Override for testing or a proxy. Defaults to https://api.apollo.io. */
    baseUrl?: string;
    /** Inject a fetch (tests, instrumentation). Defaults to global fetch. */
    fetchImpl?: typeof fetch;
};
Exported from @absolutejs/engagement-apollo