Build customer experiences with production context.

Capture customer activity, resolve identity safely, and give GTM teams reliable building blocks for campaigns, conversations, and onsite experiences.

View implementation examples
  • 01Server events
  • 02Web SDK
  • 03Customer identity
  • 04Local Studio

Platform partnerships

MetaTech ProviderShopifyPartner

Fendsy for ChatGPT Work

Build customer experiences where you already work.

Bring the Fendsy workspace into ChatGPT Work to edit the same Onsite Form and Email source your marketing team reviews in Fendsy. Validate the work, push a draft, and keep publishing as a separate approval.

ChatGPT Work

OpenAI

Connected workspace
fendsy-local-studioAvailable now

project

AGENTS.md

README.md

content

form

document.json

placement.json

email

document.json

  • Edit Onsite Form documents
  • Edit form Placement settings
  • Edit Email Templates
  • Validate before draft push

Local Studio · Windows x64 preview

# 1. Unzip the download
cd fendsy-local-studio-win32-x64

# 2. Start the local visual editor
./start.cmd

# 3. Add the project folder to ChatGPT Work
cd project
workspace: ./project

✓ Onsite Form and Email files ready
✓ Secrets stay in the local server process
✓ Draft push and publish remain separate
Local Studio previewWindows x64 · 20.1 MB · Node.js 22+
Download Windows preview
Today

Build Forms, placements, and Email Templates locally, then hand marketers a validated draft to review.

Next

Query customer and campaign performance through a broader Fendsy MCP. Analytics are not included in this preview.

Developer platform for GTM teams

Turn customer signals into usable context.

Instrument behavior once, resolve signed-in customers safely, and give marketing, lifecycle, and support teams data they can actually act on.

Scoped keys, retry-safe events, visible receipts, and reviewable drafts.
order-paid.ts
TypeScript
const event = {
  eventId: "order-123-paid",
  eventName: "custom.order_paid",
  idempotencyKey: "order-123-paid",
  source: "order_server",
  schemaKey: "standard.generic",
  schemaVersion: 1,
  payload: { orderId: "123" },
  money: { currency: "INR", amount: "125.00", precision: 2 }
}

const response = await fetch("https://api.fendsy.com/v1/events", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.FENDSY_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify(event)
})

202 · Event accepted

Connected where work happens

Connects with the tools that matter most to you.

Bring commerce, conversations, and acquisition signals into Fendsy without rebuilding the way your team works.