"Clay has become the orchestration layer for everything GTM. Salesforce for record-keeping, Snowflake for product data, and Clay for turning it all into automated action.” – Kyle Ketchum, Marketing Operations
Figma is a collaborative design platform used by millions of product, design, and engineering teams worldwide.
Design Software
San Francisco, CA
Figma had a highly-effective inbound funnel, a growing enterprise motion, and a healthy base of self-serve customers. The tools were in place. The processes worked at the size they were built for.
Then Kyle Ketchum on the Marketing Operations team ran an audit of Figma's Salesforce contacts and found a sizable portion no longer worked at the companies they were listed under. Years of contacts never updated since they entered the database. At Figma's scale, that drift touches everything downstream like routing, outreach, ad targeting, and scoring. That stale data blocked the bigger growth initiatives Kyle wanted to make. Figma couldn't invest in a modern orchestration stack when the data underneath it was unreliable.
Kyle needed a data layer that could enrich the entire CRM continuously, combine product signals with third-party intelligence, and turn that foundation into automated action across every GTM motion. He turned to Clay to build it.
Building the data foundation to make GTM orchestration possible
Figma's Salesforce database had grown through years of organic activity. With no continuous enrichment process, the database had quietly drifted out of sync with reality. Every automation built on top of it inherited that drift.
Kyle started with Clay Audiences to import Figma's entire Salesforce contact and account database, then built segments to identify Figma's ICP across the full dataset. Identity resolution ran automatically on every imported record, enriching each with LinkedIn URLs and CPJ (Company, Person, Job) identifiers to establish cross-system matching and deduplication even where email or title data was missing. This created something none of Figma's three systems could produce individually: a single authoritative record that carries Salesforce's CRM history, Snowflake's product intelligence, and Clay's third-party enrichment together. Every segment Figma builds draws from that record. Every automation that fires downstream trusts it.
From there, he configured always-on enrichment across those ICP segments: firmographic data, job change detection, and automated contact sourcing for owned accounts. The enrichment runs continuously and writes back to Salesforce with granular export controls, filling blank fields without overwriting existing data.
"The data foundation had to come first. We needed a database that's constantly running, cleaning, and updating so that everything we build on top of it actually works. No more pulling lists manually,” said Kyle. “If an account is owned by a rep, it goes through the enrichment process automatically. That's what makes the orchestration possible."
With the full contact database now enriched and continuously updated, the database stopped being a historical archive and started behaving like a living system Kyle could confidently build orchestration on top of.
Turning self-serve accounts into enterprise pipeline
Figma's PLG motion has been one of its biggest growth drivers and one of its most important strategic assets. That engine has produced a massive base of Pro accounts: real companies, already using Figma in their workflows.
But without enrichment or signal infrastructure connecting them to the sales motion, the vast majority aren't owned by any rep. They're invisible to the sales team, even when they're showing signs they're ready for an enterprise conversation.
Product signals that could indicate upgrade intent, such as seat growth, feature adoption, and component usage patterns exist in Snowflake. The historical solution had been to route that data into Salesforce, which created bloat and wasn't the right surface for reps to action from anyway.
With Audiences, Kyle pulled those Snowflake signals directly into the same data layer where CRM history and third-party enrichment already live. He then built segments combining product-qualified activity with tech stack data, funding signals, and hiring patterns to identify which unowned accounts were most likely ready for a sales conversation. "Clay gives us a single layer where product signals, enrichment, and account data all live together, without having to push everything into Salesforce just to make it actionable," Kyle said.
That logic runs through Clay Functions, which let Kyle package his signal evaluation and playbook logic into reusable components that deploy across segments without being rebuilt each time. Signal evaluation functions check combinations against product data. When conditions are met, playbook functions fire, generating recommended plays and outreach personalization for the rep. The workflow is built once and governed centrally, not recreated for each motion. "Audiences is going to allow us to scale this globally a lot faster," Kyle said.
Delivering better pipeline to reps with synced ad audiences
With the data foundation in place and reps now receiving signal-based alerts, Kyle turned to the next layer of the orchestration stack: making sure the pipeline feeding those reps is just as automated and accurate.
Figma's demand gen team had been building ad audiences through manual Salesforce exports on a quarterly cadence. But when the underlying data is stale, the audience was never accurate to begin with. Ad spend flows toward accounts that have already converted, contacts who've changed roles, and segments that no longer match Figma's ICP.
Clay's Audiences and Ads products replace this cycle with a dynamic sync by connecting segments built on Salesforce data, Snowflake signals, and third-party enrichments directly to LinkedIn, so audiences update automatically as accounts move through the pipeline. When an opportunity opens or an account becomes a customer, it drops off the ad audience without anyone re-exporting a list. Alongside the ad sync, Clay is also enriching contact records with current emails and titles so when demand gen drives interest, reps have accurate contact data to act on immediately.
Kyle is also designing toward a model where the demand gen team builds their own audiences directly in Clay, rather than filing requests that route through his team. "My job is to build systems that unblocks the rest of my team so they can drive results without needing ops to build everything for them," Kyle said. "Audiences is the first tool where I can actually see that happening."
How Audiences became Figma's GTM orchestration layer
What Kyle and Figma's marketing ops team built with Clay Audiences is the authoritative data layer that sits above the systems they already had. Salesforce stays as the system of record. Snowflake stays as the product intelligence layer. But neither holds the complete picture on its own.
Clay is where Salesforce's CRM history, Snowflake's product signals, and Clay's third-party enrichment converge into a single, continuously updated record that every team acts from. The source of truth for GTM orchestration itself.
That architecture compounds. When Kyle creates a new segment in Clay, he knows that the data is fresh and ready to be acted on. A new request from the team doesn't require a new data pipeline. It simply requires a new filter on data that's already there.
When Kyle joined, he inherited a GTM stack running on stitched-together automations and Google Sheets. Today, every team at Figma that touches revenue will operate from the same living data foundation built in Clay. And now Kyle won't have to be in the middle of every request to make it work.
Explore more customers
Discover how users leverage Clay to uncover distinctive data and use data in innovative strategies to succeed.
Streamline data enrichment
Leverage 100+ data sources and an AI agent with 140M monthly runs.


























.png)


.avif)
.avif)
.avif)










.avif)






.avif)





