Security Notice
This document has been auto-published from the internal knowledge base. All passwords, API keys, tokens, and IP addresses have been redacted for security.
Salesforce Playbook — Domain Specialist
Connection Architecture
Salesforce → Power Automate (Azure API Hub connector) → n8n Salesforce Data Hub → Dashboards- No direct Salesforce API — all data flows through Power Automate
- n8n Data Hub:
aXxt5OPrwtVoGZsQ(ACTIVE), webhookPOST /sf-data - API Key:
[API_KEY]
Pipeline Stages (WSI Sales Process)
Prospect → Conversing with PIC → Opportunity → Active → Won
↘ Freezer (dormant)- Prospect: Initial contact, no engagement yet
- Conversing with PIC: Talking to Person in Charge, gathering intel
- Opportunity: Quoted, active negotiation
- Active: Shipping cargo, revenue generating
- Won: Closed deal, ongoing business
- Freezer: Went dormant, revisit later
WSI Sales Team (9 users total)
| Name | Role | Territory | Profile | Status |
|---|---|---|---|---|
| Janice Kim | #1 Sales | SoCal (largest book) | Sales 00eKd000001APnrIAG | Active |
| Thomas Kim | #2 Sales | LAX | Sales alt 00eVp000001sqDxIAI | Active |
| George Damwijk | Sales | Arizona | Sales 00eKd000001APnrIAG | Active |
| Jimmy Yim | Sales | SoCal | Sales 00eKd000001APnrIAG | Active |
| Michael Mendoza | Sales | AZ / National | Sales 00eKd000001APnrIAG | Active |
| Cristhian Trinidad | Sales | Mexico | Admin 00eKd000001X48MIAS | Active |
| Jeff Chang | Sales | — | Sales 00eKd000001APnrIAG | Inactive (since Jul 2025) |
| Manuel Chavez | Admin | — | Admin 00eKd000001X48MIAS | Active (system) |
| System/Integration | — | — | — | Active (system) |
Salesforce Objects (Documented)
Account
- ~100+ accounts, mostly US (CA/AZ), some MX
- Key custom field:
CWCode__c= CargoWise Company Code (links SF Account ↔ CW OrgHeader.OH_Code) - Custom fields: DataMyne trade intel (competitors, ports, HS codes, volumes)
- Service mode booleans: Ocean, Air, OTR
- Owner: Assigned to sales rep (User.Id)
Top Accounts by Volume
| Account | TEU (Last Year) | Key Cargo | Sales Rep |
|---|---|---|---|
| Tireco | 18,000 | Tires | — |
| Koyorad | 908 | Auto radiators | — |
| Liberty Paper | 825 | Paper products | — |
| VM International | 480 | — | — |
| Twenty Four 7 | 430 (CY) | — | — |
Opportunity
- Linked to Account
- Stages match pipeline above
Amount= deal valueCloseDate= expected closeStageName= current pipeline stage- Used for:
total_pipeline,weighted_pipeline,win_rate_pct,avg_deal_size
Task
- Activities assigned to users
- Types: Email, Call, Follow-up
Status: Open, Completed, DeferredActivityDate: Due date- Sample data: Mostly George Damwijk emails (Feb–Mar 2025), rate trends China→AZ ($5.8K→$4.6K)
- Key leads in tasks: Barron Lighting, UP Auto, Today's Patio, GT Industries
Event
- Calendar activities (meetings, calls)
StartDateTime,EndDateTime- Linked to Account/Contact
Contact
- People at accounts
- Linked to Account via
AccountId
Lead
- Pre-account prospects
LeadSource: Web, Referral, Trade Show, etc.Status: New, Working, Qualified, Converted
User
- SF system users (sales reps, admins)
IsActivebooleanProfileIdlinks to profile (Admin vs Sales)
DataMyne Fields (Trade Intelligence)
Custom fields on Account for competitive intel:
- Competitors: Who else ships for this account
- Ports: Origin/destination ports used
- HS Codes: Product classification codes
- Volumes: Historical TEU/shipment counts
- Trade lanes: Origin country → destination pairs
Salesforce Data Hub (n8n Workflow)
Actions
| Action | Input | Output |
|---|---|---|
push | Raw SF objects from Power Automate | Stores in staticData |
get | Optional object type filter | Returns cached SF data |
stats | — | Computed metrics (see below) |
Stats Response Fields
json
{
"total_pipeline": 0,
"weighted_pipeline": 0,
"win_rate_pct": 0,
"avg_deal_size": 0,
"open_leads": 0,
"overdue_tasks": 0,
"total_accounts": 0,
"total_contacts": 0,
"stage_breakdown": {},
"lead_sources": {},
"pipeline_by_owner": {}
}Power Automate Push Schedule
Recap JSON cada 20 minutosflow pushes email data every 20 min- SF object sync: Opportunities, Accounts, Contacts, Leads, Tasks, Events, Users
Sales MC Scoring Model
Weighted Scorecard (A+ to F)
- 7 real WSI salespeople scored monthly (6 active + Jeff Chang inactive)
- 12 months of historical data
- Grades: A+, A, B+, B, C+, C, D, F
- Current rankings (2026-02-23):
- Janice Kim — A+
- Thomas Kim
- George Damwijk
- Jimmy Yim
- Michael Mendoza
- Cristhian Trinidad
- Jeff Chang (inactive,
active=0)
Import Intel (Sales MC)
10 records with real WSI accounts: Tireco, Koyorad, Liberty Paper, Barron Lighting, GT Industries, VM Int'l, UP Auto, Today's Patio, Twenty Four 7, Grupo Logistico
Sales MC API Endpoints
| Endpoint | Purpose |
|---|---|
/api/kpis | KPI summary |
/api/scorecard | Full scorecard with grades |
/api/salespeople/:id | Individual drill-down |
/api/alerts | Active alerts |
/api/sync/salesforce | Trigger SF data sync |
/api/upload/import-intel | Upload import intel data |
/api/entity-review | Entity review |
POST /api/digest | Store AI-generated daily digest (key: digest_wsi_9f3a2b7c8e1d4056) |
GET /api/digest/latest | Return most recent AI digest with parsed JSON + staleness flag |
Dashboard Integrations
Mission Control (Section 8 — Salesforce CRM)
- Generated by
gen_salesforce()ingenerate.py - KPIs: pipeline, weighted, deals, win rate, avg deal
- Stage breakdown bars, lead sources, activity chart
- Polls n8n
sf-datawebhook every 2 min
WSI MC
- Section references Salesforce data via n8n API
Sales MC (sales.handymanny.cloud)
- Full React app with Express backend
- SQLite database with seed data
- Re-seed:
ssh ... "docker volume rm sales-mc_sales-data"then redeploy