אני עובד עם Monday.com ויש לי לוח (board) שמקבל לידים חדשים. אני צריך ליצור webhook ב-Monday.com שיופעל אוטומטית בכל פעם שליד חדש (item חדש) נוצר בלוח, וישלח את הנתונים של הליד ל-endpoint חיצוני שלי.
### המטרה
כשליד חדש נכנס ל-Monday.com → ה-webhook נורה → נתוני הליד (שם, אימייל, טלפון, סטטוס וכו') נשלחים ל-URL שלי לעיבוד.
### פרטי הלוח שלי
- Board ID: 2010060251
- סוג האירוע שאני רוצה: create_item (כשפריט חדש נוצר בלוח)
### איך יוצרים webhook ב-Monday.com
Monday.com משתמשת ב-GraphQL API. יוצרים webhook ע"י mutation כזה:
mutation {
create_webhook(
board_id: 2010060251,
url: "https://YOUR-ENDPOINT-URL.com/webhook",
event: create_item
) {
id
board_id
event
}
}
הערות חשובות:
1. Challenge-Response: ברגע שיוצרים את ה-webhook, Monday.com שולחת ל-URL בקשת אימות עם שדה challenge. ה-endpoint חייב להחזיר JSON עם אותו challenge — אחרת ה-webhook לא ייווצר. דוגמה לתגובה הנדרשת: {"challenge": "אותו_ערך_שנשלח"}.
2. ה-URL חייב להיות HTTPS ציבורי (לא localhost).
3. הטוקן של Monday.com נשלח ב-header: Authorization: <MONDAY_API_TOKEN>.
### ה-handler שה-endpoint צריך לממש
ה-endpoint שלי צריך לקבל POST עם JSON. המבנה ש-Monday.com שולח:
{
"challenge": "abc123",
"event": {
"pulseId": 1234567890,
"boardId": 2010060251,
"itemId": 1234567890,
"name": "שם הליד",
"columnValues": { ... }
}
}
הלוגיקה שה-handler צריך:
// 1. אימות challenge — חובה בשלב יצירת ה-webhook
if (body.challenge) {
return { challenge: body.challenge };
}
// 2. טיפול באירוע של ליד חדש
const event = body.event;
const itemId = event.pulseId || event.itemId;
const itemName = event.name;
// שולחים שאילתה ל-Monday.com לקבלת כל עמודות הליד:
const query = `query {
items(ids: [${itemId}]) {
column_values { id text value }
}
}`;
// מעבדים את הנתונים ומבצעים פעולה (שולחים הודעה, מעדכנים מערכת, וכו')
### מה אני מצפה ממך
1. תיצור את ה-webhook ב-Monday.com (או תיתן לי את הפקודה המדויקת ליצירתו).
2. תוודא שה-endpoint שלי עונה נכון ל-challenge.
3. כשליד חדש נוצר בלוח → קבל את הנתונים דרך ה-webhook → ותשלח לי הודעה עם פרטי הליד.
### שאלות שצריך לענות עליהן לפני שמתחילים:
1. מה ה-URL הציבורי של ה-endpoint שלך שיקבל את ה-webhook?
2. האם יש לך MONDAY_API_TOKEN תקין?
3. האם אתה רוצה שה-webhook יופעל רק על לידים חדשים (create_item) או גם על שינויים בעמודות (change_column_value)?