Documentation Index
Fetch the complete documentation index at: https://hc.pillargtm.com/llms.txt
Use this file to discover all available pages before exploring further.
Connector Setup Guide
PILLAR connects to your revenue stack to build a unified scoring and intelligence layer. This guide walks you through connecting every supported data source.How Data Gets Into PILLAR
PILLAR ingests data through three mechanisms:- OAuth Connectors — For CRMs, email/calendar, and select tools. You authorize PILLAR once, and data flows automatically on a recurring schedule.
- API Key Connectors — For product analytics, support ticketing, and NPS tools. You provide an API key or token, and PILLAR pulls data on a schedule.
- CSV Import — For data not available via API (e.g., seat counts, utilization metrics). Upload a file and PILLAR maps columns to fields.
Sync Cadence
| Connector Type | Default Cadence | Configurable |
|---|---|---|
| CRM (Salesforce, HubSpot, Dynamics 365) | Every 15 minutes (incremental) | Yes — can be set to 5, 15, 30, or 60 minutes |
| Email & Calendar (Google Workspace, Microsoft 365) | Every 5 minutes | No |
| Product Usage Tools | Every 60 minutes | Yes — can be set to 15, 30, or 60 minutes |
| Support Ticketing | Every 30 minutes | Yes |
| NPS / Sentiment | Every 60 minutes | Yes |
| Call Intelligence (Gong) | Every 4 hours | No |
| CSV Import | Manual upload | N/A |
The Field Mapping UI
After connecting any data source, PILLAR auto-discovers the available fields and maps them to PILLAR’s canonical data model. You can review and customize mappings via Settings > Integrations > Field Mapping on any connector card.Field Mapping Reference
See all 126+ fields PILLAR can ingest, with default CRM field names for Salesforce and HubSpot
CRM Connectors
CRM connectors are the foundation of PILLAR. They provide the core data for accounts, contacts, opportunities, leads, and contracts.- Salesforce
- HubSpot
- Dynamics 365
What You’ll Need
- A Salesforce org with API access enabled
- A Salesforce user with at least Read access to Account, Contact, Opportunity, Lead, and (optionally) Contract and Case objects
- Admin permissions in PILLAR to configure connectors
PILLAR uses OAuth 2.0 with the Salesforce Connected App flow. No passwords or security tokens are stored — only the OAuth refresh token. Your Salesforce admin may need to pre-authorize the PILLAR Connected App in Setup > App Manager.
Steps to Connect
- In PILLAR, navigate to Settings > Integrations.
- Click Connect on the Salesforce card.
- You will be redirected to Salesforce’s OAuth consent screen. Log in with your Salesforce credentials and click Allow.
- PILLAR auto-discovers your org’s schema and maps fields. The initial sync begins immediately.
- Review the auto-mapped fields by clicking Field Mapping on the connector card. Fix any unmapped required fields.
What Syncs
| CRM Object | PILLAR Table | Key Fields |
|---|---|---|
| Account | accounts | Name, ARR, Segment, Industry, State, Owner |
| Contact | contacts | Name, Email, Title, Account ID, Buying Role |
| Opportunity | opportunities | Name, Amount, Stage, Close Date, Account ID |
| Lead | leads | Name, Email, Company, Status, Lead Score |
| Contract | contracts | Account ID, Start Date, End Date, Value, Status |
| Case | support_ticket_snapshots | Account ID, Subject, Status, Priority, Severity |
Score Write-Back
PILLAR pushes computed scores back to Salesforce as custom fields on the Account object:| PILLAR Score | Salesforce Field | Type |
|---|---|---|
| Health Score (0-100) | PILLAR_Health_Score__c | Number |
| Risk Score (0-100) | PILLAR_Risk_Score__c | Number |
| Priority Score (0-100) | PILLAR_Priority_Score__c | Number |
How It Feeds Scoring
- Account Health Score — Uses ARR, engagement signals, support burden, product usage, and NPS data from the account
- Pipeline Hygiene — Evaluates opportunities for missing next steps, stale deals, close date pushes, and unidentified economic buyers
- Renewal Risk — Uses contract end dates, support ticket severity, NPS trends, and engagement decay
- ICP Fit — Scores accounts against your ideal customer profile using segment, industry, student count, budget, and other firmographic data
- Lead Score — Combines fit signals (title, segment, enrollment) with engagement signals (email opens, content downloads, website visits, demo requests)
Common Salesforce CPQ Patterns
Many organizations using Salesforce CPQ or custom quoting workflows store deal values on custom Opportunity fields rather than the standardAmount field. PILLAR’s field mapping UI handles these patterns natively — you just map your CPQ-derived amount field to PILLAR’s canonical amount field during implementation.Common variants we’ve seen in EdTech organizations:| Pattern | Typical Field API Name | When You’ll See This |
|---|---|---|
| Standard Amount | Amount | Most Salesforce orgs without CPQ. PILLAR’s default mapping. |
| Selected Quote Amount | Amount - Selected Quote / SBQQ__SelectedQuoteAmount__c | Salesforce CPQ with multi-quote workflows. Opportunity.Amount is auto-synced from the active quote. |
| Proposal Amount | Proposal_Amount__c / Total_Proposal_Value__c | Orgs with a proposal-approval step separate from the quote. |
| Quote Amount (Custom) | Quote_Amount__c / Custom_Quote_Amount__c | Custom-built quoting tools or migrations from legacy CPQ systems. |
| Annual Contract Value | Annual_Contract_Value__c / ACV__c | Orgs that want ACV (not TCV) to drive pipeline calculations. |
| Total Contract Value | Total_Contract_Value__c / TCV__c | Orgs with multi-year deals where the full contract value lives on Opp. |
How to Decide Which Field to Map
Ask your Salesforce admin these three questions:-
“When a rep creates a quote with the standard CPQ flow, does Opportunity.Amount get updated automatically?” If yes, map
Amount. If the team instead works off a custom field that drives pipeline reports, map that field. -
“Which field do your Salesforce pipeline reports pull for the ‘deal value’ column?” Whatever that field is, map it to PILLAR’s
amount. This ensures PILLAR’s pipeline numbers match what your team sees in Salesforce. - “Do your leadership dashboards show ACV or TCV?” Map the field that matches what your exec team reviews. PILLAR’s pipeline and forecast calculations will then speak the same language as your board reports.
Mapping in PILLAR
Once you know the correct field:- Navigate to Settings → Integrations → Salesforce → Field Mapping
- Find the
amountrow under the Opportunity section - Change the CRM Field dropdown from
Amountto your CPQ field (e.g.SBQQ__SelectedQuoteAmount__corAmount - Selected Quote) - Click Save. The next sync will pull the correct values.
PILLAR also supports mapping different amount fields for different Opportunity record types if your org uses record types to distinguish New Business vs Renewal vs Expansion. Reach out to support@pillargtm.com if you need per-record-type amount mappings.
Email & Calendar
Email and calendar connectors provide activity-level engagement data that powers the engagement component of Account Health scoring and contact-level engagement scores.- Google Workspace
- Microsoft 365 (Outlook)
What You’ll Need
- A Google Workspace account (personal Gmail is not supported)
- Each user must authorize individually — this is a per-user OAuth flow
PILLAR never reads email body content. Only metadata is captured: sender, recipient, timestamp, and subject line. This data is stored as activities linked to contacts and accounts.
Steps to Connect
- Navigate to Settings > Integrations > Email & Calendar.
- Click Connect Google Workspace.
- Each team member will see a prompt to authorize their individual Google account.
- After authorization, email metadata and calendar events begin syncing every 5 minutes.
What Syncs
| Data Type | Fields Captured | Used For |
|---|---|---|
| Email metadata | Sender, recipient, timestamp, subject line | Contact engagement scoring, activity tracking |
| Calendar events | Attendees, time, duration | Meeting activity signals, last-meeting-date on opportunities |
How It Feeds Scoring
- Account Health — Email and meeting frequency contribute to the engagement component. Accounts with declining email/meeting activity trigger engagement decay signals.
- Contact Engagement Score — Individual contact engagement scores factor in email response rates and meeting attendance.
- Pipeline Hygiene — The
last_meeting_datefield on opportunities is updated from calendar data, and deals without recent meetings are flagged.
Notifications & Collaboration
PILLAR can push signal alerts, daily digests, and play notifications to your team’s collaboration tools so CSMs and AEs see critical signals where they already work.- Microsoft Teams
What You’ll Need
- A Microsoft Teams workspace
- Option A (Webhook — simple): An incoming webhook URL configured in your target Teams channel
- Option B (Graph API — full): Microsoft 365 admin consent to allow PILLAR to post to channels via Graph API
Option A (incoming webhook) requires no OAuth and can be set up by any Teams channel owner in under 2 minutes. Option B (Graph API) requires an Azure AD admin to grant consent but unlocks a channel picker UI so users can route different alerts to different channels from within PILLAR.
Option A: Incoming Webhook (Recommended for Quick Start)
- In Microsoft Teams, open the channel where you want PILLAR alerts.
- Click ··· next to the channel name > Connectors > Incoming Webhook > Configure.
- Name the webhook (e.g. “PILLAR Alerts”) and click Create.
- Copy the webhook URL.
- In PILLAR, navigate to Settings > Integrations > Notifications.
- Click Configure on the Microsoft Teams card and paste the webhook URL.
- Click Test to post a sample Adaptive Card, then Save.
Option B: Graph API (Full Integration)
- In PILLAR, navigate to Settings > Integrations > Notifications.
- Click Connect Microsoft Teams.
- You will be redirected to Microsoft’s OAuth consent screen. An Azure AD admin must accept the permissions (Channel.ReadBasic.All, ChannelMessage.Send, Team.ReadBasic.All).
- After consent, PILLAR lists all teams and channels your account has access to.
- Select the channels for each alert type: signal alerts, daily digest, and play notifications.
- Click Save.
What Gets Sent
| Notification Type | Trigger | Card Content |
|---|---|---|
| Signal Alert | New critical or high-severity signal | Account name, signal type, ARR at risk, recommended action, link to account |
| Daily Digest | 8 AM (configurable) | Portfolio ARR, at-risk ARR, health score, critical signal count, top 3 actions |
| Play Activation | Play triggered on an account | Account name, play type, ARR protected, link to account |
| Renewal Risk Alert | Account crosses risk threshold | Account name, risk score, renewal date, primary risk driver |
Adaptive Cards
All Teams notifications use Microsoft Adaptive Cards (v1.4) — they render natively in Teams with structured data, color-coded severity indicators, and View in PILLAR deep-link buttons. No plain-text messages are sent.Product Usage Tools
Product usage data feeds the adoption and utilization components of Account Health scoring. PILLAR ingests feature usage, session data, and user activity metrics.- Pendo
- Mixpanel
- Amplitude
- Segment
- Heap
- Mode Analytics
What You’ll Need
- Pendo API key (found in Pendo > Settings > Subscriptions > App Details)
- The Pendo account ID field that maps to your CRM account identifier
Steps to Connect
- Navigate to Settings > Integrations > Product Usage.
- Click Connect on the Pendo card.
- Enter your Pendo API key.
- Map the Pendo account identifier to PILLAR’s account lookup field.
- Click Save & Test. PILLAR will validate the connection and begin the initial sync.
What Syncs
| Data Point | Cadence | PILLAR Field |
|---|---|---|
| Feature adoption counts | Every 60 min | accounts.product_usage_score |
| Active user counts | Every 60 min | accounts.active_users |
| Session frequency | Every 60 min | Engagement signals |
| Feature usage trends | Every 60 min | Expansion readiness scoring |
Support Ticketing
Support ticket data feeds the support burden component of Renewal Risk scoring. Accounts with high ticket volume, escalations, or low CSAT are flagged as at-risk.- Intercom
- Zendesk
- Freshdesk
What You’ll Need
- Intercom admin access to authorize the OAuth flow
Steps to Connect
- Navigate to Settings > Integrations > Support Ticketing.
- Click Connect on the Intercom card.
- You will be redirected to Intercom’s OAuth consent screen. Click Authorize.
- Map the Intercom company identifier to PILLAR’s account lookup field.
- Click Save & Test.
What Syncs
| Data Point | Cadence | PILLAR Field |
|---|---|---|
| Conversation count (per company) | Every 30 min | Support burden scoring |
| Conversation state (open/closed) | Every 30 min | support_ticket_snapshots.status |
| SLA breach status | Every 30 min | Escalation signals |
| CSAT ratings | Every 30 min | support_ticket_snapshots.csat_score |
| Tags and categories | Every 30 min | Ticket type classification |
If your support ticketing runs inside your CRM (HubSpot Service Hub or Salesforce Service Cloud), PILLAR ingests tickets directly through the CRM connector — no separate support ticketing connector is needed. The CRM connector syncs Cases (Salesforce) or Tickets (HubSpot) into the same
support_ticket_snapshots table.Customer Sentiment & NPS
NPS and customer sentiment data feed the Satisfaction component of Account Health scoring. Accounts with declining NPS or negative survey responses are flagged for proactive outreach.- Wootric
- Delighted
- SurveyMonkey
What You’ll Need
- Wootric account with OAuth access
Steps to Connect
- Navigate to Settings > Integrations > Customer Sentiment.
- Click Connect on the Wootric card.
- You will be redirected to Wootric’s OAuth consent screen. Authorize the connection.
- Map the Wootric account/end-user identifier to PILLAR’s account or contact lookup field.
- Click Save & Test.
What Syncs
| Data Point | Cadence | PILLAR Field |
|---|---|---|
| NPS score (per account) | Every 60 min | accounts.nps_score |
| NPS survey responses | Every 60 min | Satisfaction scoring |
| Response trends | Every 60 min | NPS trend signals |
How NPS feeds scoring: NPS scores from any connected sentiment tool flow into
accounts.nps_score, which is a component of the Account Health Score’s Satisfaction dimension. Declining NPS triggers the nps_decline signal, which in turn can fire save plays or risk alerts. See the Account Health scoring rules for weight details.Call Intelligence
Call intelligence data powers the Call Intelligence scoring category — 7 rules that evaluate conversation quality, rep performance, competitive mentions, and stakeholder engagement from recorded sales and CS calls.- Gong
What You’ll Need
- Gong workspace with API access enabled
- A Gong user with admin permissions to authorize the OAuth connection
- Admin permissions in PILLAR to configure connectors
PILLAR uses Gong’s OAuth 2.0 authorization flow. No API keys or passwords are stored — only the OAuth refresh token. Your Gong admin may need to approve the PILLAR app in Gong’s API settings.
Gong Plan Requirements
| Gong Plan | What PILLAR Can Access |
|---|---|
| Essentials / Pro | Call list (title, participants, duration, direction, outcome). CI rules return neutral scores for missing analytics. |
| Business | Full analytics: talk ratios, interactivity, topics, trackers, next steps, call outcomes. All 7 CI rules fire with real data. |
| Enterprise | Everything in Business, plus transcript access for future keyword analysis features. |
Steps to Connect
- Navigate to Settings > Integrations > Call Intelligence.
- Click Connect on the Gong card.
- You will be redirected to Gong’s OAuth consent screen. Authorize the connection.
- PILLAR begins an initial sync of the last 90 days of call data.
- Ongoing syncs run every 4 hours automatically.
What Syncs
| Data Point | Cadence | Used For |
|---|---|---|
| Call metadata (title, direction, duration, outcome) | Every 4 hours | Call frequency scoring (CI-006) |
| Participants (name, email, title, affiliation) | Every 4 hours | Exec participation detection (CI-005), account matching |
| Rep talk ratio | Every 4 hours | Rep talk ratio scoring (CI-001) |
| Customer talk ratio | Every 4 hours | Customer engagement scoring (CI-007) |
| Sentiment (overall, customer, rep) | Every 4 hours | Sentiment trend analysis (CI-002) |
| Topics discussed | Every 4 hours | Conversation topic tracking |
| Trackers (competitor mentions, pricing, next steps) | Every 4 hours | Competitive mention detection (CI-003), next steps scoring (CI-004) |
| Interactivity score | Every 4 hours | Engagement quality |
How PILLAR Matches Calls to Accounts
PILLAR automatically resolves which account a call belongs to by:- Email domain matching — External participant email domains are matched against
accounts.domain - Contact email matching — If domain matching fails, individual participant emails are matched against
contacts.email
How It Feeds Scoring
The Call Intelligence category includes 7 scoring rules:| Rule | What It Measures |
|---|---|
| CI-001: Rep Talk Ratio | Ideal reps talk 40-50% of the time. Over-talking (over 60%) or under-talking (under 30%) reduces the score. |
| CI-002: Customer Sentiment Trend | Average customer sentiment across the last 3 calls. Declining sentiment is an early churn signal. |
| CI-003: Competitive Mentions | Whether competitors were discussed in recent calls. Frequent mentions indicate active evaluation risk. |
| CI-004: Next Steps Commitment | Whether next steps were explicitly mentioned on the most recent call. Calls without next steps indicate stalled momentum. |
| CI-005: Exec Participation | Whether executive stakeholders (VP+, C-suite) have joined recent calls. Exec presence signals strategic buy-in. |
| CI-006: Call Frequency | Whether call volume is appropriate for the account’s deal stage and renewal proximity. |
| CI-007: Customer Engagement | Customer talk ratio in recent calls. Customers who talk more are more engaged; silent customers are at-risk. |
When Gong is not connected, all 7 CI rules return a neutral score of 50 and are not counted as triggered. This means the Call Intelligence category does not drag down account health scores for organizations that do not use Gong.
CSV Import
For data that is not available through an API connector, PILLAR supports manual CSV upload. This is commonly used for:- Seat counts — Licensed seats vs. active seats per account (feeds utilization scoring)
- Utilization metrics — Product usage percentages when no product analytics tool is connected
- Financial data — P&L metrics for the Board Report (has its own dedicated upload at Settings > Financial Data)
- Historical data — Backfilling account or contract data that predates your CRM
How to Upload
- Navigate to Settings > Integrations > CSV Import.
- Download the template CSV for the data type you want to import (Accounts, Contacts, Opportunities, Leads, or Contracts).
- Fill in the template with your data. Each row should include a matching identifier (account name, CRM ID, or email) so PILLAR can link records.
- Upload the completed CSV.
- PILLAR shows a preview of the mapped columns and any validation errors. Fix any issues and confirm the import.
CSV Template Columns
Account Import Template
Account Import Template
| Column | Required | Maps To |
|---|---|---|
account_name or crm_id | Yes (one of) | Record matching key |
arr | No | accounts.arr |
segment | No | accounts.segment |
status | No | accounts.status |
student_count | No | accounts.student_count |
licensed_seats | No | Utilization scoring |
active_seats | No | Utilization scoring |
nps_score | No | accounts.nps_score |
Contract Import Template
Contract Import Template
| Column | Required | Maps To |
|---|---|---|
account_name or crm_id | Yes (one of) | Account lookup |
contract_number | No | contracts.contract_number |
start_date | Yes | contracts.start_date |
end_date | Yes | contracts.end_date |
contract_value | Yes | contracts.contract_value |
status | No | contracts.status |
auto_renew | No | contracts.auto_renew |
term_months | No | contracts.term_months |
Troubleshooting
My connector shows 'Disconnected' status
My connector shows 'Disconnected' status
OAuth tokens can expire if your CRM admin revokes access or if the token refresh fails. Navigate to Settings > Integrations, click the connector card, and click Reconnect. You will be prompted to re-authorize.
Fields are not mapping correctly
Fields are not mapping correctly
Check the Field Mapping screen on the connector card. Look for fields marked as “Unmapped” in the Required section. If PILLAR’s auto-discovery couldn’t match a field, you may need to create a manual mapping. See the Field Mapping Reference for the expected CRM field names.
Scores are not updating after connecting a new data source
Scores are not updating after connecting a new data source
Scores recalculate on every sync cycle (every 15 minutes for CRM data). If you just connected a new source, wait for at least one full sync cycle to complete. Check the connector card for “Last Synced” timestamp. If the sync completed but scores haven’t updated, check that the required fields for the relevant scoring rule are mapped.
I see 'INVALID_FIELD' errors in the sync log
I see 'INVALID_FIELD' errors in the sync log
This means PILLAR tried to fetch a field from your CRM that doesn’t exist in your org’s schema. This typically happens when a mapped field references a custom field that was deleted or renamed in your CRM. PILLAR’s Salesforce connector has fail-soft retry logic that automatically drops the invalid field and retries the query. Review your field mappings to remove or update the stale mapping.
How do I check what data PILLAR has synced?
How do I check what data PILLAR has synced?
Navigate to the Data Health dashboard (accessible from the main navigation). It shows coverage percentages for each data object, mapping coverage, picklist mapping warnings, and sync status across all connectors.