Workflows

Use webhooks with HubSpot workflows: ใช้เว็บฮุคร่วมกับเวิร์คโฟรว์ [API Post, Get]

การใช้ Webhooks ใน Workflows เพื่อส่งหรือดึงข้อมูลระหว่าง HubSpot และเครื่องมือภายนอก

วันที่เผยแพร่ 6 พฤศจิกายน 2567

Available with any of the following subscriptions, except where noted:

Operations Hub Professional, Enterprise


การใช้ Webhooks ใน Workflows เพื่อส่งหรือดึงข้อมูลระหว่าง HubSpot และเครื่องมือภายนอก

มีการใช้งาน Webhooks ได้หลากหลาย ตัวอย่างการใช้งาน Webhooks ที่ได้รับความนิยม ได้แก่:

  • การโพสต์ข้อมูล Contact ของ HubSpot ไปยังระบบอื่น เช่น CRM เมื่อ Contact นั้นกรอกแบบฟอร์มบนเว็บไซต์ของคุณ
  • การส่งข้อมูล Deal ไปยังระบบจัดการการขนส่งภายนอกเพื่อสร้างใบสั่งซื้อ
  • การดึงข้อมูลจากระบบอื่นเพื่อนำไปอัปเดตข้อมูลใน HubSpot

คุณสามารถส่งคำร้องทั้งแบบ POST และ GET โดยใช้ Workflows ได้ HubSpot มีการจัดการทราฟฟิกของ Webhook แยกจากกระบวนการ Workflow อื่นๆ เพื่อเพิ่มประสิทธิภาพของ Workflow และ Webhook หาก Webhook ทำงานช้าหรือเกิด Timeout การทำงานของ Workflow อาจใช้เวลานานกว่าที่คาดไว้

โปรดทราบ: HubSpot จะลองส่ง Webhook ที่ล้มเหลวซ้ำเป็นเวลา 3 วัน เริ่มต้นหลังจากล้มเหลวครั้งแรก 1 นาที การล้มเหลวครั้งถัดไปจะถูกลองส่งซ้ำในช่วงเวลาที่เพิ่มขึ้น โดยมีระยะห่างสูงสุด 8 ชั่วโมงระหว่างการลองใหม่ Workflows จะไม่ลองส่งซ้ำหากได้รับสถานะตอบกลับรหัส 4XX ยกเว้นรหัส 429 (Rate Limit Errors) ซึ่ง Workflows จะลองส่งซ้ำโดยอัตโนมัติและจะเคารพค่า Retry-After หากมี Retry-After จะถูกบันทึกในหน่วยมิลลิวินาที ศึกษาเพิ่มเติมเกี่ยวกับข้อยกเว้นของรหัสข้อผิดพลาดได้ใน HubSpot's developer documentation.

เรียนรู้เพิ่มเติมเกี่ยวกับ Webhooks ได้ใน developers webhooks documentation. หากคุณมีคำถามเกี่ยวกับการใช้งาน Webhooks กับ HubSpot สามารถสอบถามได้ที่ HubSpot Developers Forums

การตั้งค่า POST Request

  • ในบัญชี HubSpot ของคุณ ไปที่ Automations > Workflows
  • หากต้องการแก้ไข Workflow ที่มีอยู่แล้ว ให้คลิกชื่อ Workflow หรือสร้าง Workflow ใหม่
  • ใน Workflow Editor คลิกไอคอน + (Plus) เพื่อเพิ่ม Action
  • ในแถบด้านซ้าย ภายใต้ Data ops ให้เลือก Send a webhook

