Integrations
Connect with authentication providers, payment gateways, email services, and more.
Integrations
Overview
AlgorithmShift integrates with popular services and provides extensible APIs for connecting to any external system.
Built-in Integrations
Authentication Providers
| Provider | Type | Features |
|---|---|---|
| Email/Password | Native | Registration, login, password reset |
| OAuth 2.0 | Sign in with Google | |
| GitHub | OAuth 2.0 | Sign in with GitHub |
| Microsoft | OAuth 2.0 | Azure AD, Microsoft 365 |
| Apple | OAuth 2.0 | Sign in with Apple |
| SAML | Enterprise SSO | Custom identity providers |
Payment Gateways
| Provider | Features |
|---|---|
| Stripe | Payments, subscriptions, invoicing |
| PayPal | Standard payments, PayPal checkout |
| Square | POS, online payments |
Email Services
| Provider | Features |
|---|---|
| SendGrid | Transactional, marketing emails |
| Amazon SES | High-volume email |
| Mailgun | Transactional emails |
| Postmark | Transactional emails |
File Storage
| Provider | Features |
|---|---|
| Amazon S3 | Object storage, CDN |
| Cloudflare R2 | S3-compatible storage |
| Google Cloud Storage | Object storage |
Webhooks
Outgoing Webhooks
Send data to external systems when events occur:
typescript
// Example: Sync orders to external ERP
{
name: 'Sync Orders to ERP',
entity: 'orders',
event: 'create',
condition: 'record.status === "paid"',
url: 'https://erp.company.com/api/orders',
method: 'POST',
auth: {
type: 'bearer',
credentials: '${secrets.ERP_API_TOKEN}'
},
headers: {
'Content-Type': 'application/json'
},
retryAttempts: 3,
retryDelay: 60,
enabled: true
}Incoming Webhooks
typescript
// webhooks/stripe-payment.ts
export async function handleStripeWebhook(payload: any, context: WebhookContext) {
const signature = context.headers['stripe-signature'];
const event = stripe.webhooks.constructEvent(
payload,
signature,
context.secrets.STRIPE_WEBHOOK_SECRET
);
switch (event.type) {
case 'payment_intent.succeeded':
const paymentIntent = event.data.object;
await context.db.orders.update(
{ stripe_payment_intent: paymentIntent.id },
{ status: 'paid', paid_at: new Date() }
);
break;
}
return { received: true };
}Payment Integration (Stripe)
Create Payment Intent
typescript
const paymentIntent = await services.stripe.createPaymentIntent({
amount: 9999, // in cents
currency: 'usd',
metadata: { orderId: 'order-uuid' }
});
return { clientSecret: paymentIntent.client_secret };Subscriptions
typescript
// Create subscription
const subscription = await services.stripe.createSubscription({
customerId: 'cus_xxx',
priceId: 'price_xxx',
trialDays: 14
});
// Cancel subscription
await services.stripe.cancelSubscription({
subscriptionId: 'sub_xxx',
immediately: false // At period end
});Integration Marketplace
Available Connectors
| Category | Integrations |
|---|---|
| CRM | Salesforce, HubSpot, Pipedrive |
| ERP | SAP, NetSuite, Odoo |
| Marketing | Mailchimp, ActiveCampaign, Klaviyo |
| Analytics | Google Analytics, Mixpanel, Amplitude |
| Support | Zendesk, Intercom, Freshdesk |
| Accounting | QuickBooks, Xero, FreshBooks |
| E-commerce | Shopify, WooCommerce, BigCommerce |