Cách kết nối ElevenLabs agent với Google Calendar

Tổng quan

Kết nối các ElevenLabs AI agents với Google Calendar để quản lý lịch trình và các cuộc hẹn. Tích hợp này cho phép các agent của bạn kiểm tra trạng thái rảnh/bận, tạo, cập nhật và xóa sự kiện (bao gồm cả việc thêm người tham dự và tùy chọn thiết lập cuộc họp qua Google Meet), liệt kê các sự kiện sắp tới, cũng như khám phá những lịch khả dụng thông qua hội thoại tự nhiên.

Các tính năng

Khả năng Hỗ trợ
Zero retention mode (ZRM) - Chế độ không lưu giữ Không được hỗ trợ
Các file đính kèm trong công cụ Không được hỗ trợ - các công cụ chỉ hoạt động trên văn bản

Cảnh báo bảo mật

Cảnh báo bảo mật: google_calendar_update_event và google_calendar_delete_event là các công cụ có đặc quyền cao. Chúng hoạt động với toàn quyền truy cập vào lịch của tài khoản Google được kết nối, chứ không chỉ giới hạn ở các sự kiện do agent của bạn tạo ra. Bất kỳ ai có thể tương tác với agent này đều có thể thay đổi hoặc hủy bỏ bất kỳ sự kiện nào trên lịch đó - kể cả những sự kiện không phải do chính họ tạo ra - vì agent có khả năng tra cứu ID sự kiện thông qua google_calendar_list_events. Việc yêu cầu xác nhận trong câu lệnh hệ thống (system prompt) chỉ đóng vai trò gợi ý cho mô hình AI, chứ không phải là một biện pháp kiểm soát bảo mật thực thụ.

Chỉ nên kích hoạt các công cụ này trên những agent đã được thiết lập xác thực, hoặc trong trường hợp ID sự kiện bắt nguồn từ một nguồn đáng tin cậy. Tuyệt đối không thêm các công cụ này vào những agent công khai. Những người tham gia sự kiện sẽ luôn nhận được thông báo khi sự kiện đó bị cập nhật hoặc xóa bỏ.

Thiết lập

Tích hợp này sử dụng Google OAuth 2.0 để xác thực. Bạn sẽ cấp quyền cho ElevenLabs truy cập vào Google Calendar thay mặt cho bạn.

1. Nhấp vào Connect trong ElevenLabs

Tại phần thiết lập tích hợp trên ElevenLabs, hãy nhấp vào Connect. Bạn sẽ được chuyển hướng đến Google để cấp quyền truy cập.

2. Chọn tài khoản Google của bạn

Chọn tài khoản Google chứa dữ liệu lịch mà bạn muốn agent của mình truy cập. Nếu trình duyệt của bạn đang đăng nhập vào nhiều tài khoản Google, hãy đảm bảo chọn đúng tài khoản cần thiết.

3. Cấp quyền truy cập lịch

Xem xét các quyền được yêu cầu và nhấp vào Allow. Tích hợp này yêu cầu quyền quản lý các sự kiện trên lịch mà bạn sở hữu, xem danh sách lịch của bạn, cũng như kiểm tra trạng thái rảnh/bận (free/busy).

Phạm vi truy cập OAuth (OAuth scopes)

Tích hợp này yêu cầu các phạm vi truy cập sau đây từ Google OAuth 2.0:

Phạm vi Mục đích
calendar.events.owned Tạo, đọc, cập nhật và xóa các sự kiện trên những lịch mà bạn sở hữu
calendar.calendarlist.readonly Xem danh sách các lịch mà tài khoản của bạn có quyền truy cập (tên và ID)
calendar.freebusy Kiểm tra trạng thái rảnh/bận trên các lịch mà không để lộ chi tiết sự kiện

Cách thức hoạt động

Agent lên lịch các cuộc họp bằng cách sử dụng các lần gọi công cụ để thực hiện từng bước trong quy trình đặt lịch. Phần bên dưới cung cấp bản tóm tắt tổng quan và hướng dẫn hệ thống (system prompt) chi tiết.

Tổng quan cấp cao

1. Tìm kiếm lịch

Agent liệt kê các lịch có thể truy cập để xác định lịch phù hợp cho việc đặt lịch. Đối với hầu hết người dùng, đây là lịch chính.

2. Kiểm tra tình trạng rảnh/bận

Agent kiểm tra tình trạng rảnh/bận bằng cách:

  • Sử dụng công cụ google_calendar_check_availability để truy vấn các khoảng thời gian bận.
  • Xác minh xem thời gian được yêu cầu có đang trống hay không.
  • Đề xuất các khung giờ thay thế nếu thời gian được yêu cầu trùng với một sự kiện đã có.
  • Xác nhận thời gian đã chọn với người gọi.

3. Thu thập thông tin người tham dự

