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
- Create an Auth0 account at auth0.com
- Create a new application in your Auth0 dashboard
- Copy your Domain and Client ID
- In Enkindl, navigate to Integrations → Authentication → Auth0
- 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
Clerk
Clerk offers a modern authentication solution with beautiful pre-built UI components, user management, and organization support.
Setup
- Sign up at clerk.com
- Create a new application
- Copy your Publishable Key and Secret Key
- In Enkindl, go to Integrations → Authentication → Clerk
- 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
Stripe
Stripe is the most popular payment platform for online businesses, offering comprehensive payment processing, subscription management, and financial tools.
Setup
- Create a Stripe account at stripe.com
- Navigate to Developers → API keys
- Copy your Publishable key and Secret key
- In Enkindl, go to Integrations → Payments → Stripe
- 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
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
SendGrid
SendGrid provides reliable email delivery with powerful APIs for transactional and marketing emails.
Setup
- Sign up at sendgrid.com
- Create an API key in Settings → API Keys
- Verify your sender domain or email
- In Enkindl, go to Integrations → Communication → SendGrid
- 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
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
Airtable
Airtable combines the simplicity of a spreadsheet with the power of a database, perfect for content management, CRM, and project tracking.
Setup
- Create an Airtable account at airtable.com
- Create a base and tables for your data
- Generate an API key in Account → API
- In Enkindl, go to Integrations → Data → Airtable
- 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
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
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
Calendly
Calendly simplifies scheduling by letting users book appointments based on your availability.
Setup
- Create a Calendly account at calendly.com
- Set up your availability and event types
- Generate an API key in Integrations → API & Webhooks
- In Enkindl, go to Integrations → Productivity → Calendly
- 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
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
OpenAI
OpenAI provides powerful language models for text generation, completion, embeddings, and more.
Setup
- Create an account at platform.openai.com
- Generate an API key in API keys section
- In Enkindl, go to Integrations → AI → OpenAI
- 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
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
- Create an account at supabase.com
- Create a new project and wait for it to initialize
- Go to Settings → API to find your credentials
- Copy your Project URL and anon/public key
- In Enkindl, go to Integrations → Backend → Supabase
- 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
Zapier
Zapier connects your application with 5,000+ apps through automated workflows (Zaps), enabling no-code integrations and automation.
Setup
- Create a Zapier account at zapier.com
- Click "Create Zap" in your dashboard
- For the trigger, search for "Webhooks by Zapier"
- Select "Catch Hook" as the trigger event
- Copy the Custom Webhook URL provided
- In Enkindl, go to Integrations → Automation → Zapier
- Paste the Webhook URL
- 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
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
- Create a HubSpot account at hubspot.com
- Navigate to Settings → Integrations → Private Apps
- Click "Create a private app"
- Name your app and select required scopes (contacts, deals, companies)
- Click "Create app" and copy the access token
- In Enkindl, go to Integrations → CRM → HubSpot
- 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.