Tài liệu
Kết nối Slack bằng incoming webhook
Tạo incoming webhook của Slack cho một kênh, thêm vào AutoPSEO, gửi tin nhắn thử và xử lý các lỗi Slack trả về khi đăng tin không thành công.
AutoPSEO đăng tin lên Slack thông qua incoming webhook. Slack cấp cho bạn một URL để ghi vào một kênh, bạn dán URL đó vào AutoPSEO, và từ đó báo cáo cùng cảnh báo sẽ được gửi về kênh này. Bản thân AutoPSEO không cài đặt gì vào workspace của bạn: nó không thể đọc tin nhắn, liệt kê các kênh hay đăng tin ở bất kỳ nơi nào mà webhook không trỏ tới. Hãy thêm một mục cho mỗi kênh bạn muốn nhận tin nhắn.
Tạo webhook trong Slack
Slack cấp incoming webhook thông qua một ứng dụng Slack. Theo hướng dẫn incoming webhook của Slack:
- Tạo một ứng dụng Slack cho workspace của bạn, hoặc mở một ứng dụng bạn đang dùng để gửi thông báo. Hãy chọn một cái tên dễ nhận biết với nhóm của bạn, chẳng hạn SEO reports.
- Trong phần cài đặt của ứng dụng, mở Incoming Webhooks và bật Activate Incoming Webhooks.
- Nhấp Add New Webhook to Workspace, chọn kênh rồi phê duyệt. Với kênh riêng tư, trước tiên bạn cần là thành viên của kênh đó.
- Sao chép URL mới tại Webhook URLs for Your Workspace. URL này bắt đầu bằng
https://hooks.slack.com/services/.
Lặp lại bước 3 và 4 cho từng kênh khác; một ứng dụng có thể chứa nhiều webhook. URL tạo từ webhook custom integration cũ của Slack vẫn hoạt động, tuy nhiên Slack khuyên bạn nên chuyển chúng sang một ứng dụng.
Slack coi URL này là thông tin bí mật: ai có URL đều có thể đăng tin vào kênh. Hãy dán nó vào AutoPSEO và đừng để lộ trong ticket, wiki hay ảnh chụp màn hình.
Thêm vào AutoPSEO
- Tại Slack, Teams & Webhooks, tìm Slack - Connected workspaces và nhấp Add to Slack. Biểu mẫu New channel sẽ mở ra với Slack đã được chọn sẵn làm đích đến.
- Name: nhãn hiển thị trong danh sách của AutoPSEO, lịch sử gửi và tin nhắn thử, ví dụ
#seo-alerts. - Webhook URL: dán URL từ Slack. Với mục Slack, AutoPSEO chỉ chấp nhận địa chỉ
httpsthuộc slack.com, và sẽ báo ngay nếu URL không phù hợp. - Nhấp Add channel, sau đó nhấp Send test trên dòng mới tạo. Một tin nhắn ngắn nêu tên mục đó sẽ xuất hiện trong Slack sau vài giây, và AutoPSEO cho biết Slack mất bao lâu để phản hồi.
URL được lưu dưới dạng mã hóa (AES-GCM). Từ đó, danh sách chỉ hiển thị host và các ký tự cuối của URL, vì vậy hãy đặt tên sao cho dễ biết mỗi mục đang đưa tin vào kênh Slack nào.
Tiếp theo, hãy chọn nội dung để đăng: một báo cáo theo lịch hoặc một cảnh báo. Bảng Slack - Subscriptions bên dưới danh sách sẽ hiển thị, theo từng kênh Slack, mọi quy tắc đăng vào đó, lịch gửi và trạng thái đang hoạt động hay tạm dừng.
Nhiều kênh và nhiều workspace
Một URL webhook thuộc về một kênh trong một workspace, và Slack không cho phép tin nhắn ghi đè kênh mà webhook được tạo cho. Điều này giúp mọi thứ dễ đoán:
- Một kênh Slack, một mục. Để tách khách hàng giữa
#client-avà#client-b, hãy tạo một webhook cho mỗi kênh và thêm cả hai. - Nhiều workspace hoạt động theo cách tương tự, vì mỗi webhook nằm trong workspace nơi bạn tạo ra nó.
- Một mục có thể gắn nhiều quy tắc. Bạn có thể gửi báo cáo hằng tuần và cảnh báo giảm lưu lượng vào cùng một mục, hoặc giữ cảnh báo ở một kênh riêng nhiều hoạt động hơn.
Vì sao tin nhắn không đến nơi
Send test cho biết lý do ngay lập tức. Với các tin nhắn theo lịch, hãy mở Delivery history, nơi lưu phản hồi của Slack cho mỗi lần gửi thất bại.
| AutoPSEO hiển thị | Ý nghĩa | Cách xử lý |
|---|---|---|
| Slack rejected the URL (no_service) | Webhook đã bị xóa hoặc vô hiệu hóa trong Slack, hoặc URL bị nhập sai | Tạo webhook mới, thêm vào, rồi xóa mục cũ |
| The Slack channel no longer exists, or is archived | Slack phản hồi channel_not_found hoặc channel_is_archived | Tạo webhook cho một kênh vẫn đang được sử dụng |
| Slack is rate limiting us | Slack phản hồi HTTP 429 | Chờ một lúc, rồi dùng Send now hoặc Test rule |
| Timed out after 10 seconds | Slack không phản hồi kịp thời | Thử lại sau |
| Your trial has ended | Không có gói hoặc bản dùng thử nào đang hoạt động | Chọn một gói; việc gửi theo lịch sẽ tiếp tục cùng với gói đó |
Một báo cáo theo lịch bị lỗi sẽ không được gửi lại trong cùng kỳ, vì vậy hãy dùng Send now sau khi đã khắc phục nguyên nhân. Một cảnh báo không đăng được sẽ được đánh giá lại ở lần kiểm tra kế tiếp (khi nào cảnh báo chạy).
Xóa một kênh Slack
Delete trên dòng của mục đó sẽ xóa URL đã lưu và, sau một bước xác nhận cho biết số lượng, xóa mọi quy tắc đang đăng vào đó. AutoPSEO không thay đổi gì trong Slack: webhook vẫn hoạt động cho đến khi có người gỡ nó trong ứng dụng Slack, vì vậy hãy gỡ cả ở đó nếu URL có thể đã bị người khác nhìn thấy.