Fulcrum + Salesforce
Connect Fulcrum Field Data to Salesforce and Close the Gap Between the Field and CRM
Automate the flow of field inspection data, work orders, and asset records from Fulcrum directly into Salesforce. No manual data entry required.

Why integrate Fulcrum and Salesforce?
Fulcrum is a mobile data collection platform field teams use to capture inspections, surveys, and asset data in real time. Salesforce is the CRM managing customer relationships, service cases, and business pipelines. When these two platforms run separately, field intelligence never reaches the people who need it — decisions get delayed, data gets entered twice, and revenue slips through the cracks. Integrating Fulcrum with Salesforce via tray.ai closes that loop so every field record automatically updates your CRM.
Automate & integrate Fulcrum & Salesforce
Use case
Automatically Create Salesforce Cases from Fulcrum Inspection Failures
When a field technician submits a Fulcrum inspection record flagging a failed condition or compliance issue, tray.ai instantly creates a Salesforce Case linked to the relevant Account or Asset. The case is populated with inspection details, GPS coordinates, photos, and severity ratings captured in the field. Service managers in Salesforce can triage and dispatch follow-up work without ever opening Fulcrum.
Use case
Sync Fulcrum Work Order Completions to Salesforce Opportunities
For organizations that generate revenue from field services, completed Fulcrum work orders often signal a milestone in the sales or billing lifecycle. tray.ai detects when a Fulcrum record reaches a 'completed' status and automatically updates the corresponding Salesforce Opportunity stage, attaches completion documentation, or triggers quote generation. Revenue workflows keep moving without requiring field staff to log into Salesforce.
Use case
Push Fulcrum Site Survey Results to Salesforce Account Records
Field teams conducting site surveys in Fulcrum often collect data that belongs on a Salesforce Account — infrastructure details, asset counts, contact information, site conditions. tray.ai maps Fulcrum survey fields to Salesforce Account fields and upserts records automatically, so account data stays current without manual reconciliation between systems.
Use case
Create Salesforce Leads from Fulcrum Canvassing or Prospecting Records
Sales and business development teams using Fulcrum for door-to-door canvassing, utility prospecting, or community outreach can have every new contact record automatically pushed into Salesforce as a Lead. tray.ai maps Fulcrum form fields to Salesforce Lead attributes, applies lead source tags, and routes leads to the right owner — turning field conversations into pipeline entries within seconds.
Use case
Update Fulcrum Records When Salesforce Cases Are Resolved
Bidirectional integration means Salesforce can also drive updates back into Fulcrum. When a Salesforce Case tied to a Fulcrum inspection is closed or resolved, tray.ai updates the original Fulcrum record with resolution details, close-out notes, or status changes. Field teams get a complete picture of how their submitted records were actually handled.
Use case
Trigger Salesforce Tasks and Follow-Ups from Fulcrum Form Submissions
Certain Fulcrum submissions — customer visit reports, equipment audits, delivery confirmations — should automatically create follow-up tasks for account managers in Salesforce. tray.ai parses Fulcrum submission data, identifies the relevant Salesforce Contact or Account, and creates a dated Task assigned to the right team member, complete with notes from the field.
Use case
Sync Fulcrum Asset Records to Salesforce Custom Objects or Products
Organizations managing physical assets — utility infrastructure, equipment, facilities — often track asset data in Fulcrum during field inspections and need that data reflected in Salesforce for service contracts, warranty tracking, or sales planning. tray.ai maps Fulcrum asset records to Salesforce custom objects or Product records, keeping both systems aligned as assets are inspected, upgraded, or decommissioned.
Get started with Fulcrum & Salesforce integration today
Fulcrum & Salesforce Challenges
What challenges are there when working with Fulcrum & Salesforce and how will using Tray.ai help?
Challenge
Mapping Flexible Fulcrum Form Structures to Fixed Salesforce Objects
Fulcrum forms are highly customizable — teams can add, remove, or restructure fields at any time. Salesforce objects have defined schemas with required fields, picklist values, and validation rules. Keeping field mappings in sync as Fulcrum forms evolve is a persistent problem that breaks manual integrations.
How Tray.ai Can Help:
tray.ai's visual data mapper lets teams define and update field mappings without code. When Fulcrum forms change, integration owners can update mappings in the tray.ai workflow editor in minutes. Built-in data transformation functions handle type conversions, value normalization, and conditional logic to satisfy Salesforce validation rules automatically.
Challenge
Handling Duplicate Records Across Both Platforms
Field teams often submit multiple Fulcrum records related to the same Salesforce Account, Contact, or Case — especially during multi-visit projects or recurring inspections. Without deduplication logic, each submission risks creating a duplicate record in Salesforce instead of updating the right existing one.
How Tray.ai Can Help:
tray.ai workflows incorporate lookup steps that query Salesforce before creating any new record, using identifiers like email, phone, external ID, or custom Fulcrum record ID fields. Upsert operations replace blind inserts, and conditional branching ensures records are only created when no match is found — keeping Salesforce clean and accurate.
Challenge
Managing Real-Time vs. Batch Processing Tradeoffs
Some use cases — incident reporting, urgent inspections — require real-time data flow from Fulcrum to Salesforce. Others, like daily site survey digests, are better handled in scheduled batches to avoid hitting Salesforce API limits or generating noisy record updates throughout the day.
How Tray.ai Can Help:
tray.ai supports both event-driven triggers via Fulcrum webhooks and scheduled polling workflows on any time interval. Teams can run separate workflows for real-time critical paths and batched non-urgent data, with built-in rate limiting and Salesforce Bulk API support to stay within API governor limits regardless of data volume.
Challenge
Preserving Fulcrum Media and Attachments in Salesforce
Fulcrum's strength is rich media capture — photos, signatures, audio, file attachments collected in the field. Standard data sync integrations typically transfer only text fields, leaving visual evidence inaccessible to Salesforce users who need it for case management, compliance, or customer communication.
How Tray.ai Can Help:
tray.ai fetches binary file content directly from Fulcrum's Media API endpoints and uploads it to Salesforce's ContentVersion object, linking files to any Salesforce record type. Photos from inspections, signed documents, and field recordings end up inside Salesforce alongside the structured record data, with no manual file transfer required.
Challenge
Bidirectional Sync Without Infinite Loops
Organizations that need data flowing in both directions — Fulcrum to Salesforce and Salesforce back to Fulcrum — risk creating infinite update loops: a Salesforce update triggers a Fulcrum write, which fires a webhook back to Salesforce, and so on. Left unchecked, this destabilizes both systems and corrupts records.
How Tray.ai Can Help:
tray.ai workflows include conditional logic and state-tracking that prevent feedback loops. By stamping records with a tray.ai source identifier or using timestamp comparisons, workflows detect whether an update originated from an automation and skip re-processing — so bidirectional sync stays stable and each system reflects accurate, non-duplicated data.
Start using our pre-built Fulcrum & Salesforce templates today
Start from scratch or use one of our pre-built Fulcrum & Salesforce templates to quickly solve your most common use cases.
Fulcrum & Salesforce Templates
Find pre-built Fulcrum & Salesforce solutions for common use cases
Template
Fulcrum Inspection Failure → Salesforce Case Creator
Monitors Fulcrum for new records where an inspection result meets a failure threshold, then automatically creates a prioritized Salesforce Case linked to the matching Account, populated with field data, photos, and location metadata.
Steps:
- Trigger: New record submitted in Fulcrum with a status or field value indicating failure or non-compliance
- Lookup: Search Salesforce for the matching Account or Contact using location or customer ID from the Fulcrum record
- Action: Create a new Salesforce Case with mapped fields including description, priority, GPS coordinates, and photo attachments
Connectors Used: Fulcrum, Salesforce
Template
Fulcrum New Record → Salesforce Lead or Contact Upsert
Automatically creates or updates a Salesforce Lead or Contact every time a new Fulcrum record is submitted containing contact information, so field-captured prospect and customer data flows directly into the CRM pipeline.
Steps:
- Trigger: New Fulcrum record submitted containing contact name, phone, or email fields
- Decision: Check if a matching Lead or Contact already exists in Salesforce using email or phone lookup
- Action: Create a new Salesforce Lead with source attribution, or update the existing Contact with field-captured data
Connectors Used: Fulcrum, Salesforce
Template
Fulcrum Work Order Completion → Salesforce Opportunity Stage Updater
Watches for Fulcrum records transitioning to a completed status and automatically advances the linked Salesforce Opportunity to the appropriate stage, attaches completion documents, and optionally notifies the account owner via Salesforce Chatter or email.
Steps:
- Trigger: Fulcrum record status updated to 'Completed' or equivalent closed status
- Lookup: Identify the linked Salesforce Opportunity using a custom ID field or account reference stored in the Fulcrum record
- Action: Update Opportunity Stage in Salesforce, attach PDF summary of completed work, and post a Chatter notification to the Opportunity owner
Connectors Used: Fulcrum, Salesforce
Template
Salesforce Case Closure → Fulcrum Record Status Sync
A bidirectional workflow where resolving a Salesforce Case automatically pushes a status update back to the originating Fulcrum record, closing the loop between the CRM service team and the field data platform.
Steps:
- Trigger: Salesforce Case status updated to 'Closed' or 'Resolved'
- Lookup: Retrieve the originating Fulcrum record ID stored as a custom field on the Salesforce Case
- Action: Update the Fulcrum record status field and append resolution notes from the Case to the Fulcrum record comments
Connectors Used: Salesforce, Fulcrum
Template
Scheduled Fulcrum Submissions Digest → Salesforce Account Bulk Update
Runs on a schedule to collect all Fulcrum records submitted in the past 24 hours, groups them by Account, and performs a bulk upsert of account-level data into Salesforce. Useful for teams with high daily field activity who prefer batch processing over real-time updates.
Steps:
- Trigger: Scheduled run every 24 hours
- Fetch: Query Fulcrum API for all records submitted in the previous day, grouped by project and account reference
- Action: Perform bulk upsert of Salesforce Account fields using Salesforce Bulk API, updating contact details, asset counts, and field condition summaries
Connectors Used: Fulcrum, Salesforce
Template
Fulcrum Photo and Attachment Sync → Salesforce File Library
Captures photos and file attachments from Fulcrum submissions and uploads them as Salesforce Files linked to the relevant Account, Case, or Opportunity record, so field-captured visual evidence is accessible to CRM users who need it.
Steps:
- Trigger: New Fulcrum record submitted containing one or more photo or file attachments
- Fetch: Retrieve attachment URLs from Fulcrum and download file binaries via the Fulcrum Media API
- Action: Upload files to Salesforce Files (ContentVersion) and link them to the relevant Salesforce record using ContentDocumentLink
Connectors Used: Fulcrum, Salesforce