Jerry Di

Exploring research automation through Exa Websets

Role

Product Designer

Timeline

September – October 2025

Team

Solo Exploration

Software

Figma, Warp, Rive, Exa

Overview

What's up with Exa Websets?

Exa's Websets is one of the coolest recent products in the sales space. It lets you query the open web using semantic search criteria, not just filters, and returns structured, enriched lists of people and companies. Name, job title, LinkedIn URL, email, employment verification, custom enrichment columns: all in a spreadsheet-esque interface.

The Exa Websets interface showing an enriched, spreadsheet-style list of companies

Websets has two main form factors, a web UI for building and enriching lists by hand, and an API/SDK for doing it programmatically. The web UI is functional, but for technical operators that are able to write scripts to call the API, build automations, and pipe Websets output into downstream tools, it's a force multiplier.

The Problem

Core Issue: Extensibility for enterprise teams

The no-code dashboard covers the core loop well: you can write a query, set criteria, add enrichments, and export a list without touching code. The issue starts when you want Websets to run on its own or talk to other tools. Take, for example, reacting to a monitored event (a new meeting on gcal), keeping a list fresh on a schedule, or piping results into Clay, Slack, or a CRM all lean on the API and webhooks. These aren't niche edge use cases. The people who'd get the most out of Websets, account executives, recruiters, outbound leads, GTM operators, generally aren't engineers. They use Apollo, LinkedIn Sales Navigator, and Clay. The automation-and-integration layer, the part that turns Websets into a sales pipeline, is locked behind a skill its target users don't have.

Exa webhooks documentation page
Limited without API
Exa Websets API documentation page
Limited without API
Exa Monitors documentation page
Limited without API

Research and Validation

Interview with GTM staff @ Cursor

To validate, I ran an interview with a member of GTM staff at Cursor to understand how they currently build sales pipelines, where the friction is, and how they'd react to Websets' core value proposition. What I learned is that building enterprise sales pipelines, even at startups like Cursor, still relies on a stack of separate tools: LinkedIn Sales Navigator + Phantom Buster + Clay + Apollo. Each separately handles prospecting, scraping, enrichment, sequencing. Stitching them together takes technical fluency. When I described Exa's semantic search (search using meaning > keywords), the value of combining it with enrichment and automation was obvious. So was the barrier: full functionality currently requires API scripting, which leaves out most sales/GTM/AE users who can't code.

“Find any F500 outside of NYC or SF, and ask them to explain their CRM. They probably tell you they don't know how to do automations.”

Thus, how might we extend Exa Websets to cover more of the sales pipeline for enterprise clients, giving non-technical users a complete no-code path from filter → enrich → trigger → output? With some context in place, I dove into ideation, whiteboarding, and prototyping.

Whiteboard mapping how Websets could automate the sales pipeline
Early sketches of the Webset Workflows builder

Where we landed: proposal 1

Webset Workflows: visual drag-and-drop automations blended into every list

Webset Workflows is a no-code visual builder embedded directly in the Websets interface. Instead of writing API calls or configuring webhooks elsewhere, users get a drag-and-drop pane to script automations. Take the below workflow as an example, going from an Inbound sales call on Google Calendar → automatic meeting preparation data enrichment → Slack channel message output.

01

[ Fetch input data via triggered webhooks or Exa Monitor ]
Webhooks are essentially an inbox for JSON payloads. In case of Gcal use watch API with user permission to fetch any events.

02

[ Filter input data by criteria ]
Add event filters on our end for meeting type, name, date, etc.

03

[ Automatically enrich desired data in columns ]
Default variables like "event_name" and "event_time" are auto-created with [key = column name] or matched to overriding existing columns. Desired enrichment columns like "call_script" will be user determined.

04

[ Post enriched data to Slack ]
Dump all desired enriched rows to hooks.slack.com/services/channel.

How it works

The automations panel, from inbound meeting to enriched prep materials

Upon clicking the automations button, a drag-and-drop automation panel will appear that lets users script their own automations.

