Enkindl Integrations Documentation

Overview

Enkindl integrations allow you to connect your applications with external services and APIs without writing complex integration code. Whether you need user authentication, payment processing, email notifications, or AI capabilities, Enkindl provides pre-built connectors that work out of the box. Unlike traditional headless CMS solutions, Enkindl provides full backend control alongside these integrations.

Why Use Integrations?

  • Speed: Skip weeks of integration development. Connect services in minutes with pre-configured templates.
  • Reliability: Battle-tested integrations that handle edge cases, rate limits, and error recovery automatically.
  • Security: OAuth flows, API key management, and secure credential storage built-in.
  • Maintenance: We handle API version updates and breaking changes so you don't have to.

How Integrations Work

Each integration follows a simple three-step process:

Connect

Authenticate with the service using OAuth, API keys, or service accounts. Enkindl securely stores your credentials.

Configure

Set up the integration parameters—webhook URLs, callback endpoints, scopes, and permissions—through our visual interface.

Use

Call integration functions directly in your code or use AI Chat to generate integration logic. All integrations expose a consistent API. Once configured, you're ready to deploy your application to production.

Auth0

Auth0 provides enterprise-grade authentication with support for social providers, passwordless login, multi-factor authentication, and advanced security features.

Auth0 provides enterprise-grade authentication with support for social providers, passwordless login, multi-factor authentication, and advanced security features.

Setup

  1. Create an Auth0 account at auth0.com
  2. Create a new application in your Auth0 dashboard
  3. Copy your Domain and Client ID
  4. In Enkindl, navigate to Integrations → Authentication → Auth0
  5. Paste your credentials and configure callback URLs

Features

  • Social Login: Google, Facebook, GitHub, LinkedIn, and 30+ providers
  • Passwordless: Email magic links and SMS one-time codes
  • MFA: SMS, authenticator apps, push notifications
  • Enterprise SSO: SAML, OIDC, Active Directory
  • User Management: Profile data, roles, permissions

Code Example

import { useAuth0 } from '@auth0/auth0-react';

function LoginButton() {
  const { loginWithRedirect, logout, user, isAuthenticated } = useAuth0();

  if (isAuthenticated) {
    return (
      <div>
        <p>Welcome, {user.name}!</p>
        <button onClick={() => logout()}>Log Out</button>
      </div>
    );
  }

  return <button onClick={() => loginWithRedirect()}>Log In</button>;
}

Documentation

Auth0 Documentation

Clerk

Clerk offers a modern authentication solution with beautiful pre-built UI components, user management, and organization support.

Setup

  1. Sign up at clerk.com
  2. Create a new application
  3. Copy your Publishable Key and Secret Key
  4. In Enkindl, go to Integrations → Authentication → Clerk
  5. Enter your keys and configure sign-in methods

Features

  • Pre-built Components: Drop-in sign-in, sign-up, and user profile components
  • Organizations: Multi-tenant support with team management
  • Session Management: Automatic token refresh and session handling
  • Webhooks: Real-time user events for syncing data

Best Practice: Use Auth0 for enterprise applications requiring advanced security and compliance. Use Clerk for SaaS products needing fast implementation and beautiful UX.

Documentation

Clerk Documentation

Stripe

Stripe is the most popular payment platform for online businesses, offering comprehensive payment processing, subscription management, and financial tools.

Setup

  1. Create a Stripe account at stripe.com
  2. Navigate to Developers → API keys
  3. Copy your Publishable key and Secret key
  4. In Enkindl, go to Integrations → Payments → Stripe
  5. Enter your keys (use test keys for development)

Features

  • Payment Methods: Credit cards, debit cards, Apple Pay, Google Pay, ACH, SEPA
  • Checkout: Pre-built hosted checkout or custom payment forms
  • Invoicing: Automated invoice generation and delivery
  • Webhooks: Real-time payment events and status updates
  • Fraud Prevention: Radar for fraud detection and 3D Secure

Code Example

import { loadStripe } from '@stripe/stripe-js';
import { Elements, CardElement, useStripe, useElements } from '@stripe/react-stripe-js';

const stripePromise = loadStripe('pk_test_...');

