Skip to content
Features

Everything CIO Pipelines does — in one page.

A complete reference for the Contact Activity panel, dashboard widgets, engagement banners, outbound CDP integration, customization, and how it all fits together.

CIO Pipelines · Event Trigger Live
Object Contact
Event on update
CIO event identify
Field mappings Streaming
Email email
FirstName first_name
Account.Industry company.industry
Active · 14,322 events shipped this week
Inbound · per Contact

Contact Activity Panel

A Lightning record-page panel that gives every rep, AE, recruiter, broker, or CSM a real-time view of a single Contact's Customer.io engagement — without leaving the Contact record.

Engagement banner

A prominent colored banner at the top of the panel, driven by the strongest available signal for this Contact. Priority is page views first, then email engagement, then quiet states.

State Trigger Example message
HOT Key page viewed in the last hour Back on pricing — viewed /pricing/enterprise 12 minutes ago
WARM Key pages viewed today (1–24h ago) Browsing your site — 4 key pages today
ENGAGED Key page viewed in the last 7 days Recently active — viewed /case-studies 4 days ago
WARM Email opened or clicked in the last 24h Email engagement — opened your last campaign 3 hours ago
QUIET Anything older Low engagement — last activity 14 days ago
NONE No activity at all No recent Customer.io activity

Five KPI cards

  • Last Sent — most recent campaign or transactional email delivered
  • Last Opened — most recent open event
  • Last Clicked — most recent click event
  • Key Pages Today — count of page views matching your configurable key-page URL pattern in the last 24h
  • Last Page View — most recent page view, with URL and timestamp

Recently Viewed Key Pages

A list of the URLs the contact hit on your site, ordered most-recent first. Pages are classified as "key pages" by a configurable substring list. Defaults include broad terms like pricing, demo, contact, signup, trial, job, career, listing, product, plan — admins extend or replace the list per industry.

Email activity datatable

Sent, delivered, opened, clicked, bounced, failed, unsubscribed — the most recent activities, in a sortable table.

Where it lives

Drag the CIO Pipelines: Contact Activity component onto any Contact Lightning Record Page in the Lightning App Builder. Save and activate. No code, no profile assignment.

Inbound · aggregate

Team Dashboard Widgets

Three list widgets and four engagement banners that surface aggregate Customer.io signal across users, teams, and the entire pipeline. Master labels below are the package defaults — every label is admin-editable in five minutes.

Three list widgets

Widget Default label Scope
cioMyActiveCandidates CIO Pipelines: My Active Contacts Contacts owned by the running user with recent Customer.io engagement
cioTeamActiveCandidates CIO Pipelines: Team Active Contacts Contacts owned by the user's team
cioPipelineActiveCandidates CIO Pipelines: Pipeline Active Contacts Every Contact the user can see via sharing

Four engagement banners

Banner Default label Where it lives
cioContactBanner CIO Pipelines: Engagement Banner (Contact) Contact record page (full-width above layout)
cioMyEngagementBanner CIO Pipelines: My Contacts Banner App / Home page
cioTeamEngagementBanner CIO Pipelines: Team Contacts Banner App / Home page
cioPipelineEngagementBanner CIO Pipelines: Pipeline Contacts Banner App / Home page

Team scoping

The Team widget supports four strategies, configurable in CIO Pipelines: Settings:

  • Manager Hierarchy (default) — uses User.ManagerId
  • Public Group — pass any group's ID
  • Queue — pass any queue's ID
  • All Users — every user in the org

Engagement scoring

Contacts rank by recency × intensity × frequency, weighted so page views (especially key-page views) outrank pure email engagement. Teams care most about prospects in active evaluation, so that's what surfaces first.

Outbound

Outbound CDP Integration

Every Salesforce DML event you care about — record creation, field changes, ownership transfers, deletions — flows into Customer.io's Pipelines CDP API in real time. Configurable per object, per event, per field, per filter.

What gets sent

CDP event Salesforce trigger Use case
identify After insert / update on Contact, Lead, Account Sync person/company traits to Customer.io
track After insert / update / delete / undelete on supported objects Send custom events (Status changed, Stage moved, Case opened)
group After insert / update on Account-related records Associate people with companies (B2B)

