AfricaOSAfricaOS

Integrations

Connect AfricaOS with external services

Integrations

Connect AfricaOS to your existing tools and services.

Overview

Integrations extend AfricaOS functionality by connecting to external platforms. Most integrations are configured per-module.

Available Integrations

Payment Providers

IntegrationModuleSetup
StripePaymentsAPI keys, webhooks
PaystackPaymentsAPI keys, webhooks
FlutterwavePaymentsAPI keys, webhooks
ManualPaymentsNo setup required

Communication

IntegrationModuleSetup
TwilioNotifications, BookingsAccount SID, Auth Token
SendGridNotificationsAPI key
PostmarkNotificationsServer token
SlackWorkflows, NotificationsOAuth app
Microsoft TeamsWorkflows, NotificationsWebhook URL
WhatsApp BusinessNotifications, BookingsMeta Business account

Calendar & Scheduling

IntegrationModuleSetup
Google CalendarBookings, Patients, CalendarOAuth
Outlook/Office 365Bookings, Patients, CalendarOAuth
CalendlyBookingsAPI key

Accounting & Finance

IntegrationModuleSetup
QuickBooks OnlineFinance, PaymentsOAuth
XeroFinance, PaymentsOAuth
SageFinanceAPI credentials
Zoho BooksFinanceOAuth

E-Commerce & Marketplaces

IntegrationModuleSetup
ShopifyStock, PaymentsPrivate app
WooCommerceStock, PaymentsConsumer key/secret
TakealotStockAPI key
Amazon SP-APIStockDeveloper registration

Shipping & Logistics

IntegrationModuleSetup
DHLStockAccount credentials
FedExStockAccount credentials
AramexStockAPI key
Local CouriersStockAPI/Webhook

CRM & Marketing

IntegrationModuleSetup
HubSpotAllOAuth
SalesforceAllConnected App
MailchimpNotificationsAPI key
ActiveCampaignNotificationsAPI key, URL

Productivity

IntegrationModuleSetup
ZapierAllZapier account
Make (Integromat)AllMake account
n8nAllSelf-hosted or cloud
Google SheetsAllService account
AirtableAllAPI key

Development

IntegrationModuleSetup
WebhooksAllEndpoint URL, secret
REST APIAllAPI token
GraphQLAllAPI token
Custom ScriptsWorkflowsTypeScript editor

Setting Up Integrations

General Steps

  1. Go to Settings → Integrations
  2. Find the integration
  3. Click Configure
  4. Enter credentials
  5. Test connection
  6. Enable for modules

Webhook Security

All webhooks include:

  • Signature - HMAC-SHA256 with shared secret
  • Timestamp - Prevent replay attacks
  • Event ID - Deduplication

Verify in your endpoint:

const crypto = require('crypto');
const signature = req.headers['x-africaos-signature'];
const expected = crypto
  .createHmac('sha256', process.env.WEBHOOK_SECRET)
  .update(req.body)
  .digest('hex');

if (signature !== expected) {
  return res.status(401).send('Invalid signature');
}

Rate Limits

IntegrationLimit
REST API100 req/min
GraphQL50 req/min
Webhooks1000/min
Zapier/MakePer plan

Custom Integrations

REST API

Full API access for custom development:

  • Base URL - https://api.africaos.dev/v1
  • Auth - Bearer token (Settings → API Tokens)
  • Docs - /docs/api/reference

GraphQL

Flexible queries for complex data:

  • Endpoint - https://api.africaos.dev/graphql
  • Schema - Introspection enabled
  • Playground - Available in settings

Workflow Scripts

Run TypeScript in workflows:

// Available globals: fetch, console, Date, Math, JSON
// Context: trigger, record, user, org

async function main() {
  const response = await fetch('https://api.external.com/data', {
    headers: { 'Authorization': `Bearer ${secrets.EXTERNAL_API_KEY}` }
  });
  return response.json();
}

Troubleshooting

Common Issues

IssueSolution
"Invalid credentials"Regenerate API keys, check permissions
"Webhook timeout"Endpoint must respond < 10s
"Rate limited"Implement exponential backoff
"Schema mismatch"Check API version, update mapping
"OAuth failed"Verify redirect URIs, scopes

Debugging

  1. Check Settings → Integrations → Logs
  2. View request/response payloads
  3. Test with Test Connection button
  4. Check external service logs

On this page