Salesforce Sync & Cache Audit

Prev Next

This page is the full technical audit of how Forge keeps your Salesforce data in sync — every Salesforce object across Blackthorn's Events, Payments, Fundraising, and Base packages, cross-referenced against what Forge actually caches, how fast, and what to check if something looks like it isn't syncing. It's more detailed than the summary in the Sync & Caching section above — this is the reference version for anyone who wants the full picture, including your own technical/admin team.

As of

This audit reflects Forge's sync/cache configuration as of 2026-09-22. Object names below are the real Salesforce API names from Blackthorn's managed packages, so this page intentionally keeps technical identifiers rather than only plain-language names.

How sync & caching actually works

Forge has three structurally distinct read-cache mechanisms, plus one shared write path. None of them are bidirectional — every write goes through a separate path and then (sometimes) explicitly invalidates a cached row.

  • A generic, tenant-wide Salesforce-to-Postgres object cache. This is where the large majority of cached objects land (86 of them as of 2026-09-22 — see the table below). It is read-only from Salesforce's perspective — this path never writes back to Salesforce.
  • Feature-specific computed-metrics caches (dashboard and pipeline/ROI summaries) — these don't store raw Salesforce records; they run live queries against Salesforce on each refresh and persist a computed summary.
  • Short-lived, Redis-only response/lookup caches (event basics, display names, session-meta, related-lists, edit-access) — invalidated explicitly whenever the underlying data is written.
  • The write path (Forge to Salesforce): a synchronous path for most writes, and a durable, asynchronous write-through queue for a defined set of objects (mainly Payments, Donations, Fundraising, and Auctions) that's drained by a background reconciler.

Login/session warm-up: whenever a user with a session active in the last 30 days causes Forge to boot up, all 86 cached objects get an incremental sync attempt for that tenant, bounded per-tenant so it can't run indefinitely. This is a tenant-wide warm, not scoped to the person logging in — today it's all-or-nothing across every event and time range for that tenant.

Tier Refresh cadence
Hot Every 5 minutes, plus login warm-up
Warm Every 10 minutes, plus login warm-up
Cold No dedicated cadence — only login warm-up and the full 6-hour sweep touch these
Full sweep (all 86 objects, every tenant) Every 6 hours

Portal (Contact-authenticated) reads go through a single, strictly read-only chokepoint that re-reads the same cached rows with an owner-field check, so a donor or bidder portal only ever sees their own records.

What's cached, and how fast

Every object below is cached in one shared Postgres table, keyed per tenant and record. Salesforce is always the source of truth — Forge never writes to this cache from a user action, only from sync jobs.