function CheckoutForm() {
  const stripe = useStripe();
  const elements = useElements();

  const handleSubmit = async (event) => {
    event.preventDefault();
    
    const { error, paymentMethod } = await stripe.createPaymentMethod({
      type: 'card',
      card: elements.getElement(CardElement),
    });

    if (!error) {
      // Send paymentMethod.id to your server
      const response = await fetch('/api/create-payment', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ paymentMethodId: paymentMethod.id }),
      });
    }
  };

  return (
    <form onSubmit={handleSubmit}>
      <CardElement />
      <button type="submit" disabled={!stripe}>Pay</button>
    </form>
  );
}

Documentation

Stripe API Documentation

Shopify

Integrate with Shopify to build custom storefronts, manage products, process orders, and sync inventory.

Use Cases

  • Custom e-commerce storefronts with Shopify backend
  • Product catalog synchronization
  • Order management and fulfillment
  • Inventory tracking across channels

Documentation

Shopify Storefront API Documentation

SendGrid

SendGrid provides reliable email delivery with powerful APIs for transactional and marketing emails.

Setup

  1. Sign up at sendgrid.com
  2. Create an API key in Settings → API Keys
  3. Verify your sender domain or email
  4. In Enkindl, go to Integrations → Communication → SendGrid
  5. Enter your API key

Features

  • Transactional Emails: Order confirmations, password resets, notifications
  • Templates: Dynamic email templates with variables
  • Analytics: Open rates, click rates, bounce tracking
  • Deliverability: Spam testing and inbox placement optimization

Code Example

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

const msg = {
  to: 'customer@example.com',
  from: 'noreply@yourdomain.com',
  subject: 'Order Confirmation',
  text: 'Thank you for your order!',
  html: '<strong>Thank you for your order!</strong>',
};

await sgMail.send(msg);

Documentation

SendGrid API Documentation

Twilio

Twilio enables SMS, voice calls, and video communication in your applications.

Features

  • SMS: Send and receive text messages globally
  • Voice: Make and receive phone calls programmatically
  • Verify: Phone number verification and 2FA
  • WhatsApp: Send messages via WhatsApp Business API

Code Example

const twilio = require('twilio');
const client = twilio(accountSid, authToken);

await client.messages.create({
  body: 'Your verification code is 123456',
  from: '+1234567890',
  to: '+0987654321'
});

Documentation

Twilio SMS Quickstart

Airtable

Airtable combines the simplicity of a spreadsheet with the power of a database, perfect for content management, CRM, and project tracking.

Setup

  1. Create an Airtable account at airtable.com
  2. Create a base and tables for your data
  3. Generate an API key in Account → API
  4. In Enkindl, go to Integrations → Data → Airtable
  5. Enter your API key and base ID

Use Cases

  • Content Management: Blog posts, product catalogs, FAQs
  • CRM: Customer records, leads, sales pipeline
  • Project Management: Tasks, milestones, team assignments
  • Form Submissions: Store and manage user-submitted data

Code Example

const Airtable = require('airtable');
const base = new Airtable({ apiKey: 'key...' }).base('app...');

// Create a record
await base('Products').create({
  Name: 'Widget',
  Price: 29.99,
  Stock: 100
});

// Query records
const records = await base('Products')
  .select({ filterByFormula: '{Stock} > 0' })
  .all();

Documentation

Airtable API Documentation

Google Sheets

Use Google Sheets as a simple database or data source for your application.

Features

  • Read and write data to spreadsheets
  • Real-time collaboration and updates
  • Formulas and data validation
  • Easy data import/export

Documentation

Google Sheets API Documentation

Notion

Integrate with Notion to use it as a CMS, knowledge base, or project management system.

Use Cases

  • Headless CMS for blog content
  • Documentation and help center
  • Team wiki and knowledge base
  • Product roadmap and feature requests

Documentation

Notion API Documentation

Calendly

Calendly simplifies scheduling by letting users book appointments based on your availability.

Setup

  1. Create a Calendly account at calendly.com
  2. Set up your availability and event types
  3. Generate an API key in Integrations → API & Webhooks
  4. In Enkindl, go to Integrations → Productivity → Calendly
  5. Enter your API key

