Real-world integration scenarios
See how teams use Weavz for AI agents, customer onboarding, real-time automation, and compliance. From Code-Mode to webhooks to self-service portals.
Customer Onboarding
New customers connect their tools through a hosted popup. Give them a self-service portal to manage connections. Every user gets a unified identity record.
- Generate connect token
- Customer authorizes via popup
- Portal token created automatically
Customer signs up
End user identity created
OAuth popup opens
Hosted connect flow
Portal access granted
Self-service management
AI Sales Assistant
Your AI agent monitors Salesforce deals, drafts follow-up emails via Gmail, and posts weekly pipeline summaries to Slack.
- Get Salesforce deals
- Send Gmail email
- Post to Slack channel
// AI Sales Assistant — Code-Mode MCP
const deals = await weavz.salesforce.get_records({
object: "Opportunity",
conditions: "StageName = 'Negotiation'",
});
// Draft follow-up for each stale deal
for (const deal of deals.records) {
const daysSince = (Date.now() - new Date(deal.LastActivityDate).getTime())
/ (1000 * 60 * 60 * 24);
if (daysSince > 7) {
await weavz.gmail.send_email({
to: deal.ContactEmail,
subject: `Following up on ${deal.Name}`,
body: `Hi, just checking in on ${deal.Name}...`,
});
}
}
// Weekly pipeline summary to Slack
const total = deals.records.reduce((s, d) => s + d.Amount, 0);
await weavz.slack.send_channel_message({
channel: "#sales",
text: `Pipeline: ${deals.records.length} deals, $${total.toLocaleString()}`,
});Multi-Tenant SaaS
Each customer workspace gets its own integration config, scoped API keys, and enforced parameter presets. Full tenant isolation without building it yourself.
- Create workspace per customer
- Scope API keys to workspace
- Enforce parameter presets
Real-Time Notifications
Subscribe to webhook events from Stripe or GitHub. When something happens, your handler fires automatically — no polling, no cron jobs.
- Enable Stripe webhook trigger
- Receive real-time events
- Send Slack notification
// Enable a webhook trigger
const trigger = await client.triggers.enable({
integrationName: "stripe",
triggerName: "new_payment",
workspaceId: "my-workspace",
input: { events: ["payment_intent.succeeded"] },
webhookUrl: "https://your-app.com/webhooks/stripe",
});
// Your webhook handler
app.post("/webhooks/stripe", async (req) => {
const payment = req.body;
// Notify the team
await client.actions.execute({
integrationName: "slack",
actionName: "send_channel_message",
workspaceId: "my-workspace",
input: {
channel: "#payments",
text: `New payment: $${payment.amount / 100}`,
},
});
});Data Pipeline Automation
Sync data between Google Sheets and Airtable, persist results to Storage, and notify on completion.
- Read Google Sheets rows
- Create Airtable records
- Persist to Storage
- Send Slack notification
// Data Pipeline — Code-Mode MCP
const rows = await weavz.google_sheets.get_rows({
spreadsheet_id: "1BxiMVs...",
sheet_name: "Leads",
range: "A:D",
});
// Sync to Airtable
let synced = 0;
for (const row of rows.values) {
await weavz.airtable.create_record({
base_id: "appXyz...",
table_name: "Leads",
fields: { Name: row[0], Email: row[1], Company: row[2] },
});
synced++;
}
// Persist sync log to Storage
await weavz.storage.upload({
path: `sync-logs/${new Date().toISOString().slice(0,10)}.json`,
content: JSON.stringify({ synced, timestamp: Date.now() }),
});
await weavz.slack.send_channel_message({
channel: "#data-ops",
text: `Synced ${synced} leads, log saved to storage`,
});Compliance & Audit
Track every action execution, enforce parameter values per workspace, and use your own OAuth credentials for compliance. Full audit trail from 7 days to 1 year.
- Every action logged automatically
- Enforced parameters prevent misuse
- Custom OAuth apps for your branding
E-Commerce Operations
Trigger on new Shopify orders via webhook. Cross-reference Stripe payments and alert on high-value transactions.
- Get Shopify orders
- Retrieve Stripe payment
- Send Slack alert
// E-Commerce Ops — trigger on new orders
// First, enable a Shopify webhook trigger:
// client.triggers.enable({ triggerName: "new_order", ... })
// Then in your handler — Code-Mode MCP
const orders = await weavz.shopify.get_orders({
status: "any",
created_at_min: new Date(Date.now() - 86400000)
.toISOString(),
});
for (const order of orders) {
// Cross-reference with Stripe
if (order.payment_gateway_names.includes("stripe")) {
const payment = await weavz.stripe.retrieve_payment_intent({
payment_intent_id: order.checkout_token,
});
// Alert on high-value orders
if (order.total_price > 500) {
await weavz.slack.send_channel_message({
channel: "#high-value",
text: [
`High-value order #${order.order_number}`,
`Amount: $${order.total_price}`,
`Customer: ${order.customer.email}`,
`Stripe: ${payment.status}`,
].join("\n"),
});
}
}
}Build your own integration workflow
1,000 free actions/month. No credit card required.