技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
zapier【数据与研究】Automate workflows between apps with Zapier. Use when a user asks to connect apps without code, automate repetitive tasks, sync data between services, or build no-code integrations between SaaS tools.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Zapier connects 6000+ apps with automated workflows (Zaps). Trigger → Action chains: when something happens in one app, do something in another. No code required for basic automation; supports code steps for complex logic.
Trigger → Action examples:
1. New Stripe payment → Add row to Google Sheets → Send Slack notification
2. New form submission (Typeform) → Create contact in HubSpot → Send welcome email
3. New GitHub issue → Create Trello card → Notify on Discord
4. New email (Gmail) with attachment → Save to Google Drive → Notify on Slack
5. Scheduled (every day 9 AM) → Pull data from API → Post summary to Slack
// Trigger a Zap from your app via webhook
await fetch('https://hooks.zapier.com/hooks/catch/123456/abcdef/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
event: 'order_completed',
customer_email: 'john@example.com',
order_total: 99.99,
product: 'Premium Plan',
}),
})
// Zapier receives this and runs the connected workflow
// Zapier Code step — transform data between apps
const inputData = inputData // data from previous step
// Parse and transform
const fullName = `${inputData.firstName} ${inputData.lastName}`
const isVIP = parseFloat(inputData.totalSpent) > 1000
output = [{
fullName,
email: inputData.email.toLowerCase(),
isVIP,
segment: isVIP ? 'vip' : 'regular',
}]
// If you want YOUR app to appear in Zapier's directory
// Use Zapier Platform CLI to build a custom integration
// index.ts — Define triggers and actions for your app
const App = {
triggers: {
newOrder: {
display: { label: 'New Order', description: 'Triggers when a new order is created' },
operation: {
perform: async (z, bundle) => {
const response = await z.request('https://api.myapp.com/orders?since=' + bundle.meta.page)
return response.data
},
},
},
},
actions: {
createContact: {
display: { label: 'Create Contact' },
operation: {
perform: async (z, bundle) => {
return z.request({
method: 'POST',
url: 'https://api.myapp.com/contacts',
body: { email: bundle.inputData.email, name: bundle.inputData.name },
})
},
},
},
},
}