---
title: "Trình Kết Nối Typeform"
description: "Hướng dẫn tích hợp Typeform đầy đủ để đồng bộ phản hồi form, survey data và lead information với Brevo qua Tajo."
url: https://tajo.io/vi/docs/connectors/custom/typeform/
markdown: https://tajo.io/vi/docs/connectors/custom/typeform.md
lang: vi-VN
robots: noindex
---

Đăng ký quyền truy cập sớm

Nhập tên và địa chỉ email công việc của bạn. Chúng tôi sẽ gửi liên kết để xác nhận yêu cầu truy cập Tajo.

# Trình Kết Nối Typeform

Trạng thái trình kết nối: Dự kiến Chưa được xây dựng. Hiện Tajo chưa chạy trình kết nối này.

| Trường nguồn | Trường đích | Giá trị mẫu |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Kết nối Typeform với Brevo qua Tajo để tự động thêm form respondents vào danh sách Brevo, đồng bộ phản hồi survey sang thuộc tính liên hệ và kích hoạt luồng email dựa trên câu trả lời form.

## Tổng Quan

| Thuộc Tính | Giá Trị |
| --- | --- |
| **Nền Tảng** | Typeform |
| **Danh Mục** | Tùy Chỉnh |
| **Độ Phức Tạp Thiết Lập** | Dễ |
| **Tích Hợp Chính Thức** | Không |
| **Dữ Liệu Đồng Bộ** | Phản Hồi, Forms, Webhooks |
| **Loại API** | REST API |
| **Xác Thực** | Personal Access Token |

## Tính Năng

- **Đồng bộ phản hồi** - Nhập form submissions sang liên hệ và sự kiện Brevo
- **Ánh xạ trường** - Ánh xạ câu hỏi Typeform sang thuộc tính liên hệ Brevo
- **Phân nhánh điều kiện** - Xử lý form logic và đồng bộ có điều kiện
- **Webhook theo thời gian thực** - Nhận submissions tức thì qua Typeform webhooks
- **Đa ngôn ngữ** - Đồng bộ forms từ nhiều ngôn ngữ sang cùng Brevo attributes

## Yêu Cầu

Trước khi bắt đầu, hãy đảm bảo bạn có:

1. Tài khoản Typeform (Free, Basic, Plus, Business, hoặc Enterprise)
2. Personal Access Token
3. Tài khoản Brevo với quyền truy cập API
4. Tài khoản Tajo

## Xác Thực

```bash
curl "https://api.typeform.com/forms" \
  -H "Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN"
```

Tạo access tokens trong Typeform account settings > Personal tokens.

### Kết Nối với Tajo

```bash
tajo connectors install typeform \
  --access-token $TYPEFORM_ACCESS_TOKEN
```

## Cấu Hình

### Thiết Lập Cơ Bản

```yaml
connectors:
  typeform:
    enabled: true
    access_token: "${TYPEFORM_ACCESS_TOKEN}"

    forms:
      - form_id: "abc123"
        name: "Lead Capture Form"
        sync_to: brevo_contacts
        brevo_list_id: 10
      - form_id: "def456"
        name: "Customer Survey"
        sync_to: brevo_events
```

### Ánh Xạ Trường

Ánh xạ trường Typeform sang thuộc tính liên hệ Brevo:

```yaml
field_mapping:
  # Mapping theo question ref
  "email_field": email
  "first_name_field": FIRSTNAME
  "last_name_field": LASTNAME
  "phone_field": SMS
  "company_field": COMPANY_NAME
  "job_title_field": JOB_TITLE

  # Kết quả survey
  "satisfaction_score": SATISFACTION_SCORE
  "nps_score": NPS_SCORE
  "use_case_field": USE_CASE
```

## API Endpoints

| Phương Thức | Endpoint | Mô Tả |
| --- | --- | --- |
| `GET` | `/forms` | Liệt kê tất cả forms |
| `GET` | `/forms/{id}` | Lấy chi tiết form |
| `GET` | `/forms/{id}/responses` | Lấy form responses |
| `POST` | `/forms/{id}/webhooks/{tag}` | Tạo webhook |
| `GET` | `/forms/{id}/webhooks` | Liệt kê webhooks |

## Ví Dụ Code

### Khởi Tạo Trình Kết Nối

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

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

await tajo.connectors.connect('typeform', {
  accessToken: process.env.TYPEFORM_ACCESS_TOKEN
});
```

### Xử Lý Webhook Submission

```javascript
// Xử lý Typeform webhook khi form được submit
app.post('/webhooks/typeform', async (req, res) => {
  const { form_response } = req.body;

  await tajo.connectors.handleWebhook('typeform', {
    formId: form_response.form_id,
    responseId: form_response.token,
    payload: form_response
  });

  res.status(200).send('OK');
});
```

Phân Trang Phản Hồi

Typeform API giới hạn 1000 phản hồi mỗi yêu cầu. Đối với forms có nhiều submissions, sử dụng `before` và `after` tokens để phân trang qua tất cả phản hồi.

## Giới Hạn Tốc Độ

| Giới Hạn | Giá Trị |
| --- | --- |
| Yêu cầu API | 120 yêu cầu/phút |
| Phản hồi mỗi trang | 1000 tối đa |

## Khắc Phục Sự Cố

| Sự Cố | Nguyên Nhân | Giải Pháp |
| --- | --- | --- |
| 401 Unauthorized | Token không hợp lệ | Tạo lại Personal Access Token |
| Phản hồi thiếu | Pagination không đúng | Kiểm tra trường `has_more` trong response |
| Webhook không nhận | URL không đúng | Xác minh webhook URL trong Typeform settings |
| Ánh xạ trường sai | Question ref không đúng | Kiểm tra question refs trong form settings |

## Tài Nguyên Liên Quan

- [Tài Liệu API Typeform](https://developer.typeform.com/references/create/introduction/)
- [Hướng Dẫn Webhook Typeform](https://developer.typeform.com/webhooks/)
- [Customer Sync Skill](https://tajo.io/vi/docs/skills/data-sync/customer-sync)