Features

  • Embedded Scheduling: Add booking widgets to your site
  • Event Types: One-on-one, group, round-robin meetings
  • Calendar Sync: Google Calendar, Outlook, iCloud
  • Webhooks: Get notified of new bookings and cancellations
  • Custom Questions: Collect information before meetings

Code Example

// Embed Calendly widget
<div 
  className="calendly-inline-widget" 
  data-url="https://calendly.com/your-username/30min"
  style={{ minWidth: '320px', height: '630px' }}
/>

<script 
  type="text/javascript" 
  src="https://assets.calendly.com/assets/external/widget.js"
/>

Documentation

Calendly API Documentation

Google Maps

Add maps, geocoding, and location services to your application.

Features

  • Maps: Interactive maps with markers and overlays
  • Geocoding: Convert addresses to coordinates
  • Places: Search for businesses and points of interest
  • Directions: Calculate routes and travel times

Documentation

Google Maps JavaScript API Documentation

OpenAI

OpenAI provides powerful language models for text generation, completion, embeddings, and more.

Setup

  1. Create an account at platform.openai.com
  2. Generate an API key in API keys section
  3. In Enkindl, go to Integrations → AI → OpenAI
  4. Enter your API key

Features

  • Chat Completion: GPT-4 and GPT-3.5 for conversational AI
  • Text Generation: Content creation, summarization, translation
  • Embeddings: Semantic search and similarity matching
  • Image Generation: DALL-E for AI-generated images
  • Function Calling: Structured outputs and tool use

Code Example

import OpenAI from 'openai';

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const completion = await openai.chat.completions.create({
  model: "gpt-4",
  messages: [
    { role: "system", content: "You are a helpful assistant." },
    { role: "user", content: "Explain quantum computing in simple terms." }
  ],
});

console.log(completion.choices[0].message.content);

Cost Management: Set usage limits in your OpenAI dashboard to prevent unexpected charges. Monitor token usage and implement caching for repeated queries.

Documentation

OpenAI API Documentation

Security Note: Always validate and sanitize data from external integrations. Never expose API keys in client-side code. Use environment variables and server-side proxies.

Supabase

Supabase is an open-source Firebase alternative providing a complete backend solution with PostgreSQL database, authentication, storage, and real-time subscriptions.

Setup

  1. Create an account at supabase.com
  2. Create a new project and wait for it to initialize
  3. Go to Settings → API to find your credentials
  4. Copy your Project URL and anon/public key
  5. In Enkindl, go to Integrations → Backend → Supabase
  6. Enter your Project URL and Anon Key

Features

  • PostgreSQL Database: Full-featured relational database with SQL support
  • Authentication: Email, OAuth providers, magic links, phone auth
  • Real-time: Subscribe to database changes instantly
  • Storage: File uploads with CDN and image transformations
  • Edge Functions: Serverless functions deployed globally
  • Row Level Security: Database-level access control

Code Example

import { createClient } from '@supabase/supabase-js';

const supabase = createClient(
  'https://xxxxx.supabase.co',
  'your-anon-key'
);

// Insert data
const { data, error } = await supabase
  .from('products')
  .insert({ name: 'Widget', price: 29.99 });

// Query data
const { data: products } = await supabase
  .from('products')
  .select('*')
  .eq('category', 'electronics');

// Real-time subscription
supabase
  .channel('products')
  .on('postgres_changes', 
    { event: '*', schema: 'public', table: 'products' },
    (payload) => console.log('Change:', payload)
  )
  .subscribe();

Use Cases

  • SaaS applications with user authentication and data storage
  • Real-time collaborative tools (chat, dashboards, multiplayer)
  • Content management systems with file uploads
  • Mobile apps needing offline-first sync

Best Practice: Use Row Level Security (RLS) policies to secure your data. Enable RLS on all tables and write policies that match your application's access patterns.

Documentation

Supabase Documentation

Zapier

Zapier connects your application with 5,000+ apps through automated workflows (Zaps), enabling no-code integrations and automation.

