Products
Products
Video Hosting
Upload and manage your videos in a centralized video library.
Image Hosting
Upload and manage all your images in a centralized library.
Galleries
Choose from 100+templates to showcase your media in style.
Video Messaging
Record, and send personalized video messages.
CincoTube
Create your own community video hub your team, students or fans.
Pages
Create dedicated webpages to share your videos and images.
Live
Create dedicated webpages to share your videos and images.
For Developers
Video API
Build a unique video experience.
DeepUploader
Collect and store user content from anywhere with our file uploader.
Solutions
Solutions
Enterprise
Supercharge your business with secure, internal communication.
Townhall
Webinars
Team Collaboration
Learning & Development
Creative Professionals
Get creative with a built in-suite of editing and marketing tools.
eCommerce
Boost sales with interactive video and easy-embedding.
Townhall
Webinars
Team Collaboration
Learning & Development
eLearning & Training
Host and share course materials in a centralized portal.
Sales & Marketing
Attract, engage and convert with interactive tools and analytics.
"Cincopa helped my Enterprise organization collaborate better through video."
Book a Demo
Resources
Resources
Blog
Learn about the latest industry trends, tips & tricks.
Help Centre
Get access to help articles FAQs, and all things Cincopa.
Partners
Check out our valued list of partners.
Product Updates
Stay up-to-date with our latest greatest features.
Ebooks, Guides & More
Customer Stories
Hear how we've helped businesses succeed.
Boost Campaign Performance Through Video
Discover how to boost your next campaign by using video.
Download Now
Pricing
Watch a Demo
Demo
Login
Start Free Trial
Salesforce B2B Commerce is built on the Salesforce Core Platform , leveraging shared infrastructure like Einstein AI , Sales Cloud , and Experience Cloud to unify B2B transactions with CRM workflows. Key components such as Buyer Groups , Contract Catalogs , and Price Books enable scalable, role-specific commerce experiences, while Salesforce CMS and DAM integrations handle dynamic media delivery. The platform directly supports complex B2B buying cycles by embedding video-centric workflows (such as onboarding media, role-based explainers, and interactive product demos) into purchasing, training, and support processes. Contract-Based Pricing & Buyer-Specific Catalogs In B2B commerce, pricing must reflect negotiated contracts that vary by buyer. Salesforce enforces this through price books and catalog entitlements, ensuring that each logged-in business account only sees the products and prices specific to their agreement. This avoids manual overrides and enables scalable pricing governance. // Apex controller method @AuraEnabled(cacheable=true) public static List
getContractProducts(Id accountId) { // Fetches pricebook tied to the contract Id contractPriceBookId = [ SELECT Pricebook2Id FROM Contract WHERE AccountId = :accountId AND Status = 'Activated' LIMIT 1 ].Pricebook2Id; List
result = new List
(); List
entries = [ SELECT Product2.Name, Product2.Description, UnitPrice FROM PricebookEntry WHERE Pricebook2Id = :contractPriceBookId AND IsActive = true ]; for (PricebookEntry entry : entries) { result.add(new ProductWrapper(entry.Product2.Name, entry.Product2.Description, entry.UnitPrice)); } return result; } Explanation : Defines an Apex controller method annotated with @AuraEnabled(cacheable=true) to allow Lightning components to call it efficiently. Accepts an accountId and retrieves the Pricebook2Id linked to the activated contract for that account. Queries all active PricebookEntry records tied to the contract’s pricebook, retrieving product name, description, and unit price. Wraps each PricebookEntry into a ProductWrapper object and compiles the list into the result collection. Account Hierarchies & Delegated Purchasing Large B2B buyers typically operate through regional branches, subsidiaries, or functional teams. SFCC models this using parent-child account hierarchies. Coupled with delegated roles like Procurement Manager or Finance Approver, so that only authorized buyers can place orders, approve quotes, or manage budgets. { 'parentAccount': 'Acme Corporation', 'childAccount': 'Acme West Region', 'userRole': 'procurement_manager', 'permissions': ['add_to_cart', 'submit_order'] } Explanation : Represents account hierarchy permissions using a JSON structure. The parentAccountId identifies the top-level account. The childAccounts array contains nested account objects under the parent. Each child account includes an ID , a purchaseLimit value, and an array of approvers . ERP Sync via APIs/MuleSoft SFCC supports real-time data sync with ERP systems like SAP, Oracle, and NetSuite using MuleSoft (Salesforce’s iPaaS offering) or native REST/SOAP API connectors. This allows operations like credit validation, order status updates, and invoice generation to be handled by back-office systems while still surfacing accurate information in the buyer’s storefront. { 'orderId': '8901-A', 'erpSystem': 'SAP', 'status': 'fulfilled', 'trackingNumber': '1Z2345UPS', 'invoicePosted': true } Explanation : The video tag includes a slot attribute to determine where it appears in the layout ( productDemo ). data-role='procurement_manager' restricts visibility or rendering based on the user’s assigned role. The src attribute dynamically binds to a CMS or Salesforce variable ( {!v.videoAssetUrl} ). Role-Based Video Onboarding & Training B2B buyers need role-specific help to navigate complex catalogs or configure bulk orders. Salesforce CMS supports content segmentation by persona for onboarding videos, feature tours, and configuration guidance to appear only to relevant users, such as procurement officers or technical consultants.
Explanation : Embeds a video element within a CMS template using a named slot ( productDemo ) for placement flexibility. Associates the video with a specific user role ( procurement_manager ) through a data-role attribute to enable conditional rendering. Dynamically binds the video source URL using the {!v.videoAssetUrl} expression for runtime asset injection. Buyer Login and Session-Level Personalization Once logged in, users see a storefront personalized to their account and role. In traditional Lightning-based setups, session state is stored in Apex controllers and Aura components using a session-scoped cache. In headless setups using PWA Kit or LWR, login state is managed via JWT tokens and persisted in client-side state (e.g., Redux). // Sample session-based personalization if (session.userRole === 'technical_buyer') { showDocumentationLinks(); } else if (session.userRole === 'procurement_manager') { showBulkOrderCTA(); } Explanation : Implements session-based personalization by evaluating the userRole stored in the session object. Triggers the showDocumentationLinks() function when the user is identified as a technical_buyer , surfacing technical resources. Executes the showBulkOrderCTA() function for procurement_manager roles to emphasize purchasing workflows. Video-Driven B2B Product Education In industries like industrial manufacturing, healthcare, or telecommunications, B2B buyers require a deep technical understanding before making purchases. SFCC allows embedding educational videos into product detail pages to walk through compliance specs, installation workflows, or integration patterns. These videos can be hosted via CDN, lazy-loaded for performance, and tracked for engagement analytics.
Explanation : Associates the video with a specific SKU ( WGT-4490 ) using the data-sku attribute for tracking or product linking. Uses a thumbnail image ( widget.jpg ) as the poster to display before playback starts. Enables lazy-load='true' to defer video loading until it's needed, optimizing page performance and bandwidth usage. Real-Time Contract-Aware Pricing via APIs Contractual pricing in SFCC is enforced at the API layer. Headless storefronts built using PWA Kit, Lightning Web Runtime (LWR), or third-party stacks can call SCAPI or GraphQL endpoints to retrieve account-specific pricing dynamically. POST /api/pricing/resolve { 'accountId': '0039000002Rz9u', 'skus': ['PART-RED-500', 'KIT-BUNDLE-XL'] } { 'prices': [ { 'sku': 'PART-RED-500', 'unitPrice': 4.99 }, { 'sku': 'KIT-BUNDLE-XL', 'unitPrice': 39.99 } ] } Explanation : The POST /api/pricing/resolve endpoint accepts an accountId to identify the B2B buyer. The SKUs array lists the product SKUs for which pricing is being requested. The response contains a prices array, where each object maps a SKU to its unitPrice , reflecting contract terms.