See every field your Census syncs write into your CRM

Browse your whole Census workspace as one map of destinations, syncs, and the exact fields they write, and catch write conflicts before they reach your CRM.

App
CensusGoogle SheetsOperationsEngineeringData Sync
PromptCreate

Build me an app that turns our Census workspace into a browsable activation map, so anyone on the team can answer "what is actually writing to this field in Salesforce, and where does it come from" without opening sync after sync in the Census UI. Our workspace has grown to dozens of syncs and nobody can answer that question today. The app is read only apart from the spreadsheet export.

The home view is a destination inventory. Use Census List Destinations to show every destination connection with its name, its service type, and how many syncs point at it. Selecting a destination opens a destination detail view that uses Fetch Destination for the connection detail and List Destination Object Types to show which object types that destination supports, alongside the list of syncs targeting it, filtered from List Syncs.

Selecting a sync opens the most important view, the field level mapping table. Use Census Fetch Sync, which is the only place mappings are returned, to render one row per mapping showing the source column and the destination field it writes. Around that table show the sync's schedule, whether it is currently paused, its source connection resolved from List Sources, and its recent run history from List Sync Runs with status and last run time.

Put a search box across the whole inventory. When I type a destination field name like lifecycle_stage, I want every sync that writes to that field listed immediately, with its destination, its destination object, and its source, so I can click straight through to any of them. Search should also match sync names, source column names, destination names, and dataset names.

The app should also flag governance problems automatically and show them in a dedicated issues view with a count badge. First, write conflicts: two or more syncs writing the same destination field on the same object at the same destination, which is the highest priority flag. Second, stale or neglected syncs: syncs that have been paused for a long time, or whose most recent run in List Sync Runs is older than a threshold I can change, defaulting to 30 days. Third, orphan datasets: datasets from List Datasets that no sync references at all. Each flagged item should link back to the relevant sync or dataset in the inventory.

Add an "Export inventory" button that writes the whole map to a spreadsheet for our quarterly data governance review. Use Google Sheets Create Spreadsheet to make the file, then Append Values to fill it, with one row per field mapping. Each row should carry the destination, the destination object type, the destination field, the source connection, the source column, the sync name, the sync schedule, whether the sync is paused, the last run status and time, and any governance flags that apply to that row. Show me the spreadsheet link when the export finishes.

Important data fetching notes. Field mappings are only returned per sync by Fetch Sync and never by List Syncs, so building the map means paging through List Syncs with per_page at its maximum of 100 and following pagination.next_page until it is null, then fanning out one Fetch Sync per sync. Cache that fanned out snapshot server side so the browser is not refetching everything on each interaction, show a last updated timestamp, and give me an explicit refresh button. Respect 429 responses by honoring the Retry-After header and backing off. Census responses are wrapped as status, data, and pagination, so always read from data, and all identifiers are integers. Use List Datasets for orphan detection, not the deprecated models endpoints.

One scope boundary to respect. This inventory is Census side only. There is no usable operation for reading live field metadata out of the destination CRM, so the app must not claim to reconcile Census mappings against live Salesforce or HubSpot field definitions, and must not imply a destination field exists or is valid just because a sync targets it. What it legitimately shows is which destination field each sync claims to write, sourced from that sync's own mapping configuration, plus the supported object types from List Destination Object Types. Make that framing clear in the interface. Since updates to syncs replace nested objects wholesale rather than merging, the app should not offer mapping edits at all.

What does this prompt do?

  • Turns your workspace into a browsable inventory: every destination, the syncs pointed at it, and every source column mapped to every destination field.
  • Lets you search any destination field name, like lifecycle_stage, and instantly see every sync that writes to it.
  • Flags governance problems for you: two or more syncs writing the same field on the same object, syncs paused or not run in a long time, and datasets that no sync uses.
  • Exports the whole map to a fresh spreadsheet with one row per field mapping, ready for your quarterly data governance review.

What do I need to use this?

  • A Census workspace and permission to create a workspace API key (Organization Admins and Workspace Owners can create one).
  • A Google account, so the export can create a spreadsheet in your Drive.
  • Nothing to configure on the CRM side. The app reads your sync configuration from Census only.

How can I customize it?

  • Change what counts as stale, for example flag a sync after 7 days without a run instead of 30.
  • Narrow the inventory to the destinations you care about, such as only Salesforce and HubSpot.
  • Adjust the export columns, or point the export at an existing governance spreadsheet instead of creating a new one each quarter.

FAQs

Will this change or break any of my syncs?
No. The app only reads your workspace and writes the export spreadsheet. It never edits mappings, schedules, or sync settings, and it never starts a sync run.
Does it show me fields that exist in Salesforce or HubSpot but are not being synced?
No, and that is deliberate. The map shows the destination field each sync says it writes, taken from that sync's own mapping configuration in Census, plus the object types your destination supports. It does not read live field lists out of your CRM, so treat it as an inventory of what Census is configured to write rather than a reconciliation against your CRM schema.
What exactly counts as a write conflict?
Two or more syncs writing to the same field on the same object at the same destination, for example two syncs both setting lifecycle_stage on the HubSpot contact object. That is the classic cause of values mysteriously flipping back and forth, so the app surfaces those pairs first.
How long does it take to load if we have dozens of syncs?
The first load walks every sync to collect its field mappings, so it takes a moment on a large workspace. After that the inventory is cached, so searching and drilling around is instant, and there is a refresh button plus a last updated timestamp when you want current data.
Does it work with any destination, or only CRMs?
Any destination in your workspace. CRMs are the common case, but ad platforms, marketing tools, and support tools all appear in the same map with the same field level detail.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App

Stop opening every sync to answer one question.

Get one searchable map of every field your warehouse writes into your operational tools, with conflicts and stale syncs called out for you.