image-png-Jun-11-2024-05-15-05-4599-AM

  • คลิกเมนู Method แล้วเลือก POST
  • ใส่ Webhook URL
    • Webhook URLs ต้องใช้โปรโตคอลที่ปลอดภัย และต้องเริ่มต้นด้วย HTTPS
    • หากต้องการระบุข้อมูลเฉพาะ คุณสามารถเพิ่ม Query Parameters เช่น ?queryparameter=abc ลงใน Webhook URL
    • หากไม่มี Query Parameters จะส่งคำร้อง POST หรือ GET แบบทั่วไป
  • การตั้งค่าประเภท Authentication
    เพื่อยืนยันตัวตนในการร้องขอ Webhook คุณสามารถใช้ Request Signature ใน Header ของ Webhook หรือใช้ API Key:
    • ใช้ Request Signature ใน Header ของ Webhook

      • คลิกเมนู Authentication type แล้วเลือก Include request signature in header
      • ใส่ HubSpot App ID ของคุณ ดูวิธีการยืนยัน Request Signature ได้ที่ documentation.
    • เมื่อใช้ API Key สำหรับ Authentication ชื่อและตำแหน่ง API Key ขึ้นอยู่กับการตั้งค่าของ Webhook ใช้ API Key หรือ Public App ที่สร้างผ่าน Developer Account วิธีใช้ API Key:
      • คลิกเมนู Authentication type แล้วเลือก API key
      • ใส่ API Key Name
      • คลิกเมนู API key location แล้วเลือก Query parameters หรือ Request header ศึกษาเพิ่มเติมเกี่ยวกับการใช้ API Key ได้ที่ HubSpot documentation.
  • หากทำคำร้องไปยัง HubSpot APIs
      • คลิกเมนู API key แล้วเลือก Secret
      • ค่า Secret ต้องอยู่ในรูปแบบ Bearer [YOUR_TOKEN]
      • ตั้งค่า API Key Name เป็น Authorization
      • ตั้งค่า API Key Location เป็น Request Header
  • หากต้องการรวม Property ทั้งหมด เลือก Include all [object] properties
  • หากต้องการรวมเฉพาะ Property ที่เลือก:
    • เลือก Customize request body
    • กำหนดค่า Key และเลือก Property ที่ต้องการ
    • หากต้องการเพิ่ม Property ให้คลิก Add property
    • หากต้องการเพิ่ม Static Field ให้ใส่ Key และ Value
    • หากต้องการลบ Property หรือ Static Value ให้คลิกไอคอนถังขยะ
  • คลิก Save

โปรดทราบ: หากต้องการเลือก Output หลายรายการ การตอบกลับควรถูกจัดรูปแบบเป็น JSON Object


image-png-Jun-11-2024-05-41-20-2628-AM

การตั้งค่า GET Request

  • ในบัญชี HubSpot ของคุณ ไปที่ Automations > Workflows
  • หากต้องการแก้ไข Workflow ที่มีอยู่แล้ว ให้คลิกชื่อ Workflow หรือสร้าง Workflow ใหม่
  • ใน Workflow Editor คลิกไอคอน + (Plus) เพื่อเพิ่ม Action
  • ในแถบด้านซ้าย ภายใต้ Data ops ให้เลือก Send a webhook

image-png-Jun-11-2024-05-15-05-4599-AM (1)

  • คลิกเมนู Method แล้วเลือก GET
  • ใส่ Webhook URL
    • Webhook URLs ต้องใช้โปรโตคอลที่ปลอดภัยและต้องเริ่มต้นด้วย HTTPS
    • หากต้องการระบุข้อมูลเฉพาะ คุณสามารถเพิ่ม Query Parameters เช่น ?queryparameter=abc ลงใน Webhook URL
    • หากไม่มี Query Parameters จะส่งคำร้อง POST หรือ GET แบบทั่วไป
  • การตั้งค่าประเภท Authentication
    เพื่อยืนยันตัวตนในการร้องขอ Webhook คุณสามารถใช้ Request Signature ใน Header ของ Webhook หรือใช้ API Key:
    • ใช้ Request Signature ใน Header ของ Webhook

      • คลิกเมนู Authentication type แล้วเลือก Include request signature in header
      • ใส่ HubSpot App ID ของคุณ ดูวิธีการยืนยัน Request Signature ได้ที่ documentation.
    • ใช้ API Key หรือ Public App ที่สร้างผ่าน Developer Account

      • เมื่อใช้ API Key สำหรับ Authentication ชื่อและตำแหน่ง API Key ขึ้นอยู่กับการตั้งค่าของ Webhook
    • เพื่อความปลอดภัย API Key จะไม่แสดงใน Test Requests วิธีใช้ API Key:
      • คลิกเมนู Authentication type แล้วเลือก API key
        • ใส่ API Key Name
        • คลิกเมนู API key location แล้วเลือก Query parameters หรือ Request header
        • ศึกษาเพิ่มเติมเกี่ยวกับการใช้ API Key ได้ที่ HubSpot documentation.
      • หากทำคำร้องไปยัง HubSpot APIs

        • คลิกเมนู API key แล้วเลือก Secret
        • ค่า Secret ต้องอยู่ในรูปแบบ Bearer [YOUR_TOKEN]
        • ตั้งค่า API Key Name เป็น Authorization
        • ตั้งค่า API Key Location เป็น Request Header