Cache key Salesforce API name Tier When it refreshes
Event conference360__Event__c Hot login-warm, 5min, 6h
Session conference360__Session__c Hot login-warm, 5min, 6h
Ticket conference360__Event_Item__c Hot login-warm, 5min, 6h
Order bt_stripe__Sales_Document__c Hot login-warm, 5min, 6h, + on-demand full refresh
Transaction bt_stripe__Transaction__c Hot login-warm, 5min, 6h, + on-demand full refresh
Form Submission conference360__Form_Submission__c Hot login-warm, 5min, 6h
Sponsor conference360__Sponsor__c Hot login-warm, 5min, 6h
Speaker conference360__Speaker__c Hot login-warm, 5min, 6h
Attendee conference360__Attendee__c Hot login-warm, 5min, 6h
Form conference360__Form__c Warm login-warm, 10min, 6h
Form Element conference360__Form_Element__c Warm login-warm, 10min, 6h
Form Element Condition conference360__Form_Element_Condition__c Warm login-warm, 10min, 6h
Invoice Line bt_stripe__Line_Item__c Warm login-warm, 10min, 6h, + on-demand single-invoice fallback
Budget Expense conference360__Budget_Expense__c Warm login-warm, 10min, 6h
Session Speaker conference360__Session_Speaker__c Warm login-warm, 10min, 6h
Attendee Group conference360__Attendee_Group__c Warm login-warm, 10min, 6h
Attendee Data Message conference360__Attendee_Data_Message__c Warm login-warm, 10min, 6h
Event Asset conference360__Event_Asset__c Warm login-warm, 10min, 6h
Payment Gateway bt_stripe__Payment_Gateway__c Warm login-warm, 10min, 6h
Campaign Campaign (standard) Warm login-warm, 10min, 6h
Sponsor Benefit conference360__Sponsor_Benefit__c Warm login-warm, 10min, 6h
Discount conference360__Discount__c Warm login-warm, 10min, 6h (unverified — this exact API name does not appear in the checked-in package catalog; see the callout below)
Donation bt_fundraising__Donation__c Warm login-warm, 10min, 6h (display only — donation writes always go live via sf-outbox.ts, never through this cache)
Portal Contact Role conference360__Portal_Contact_Role__c Warm login-warm, 10min, 6h (infra only — no portal read consumes it yet)
Auction Registration bt_fundraising__Auction_Registration__c Warm login-warm, 10min, 6h
Session Attendee conference360__Session_Attendee__c Warm login-warm, 10min, 6h
Table conference360__Table__c Cold login-warm, 6h only
Seat conference360__Seat__c Cold login-warm, 6h only
Code bt_stripe__Code__c Cold login-warm, 6h only
Custom Content conference360__Custom_Event_Tab__c Cold login-warm, 6h only
Event Group conference360__Event_Group__c Cold login-warm, 6h only
Logistics Entry conference360__Logistics_Entry__c Cold login-warm, 6h only
Logistics Pillar Status conference360__Logistics_Pillar_Status__c Cold login-warm, 6h only (unverified — this exact API name does not appear in the checked-in package catalog; see the callout below)
Rule bt_base__Rule__c Cold login-warm, 6h only
Rule Condition bt_base__Rule_Condition__c Cold login-warm, 6h only
Form Big List Group conference360__Form_Big_List_Group__c Cold login-warm, 6h only
Form Big List Option conference360__Form_Big_List_Option__c Cold login-warm, 6h only
Fee bt_stripe__Fee__c Cold login-warm, 6h only
Event Settings conference360__Event_Settings__c Cold login-warm, 6h only
Data Dictionary Group bt_stripe__Data_Dictionary_Group__c Cold login-warm, 6h only
Waitlist conference360__Waitlist__c Cold login-warm, 6h only
Event FAQ conference360__Event_FAQ__c Cold login-warm, 6h only
Event Content conference360__Event_Content__c Cold login-warm, 6h only
Staff conference360__Staff__c Cold login-warm, 6h only
Contact Contact (standard) Cold login-warm, 6h only (tenant-wide, not event-scoped)
Session Staff conference360__Session_Staff__c Cold login-warm, 6h only
Keyword conference360__Keyword__c Cold login-warm, 6h only — added 2026-09-22
Translation bt_base__Translation__c Cold login-warm, 6h only — added 2026-09-22
Visibility Rule bt_base__Visibility_Rule__c Cold login-warm, 6h only — added 2026-09-22
Badge Printing Configuration conference360__Badge_Printing_Configuration__c Cold login-warm, 6h only — added 2026-09-22
Badge Printing Configuration Details conference360__Badge_Printing_Configuration_Details__c Cold login-warm, 6h only — added 2026-09-22
Event Item Session conference360__Event_Item_Session__c Cold login-warm, 6h only — added 2026-09-22
Event Keyword conference360__Event_Keyword__c Cold login-warm, 6h only — added 2026-09-22
Event Notification conference360__Event_Notification__c Cold login-warm, 6h only — added 2026-09-22
Event Ticket conference360__Event_Ticket__c Cold login-warm, 6h only — added 2026-09-22
Form Question conference360__Form_Question__c Cold login-warm, 6h only — added 2026-09-22
Recurring Events conference360__Recurring_Events__c Cold login-warm, 6h only — added 2026-09-22
Room conference360__Room__c Cold login-warm, 6h only — added 2026-09-22
Resource conference360__Resource__c Cold login-warm, 6h only — added 2026-09-22
Session Keyword conference360__Session_Keyword__c Cold login-warm, 6h only — added 2026-09-22
Session Resource conference360__Session_Resource__c Cold login-warm, 6h only — added 2026-09-22
Track Attendee conference360__Track_Attendee__c Cold login-warm, 6h only — added 2026-09-22
Track conference360__Track__c Cold login-warm, 6h only — added 2026-09-22
Webinar Account conference360__Webinar_Account__c Cold login-warm, 6h only — added 2026-09-22
Auction bt_fundraising__Auction__c Cold login-warm, 6h only — added 2026-09-22
Auction Item bt_fundraising__Auction_Item__c Cold login-warm, 6h only — added 2026-09-22
Auction Bundle bt_fundraising__Auction_Bundle__c Cold login-warm, 6h only — added 2026-09-22
Auction Bundle Item bt_fundraising__Auction_Bundle_Item__c Cold login-warm, 6h only — added 2026-09-22
Auction Item Allocation bt_fundraising__Auction_Item_Allocation__c Cold login-warm, 6h only — added 2026-09-22
Auction Appeal bt_fundraising__Auction_Appeal__c Cold login-warm, 6h only — added 2026-09-22
Auction Pledge bt_fundraising__Auction_Pledge__c Cold login-warm, 6h only — added 2026-09-22
Auction Transaction bt_fundraising__Auction_Transaction__c Cold login-warm, 6h only — added 2026-09-22
Bid bt_fundraising__Bid__c Cold login-warm, 6h only — added 2026-09-22
Raffle bt_fundraising__Raffle__c Cold login-warm, 6h only — added 2026-09-22
Raffle Entry bt_fundraising__Raffle_Entry__c Cold login-warm, 6h only — added 2026-09-22
Donated Item bt_fundraising__Donated_Item__c Cold login-warm, 6h only — added 2026-09-22
Donation Allocation bt_fundraising__Donation_Allocation__c Cold login-warm, 6h only — added 2026-09-22
Donation Soft Credit bt_fundraising__Donation_Soft_Credit__c Cold login-warm, 6h only — added 2026-09-22
Pledge bt_fundraising__Pledge__c Cold login-warm, 6h only — added 2026-09-22
Gift Aid Declaration bt_fundraising__Gift_Aid_Declaration__c Cold login-warm, 6h only — added 2026-09-22
P2 PParticipant bt_fundraising__P2P_Participant__c Cold login-warm, 6h only — added 2026-09-22
P2 PTeam bt_fundraising__P2P_Team__c Cold login-warm, 6h only — added 2026-09-22
Designation bt_fundraising__Designation__c Cold login-warm, 6h only — added 2026-09-22
Recurring Gift bt_fundraising__Recurring_Gift__c Cold login-warm, 6h only — added 2026-09-22
Code Eligibility bt_stripe__Code_Eligibility__c Cold login-warm, 6h only — added 2026-09-22
Data Dictionary Entry bt_stripe__Data_Dictionary_Entry__c Cold login-warm, 6h only — added 2026-09-22