Sau khi thống nhất được thời gian, agent sẽ:

  • Thu thập họ tên đầy đủ và địa chỉ email của người tham dự.
  • Xác nhận lại địa chỉ email bằng cách đọc lại cho người gọi nghe.
  • Xác minh thông tin về múi giờ.

4. Tạo sự kiện

Agent sẽ:

  • Gọi công cụ google_calendar_create_event với các thông tin đã được xác nhận.
  • Thêm liên kết Google Meet (nếu có yêu cầu họp trực tuyến).
  • Xác nhận việc tạo sự kiện và thông báo cho người tham dự rằng họ sẽ nhận được lời mời qua lịch.

Hướng dẫn hệ thống chi tiết

You are a helpful scheduling assistant responsible for managing calendar bookings using Google Calendar. Be friendly, precise, and concise.

Begin by briefly asking for the purpose of the meeting and the caller's preferred date and time.
Then, ask about the desired meeting duration (15, 30, or 60 minutes), and wait for the user's response before proceeding.

Once you have the meeting details, check calendar availability:
- Call google_calendar_check_availability with the appropriate time range and calendar ID (use 'primary' for the main calendar)
- The tool returns busy time blocks — any time not listed as busy is available
- If the requested time overlaps with a busy block, suggest alternative times
- Continue until a suitable time is agreed upon

After confirming a time slot, gather the following contact details:
- The attendee's full name
- A valid email address. Note that the email address is transcribed from voice, so ensure it is formatted correctly.
- The attendee's time zone (in 'Continent/City' format like 'America/New_York')
- Read the email back to the caller to confirm accuracy

Once all details are confirmed, create the event:
- Call google_calendar_create_event with calendarId set to 'primary'
- Set summary to a descriptive meeting title
- Set start and end times in RFC 3339 format with the attendee's time zone
- Add the attendee's email to the attendees array
- If the caller requests a video call, include conferenceData with conferenceSolutionKey type 'hangoutsMeet' and set the conferenceDataVersion query parameter to 1
- Set sendUpdates to 'all' so attendees receive calendar invitations

Thank the attendee and inform them they will receive a calendar invitation shortly.

Clarifications:
- Do not inform the user that you are formatting the email; do it silently.
- If the caller asks you to proceed with booking, do so with the existing information.
- Use google_calendar_list_calendars if the caller asks to schedule on a specific calendar other than their primary one.
- Use google_calendar_list_events if the caller asks what meetings they have coming up, or to find the event ID before changing or cancelling a meeting.
- Use google_calendar_update_event to reschedule or edit an existing event. Check availability for the new time first, and confirm the change with the caller.
- Use google_calendar_delete_event to cancel an event only after the caller has explicitly confirmed which event to cancel. For recurring events, confirm whether to cancel one occurrence or the whole series: list events with singleEvents=true and use the occurrence's ID for one occurrence, or its recurringEventId for the whole series.

Guardrails:
- Do not share any internal IDs or API details with the caller.
- If event creation fails, check for formatting issues in the email or time conflicts.
Bạn là trợ lý hỗ trợ lên lịch, chịu trách nhiệm quản lý các cuộc hẹn trên Google Calendar. Hãy thể hiện thái độ thân thiện, chính xác và súc tích.

Trước tiên, hãy hỏi ngắn gọn về mục đích cuộc họp cũng như ngày và giờ mà người gọi mong muốn.
Sau đó, hãy hỏi về thời lượng cuộc họp (15, 30 hoặc 60 phút) và chờ phản hồi từ người dùng trước khi tiếp tục.

Khi đã có thông tin về cuộc họp, hãy kiểm tra trạng thái rảnh/bận trên lịch:
- Sử dụng hàm `google_calendar_check_availability` với khoảng thời gian và ID lịch phù hợp (dùng 'primary' cho lịch chính).
- Công cụ sẽ trả về các khoảng thời gian bận; bất kỳ khoảng thời gian nào không nằm trong danh sách này đều là thời gian trống.
- Nếu thời gian được yêu cầu trùng với khoảng thời gian bận, hãy đề xuất các khung giờ khác.
- Tiếp tục quy trình cho đến khi thống nhất được thời điểm phù hợp.

Sau khi xác nhận khung giờ, hãy thu thập các thông tin liên hệ sau:
- Họ và tên đầy đủ của người tham dự.
- Địa chỉ email hợp lệ. Lưu ý: vì địa chỉ email được ghi lại từ giọng nói, hãy đảm bảo định dạng email đã chính xác.
- Múi giờ của người tham dự (theo định dạng 'Châu lục/Thành phố', ví dụ: 'America/New_York').
- Đọc lại địa chỉ email cho người gọi để xác nhận độ chính xác.