Configuration without code

Admins build the integration in the CIO Pipelines Lightning app:

  1. Configure credentials (Pipelines CDP write key, Site ID, Region — both endpoints ship pre-registered)
  2. Build event triggers (object, DML events, Customer.io event type, filter conditions, batch mode)
  3. Map fields (Salesforce field → Customer.io payload field, with DIRECT, UPPERCASE, LOWERCASE, DATE_FORMAT transforms)
  4. Add filters (visual filter builder, JSON-stored, evaluated by CIO_FilterEvaluator)

Async, governor-safe execution

All HTTP callouts run in Queueable context — never in the trigger transaction. Failed callouts publish CIO_Retry_Event__e, which CIO_RetryHandler consumes with configurable backoff.

Audit trail

Every API call (success or failure) writes a CIO_Activity_Log__c record with the trigger that fired it, the Salesforce record ID, sanitized request and response bodies, HTTP status, and timestamp. Bodies are retained for 30 days by default (admin-tunable, 7-day floor).

Inbound webhooks (bonus)

CIO Pipelines also exposes a hardened inbound webhook receiver at /services/apexrest/ciopipelines/cio/webhook/. Signatures are HMAC-SHA256, verified with constant-time comparison.

Configuration

Customization & Per-Widget Settings

Every user-facing label, every banner message, every KPI label, every URL pattern, every team scope — admin-controlled. CIO Pipelines ships with sensible defaults, and the same code runs verticals from B2B sales and recruiting to freight brokerage, real estate, e-commerce, and financial services.

Per-widget settings

The CIO Pipelines: Settings page exposes a configuration panel for every widget — time window, max items, included engagement states, refresh cadence, and per-widget toggles. All settings are persisted in a single JSON blob; admins never edit JSON.

Banner template editing

Every banner has per-state message templates exposed as plain-text textareas. Supported placeholders include {name}, {minutes}, {hours}, {pageTitle}, {pageUrl}, {count}, and {state}.

Industry-agnostic defaults

The package ships with sensible, broad defaults, and every label is rewritable in five minutes. A B2B SaaS AE might rewrite the HOT_KEY template to:

{name} is back on pricing — viewed {pageTitle} {minutes} min ago — reach out now.

A freight broker rewrites it to:

{name} is reviewing freight options — viewed {pageTitle} {minutes} min ago — quote them now.

A real estate broker:

{name} is browsing listings — viewed {pageTitle} {minutes} min ago.

Architecture

How it works

CIO Pipelines is a Salesforce-native managed package. There's no middleware, no external server, no proxy. Outbound flows from Apex triggers to Customer.io's CDP API. Inbound flows from Customer.io's App API into Lightning Web Components. Both directions respect Salesforce sharing, FLS, and platform limits.

┌──────────────────────────────────────┐ │ SALESFORCE ORG │ └──────────────────────────────────────┘ │ ▲ OUTBOUND │ │ INBOUND │ │ ┌───────────────────▼─────────┐ ┌────┴───────────────────┐ │ Apex Trigger Layer │ │ Lightning Web │ │ IntegrationService │ │ Components Layer │ │ Queueable Callout │ │ ContactActivity │ │ Activity Log │ │ ActiveCandidates │ └───────────────────┬─────────┘ └────┬───────────────────┘ │ │ ▼ │ ┌──────────────────────────────────────┐ │ CUSTOMER.IO │ │ Pipelines CDP API App API │ │ (write) (read) │ └──────────────────────────────────────┘

What's in the box

  • 40 production Apex classes, 36 test classes, comprehensive coverage
  • 17 Lightning Web Components covering admin and end-user UIs
  • 5 custom objects: Settings, Event Trigger, Field Mapping, Activity Log, Retry Event (Platform Event)
  • 2 permission sets: CIO_Admin (full configuration), CIO_ReadOnly (end-user-facing)

API regions

Region CDP URL App API URL
US https://cdp.customer.io/v1 https://api.customer.io
EU https://cdp-eu.customer.io/v1 https://api-eu.customer.io

Ready to put Customer.io's signal where your Salesforce team works?

Install in Sandbox