• Blog
  • Documentation
  • Pricing
  • FAQ
  • Contact
Sign InSign Up

A single, reliable layer for all your product's integrations - rules, routing, retries, and fan-out included.

© Copyright 2025 Meshes. All Rights Reserved.

About
  • Blog
  • Contact
Product
  • Documentation
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Getting Started
    • What is Meshes?
    • Core Concepts
    • Quickstart
    • API Overview

Quickstart

Send Your First Event in 15 Minutes

This guide walks you through:

  1. Creating a workspace
  2. Connecting a destination (webhook)
  3. Defining an event type and rule
  4. Sending your first event
  5. Verifying delivery in the UI

You’ll need a Meshes account and access to the dashboard.


1. Create a Workspace

In the Meshes dashboard:

  1. Go to Workspaces → New Workspace.
  2. Choose a name, e.g. Acme Dev or Demo Workspace.

You’ll use the workspace publishable key for sending events. This can be found on the workspace settings page.


2. Connect a Destination (Webhook)

For this quickstart, we’ll send events to a simple webhook.

  1. Create or use an existing HTTP endpoint that accepts POST requests (you can use a service like webhook.site while prototyping).
  2. In the Meshes dashboard, go to Connections → New Connection.
  3. Choose Webhook / HTTP.
  4. Enter:
    • Name: Demo Webhook
    • URL: your webhook URL
  5. Save the connection.

You now have a destination Meshes can send events to.


3. Define a Rule

Create a rule:

  1. Go to Rules → New Rule.
  2. Set Event Type: contact.created
    • This is the default event type created for your account
  3. Set a Connection: your Demo Webhook connection
    • Payload mapping: pass through the event payload (or map fields as needed)
  4. Save the rule and ensure it is enabled.

At this point:

Whenever a contact.created event arrives in this workspace, Meshes will send it to your webhook.


4. Send an Event

You can send events via HTTPS or an SDK. Below are two simple options.

Option A: curl

Replace placeholders with your real values:

  • WORKSPACE_PUBLISHABLE_KEY – a workspace publishable key
curl -X POST https://api.meshes.io/api/v1/events \
  -H "X-Meshes-Publishable-Key: WORKSPACE_PUBLISHABLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "event": "contact.created",
    "payload": {
      "id": "lead_123",
      "email": "jane@example.com",
      "first_name": "Jane",
      "last_name": "Doe",
      "source": "marketing-site",
      "plan": "pro"
    }
  }'

You should receive a 2xx response indicating the event has been accepted for processing.

Option B: JavaScript / TypeScript (Node)

Using the Meshes simple client SDK:

import { MeshesClient } from '@mesheshq/client';

const meshesClient = new MeshesClient(`${process.env.PUB_MESHES_WORKSPACE_KEY}`);

async function sendContactCreated() {
  await meshesClient.emit({
    event: 'contact.created',
    payload: {
      email: 'jane@example.com',
      first_name: 'Jane',
      last_name: 'Doe',
      plan: 'pro',
      utm_source: 'google-ads',
    },
  });

  console.log('Event accepted by Meshes');
}

sendContactCreated().catch(console.error);

5. Verify Delivery in the UI

  1. In the Meshes dashboard, open your workspace.
  2. Navigate to Events.
  3. Find the contact.created event you just sent.
  4. Inspect:
    • Overall event status
    • Per-destination status (your Demo Webhook)
    • Any retries or error messages

If you used a webhook test service, you should also see the incoming HTTP request, including the payload Meshes sent.


Next Steps

After you’ve sent your first event:

  • Add additional destinations (e.g., HubSpot + Mailchimp) to see true fan-out.
  • Introduce conditions (e.g., only send to Mailchimp when plan = "starter").
  • Create multiple workspaces (e.g., acme-dev vs acme-prod) to explore multi-tenancy.
  • Check your usage in the dashboard to understand how events and limits are tracked.

You now have the basics: workspace → connection → event type → rule → event → delivery.

  1. 1. Create a Workspace
    1. 2. Connect a Destination (Webhook)
    2. 3. Define a Rule
    3. 4. Send an Event
    4. 5. Verify Delivery in the UI
    5. Next Steps