การตั้งค่า Query Parameters สำหรับ GET Request

  • หากต้องการใช้ HubSpot Property เป็น Query Parameter:

    • ในส่วน Query parameters ใส่ Key จากนั้นเลือก Property
    • หากต้องการเพิ่ม Property คลิก Add property
    • หากต้องการลบ Property คลิกไอคอนถังขยะ
  • หากต้องการใช้ Static Value เป็น Query Parameter:
    • ในส่วน Query parameters ใส่ Key จากนั้นใส่ Value
    • หากต้องการเพิ่ม Static Value คลิก Add static value
    • หากต้องการลบ Static Value คลิกไอคอนถังขยะ
  • คลิก Save

image-png-Jun-11-2024-05-42-09-0144-AM

ทดสอบ Webhook ของคุณใน HubSpot

เมื่อทำการตั้งค่า Webhook แบบ POST หรือ GET คุณสามารถดำเนินการทดสอบเพื่อตรวจสอบการตอบกลับของ Webhook ได้ ในระหว่างการทดสอบ แม้ว่าจะมีการส่งและดึงข้อมูลจาก Third Party แต่จะไม่มีผลกระทบต่อข้อมูลใน HubSpot หากคุณใช้ API Key สำหรับการยืนยันตัวตน API Key จะไม่แสดงในคำร้องทดสอบ

หลังจากทดสอบ Webhook คุณสามารถเลือกฟิลด์ที่ต้องการ Output เพื่อใช้เป็น Input ในขั้นตอนถัดไปของ Workflow ได้ ควรเลือกเฉพาะ Output ที่มีในทุกการตอบกลับ หาก Output ถูกใช้ใน Action ถัดไปแต่ไม่มีในคำตอบ Action นั้นจะล้มเหลว

  1. ในบัญชี HubSpot ของคุณ ไปที่ Automations > Workflows
  2. คลิกชื่อ Workflow
  3. ใน Workflow Editor คลิกที่ Send a webhook action
  4. ในแถบด้านซ้าย คลิก Test action เพื่อขยายส่วนนี้
  5. หากคุณกำลังทดสอบคำร้องแบบ POST ให้คลิกเมนู [object] จากนั้นเลือก Record ที่ต้องการทดสอบ
  6. คลิก Test
  7. เพื่อตรวจสอบรายละเอียดของ Webhook ให้เลือกแท็บ Response หรือ Request
    • ในแต่ละแท็บ คุณสามารถคลิก Open all เพื่อขยายทุกส่วน หรือ Collapse all เพื่อยุบทุกส่วน
    • ในแท็บ Response คลิก headers: หรือ body: เพื่อขยายแต่ละส่วน
    • ในแท็บ Request คลิก httpHeaders: เพื่อขยายส่วนนี้

image-png-Jun-11-2024-06-31-58-4250-AMทดสอบ Webhook ภายนอก