The drag-and-drop Webset Workflows automations panel

Take adding a gcal automation, for example, that lets you turn any inbound meeting into an enriched pipeline that automatically provides you with full meeting context documents and materials. Select input "webhook," then add a data source, filter criteria, and custom enrichment column.

Configuring a Google Calendar webhook automation in Webset Workflows

Specify where the webset should output the enriched data, and the columns that should be enriched.

Specifying the webset output destination and enrichment columns

Example output, from Gcal webhook to slack channel output. An AE who used to spend 15 minutes researching the company before a call now gets this automatically the moment the event is created. No API setup. No scripting.

{"event_title": "Prospective Meeting: Cursor""start_time": "2025-10-13T14:00:00-04:00""end_time": "2025-10-13T14:30:00-04:00""description": "Inbound demo from GTM @ Cursor""organizer_email": "you@company.com""organizer_name": "you@company.com""attendee_name": "John Smith""company_size": "81""industry_sector": "AI merchandising""call_script": "Lorem ipsum dolor sit amet. Aut debitis possimus eos quia ratione sit numquam dignissimos qui alias iusto. Vel nemo internos ab voluptatem unde non debitis provident et distinctio animi ut illum voluptatum non velit ipsum? Qui blanditiis necessitatibus ut quia cupiditate et neque harum non necessitatibus molestiae ut quasi facilis est voluptatum illo. Eos ducimus atque At dolorum veritatis ut placeat nobis ut quisquam nulla et harum provident."}

How it works

Another workflow, from monitored events to Clay sequencing

Another workflow could be a Monitor trigger for outbound prospecting: on a recurring schedule, find and enrich information for CEOs at Series B+ startups as new funding is announced, then push them to a Clay table for sequencing. Select input type monitor, for a recurring search for people matching "CEO" at companies with "new funding rounds: Series B and later." Enrich the email field and the email script field.

Configuring a Monitor trigger to recurringly find and enrich prospects

Select how Clay should bind columns with Exa's fields (name → name, job_title → job_title, email → email_address, email_script → email_script). This automation would create a workflow for event monitoring, enrichment, and hand-off automatically and let the AE set it up themselves in minutes.

Binding Clay table columns to Exa's enriched fields

Where we landed: proposal 2

Quality of life updates

Currently, there's also a lot of friction in the core table. For enterprise users who daily drive the product, this is a real concern. Right now the table gives no feedback when you select a row, there isn't a highlight, a checkbox, a border. And shift-clicking to select a range, something people expect from every spreadsheet app, doesn't work. Adding a simple visible selected-row state, plus shift-click and drag-to-select allows us to close that gap.

Proposed visible selected-row state with shift-click range selection

Another problem is being able to manually search for more results, right now there isn't an option to search for more results without rerunning the entire enrichment sequence. A "find more results" dropdown fixes that issue.

A 'find more results' dropdown added to the results table

Currently, there also isn't an easy way to update and rerun the search through the spreadsheet criteria. To update, you need to open the side panel. Adding a dropdown to edit criteria natively in the spreadsheet reduces the friction in re-searching.

Editing and rerunning search criteria directly in the spreadsheet

Conclusion

What I learned through this exploration

Understanding the actual technical primitives allowed me to deliver the best product. It would have been a lot easier to mock up a slick builder and just say, "it points to the backend." Working through the Exa doc, how its monitor feature works, outbound and inbound web hooks, imports, exports, changed both what I proposed and how I described it. One good interview can redirect thinking without proving anything. The Cursor conversation sharpened the problem faster than more solo analysis would have, the real tool stack and the "can't code" barrier landed harder coming from an operator than from inspection alone. Designing for the non-technical user produced a better interface UX, not just a simpler one. Assuming the person will never see a JSON payload forced specific choices, structured column mapping, plain-language trigger names, constrained dropdowns, that removed categories of error instead of just hiding complexity. These constraints sharpened the design more than my visual decisions did.