Yeah this one tripped me up too when I first looked at it. If you're seeing work orders complete in FieldPulse but the linked Salesforce Opportunity just sits there at "Prospecting" or whatever your default is, you're probably hitting a edge case around custom picklist values.
What's happening
The Salesforce integration maps FieldPulse work order status → Opportunity StageName. When we query your Salesforce org to build that mapping, we paginate through the PicklistValues metadata. Problem is: if you've got a custom field with more than 100 picklist options (yeah, I've seen it — one org had 247 stages for some reason), we only get the first page. So if your actual live Opportunity Stage values fall outside that first 100, the sync silently fails to find a match and... doesn't update anything. No error, no warning, just a no-op.
Solid reproduction
// This'll show you if you're affected
GET /services/data/v58.0/sobjects/Opportunity/describe
// Look for StageName.picklistValues — count 'em
If that array's truncated at 100 and your target stage is #103, boom, that's your bug.
Current status
Fix targeted for 3.3 — we're moving to the newer /tooling/sobjects/FieldDefinition endpoint which handles large picklists properly. ETA late March.
Workaround for now
Two options, neither great:
- Trim your picklists. If you've got 200+ stages, some of those are probably dead anyway. Archive the unused ones and bring yourself under 100. I know, I know — "go clean up your Salesforce" is never the answer people want.
- Manual webhook bridge. Fire a webhook on
work_order.status_changed, hit your own middleware, and call Salesforce's REST API directly with the right StageName. More work, but it sidesteps our metadata query entirely. There's a thread on webhook troubleshooting here if you go this route.
Related: if you're also seeing Zapier triggers missing custom fields, it's the same underlying pagination issue across our Salesforce metadata fetching. Fixing one fixes both.
Will update this thread when the 3.3 beta drops. If you're on the beta program and want to test the fix early, hit me up.