---
title: "Zapier Connector"
description: "คู่มือการผสานรวม Zapier ฉบับสมบูรณ์สำหรับการเชื่อมต่อแอปนับพันกับ Brevo ผ่าน Tajo โดยใช้ Zaps webhooks และ Zapier Platform CLI"
url: https://tajo.io/th/docs/connectors/custom/zapier/
markdown: https://tajo.io/th/docs/connectors/custom/zapier.md
lang: th-TH
robots: noindex
---

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อและที่อยู่อีเมลที่ทำงานของคุณ เราจะส่งลิงก์เพื่อยืนยันคำขอเข้าใช้งาน Tajo ทางอีเมล

# Zapier Connector

สถานะตัวเชื่อม: วางแผนไว้ ยังไม่ได้สร้าง ปัจจุบัน Tajo ยังไม่ได้ใช้งานตัวเชื่อมนี้

| ฟิลด์ต้นทาง | ฟิลด์ปลายทาง | ค่าตัวอย่าง |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

เชื่อมต่อ Zapier กับ Brevo ผ่าน Tajo เพื่อเชื่อมแอปของบุคคลที่สามนับพันกับเวิร์กโฟลว์ระบบอัตโนมัติทางการตลาดของคุณ เปิดใช้งานการไหลของข้อมูลแบบไม่ต้องเขียนโค้ดและทริกเกอร์ที่ขับเคลื่อนด้วยเหตุการณ์ทั่วทั้ง tech stack ของคุณ

## ภาพรวม

| คุณสมบัติ | ค่า |
| --- | --- |
| **แพลตฟอร์ม** | Zapier |
| **หมวดหมู่** | Automation (แบบกำหนดเอง) |
| **ความซับซ้อนในการตั้งค่า** | ง่าย |
| **การผสานรวมอย่างเป็นทางการ** | ไม่ |
| **ข้อมูลที่ซิงค์** | เหตุการณ์ ผู้ติดต่อ เวิร์กโฟลว์ ทริกเกอร์ |
| **วิธีการยืนยันตัวตน** | API Key / OAuth 2.0 |

## ฟีเจอร์

- **การประสานงานหลายแอป** - เชื่อมต่อ 6,000+ แอปกับ Brevo ผ่าน Zap workflows
- **Webhook triggers** - รับเหตุการณ์แบบเรียลไทม์จากแอปใดก็ตามที่เชื่อมต่อกับ Zapier
- **การซิงค์ผู้ติดต่อ** - ผลักดันและดึงผู้ติดต่อระหว่างแพลตฟอร์มที่เชื่อมต่อกับ Zapier และ Brevo
- **การส่งต่อเหตุการณ์** - กำหนดเส้นทางเหตุการณ์แอปพลิเคชันผ่าน Tajo เข้าสู่ระบบอัตโนมัติ Brevo
- **Zaps หลายขั้นตอน** - สร้างเวิร์กโฟลว์ที่ซับซ้อนพร้อมตัวกรอง formatters และ delays
- **Custom Zapier app** - ใช้ Zapier Platform CLI เพื่อสร้างการผสานรวมที่ปรับแต่งได้

## ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

1. บัญชี Zapier (Free tier หรือสูงกว่า)
2. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
3. บัญชี Tajo ที่มีสิทธิ์ connector
4. Node.js 18+ ที่ติดตั้งแล้ว (สำหรับการพัฒนาการผสานรวมด้วย CLI)

## การยืนยันตัวตน

### การยืนยันตัวตนด้วย API Key

```bash
# Set your Zapier Platform credentials
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 รองรับ OAuth 2.0 สำหรับการเชื่อมต่อบริการของบุคคลที่สามภายใน Zaps:

```javascript
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'
      }
    }
  }
};
```

## การกำหนดค่า

### การตั้งค่าพื้นฐาน

```yaml
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 webhooks:

```yaml
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 Endpoints

| Endpoint | เมธอด | คำอธิบาย |
| --- | --- | --- |
| `https://hooks.zapier.com/hooks/catch/{id}` | POST | Webhook catch hook |
| `https://nla.zapier.com/api/v1/dynamic/exposed/` | GET | แสดงรายการ actions ที่เปิดเผย |
| `https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/` | POST | รัน action |
| `https://zapier.com/api/platform/cli/apps` | GET | แสดงรายการแอปที่ลงทะเบียน |
| `https://zapier.com/api/platform/cli/push` | POST | Deploy integration |

## ตัวอย่างโค้ด

