---
title: "Konektor Zapier"
description: "Panduan integrasi Zapier lengkap untuk menghubungkan ribuan aplikasi ke Brevo melalui Tajo menggunakan Zap, webhook, dan Zapier Platform CLI."
url: https://tajo.io/in/docs/connectors/custom/zapier/
markdown: https://tajo.io/in/docs/connectors/custom/zapier.md
lang: id-ID
robots: noindex
---

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

# Konektor Zapier

Status konektor: Direncanakan Belum dibangun. Tajo belum menjalankan konektor ini.

| Field sumber | Field tujuan | Nilai contoh |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Hubungkan Zapier ke Brevo melalui Tajo untuk menjembatani ribuan aplikasi pihak ketiga dengan alur kerja otomatisasi pemasaran Anda, sehingga aliran data tanpa kode dan pemicu berbasis event dapat berjalan di seluruh tech stack Anda.

## Ikhtisar

| Properti | Nilai |
| --- | --- |
| **Platform** | Zapier |
| **Kategori** | Otomatisasi (Custom) |
| **Kompleksitas setup** | Mudah |
| **Integrasi resmi** | Tidak |
| **Data yang disinkronkan** | Event, kontak, alur kerja, pemicu |
| **Metode autentikasi** | API Key / OAuth 2.0 |

## Fitur

- **Orkestrasi multi-aplikasi** - Hubungkan 6.000+ aplikasi ke Brevo melalui alur kerja Zap
- **Pemicu webhook** - Terima event real-time dari aplikasi mana pun yang terhubung ke Zapier
- **Sinkronisasi kontak** - Kirim dan tarik kontak antara platform yang terhubung ke Zapier dan Brevo
- **Penerusan event** - Arahkan event aplikasi melalui Tajo ke dalam otomatisasi Brevo
- **Zap multi-langkah** - Bangun alur kerja kompleks dengan filter, formatter, dan penundaan
- **Aplikasi Zapier kustom** - Gunakan Zapier Platform CLI untuk membangun integrasi yang disesuaikan

## Prasyarat

Sebelum memulai, pastikan Anda memiliki:

1. Akun Zapier (paket Free atau lebih tinggi)
2. Akun Brevo dengan akses API
3. Akun Tajo dengan izin konektor
4. Node.js 18+ terpasang (untuk pengembangan integrasi berbasis CLI)

## Autentikasi

### Autentikasi 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 mendukung OAuth 2.0 untuk menghubungkan layanan pihak ketiga di dalam Zap:

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

## Konfigurasi

### Setup dasar

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

### Konfigurasi webhook

Konfigurasikan Tajo untuk mengirim event ke webhook Zapier:

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

## Endpoint API

| Endpoint | Metode | Deskripsi |
| --- | --- | --- |
| `https://hooks.zapier.com/hooks/catch/{id}` | POST | Catch hook webhook |
| `https://nla.zapier.com/api/v1/dynamic/exposed/` | GET | Menampilkan action yang diekspos |
| `https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/` | POST | Menjalankan sebuah action |
| `https://zapier.com/api/platform/cli/apps` | GET | Menampilkan aplikasi terdaftar |
| `https://zapier.com/api/platform/cli/push` | POST | Men-deploy integrasi |

## Contoh kode

### Inisialisasi konektor

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

### Membangun integrasi Zapier kustom dengan 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

Alamat `example.com` di atas adalah placeholder sampai endpoint Tajo tersedia.

### Menangani webhook masuk dari Zapier

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

## Batas rate

| Paket | Permintaan | Task/bulan | Interval polling |
| --- | --- | --- | --- |
| Free | 100/hari | 100 | 15 menit |
| Starter | 1.000/hari | 750 | 15 menit |
| Professional | 5.000/hari | 2.000 | 2 menit |
| Team | 10.000/hari | 50.000 | 1 menit |

Batas task Zapier

Setiap langkah Zap dihitung sebagai satu task. Zap multi-langkah menghabiskan beberapa task per eksekusi. Pantau penggunaan task Anda di dasbor Zapier untuk menghindari kelebihan kuota.

## Pemecahan masalah

| Masalah | Penyebab | Solusi |
| --- | --- | --- |
| Webhook tidak terpicu | Zap dimatikan | Periksa status Zap di dasbor Zapier |
| Data tidak terpetakan | Nama field tidak cocok | Pastikan key field cocok antar aplikasi |
| Kontak duplikat | Dedup belum dikonfigurasi | Aktifkan deduplikasi berbasis email di Tajo |
| Error Zap | Batas rate API tercapai | Tambahkan langkah penundaan atau tingkatkan paket Zapier |
| Auth kedaluwarsa | Token tidak disegarkan | Autentikasi ulang koneksi di Zapier |

### Mode debug

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

## Praktik terbaik

1. **Gunakan webhook daripada polling** - Webhook memberikan aliran data real-time, bukan penundaan polling
2. **Tambahkan penanganan error** - Gunakan Zapier Paths untuk menangani skenario berhasil dan gagal
3. **Deduplikasi data** - Aktifkan key deduplikasi untuk mencegah record duplikat
4. **Pantau penggunaan task** - Siapkan peringatan sebelum batas task tercapai
5. **Gunakan filter dengan bijak** - Saring lebih awal dalam Zap untuk mengurangi konsumsi task yang tidak perlu
6. **Beri versi integrasi CLI Anda** - Gunakan semantic versioning untuk aplikasi Platform CLI

## Keamanan

- **Hanya HTTPS** - Seluruh URL webhook wajib menggunakan HTTPS
- **Rotasi API key** - Rotasikan key secara berkala melalui dasbor Zapier
- **OAuth 2.0** - Gunakan OAuth untuk autentikasi layanan pihak ketiga
- **Verifikasi webhook** - Validasi tanda tangan webhook yang masuk
- **Izin tersegmentasi** - Berikan akses seminimal yang diperlukan per Zap

## Sumber daya terkait

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