graph8 Data Pipelines

Every event. Transformed.
icon
Unified. Acted on.

A built-in CDP and data warehouse. Transform on the wire, enforce a schema, stitch identities, then trigger work.

graph8 Data Pipelines ingest events from any source, run JavaScript transformations as data flows through, enforce a schema you control, and resolve every anonymous touch to a single buyer record. The result powers every workflow, campaign, segment, list, report, and sequence inside graph8.

See transformations
events.live
12 events / sec
14:22:01
anonymousId: abc_8f2 Page Viewed
url: /pricing
14:22:01
anonymousId: abc_8f2 Form Submitted
traits.email: [email protected]
14:22:02
userId: usr_7e3 Identify
merged anonymousId abc_8f2 → usr_7e3
14:22:09
userId: usr_7e3 Pricing Plan Viewed
plan: pro · seat_count: 6
14:22:18
userId: usr_7e3 Demo Booked
→ workflow.high_intent → sequencer.drew
last 60s schema ✓   identity ✓   routed ✓
The pipeline

Four stages, one record

Events arrive from any source. Transformations clean and enrich them on the wire. The CDP unifies identity and writes one canonical record. Every surface inside graph8 reads from the same record, in real time.

Stage 1

Sources

500+ connectors, SDKs, and webhooks ingest events from your stack.

Stage 2

Transform

JavaScript runs on every event. Filter, enrich, route, redact.

Stage 3

CDP

Unify identity, enforce schema, write the canonical record.

Stage 4

Activate

Trigger workflows, campaigns, segments, lists, reports, sequences.

Transformations

Write JavaScript. Run it on every event.

A function runs against every event as it flows through. Filter bots, enrich from email domains, redact PII, route to specific destinations. Versioned, tested, replayable. No batch jobs, no nightly cron, no extra warehouse.

transform.js
saved · v3
export default function transform(event) {
  // 1. Block bot traffic at the edge
  if (/bot|crawler/i.test(event.context?.userAgent || "")) {
    return null
  }

  // 2. Enrich with company from email domain
  if (event.traits?.email) {
    event.properties.company_domain =
      event.traits.email.split("@")[1]
  }

  // 3. Route high-intent events to workflows + sequencer
  if (event.event === "Demo Booked") {
    event.destinations = ["workflows", "sequencer"]
  }

  return event
}
Input event 14:22:18
{
  "userId": "usr_7e3",
  "event": "Demo Booked",
  "traits": { "email": "[email protected]" },
  "context": { "userAgent": "Mozilla/5.0..." }
}
transform.js
Output event enriched, routed
{
  "userId": "usr_7e3",
  "event": "Demo Booked",
  "traits": { "email": "[email protected]" },
  "properties": { "company_domain": "northwind.io" },
  "destinations": ["workflows", "sequencer"]
}

Versioned and replayable

Every function has a history. Replay any window of events through an old or new version.

Tested before deploy

Run any function against last 100 events live, see diffs, then publish.

PII safe by default

Redact, hash, or drop fields before they ever land in the warehouse.

Schema and governance

A typed contract for every event

Declare the events your team can send and the shape they must match. The pipeline rejects events that violate the schema before they reach your CDP or warehouse, with a full log of what was blocked and why.

schema · events 6 rules
Property Type Required Rule
event string always enum: 12 named events
userId string if known stitched to anonymousId on identify
properties.url string for Page* must be a relative or absolute URL
properties.plan string optional enum: free | pro | enterprise
properties.price number for revenue must be number, not string
context.userAgent string optional blocked if bot/crawler match
Blocked at the edge schema violation
{
  "event": "Order Completed",
  "properties": {
    "price": "$49.00"
  }
}

Rejected. properties.price must be number, got string.

No warehouse write. No downstream sync. Logged for replay once the producer is fixed.

See where schema enforcement runs
Identity resolution

Three anonymous touches. One buyer record.

The pipeline stitches every identifier the same buyer leaves behind, across devices, sessions, and channels, into a single record on the buyer graph. Anonymous visits before signup keep their history once an identity is known.

Anonymous web visit

anonymousId: abc_8f2

Form submit

email: [email protected]

Inbound call

phone: +1 415 555 0136

stitch
D

Drew Bishop

VP Revenue · Northwind

Computed traits

pipeline_value: $84k intent_score: 91 last_signal: 2h ago meetings_booked: 3

One record. Every signal counts. Every history kept.

Drew's timeline · last 5 events events.profile(usr_7e3)

14:22:01

Page Viewed

url: /pricing

14:22:01

Form Submitted

captured email

14:22:02

Identify

stitched anonymousId → usr_7e3

14:22:09

Pricing Plan Viewed

plan: pro

14:22:18

Demo Booked

routed → workflows + sequencer

Tailor

Transform the page, not just the data.

Once a buyer is unified, Tailor injects HTML on your live pages per segment. Personalize a hero, swap a CTA, hide a banner. No CMS edit, no new build. The page transforms in the same pipeline that transforms the data.

Default every visitor

Sign up for free

700M+ contacts, on the house. Search anyone.

