Chrome extension for sending data to Clay.
11★ Stars
2⑂ Forks
TSTypeScript
README.md
Chrome extension for sending data to Clay.
Install
Quick install (no build required)
- Download
wedge-vX.Y.Z.zipfrom the latest release - Unzip the file
- Open
chrome://extensionsin Chrome - Enable Developer mode (top-right toggle)
- Click Load unpacked and select the unzipped folder
Build from source
git clone https://github.com/eliasstravik/wedge.git
cd wedge
npm install
npm run build
Then load dist/ as an unpacked extension (steps 3-5 above).
Features
- Popup send flow — select a webhook, fill in fields, preview the JSON payload, and send
- Page autofill — automatically captures URL, title, description, canonical URL, og:title, selected text, and hostname
- Custom fields — add text, number, email, phone, date, dropdown, multi-select, rating, matrix, ranking, and more
- Hardcoded fields — lock any custom field to a fixed value so the popup shows it as read-only and always sends the configured payload value
- Global profile — add sender identity fields (name, email, CRM user ID, etc.) once and have them included under a
profilekey with every webhook automatically - Multi-webhook support — configure multiple Clay webhooks with independent payload schemas
- Settings workspace — full webhook CRUD, payload field editor, drag-and-drop ordering, and test sends
- Import / export — share webhook configurations as JSON across your team
- Activity history — local log of sent and failed deliveries with timestamps and error details
- Secure by default — HTTPS-only delivery, private IP blocking, optional auth tokens, minimal permissions
Development
npm install
npm run dev
Load the dist/ folder as an unpacked extension in Chrome. The Vite dev server supports hot reload.
| Command | Description |
|---|---|
npm run dev |
Start dev server with hot reload |
npm run build |
Type-check and production build |
npm run typecheck |
TypeScript type checking only |
npm test |
Build and run Playwright E2E tests |
Architecture
Built with React 19, TypeScript, Tailwind CSS 4, and shadcn/ui. Uses Vite with the CRX plugin for Chrome Extension Manifest V3 bundling.
src/
popup/ Popup UI
options/ Settings page
background.ts Service worker (webhook delivery)
contentScript.ts Page metadata extraction
lib/ Types, storage, validation, utilities
components/ Reusable UI components
See docs/chrome-extension-clay-webhook-plan.md for the full architecture plan.
Contributing
See CONTRIBUTING.md for development setup and guidelines.
Security
See SECURITY.md for the security model and how to report vulnerabilities.
License
{
"request": {
"method": "GET",
"url": "https://api.eliasstravik.com/projects/wedge"
},
"response": {
"status": "200 OK",
"headers": {
"content-type": "application/json; charset=utf-8",
"x-powered-by": "one person + systems"
},
"body": {
"name": "wedge",
"description": "Chrome extension for sending data to Clay",
"language": "TypeScript",
"stars": 11,
"forks": 2,
"repo": "https://github.com/eliasstravik/wedge",
"readme": "https://github.com/eliasstravik/wedge#readme"
}
}
}