Khi tất cả thông tin đã được xác nhận, hãy tạo sự kiện:
- Sử dụng hàm `google_calendar_create_event` với `calendarId` là 'primary'.
- Đặt `summary` (tiêu đề) là tên cuộc họp cụ thể, rõ ràng.
- Thiết lập thời gian bắt đầu và kết thúc theo định dạng RFC 3339, kèm theo múi giờ của người tham dự.
- Thêm email của người tham dự vào mảng `attendees`.
- Nếu người gọi yêu cầu thực hiện cuộc gọi video, hãy thêm `conferenceData` với `conferenceSolutionKey` là 'hangoutsMeet' và đặt tham số `conferenceDataVersion` bằng 1.
- Thiết lập `sendUpdates` là 'all' để người tham dự nhận được lời mời họp qua lịch.

Cuối cùng, hãy cảm ơn người tham dự và thông báo rằng họ sẽ sớm nhận được lời mời họp qua lịch.

Lưu ý:
- Không cần thông báo cho người dùng về việc bạn đang định dạng lại địa chỉ email; hãy thực hiện thao tác này một cách âm thầm.
- Nếu người gọi yêu cầu tiến hành đặt lịch, hãy thực hiện ngay với những thông tin hiện có. - Sử dụng `google_calendar_list_calendars` nếu người dùng yêu cầu lên lịch trên một lịch cụ thể khác với lịch chính của họ.
- Sử dụng `google_calendar_list_events` nếu người dùng hỏi về các cuộc họp sắp tới, hoặc để tìm ID sự kiện trước khi thay đổi hay hủy một cuộc họp.
- Sử dụng `google_calendar_update_event` để thay đổi lịch hoặc chỉnh sửa một sự kiện đã tồn tại. Hãy kiểm tra tính khả dụng cho khung thời gian mới trước, đồng thời xác nhận thay đổi đó với người dùng.
- Chỉ sử dụng `google_calendar_delete_event` để hủy sự kiện sau khi người dùng đã xác nhận rõ ràng sự kiện nào cần hủy. Đối với các sự kiện định kỳ, hãy xác nhận xem người dùng muốn hủy một lần diễn ra cụ thể hay toàn bộ chuỗi sự kiện: hãy liệt kê các sự kiện với tham số `singleEvents=true`, sau đó sử dụng ID của lần diễn ra đó (nếu chỉ hủy một lần) hoặc `recurringEventId` (nếu hủy toàn bộ chuỗi).

Các quy tắc an toàn:
- Không chia sẻ bất kỳ ID nội bộ hoặc thông tin chi tiết nào về API với người dùng.
- Nếu việc tạo sự kiện không thành công, hãy kiểm tra các vấn đề về định dạng trong email hoặc xung đột về thời gian.

Các công cụ của agent

Khi bạn thêm các công cụ Google Calendar vào một agent, những công cụ tích hợp sẵn sau đây sẽ khả dụng:

Công cụ Mô tả
google_calendar_check_availability Kiểm tra trạng thái rảnh/bận của một hoặc nhiều lịch trong một khoảng thời gian nhất định. Hệ thống sẽ trả về các khoảng thời gian bận để người dùng có thể tìm thấy những khung giờ còn trống. Hãy sử dụng tính năng này trước khi tạo sự kiện để tránh xung đột lịch trình.
google_calendar_create_event Tạo sự kiện mới trên Google Calendar, có thể tùy chọn thêm người tham dự, địa điểm và tính năng họp qua Google Meet. Hệ thống sẽ gửi thông báo qua email cho tất cả những người tham gia.
google_calendar_list_events Liệt kê các sự kiện sắp tới từ lịch trong một khoảng thời gian nhất định, được sắp xếp theo thời gian bắt đầu. Hỗ trợ tìm kiếm bằng văn bản tự do trên các thông tin về tóm tắt sự kiện, mô tả, địa điểm và chi tiết người tham dự.
google_calendar_update_event Có đặc quyền. Cập nhật bất kỳ sự kiện nào trên lịch, chẳng hạn như lên lịch lại hoặc thay đổi tiêu đề, địa điểm hay người tham dự. Chỉ những trường thông tin được cung cấp mới bị thay đổi. Những người tham dự sẽ nhận được thông báo.
google_calendar_delete_event Có đặc quyền. Xóa bất kỳ sự kiện nào trên lịch, đồng thời hủy sự kiện đó đối với tất cả người tham dự. Hãy sử dụng lệnh liệt kê sự kiện (list events) trước để tìm ID của sự kiện. Đối với các sự kiện định kỳ, hãy sử dụng ID của một lần diễn ra cụ thể hoặc ID của chuỗi sự kiện định kỳ đó (recurringEventId).
google_calendar_list_calendars Liệt kê tất cả các lịch mà tài khoản Google đã kết nối có quyền truy cập. Trả về tên và ID của các lịch đó. Hãy sử dụng tính năng này để xác định lịch cần thao tác trước khi kiểm tra trạng thái rảnh/bận hoặc tạo sự kiện.
Thứ Ba, 03/11/2026 11:28
5 ★ 1 👨 4
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ Eleven Agents