Get started →
Tailor rule

when segment matches

"high-intent · enterprise"

inject hero-enterprise.html

into [data-tailor=hero]

Tailored for Drew high-intent · enterprise

Drew, your team's pricing is ready.

Pro plan modeled on Northwind's 6-seat roster. Book a call.

Book a demo →

No CMS edit

Inject into any element by selector. Marketing controls the variant without touching code.

Segment-driven

Rules read from the same unified record. Audiences from the CDP, applied to the page.

Measured automatically

Every variant emits its own events back into the pipeline. Lift shows up in reports.

Surface controls

One control plane for every graph8 surface.

Chat, forms, the tracking snippet, the newsletter widget, Tailor, the voice widget. Flip any of them on or off, scope to an audience, scope to a route, or scope to a launch. The CDP decides what shows up.

surfaces · runtime 6 controls

Web chat

Live chat widget on your site

audience: high-intent visitors on

Forms

Inline + popup form capture

on

Tracking snippet

Identify and page events

on

Newsletter widget

Email subscribe block

off

Tailor

HTML personalization on the page

campaign: q3-pro-launch on

Voice widget

Click-to-call from your site

route: /pricing/* on

Per audience, per route, per launch

Conditions compose. Show chat to high-intent on /pricing during the Q3 launch only.

No SDK release cycle

Flip a surface from the workspace. The change reaches every page in seconds.

Sources and destinations

Pipe in from anything. Sync out anywhere.

500+ source connectors across CRM, databases, payments, analytics, support, e-commerce, productivity, and HR. Destinations include every major warehouse and reverse-ETL target.

HubSpot logoSalesforce logoStripe logoShopify logoPostgreSQL logoMongoDB logoGoogle Analytics 4 logoMixpanel logoSegment logoZendesk Support logoIntercom logo Snowflake logoBigQuery logoRedshift logo

500+ live source connectors. Every major warehouse. Webhooks, Zapier, Make, and reverse ETL.

Browse the full catalog
Activation

Put your data to work, anywhere in graph8

The same unified record drives every surface. Update the CDP and every downstream surface reflects it instantly. No second source of truth, no sync lag.

Workflows

Any signal becomes a trigger. Automation fires the moment data lands.

Campaigns

Personalize every message from the unified buyer view, no copy-paste.

Segments

Live segments rebuild as new data arrives. No nightly cron, no stale audiences.

Lists

Saved lists stay current with every refresh. Hand them to a sequence in one click.

Reports

Pipeline, funnel, and source mix update in real time from the same record.

Sequences

Outbound cadences read freshness from the CDP and pause when a deal moves.

How it fits

The substrate under your buyer graph

Data Pipelines feed the buyer graph: the live record of every account, contact, signal, and conversation. Agents read and write to the same graph. Apps render from it. Reports run against it.

The pipelines are the plumbing. The graph is the picture. The agents are the work. You get one unified system instead of a stack glued together by exports and CSVs.

graph8 Execution Plan

$499 /month

7-day free trial. No credit card. Cancel anytime.

All B2B data, intent, and visitors, free Search, segment, identify. App, MCP, or CLI. No credits charged for browsing.
You only pay for execution

75,000 execution credits / month included

Sending, dialer, AI voice, AI workflows

Meeting routing and booking

Unlimited users, no seat fees

Pay As You Go Free data, intent, and visitors included. Pay only when execution runs.
$0.05 /credit
Start with 1,000 Free Credits

Start free in 3 minutes. No credit card required.

Free intelligence layer Free in every plan

700M+ contacts and 100M+ companies

Search by title, seniority, industry, and tech stack with real-time filters.

Intent + visitor signals

See which companies research your keywords and visit your site.

Unlimited users

Invite your whole team: sales, marketing, RevOps, founders, agencies. No per-seat fees.

App, MCP server, and CLI

Same free data through the app, the MCP server (Claude, Cursor, ChatGPT), and the CLI.

ClaudeCursorChatGPT
Usage-based execution Metered

Full GTM platform

Sequencer, dialer, inbox, campaigns, CRM, and AI agents in one system.

AI voice agents

Clone any rep's voice for inbound and outbound calls with live booking.

5-channel sequencer

Email, phone, LinkedIn, SMS, and WhatsApp in automated sequences.

AE cockpit

AI-prioritized deal actions with meeting prep and risk alerts.

Waterfall enrichment

Pay only when a provider returns a match. Bring your own vendors too.

Always-on principles

No seat licenses

Invite everyone. Pricing never scales with headcount.

Every feature unlocked

No tiers gating voice, enrichment, sequencer, or campaigns.

No contracts

Month-to-month, cancel anytime, credits never expire.

Fair-use guardrails

Free data is designed for real GTM execution, not bulk export or scraping.

graph8

Ready to put your data pipelines to work?

Pipe any source into your CDP, transform on the wire, and unify identity. Then trigger workflows, campaigns, and reports from one buyer record. Pay for execution, not seats. Live in 3 minutes.

Get Started
GTM Platform InterfaceVoice AI Interface