### เริ่มต้น Connector

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Zapier via webhook
await tajo.connectors.connect('zapier', {
  webhookUrl: process.env.ZAPIER_WEBHOOK_URL,
  events: ['contact.created', 'order.completed']
});
```

### สร้าง Custom Zapier Integration ด้วย Platform CLI

```javascript
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.example.com/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.example.com/v1/contacts/sync',
            body: bundle.inputData
          });
          return response.data;
        }
      }
    }
  }
};

module.exports = App;
```

Caution

ที่อยู่ `example.com` ด้านบนเป็นเพียงตัวอย่างชั่วคราวจนกว่าปลายทางของ Tajo จะพร้อมใช้งาน

### จัดการ Zapier Webhooks ขาเข้า

```javascript
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' });
});
```

## ขีดจำกัดอัตรา

| แผน | คำขอ | Tasks/เดือน | ช่วงเวลา Polling |
| --- | --- | --- | --- |
| Free | 100/วัน | 100 | 15 นาที |
| Starter | 1,000/วัน | 750 | 15 นาที |
| Professional | 5,000/วัน | 2,000 | 2 นาที |
| Team | 10,000/วัน | 50,000 | 1 นาที |

ขีดจำกัด Zapier Task

แต่ละขั้นตอน Zap นับเป็น task หนึ่งรายการ Zaps หลายขั้นตอนบริโภค tasks หลายรายการต่อการรัน ตรวจสอบการใช้งาน task ใน Zapier dashboard เพื่อหลีกเลี่ยงการเกินขีดจำกัด

## การแก้ไขปัญหา

| ปัญหา | สาเหตุ | วิธีแก้ |
| --- | --- | --- |
| Webhook ไม่ทำงาน | Zap ถูกปิด | ตรวจสอบสถานะ Zap ใน Zapier dashboard |
| ข้อมูลไม่แมป | ชื่อฟิลด์ไม่ตรงกัน | ตรวจสอบว่า field keys ตรงกันระหว่างแอป |
| ผู้ติดต่อซ้ำกัน | ไม่ได้กำหนดค่า dedup | เปิดใช้งาน email-based deduplication ใน Tajo |
| ข้อผิดพลาด Zap | ถึงขีดจำกัด API rate | เพิ่ม delay steps หรืออัปเกรดแผน Zapier |
| Auth หมดอายุ | Token ไม่ได้ refresh | ยืนยันตัวตนการเชื่อมต่อใหม่ใน Zapier |

### โหมด Debug

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

## แนวทางปฏิบัติที่ดีที่สุด

1. **ใช้ webhooks แทนการ polling** - Webhooks ให้การไหลของข้อมูลแบบเรียลไทม์เทียบกับความล่าช้าในการ polling
2. **เพิ่มการจัดการข้อผิดพลาด** - ใช้ Zapier Paths เพื่อจัดการสถานการณ์ success/failure
3. **Deduplicate ข้อมูล** - เปิดใช้งาน deduplication keys เพื่อป้องกัน records ซ้ำกัน
4. **ตรวจสอบการใช้งาน task** - ตั้งค่าการแจ้งเตือนก่อนถึงขีดจำกัด task
5. **ใช้ตัวกรองอย่างชาญฉลาด** - กรองในช่วงต้นของ Zaps เพื่อลดการบริโภค task ที่ไม่จำเป็น
6. **จัดเวอร์ชัน CLI integrations ของคุณ** - ใช้ semantic versioning สำหรับแอป Platform CLI

## ความปลอดภัย

- **HTTPS เท่านั้น** - Webhook URLs ทั้งหมดต้องใช้ HTTPS
- **การหมุนเวียน API key** - หมุนเวียน keys เป็นระยะผ่าน Zapier dashboard
- **OAuth 2.0** - ใช้ OAuth สำหรับการยืนยันตัวตนบริการของบุคคลที่สาม
- **การตรวจสอบ webhook** - ตรวจสอบลายเซ็น webhook ขาเข้า
- **สิทธิ์ที่กำหนดขอบเขต** - ให้สิทธิ์การเข้าถึงขั้นต่ำที่จำเป็นต่อ Zap

## แหล่งข้อมูลที่เกี่ยวข้อง

- [Segment Connector](https://tajo.io/th/docs/connectors/custom/segment)
- [Brevo Connector](https://tajo.io/th/docs/connectors/marketing/brevo)
- [Customer Sync Skill](https://tajo.io/th/docs/skills/data-sync/customer-sync)
- [Zapier Platform CLI Documentation](https://platform.zapier.com/reference/cli-docs)