หลังจากคุณสร้าง Workflow ที่มี Webhook Action แล้ว คุณสามารถทดสอบอย่างรวดเร็วด้วย Dummy Webhook URL:

  1. ในเบราว์เซอร์ของคุณ ไปที่ https://webhook.site และคัดลอก URL เฉพาะของคุณ
  2. ในฟิลด์ Webhook URL ใน Webhook Action ให้วาง URL ที่คัดลอกไว้
  3. เมื่อ Workflow ของคุณถูกเปิดใช้งาน คุณสามารถลงทะเบียน Test Contact ด้วยตนเองได้

image-png-Jun-11-2024-06-34-00-5261-AM

เมื่อทดสอบ Webhook ภายนอก:

  • หาก Webhook Action แบบ POST ถูก Trigger จะมี JSON Response Body ถูกส่งไปยัง Webhook ซึ่งประกอบด้วยข้อมูลทั้งหมดของ Contact เช่น Form Submissions, List Memberships, และค่าของ Contact Property ทั้งหมด ระบบที่ได้รับข้อมูลสามารถแยกวิเคราะห์ JSON Data และนำไปใช้ในแอปพลิเคชันของตัวเองได้
  • หาก Webhook Action แบบ GET ถูก Trigger จะส่งคำร้อง GET แบบทั่วไป เว้นแต่ว่าจะมีการเพิ่ม Query Parameters เพิ่มเติม

โปรดทราบ: ค่าของ Historical Property จะถูกส่งคืนเฉพาะใน Contact-based Workflows เท่านั้น Webhook ที่ใช้ใน Workflow ประเภทอื่นจะส่งคืนเฉพาะค่าล่าสุดเท่านั้น


ยืนยัน Request Signatures ใน Workflow Webhooks

เมื่อคุณเลือก Request signature ในส่วน Authentication สำหรับการกระทำ Trigger a webhook HubSpot จะใส่ Header X-HubSpot-Signature พร้อมกับค่าแฮช SHA-256 ที่ได้จากการรวม App-secret ของแอปพลิเคชัน, HTTP method, URI, และ Unparsed body เข้าด้วยกัน ศึกษาเพิ่มเติมได้ที่ Developers Documentation.

วิธีตรวจสอบว่า Requests ที่ได้รับที่ URL ของคุณมาจาก HubSpot:

  1. คุณต้องมี Developer Account หากยังไม่มี ให้สมัคร Developer Account
  2. คุณต้องมี App หากยังไม่มี ให้เรียนรู้วิธีสร้าง App
  3. ตรวจสอบค่าแฮชของ Signature

Trigger Workflows จาก Webhooks

Webhooks สามารถใช้เพื่อ Trigger Workflows ได้ เมื่อมีการเปลี่ยนแปลงข้อมูลใน Third Party App สิ่งนี้สามารถ Trigger Workflow ได้ ศึกษาเพิ่มเติมเกี่ยวกับการ Trigger Workflows จาก Webhooks ได้ที่ Documentation.

ใช้ข้อมูล Webhook ใน Data Panel

ข้อมูลจาก Webhook ที่เชื่อมต่อกับบัญชีของคุณสามารถนำมาใช้ใน Actions บางอย่างใน Data Panel ได้

วิธีใช้ข้อมูลจาก Webhook ที่เชื่อมต่อ:

  1. ในบัญชี HubSpot ของคุณ ไปที่ Automations > Workflows
  2. คลิกชื่อ Workflow ของคุณ
  3. คลิกไอคอน + (Plus) เพื่อเพิ่ม Action
  4. ในแถบด้านซ้าย เลือก Action ที่ใช้ Data Panel
  5. ใน Data Panel คลิกเมนู View properties or action outputs from แล้วเลือก Webhook trigger จากนั้นคุณสามารถใช้ Properties จาก Webhook ที่เชื่อมต่อได้

image-png-Jun-11-2024-06-49-50-2794-AM

ที่มา: https://knowledge.hubspot.com/workflows/how-do-i-use-webhooks-with-hubspot-workflows