(86 cached objects total as of 2026-09-22. Fundraising settings/config objects (Auction Setting, Donation Settings, and a handful of custom-metadata configuration objects) were deliberately left out of the cache — they're per-org configuration, not per-record data, so there's nothing to sync per record.

Two objects need verification

Discount__c and Logistics_Pillar_Status__c are referenced by the cache configuration but do not appear in Blackthorn's checked-in Events package object catalog under those exact names. Logistics_Entry__c is in the catalog, but its fields read like an internal Forge task-tracking object rather than a genuine Events package object. If your org reports records under any of these three never showing up, that's the most likely cause — please contact support so we can verify the object identity against your org directly.

Per-event vs. tenant-wide syncing

A subset of objects — Session, Ticket, Form Submission, Sponsor, Speaker, Budget & Expense, Table, Custom Content, Exhibit Space, Exhibit Assignment, Sponsor Benefit, Attendee Group, Discount, Waitlist, Order, Event FAQ, Event Content, and Staff — can also be synced scoped to a single event, on demand. Everything else only syncs tenant-wide, across every event at once.

Not synced — always queried live

These objects are known to Forge but intentionally excluded from the cache system entirely — any screen reading them always queries Salesforce live, never a cache. This is by design, not a sync gap, though it's the first thing to check if a customer reports one of these “not syncing.”

Salesforce API name Notes
conference360__Email_Template__c —
conference360__Exhibit_Space__c —
conference360__Exhibit_Assignment__c —
conference360__Expense_Entry__c —
conference360__FAQ_Category__c —
conference360__FAQ_Question__c —
conference360__Track_Session__c —

Computed summary caches

Two dashboards don't store raw Salesforce records at all — they run a live query across several objects and persist just the computed summary, refreshing on-demand when the summary looks stale.

Feature Salesforce objects queried live When it refreshes
Dashboard summary Event, Ticket, Attendee, Line Item, Order, Transaction, Session, Session Attendee, Campaign On-demand when stale, plus a background sweep
Pipeline / ROI summary Opportunity, Campaign Influence, Opportunity Contact Role, Campaign Member On-demand when viewed

Short-lived caches

A handful of small, fast-expiring caches sit in front of specific screens — event basics, display names, session-list results, related-list rows, and edit-permission checks. These exist purely for responsiveness (seconds to a few minutes), not durability, and are cleared automatically whenever the underlying record is written.

How writes reach Salesforce

Most Forge writes go straight to Salesforce synchronously. A defined set of objects — mainly Payments, Donations, Fundraising, and Auctions — instead go through a durable queue: the write is recorded, then a background process executes the real Salesforce write shortly after.

  • Payments: Invoice (Sales Document), Transaction, Line Item, Payment Schedule.
  • Donations / Fundraising: Donation, Donation Allocation, Donation Soft Credit, Recurring Gift, Pledge, Gift Aid Declaration, P2P Participant, P2P Team, Designation.
  • Auctions: Auction Registration, Auction Transaction, Auction Item, Auction Bundle, Auction Appeal, Auction Pledge, Bid, Raffle Entry.
  • Events: Attendee, Event, Session Attendee, Attendee Group, Form Submission, Form Submission Answer, Seat, Table.
Why a recent write can look stale for a few minutes

For any object that's both queued for write-through AND cached for reads (Order, Transaction, Donation, and Attendee Group are common examples), there's a short window where the write is confirmed but the cached read hasn't picked it up yet — up to a few minutes for hot/warm objects, up to 6 hours for cold-tier ones. This is expected lag, not a bug, unless the screen you wrote from doesn't show your own change immediately.

Full object catalog by package

Cross-referencing every Salesforce object across all four managed packages against cache status. “Not in cache system” does not mean Forge never reads an object — many are queried live outside the tiered cache system, or are pure configuration/metadata objects with no sync concept at all — only that it isn't part of the tiered cache/warm-sync system covered above.

blackthorn-base (bt_base__) — 26 objects

Base package objects (forms infrastructure, visibility rules, translations, scheduling).

Salesforce API name Label Cache status
Blackthorn_Base_Settings_Protected__c Blackthorn | Base Settings Protected Not in cache system
Blackthorn_Base_Settings__c Blackthorn | Base Settings Not in cache system
Branding_Setting__c Branding Setting Not in cache system
FeatureToggle__mdt Blackthorn Feature Toggle Not in cache system (custom metadata, not a record type the cache system handles)
Form_Big_List_Group__c BT Form Big List Group (Deprecated) Not in cache system — deprecated; do not confuse with conference360__Form_Big_List_Group__c, which IS cached
Form_Big_List_Option__c BT Form Big List Option (Deprecated) Not in cache system — deprecated
Form_Element_Condition__c BT Form Element Condition (Deprecated) Not in cache system — deprecated
Form_Element__c BT Form Element (Deprecated) Not in cache system — deprecated
Form_Question_Map_To_Object__mdt Form Question Map To Object Not in cache system
Form_Submission_Answer__c BT Form Submission Answer (Deprecated) Not in cache system — deprecated
Form_Submission__c BT Form Submission (Deprecated) Not in cache system — deprecated
Form__c BT Form (Deprecated) Not in cache system — deprecated
Keyword__c BT Keyword Not in cache system
Protected_Key__mdt Protected Key Not in cache system
Rule_Condition__c BT Rule Condition Cached (cold)
Rule__c BT Rule Cached (cold)
SCH_Schedule_Action__c Schedule Action Not in cache system
SCH_Schedule_Config__c Blackthorn Schedule Config Not in cache system
SCH_Schedule_Delta_Request__c Schedule Delta Request Not in cache system
SCH_Schedule__c Schedule Not in cache system
Schedule_Execution_Log__c Schedule Execution Log Not in cache system
Schedule_Execution__c Schedule Execution Not in cache system
Translation__c Translation Cached (cold) — added 2026-09-22
Visibility_Rule__c (empty label in source XML) Cached (cold) — added 2026-09-22

events (conference360__) — 119 objects

Events package objects — the largest package, covering the full event/session/attendee/form surface.

Salesforce API name Label Cache status
Attendee_Data_Message__c Event Attendee Data Message Cached (warm)
Attendee_Group__c Attendee Group Cached (warm)
Attendee__c Attendee Cached (hot)
Badge_Printing_Configuration_Details__c Badge Printing Configuration Detail Cached (cold) — added 2026-09-22
Badge_Printing_Configuration__c Badge Printing Configuration Cached (cold) — added 2026-09-22
Bee_Configuration__mdt Bee Configuration Not in cache system
Blackthorn_Events_Settings_Protected__c Blackthorn | Events Settings Protected Not in cache system
Blackthorn_Events_Settings__c Blackthorn | Events Settings Not in cache system
Blackthorn_Events_User_Settings__c Blackthorn | Events User Settings Not in cache system
Blackthorn_Events_Whitelisted_Domains__c Blackthorn Events Whitelisted Domains Not in cache system
Budget_Alert_Threshold__c Budget Alert Threshold Not in cache system
Budget_Expense__c Budget & Expense Cached (warm)
Cloudinary_Credential__mdt Cloudinary Credential Not in cache system
Comms_Priority_Rule__c (name-field label, not object label — verify) Not in cache system
Comms_Queue_Entry__c (name-field label, not object label — verify) Not in cache system
Comms_Source__c (name-field label, not object label — verify) Not in cache system
Communication__c (name-field label, not object label — verify) Not in cache system
Custom_Event_Tab__c Custom Content Cached (cold), as CustomContent
DataSyncRetry__c Data Sync Retry Not in cache system
Email_Blast__c Email Blast Not in cache system
Email_Settings__c Blackthorn | Email Settings Not in cache system
Email_Template__c Email Template Declared, not synced
Event_Ad__c Event Ad Not in cache system
Event_Attendee_Data__c Event Attendee Data Not in cache system
Event_Builder_Configuration__mdt Event Builder Configuration Not in cache system
Event_Commitment__c Event Commitment Not in cache system
Event_Content__c Event Content Cached (cold)
Event_FAQ__c Event FAQ Cached (cold)
Event_Group_Association__c Event Group Association Not in cache system
Event_Group__c Event Group Cached (cold)
Event_Item_Purchase__c Event Item Purchase (Deprecated) Not in cache system
Event_Item_Session__c Event Item Session Cached (cold) — added 2026-09-22
Event_Item__c Event Item Cached (hot), as Ticket
Event_Keyword__c Event Keyword Cached (cold) — added 2026-09-22
Event_Notification__c Event Notification Cached (cold) — added 2026-09-22
Event_PM_Notification__c Event Project Manager Notification Not in cache system
Event_ROI_Target__c Event ROI Target Not in cache system
Event_Registration_Submission__c Event Registration Submission Not in cache system
Event_Settings__c Event Settings Cached (cold)
Event_Staff_Profile__c Event Staff Profile Not in cache system
Event_Task_Dependency__c Event Task Dependency Not in cache system
Event_Task_Template__c Event Task Template Not in cache system
Event_Ticket__c (empty label in source XML) Cached (cold) — added 2026-09-22
Event_User_Identity__c Event User Identity Not in cache system
Event__c Event Cached (hot)
Exhibit_Assignment__c Exhibit Assignment Declared, not synced
Exhibit_Space__c Exhibit Space Declared, not synced
Expense_Entry__c Expense Entry Declared, not synced
FAQ_Category__c FAQ Category Declared, not synced
FAQ_Question__c FAQ Question Declared, not synced
Finance_Approval_Event__c Finance Approval Event Not in cache system
Finance_Approval_Request__c Finance Approval Request Not in cache system
Finance_Approval_Rule__c Finance Approval Rule Not in cache system
Flight__c Flight Not in cache system
Floor__c (empty label in source XML) Not in cache system
Form_Big_List_Group__c Form Big List Group Cached (cold)
Form_Big_List_Option__c Form Big List Option Cached (cold)
Form_Element_Condition__c Form Element Condition Cached (warm)
Form_Element__c Form Element Cached (warm)
Form_Question__c (empty label in source XML) Cached (cold) — added 2026-09-22
Form_Submission_Answer__c Form Submission Answer Not in cache system
Form_Submission__c Blackthorn Events Form Submission Cached (hot)
Form__c Form Cached (warm)
Hotel_Room_Block__c Hotel Room Block Not in cache system
Hotel_Room__c Hotel Booking Not in cache system
Keyword__c Keyword Cached (cold) — added 2026-09-22
Logistics_Entry__c Not confirmed against this exact API name (see the callout above) Cached (cold) (unverified — see callout above)
Mass_Email__c Mass Email Not in cache system
Mobile_Attendee_App_Usage__c Mobile App Usage Not in cache system
Mobile_Check_In_Submission__c Mobile Check In Submission Not in cache system
PO_Reconciliation__c PO Reconciliation Not in cache system
PersonAccount__c (empty label in source XML) Not in cache system
Portal_Contact_Role__c Portal Contact Role Cached (warm)
Protected_Key__mdt Protected Key Not in cache system
Purchase_Order_Line__c Purchase Order Line Not in cache system
Purchase_Order__c Purchase Order Not in cache system
Recurring_Events__c Recurring Event Cached (cold) — added 2026-09-22
Resource__c Resource Cached (cold) — added 2026-09-22
Room__c Room Cached (cold) — added 2026-09-22
Seat__c Seat Cached (cold)
Session_Attendee__c Session Attendee Cached (warm)
Session_Keyword__c Session Keyword Cached (cold) — added 2026-09-22
Session_Resource__c Session Resource Cached (cold) — added 2026-09-22
Session_Speaker__c Session Speaker Cached (warm)
Session_Staff__c Session Staff Cached (cold)
Session__c Session Cached (hot)
Speaker__c Speaker Cached (hot)
Sponsor_Benefit__c Sponsor Benefit Cached (warm)
Sponsor__c Sponsor Cached (hot)
Sponsorship__c (empty label in source XML) Not in cache system
Staff__c Staff Cached (cold)
Table__c Table Cached (cold)
Track_Attendee__c Track Attendee Cached (cold) — added 2026-09-22
Track_Session__c Track Session Declared, not synced
Track__c Track Cached (cold) — added 2026-09-22
Waitlist__c Waitlist Cached (cold)
Webinar_Account__c Webinar Account Cached (cold) — added 2026-09-22
Event_Asset__c (no object-meta.xml) Cached (warm), as EventAsset
Discount__c Not confirmed against this exact API name (see the callout above) Cached (warm) (unverified — see callout above)
Logistics_Pillar_Status__c Not confirmed against this exact API name (see the callout above) Cached (cold) (unverified — see callout above)

fundraising (bt_fundraising__) — 29 objects

Fundraising package objects — donations, auctions, pledges, peer-to-peer.

Salesforce API name Label Cache status
Auction_Appeal__c Auction Appeal Cached (cold) — added 2026-09-22; also write-only via outbox, §6
Auction_Bundle_Item__c Auction Bundle Item Cached (cold) — added 2026-09-22
Auction_Bundle__c Auction Bundle Cached (cold) — added 2026-09-22; also write-only via outbox
Auction_Item_Allocation__c Auction Item Allocation Cached (cold) — added 2026-09-22
Auction_Item__c Auction Item Cached (cold) — added 2026-09-22; also write-only via outbox
Auction_Pledge__c Auction Pledge Cached (cold) — added 2026-09-22; also write-only via outbox
Auction_Registration__c Auction Registration Cached (warm) + write-only via outbox — the only fundraising object in both §2 and §6
Auction_Setting__c Auction Setting Not in cache system
Auction_Transaction__c Auction Transaction Cached (cold) — added 2026-09-22; also write-only via outbox
Auction__c Auction Cached (cold) — added 2026-09-22
Bid__c Bid Cached (cold) — added 2026-09-22; also write-only via outbox
Configuration__mdt Fundraising Configuration Not in cache system
Designation__c Designation Cached (cold) — added 2026-09-22; also write-only via outbox
Donated_Item__c Donated Item Cached (cold) — added 2026-09-22
Donation_Allocation__c Donation Allocation Cached (cold) — added 2026-09-22; also write-only via outbox
Donation_Settings__c Donation Settings Not in cache system
Donation_Soft_Credit__c Soft Credit Cached (cold) — added 2026-09-22; also write-only via outbox
Donation__c Donation Cached (warm), display-only; writes always via outbox, never through this cache
Gift_Aid_Declaration__c Gift Aid Declaration Cached (cold) — added 2026-09-22; also write-only via outbox
Giving_Model_Mapping__mdt Giving Model Mapping Not in cache system
Jurisdiction_Config__mdt Jurisdiction Configuration Not in cache system
P2P_Participant__c P2P Participant Cached (cold) — added 2026-09-22; also write-only via outbox
P2P_Team__c P2P Team Cached (cold) — added 2026-09-22; also write-only via outbox
Pledge__c Pledge Cached (cold) — added 2026-09-22; also write-only via outbox
Price_Rule_Def__c Price Rule Def Not in cache system
Raffle_Entry__c Raffle Entry Cached (cold) — added 2026-09-22; also write-only via outbox
Raffle__c Raffle Cached (cold) — added 2026-09-22
Recurring_Gift__c Recurring Gift Cached (cold) — added 2026-09-22; also write-only via outbox

payments (bt_stripe__) — 64 objects

Payments package objects — invoices, transactions, gateways, subscriptions infrastructure.

Salesforce API name Label Cache status
Allocation__c Allocation Not in cache system
Application_Fee_Credit__c Deprecated - Application Fee Credit Not in cache system
Blackthorn_Log__c Blackthorn Log Not in cache system
Blackthorn_Payments_Mobile_Settings__c Blackthorn Payments | Mobile Settings Not in cache system
Blackthorn_Payments_Stripe_Connect__c Blackthorn Pay - Features Not in cache system
Checkout_Submission__c Checkout Submission Not in cache system
Code_Eligibility__c Code Eligibility Cached (cold) — added 2026-09-22
Code__c Code Cached (cold)
Company__c Company Info Not in cache system
Connected_Account_Owner__c Connected Account Owner Not in cache system
Connected_Account__c Connected Account Not in cache system
Coupon2__c Stripe Coupon Not in cache system
Data_Dictionary_Entry__c Data Dictionary Entry Cached (cold) — added 2026-09-22
Data_Dictionary_Group__c Data Dictionary Group Cached (cold)
Dispute_Evidence__c Dispute Evidence Not in cache system
Dispute__c Dispute Not in cache system
DocumentLinkTemplate__c DocumentLink Template Not in cache system
Fee_Tiers__c Blackthorn Pay - Transaction Fees Not in cache system
Fee__c Fee Cached (cold)
Gateway_Order_Item__c Gateway Order Item Not in cache system
Gateway_Order__c Stripe Gateway Order Not in cache system
Gateway_SKU__c Gateway SKU Not in cache system
Line_Item__c Line Item Cached (warm), as InvoiceLine — write-only via outbox for the corresponding SF write
Location__c Location Not in cache system
Payment_Gateway__c Payment Gateway Cached (warm)
Payment_Intent__c Payment Intent Not in cache system
Payment_Method_Parents__c Blackthorn Pay - Payment Method Parents Not in cache system
Payment_Method__c Payment Method Not in cache system
Payment_Schedule__c Payment Schedule Not in cache system (write-only via outbox)
Payments_User_Override__c Payments User Override Not in cache system
Plan2__c Stripe Price Not in cache system
Protected_Key__mdt Protected Key Not in cache system
Reattempt_Settings__c Blackthorn Pay - Reattempt Settings Not in cache system
Relationship_Settings__c Relationship Settings Not in cache system
Sales_Document__c Invoice Cached (hot), as Order — write-only via outbox for the corresponding SF write
Stripe_API_Keys__c Blackthorn Pay - Stripe Connect API Keys Not in cache system
Stripe_Application_Fee__c Deprecated - Application Fee Not in cache system
Stripe_Billing_Component_Settings__c Blackthorn Pay-Stripe Billing Component Not in cache system
Stripe_Connect_Country_Specs__mdt Stripe Connect Country Specs Not in cache system
Stripe_Currency_Setting__mdt Stripe Currency Setting Not in cache system
Stripe_Customer__c Payment Gateway Customer Not in cache system
Stripe_Metadata_Mapping__mdt Stripe Metadata Mapping Not in cache system
Stripe_Platform_Credential__mdt Platform Credential Not in cache system
Stripe_Settings__c Blackthorn Pay - Trigger Settings Not in cache system
Subscription2__c Subscription Not in cache system — NB: recurring-engine rule forbids using this; see CLAUDE.md
Subscription_Item__c Subscription Item Not in cache system
Subscription_Schedule__c Subscription Schedule Not in cache system
Tier__c Tier Not in cache system
Transaction_Field__c Blackthorn Pay - Transaction Parents Not in cache system
Transaction_Validation_Rules__c Blackthorn Pay - Transaction Validations Not in cache system
Transaction__c Transaction Cached (hot) — write-only via outbox for the corresponding SF write
Usage__c Usage Not in cache system
Virtual_Terminal_Mapping__mdt Virtual Terminal Mapping Not in cache system
Virtual_Terminal_Settings__c Blackthorn Payments | Virtual Terminal Not in cache system
Webhook_Event__c Webhook Event Not in cache system
Webhook_Secret__mdt Webhook Secret Not in cache system

forge-unpackaged (org-native custom objects) — 55 objects

These are Forge-owned custom objects with no managed-package namespace (Abstracts, Appointments, Event project-management, Purchase Orders, Vendor tracking, and a few others). None of them participate in the tiered cache/warm-sync system described above — if one of these is expected to sync on login, that would be new work, not a gap in existing wiring.

Likely causes when something looks like it isn't syncing

  1. Cold-tier objects have no dedicated refresh cadence — only the 6-hour full sweep and login warm-up touch them, so a record can be stale for up to 6 hours (or effectively longer for a low-traffic tenant that hasn't had a recent session).
  2. The handful of “declared, not synced” objects above never populate the cache regardless of time — any screen reading one of these should fall back to a live query and show correct (if slower) data. If it shows nothing instead, that's worth reporting.
  3. Write-through lag: a Forge write to a queued object completes asynchronously, and the read side only picks it up on the next tier sync — a few minutes on hot/warm objects, up to 6 hours on cold ones.
  4. An unverified cache-key identity (see the Discount/Logistics callout above) can make a sync silently fail or return zero rows every cycle for that specific object.
  5. A tenant's session may simply predate an object being added to the cache system — a tenant that hasn't had a fresh full sync since an object was added could still show an empty cache for that object specifically.

If you've checked the above and something still looks wrong, contact support with the specific object and record in question so we can check your org's sync state directly.