Zapier コネクタ

Tajo を介して Zapier を Brevo に接続し、何千ものサードパーティアプリケーションをマーケティング自動化ワークフローにつなぎ、ノーコードのデータフローと技術スタック全体にわたるイベント駆動型トリガーを実現します。

概要

プロパティ
プラットフォームZapier
カテゴリ自動化(カスタム)
セットアップの複雑さ簡単
公式統合いいえ
同期データイベント、連絡先、ワークフロー、トリガー
認証方式API Key / OAuth 2.0

機能

  • マルチアプリオーケストレーション - Zap ワークフロー経由で 6,000 以上のアプリを Brevo に接続
  • Webhook トリガー - Zapier に接続された任意のアプリからリアルタイムイベントを受信
  • 連絡先同期 - Zapier に接続されたプラットフォームと Brevo 間で連絡先をプッシュおよびプル
  • イベント転送 - Tajo を介してアプリケーションイベントを Brevo 自動化にルーティング
  • マルチステップ Zap - フィルタ、フォーマッタ、遅延を使用した複雑なワークフローを構築
  • カスタム Zapier アプリ - Zapier Platform CLI を使用してカスタマイズされた統合を構築

前提条件

開始する前に、以下を準備してください。

  1. Zapier アカウント(無料ティア以上)
  2. API アクセス可能な Brevo アカウント
  3. コネクタ権限を持つ Tajo アカウント
  4. Node.js 18 以上がインストール済み(CLI ベースの統合開発用)

認証

API キー認証

Terminal window
# Zapier Platform の資格情報を設定
export ZAPIER_DEPLOY_KEY=your_deploy_key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key

OAuth 2.0

Zapier は Zap 内でサードパーティサービスを接続するために OAuth 2.0 をサポートしています。

const authentication = {
type: 'oauth2',
oauth2Config: {
authorizeUrl: {
url: 'https://your-app.com/oauth/authorize',
params: {
client_id: '{{process.env.CLIENT_ID}}',
state: '{{bundle.inputData.state}}',
redirect_uri: '{{bundle.inputData.redirect_uri}}',
response_type: 'code'
}
},
getAccessToken: {
url: 'https://your-app.com/oauth/token',
method: 'POST',
body: {
code: '{{bundle.inputData.code}}',
client_id: '{{process.env.CLIENT_ID}}',
client_secret: '{{process.env.CLIENT_SECRET}}',
grant_type: 'authorization_code',
redirect_uri: '{{bundle.inputData.redirect_uri}}'
}
},
refreshAccessToken: {
url: 'https://your-app.com/oauth/token',
method: 'POST',
body: {
refresh_token: '{{bundle.authData.refresh_token}}',
client_id: '{{process.env.CLIENT_ID}}',
client_secret: '{{process.env.CLIENT_SECRET}}',
grant_type: 'refresh_token'
}
}
}
};

設定

基本セットアップ

connectors:
zapier:
enabled: true
webhook_url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID"
sync:
contacts: true
events: true
workflows: true
triggers:
- contact_created
- order_placed
- form_submitted
mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME

Webhook 設定

Tajo を設定して Zapier Webhook にイベントを送信します。

webhooks:
zapier:
url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID"
events:
- contact.created
- contact.updated
- order.completed
- cart.abandoned
retry:
max_attempts: 3
backoff: exponential

API エンドポイント

エンドポイントメソッド説明
https://hooks.zapier.com/hooks/catch/{id}POSTWebhook キャッチフック
https://nla.zapier.com/api/v1/dynamic/exposed/GET公開アクションを一覧取得
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/POSTアクションを実行
https://zapier.com/api/platform/cli/appsGET登録済みアプリを一覧取得
https://zapier.com/api/platform/cli/pushPOST統合をデプロイ

コード例

コネクタの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Webhook 経由で Zapier を接続
await tajo.connectors.connect('zapier', {
webhookUrl: process.env.ZAPIER_WEBHOOK_URL,
events: ['contact.created', 'order.completed']
});

Platform CLI でカスタム Zapier 統合を構築

const { version: platformVersion } = require('zapier-platform-core');
const App = {
version: require('./package.json').version,
platformVersion,
authentication,
triggers: {
new_contact: {
key: 'new_contact',
noun: 'Contact',
display: {
label: 'New Contact in Tajo',
description: 'Triggers when a new contact is synced.'
},
operation: {
perform: async (z, bundle) => {
const response = await z.request({
url: 'https://api.tajo.io/v1/contacts',
params: { since: bundle.meta.lastPoll }
});
return response.data;
}
}
}
},
creates: {
sync_contact: {
key: 'sync_contact',
noun: 'Contact',
display: {
label: 'Sync Contact to Brevo',
description: 'Syncs a contact to Brevo via Tajo.'
},
operation: {
inputFields: [
{ key: 'email', required: true, type: 'string' },
{ key: 'firstName', type: 'string' },
{ key: 'lastName', type: 'string' }
],
perform: async (z, bundle) => {
const response = await z.request({
method: 'POST',
url: 'https://api.tajo.io/v1/contacts/sync',
body: bundle.inputData
});
return response.data;
}
}
}
}
};
module.exports = App;

受信 Zapier Webhook の処理

app.post('/webhooks/zapier', async (req, res) => {
const { event, data } = req.body;
await tajo.connectors.handleWebhook('zapier', {
topic: event,
payload: data
});
res.status(200).json({ status: 'received' });
});

レート制限

プランリクエストタスク/月ポーリング間隔
Free100/日10015 分
Starter1,000/日75015 分
Professional5,000/日2,0002 分
Team10,000/日50,0001 分

Zapier タスク制限

各 Zap ステップがタスクとしてカウントされます。マルチステップ Zap は実行ごとに複数のタスクを消費します。超過を避けるため Zapier ダッシュボードでタスク使用量を監視してください。

トラブルシューティング

問題原因解決策
Webhook が発火しないZap がオフになっているZapier ダッシュボードで Zap ステータスを確認
データがマッピングされないフィールド名の不一致アプリ間でフィールドキーが一致するか確認
重複した連絡先重複排除が未設定Tajo でメールベースの重複排除を有効化
Zap エラーAPI レート制限に達した遅延ステップを追加するか Zapier プランをアップグレード
認証の期限切れトークンが更新されていないZapier で接続を再認証

デバッグモード

connectors:
zapier:
debug: true
log_level: verbose
log_webhooks: true

ベストプラクティス

  1. ポーリングよりも Webhook を使用する - Webhook はポーリング遅延に対してリアルタイムデータフローを提供
  2. エラー処理を追加する - Zapier Paths を使用して成功/失敗シナリオを処理
  3. データを重複排除する - 重複レコードを防ぐため重複排除キーを有効化
  4. タスク使用量を監視する - タスク制限に達する前にアラートを設定
  5. フィルタを賢く使用する - 不要なタスク消費を減らすため Zap の早い段階でフィルタ
  6. CLI 統合のバージョンを管理する - Platform CLI アプリにセマンティックバージョニングを使用

セキュリティ

  • HTTPS のみ - すべての Webhook URL は HTTPS を使用する必要があります
  • API キーのローテーション - Zapier ダッシュボードから定期的にキーをローテーション
  • OAuth 2.0 - サードパーティサービス認証に OAuth を使用
  • Webhook 検証 - 受信 Webhook 署名を検証
  • スコープ付き権限 - Zap ごとに必要最小限のアクセスを付与

関連リソース

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。