Skip to main content

Official developer tools

Build EmailFunnelAI into the stack you already use.

Use an official SDK to sync contacts, connect data sources, read analytics, and create embedded account experiences—without writing the HTTP plumbing yourself.

6 official SDKs
1 consistent integration surface
MIT open-source repositories

Choose your integration path

Application code, AI assistant, or direct HTTP.

Use the interface that fits the job. Each path connects to the same EmailFunnelAI integration workflow.

Official SDKs

Build in your application language

Use typed, resource-oriented clients instead of assembling URLs, headers, request bodies, and error handling yourself.

Choose an SDK

MCP server

Let your coding assistant set up the connection

Connect Cursor, VS Code, or Claude Desktop so your assistant can create projects, fetch webhook specifications, and inspect forms.

Explore MCP

REST API

Control the HTTP integration directly

Use the same integration surface without an SDK when your stack needs a custom transport, runtime, or request layer.

Review the API surface

Official SDK library

Use the conventions your stack expects.

Every client follows the same resource-oriented API while preserving the error handling, transport, and testing patterns of its language.

PHP GitHub source

PHP

PHP SDK

PHP 8.1+

A dependency-free, fluent client built on ext-curl with typed API and transport exceptions.

View repository
L GitHub source

PHP

Laravel SDK

Laravel 10–12

Framework-native configuration, auto-discovery, facade access, dependency injection, and HTTP testing support.

View repository
TS npm package

TypeScript

Node.js SDK

Node.js 18+

A zero-dependency TypeScript client with ESM and CommonJS builds, typed errors, and built-in fetch.

npm install @emailfunnelai/sdk-node
View repository
PY GitHub source

Python

Python SDK

Python 3.9+

A fully typed, standard-library client with resource-oriented methods and injectable HTTP transport.

View repository
RS GitHub source

Rust

Rust SDK

Async Rust

An async client built on reqwest and tokio with rustls TLS, typed errors, and custom transport support.

View repository
GO GitHub source

Go

Go SDK

Go standard library

An idiomatic service-based client built on net/http and encoding/json with no third-party dependencies.

View repository

Node.js quickstart

From credentials to first sync in a few calls.

Initialize the client with server-side environment variables, validate the connection, create a list, and sync your first contact.

  • Typed request and error objects
  • ESM and CommonJS builds
  • Zero runtime dependencies
quickstart.ts
import { EmailFunnelAi } from '@emailfunnelai/sdk-node';

const client = new EmailFunnelAi({
  projectKey: process.env.EMAILFUNNELAI_PROJECT_KEY,
  projectSecret: process.env.EMAILFUNNELAI_PROJECT_SECRET,
});

await client.validate();

const list = await client.lists().create('Newsletter signups');

await client
  .contacts()
  .sync({
    email: 'jane@example.com',
    first_name: 'Jane',
    source_type: 'product',
  })
  .toList(list.id);

One complete surface

The integration primitives your product needs.

Move subscriber data and operational context between your application and EmailFunnelAI through consistent resource methods.

01

Validate credentials

Confirm a project key and secret before your application starts syncing data.

02

Sync contacts

Create or update individual contacts, send real-time webhook events, or queue bulk syncs.

03

Manage lists

Create, browse, and retrieve the contact lists your integration sends data into.

04

Configure bindings

Connect an external source, update its sync state, and report completion or errors.

05

Map fields

Read, update, and reset field mappings between your application and EmailFunnelAI.

06

Preview auto-tagging

Inspect tagging rules and preview how incoming contact data will be classified.

07

Read analytics

Access dashboard, heatmap, funnel, campaign, and form analytics from application code.

08

Generate SSO links

Create signed login links and retrieve team-member context for connected experiences.

Designed for server-side integrations

Keep credentials private. Keep failures predictable.

Official clients centralize authentication, decode API responses, and expose structured errors so your application can respond cleanly.

Project credentials

Load keys from server-side environment variables or a secrets manager.

Typed failures

Handle validation, authentication, rate-limit, transport, and decoding errors explicitly.

Custom transports

Inject logging, proxies, timeouts, test doubles, or your framework’s native HTTP client.

Developer questions

Choose a client with confidence.

Which languages have official SDKs?

EmailFunnelAI maintains official clients for PHP, Laravel, Node.js and TypeScript, Python, Rust, and Go.

What can the SDKs do?

They cover credential validation, contacts and bulk sync, lists, bindings, field mappings, auto-tagging, analytics, SSO, and typed API errors.

Which SDK has a published package?

The Node.js and TypeScript client is published on npm. The other official SDK repositories are available on GitHub while their package-registry releases are finalized.

When should I use MCP instead?

Use an SDK when your running application needs to call EmailFunnelAI. Use MCP when you want a supported coding assistant to help configure projects, credentials, webhook specifications, or form embeds.

How should I handle project credentials?

Store the project key and project secret in server-side environment variables or a secrets manager. Never commit secrets or expose them in browser code.

Are the SDKs open source?

Yes. The official repositories are public on GitHub and licensed under the MIT License.

Official open-source clients

Pick your language and start building.

Explore implementation details, examples, tests, and the complete resource surface in the EmailFunnelAI GitHub organization.

View all SDKs on GitHub