Setup

  1. Create a Zapier account at zapier.com
  2. Click "Create Zap" in your dashboard
  3. For the trigger, search for "Webhooks by Zapier"
  4. Select "Catch Hook" as the trigger event
  5. Copy the Custom Webhook URL provided
  6. In Enkindl, go to Integrations → Automation → Zapier
  7. Paste the Webhook URL
  8. Complete your Zap by adding actions (e.g., send to Slack, add to CRM)

Features

  • 5,000+ Integrations: Connect with virtually any business tool
  • Multi-Step Workflows: Chain multiple actions together
  • Filters & Logic: Conditional workflows based on data
  • Formatters: Transform data between apps
  • Scheduled Triggers: Run workflows on a schedule
  • Error Handling: Automatic retries and notifications

Code Example

// Send data to Zapier webhook
const sendToZapier = async (data) => {
  const webhookUrl = 'https://hooks.zapier.com/hooks/catch/...';
  
  const response = await fetch(webhookUrl, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      event: 'new_user_signup',
      user: {
        email: data.email,
        name: data.name,
        plan: data.plan
      },
      timestamp: new Date().toISOString()
    })
  });
  
  return response.ok;
};

// Example: Send new user data to Zapier
await sendToZapier({
  email: 'user@example.com',
  name: 'John Doe',
  plan: 'Pro'
});

Use Cases

  • Lead Management: New form submissions → Add to CRM → Notify sales team
  • Customer Onboarding: New signup → Send welcome email → Create Slack channel
  • Data Sync: New order → Update inventory → Log in Google Sheets
  • Notifications: Error occurred → Send to Slack → Create Jira ticket
  • Content Publishing: New blog post → Share on social media → Update RSS feed

Pro Tip: Use Zapier's "Paths" feature to create branching logic. For example, route high-value leads to sales and low-value leads to marketing automation.

Documentation

Zapier Webhooks Documentation

HubSpot

HubSpot is an all-in-one CRM, marketing, and sales platform that helps you manage customer relationships, automate marketing campaigns, and track the entire customer journey.

Setup

  1. Create a HubSpot account at hubspot.com
  2. Navigate to Settings → Integrations → Private Apps
  3. Click "Create a private app"
  4. Name your app and select required scopes (contacts, deals, companies)
  5. Click "Create app" and copy the access token
  6. In Enkindl, go to Integrations → CRM → HubSpot
  7. Enter your API key/access token

Features

  • Contact Management: Store and organize customer information
  • Deal Pipeline: Track sales opportunities through stages
  • Email Marketing: Create and send marketing campaigns
  • Forms: Capture leads with customizable forms
  • Workflows: Automate follow-ups and nurture sequences
  • Analytics: Track campaign performance and ROI
  • Live Chat: Real-time customer support widget

Code Example

const hubspot = require('@hubspot/api-client');
const hubspotClient = new hubspot.Client({ accessToken: 'your-token' });

// Create a contact
const contactObj = {
  properties: {
    email: 'user@example.com',
    firstname: 'John',
    lastname: 'Doe',
    phone: '+1234567890',
    company: 'Acme Corp'
  }
};

const contact = await hubspotClient.crm.contacts.basicApi.create(contactObj);

// Create a deal
const dealObj = {
  properties: {
    dealname: 'New Enterprise Deal',
    amount: '50000',
    dealstage: 'qualifiedtobuy',
    pipeline: 'default'
  }
};

const deal = await hubspotClient.crm.deals.basicApi.create(dealObj);

// Search contacts
const searchRequest = {
  filterGroups: [{
    filters: [{
      propertyName: 'email',
      operator: 'EQ',
      value: 'user@example.com'
    }]
  }]
};

const results = await hubspotClient.crm.contacts.searchApi.doSearch(searchRequest);

Use Cases

  • Lead Capture: Website forms automatically create contacts in HubSpot
  • Sales Pipeline: Track deals from prospect to closed-won
  • Marketing Automation: Drip campaigns based on user behavior
  • Customer Support: Ticket management and live chat
  • Analytics Dashboard: Visualize sales and marketing metrics

Best Practice: Use HubSpot's contact properties to segment your audience. Create custom properties for product usage, engagement scores, or customer lifecycle stages.

Rate Limits: HubSpot has API rate limits based on your subscription tier. Implement exponential backoff and caching to stay within limits.

Documentation

HubSpot API Documentation