אינטגרציות
HeyBase Custom App ל-Make.com
מדריך מלא לבניית Custom App ב-Make.com עבור HeyBase CRM. כל בלוקי ה-JSON מוכנים להדבקה ישירה בפורמט הרשמי של Make.com.
מושגי יסוד ב-Make.com Custom Apps
הסבר קצר על כל אחד מהרכיבים שמרכיבים אפליקציה מותאמת
Base
הגדרה גלובלית שחלה על כל המודולים וה-RPCs. כאן מגדירים את כתובת ה-API הבסיסית, כותרות משותפות, וטיפול בשגיאות. כל כתובת URL במודולים שמתחילה ב-/ מתחברת אוטומטית לכתובת שהוגדרה ב-Base.
Connection
מגדיר איך המשתמש מתחבר לשירות. כאן המשתמש מזין את מפתח ה-API ו-Make בודק שהחיבור תקין. בתוך ה-Connection משתמשים ב-{{parameters.apiKey}}, ובכל מקום אחר ב-{{connection.apiKey}}.
RPC
Remote Procedure Call - פונקציה שמחזירה נתונים דינמיים. משמש בעיקר לטעינת רשימות נפתחות כמו אובייקטים ושדות. המודולים מפנים ל-RPC באמצעות rpc://name. פרמטרים מהמודול עוברים אוטומטית ל-RPC המקושר.
Module
פעולה שהמשתמש יכול להוסיף לתרחיש. לכל מודול יש שלושה חלקים: Communication (הבקשה שנשלחת), Mappable Parameters (השדות שהמשתמש ממלא), ו-Interface (מבנה הפלט).
שלבי הקמה
סדר העבודה הנכון לבניית האפליקציה ב-Make.com
- היכנסו ל-Make.com, לחצו על Custom Apps בתפריט הצדדי ואז Create a new app
- תנו שם לאפליקציה: HeyBase CRM
- הגדירו את ה-Base — כתובת ה-API והכותרות הגלובליות
- הגדירו את ה-Connection — שדה מפתח API ובדיקת חיבור
- צרו את ה-RPCs —
listEntitiesו-listFields - הוסיפו את ה-Modules שאתם צריכים (מומלץ להתחיל עם Create + Search)
- הוסיפו Webhook Trigger אם אתם צריכים לקבל התראות על אירועים
היכנסו ל-HeyBase CRM, לחצו על הגדרות, ואז על Webhooks ו-API. שם תוכלו ליצור מפתח API חדש. המפתח מתחיל ב-hb_live_ לסביבת ייצור.
Base
הגדרה גלובלית — כתובת API, כותרות אימות, וטיפול בשגיאות. חלה על כל המודולים וה-RPCs.
Base Configuration
BASEהדביקו את ה-JSON הבא בלשונית Base של האפליקציה. כתובת ה-baseUrl היא כתובת ה-API של HeyBase, וכל URL שמתחיל ב-/ במודולים יתחבר אליה אוטומטית.
{
"baseUrl": "https://crm.heybase.co.il/api/v1",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{connection.apiKey}}"
},
"response": {
"error": {
"message": "[{{statusCode}}] {{body.error}}"
}
},
"log": {
"sanitize": ["request.headers.Authorization"]
}
}השדה sanitize מבטיח שמפתח ה-API לא יופיע בלוגים של Make.com. זה חשוב לאבטחה.
Connection
הגדרת החיבור. המשתמש מזין מפתח API ו-Make מוודא שהוא תקין.
שימו לב: ב-Connection ה-URL הוא מלא (לא יחסי) כי ה-Base עדיין לא חל בשלב אימות החיבור. בנוסף, כאן משתמשים ב-{{parameters.apiKey}} ולא ב-{{connection.apiKey}} כי החיבור עצמו עדיין לא נוצר.
Connection
CONNECTIONצרו Connection חדש באפליקציה. הדביקו את ה-Communication וה-Parameters בלשוניות המתאימות.
{
"url": "https://crm.heybase.co.il/api/v1/webhook",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{parameters.apiKey}}"
},
"body": {
"action": "verify"
},
"response": {
"valid": "{{body.success}}",
"metadata": {
"type": "text",
"value": "{{body.organization.name}}"
},
"error": {
"message": "[{{statusCode}}] {{body.error}}"
}
},
"log": {
"sanitize": ["request.headers.Authorization"]
}
}RPCs — רשימות דינמיות
פונקציות שמחזירות נתונים מה-API ומציגות אותם כרשימות נפתחות במודולים
צרו RPC חדש עבור כל אחד מהבאים. בכל RPC יש לשונית Communication בלבד. שימו לב שה-URL מתחיל ב-/webhook — זה יחסי ל-Base.
listEntitieslistEntities
RPCמחזיר את רשימת כל האובייקטים (ישויות) בארגון. משמש כתפריט הנפתח הראשי בכל מודול. ה-iterate עובר על כל ישות וה-output ממפה אותה ללייבל וערך.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "get_entities"
},
"response": {
"iterate": "{{body.entities}}",
"output": {
"label": "{{ifempty(item.nameHe, item.name)}}",
"value": "{{item.slug}}"
}
}
}listFieldslistFields
RPCמחזיר את רשימת השדות של אובייקט ספציפי כתפריט נפתח לבחירה. הפרמטר entity מגיע אוטומטית מהמודול שמפנה ל-RPC הזה. שדות מחושבים (formula, summary, lookupValue) מסוננים כי אי אפשר לכתוב אליהם. הפלט מחזיר label ו-value לשימוש ב-select.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "get_fields",
"entity": "{{parameters.entity}}"
},
"response": {
"iterate": {
"container": "{{body.fields}}",
"condition": "{{item.fieldType != 'formula' && item.fieldType != 'summary' && item.fieldType != 'lookupValue'}}"
},
"output": {
"label": "{{ifempty(item.nameHe, item.name)}} ({{item.fieldType}})",
"value": "{{item.apiName}}"
}
}
}כאשר שדה מסוג select בתוך מערך fields מפנה ל-options: "rpc://listFields?entity={{parameters.entity}}", Make.com מעביר אוטומטית את כל הפרמטרים של המודול ל-RPC, כולל entity. לכן ה-RPC יכול להשתמש ב-{{parameters.entity}} בלי להגדיר את זה בעצמו.
listPicklistOptions
RPCמחזיר אפשרויות בחירה עבור שדות מסוג picklist. שימושי כשצריך להציג רשימת ערכים אפשריים לשדה ספציפי.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "get_fields",
"entity": "{{parameters.entity}}"
},
"response": {
"iterate": "{{body.fields}}",
"output": {
"label": "{{item.name}}",
"value": "{{item.apiValue}}"
}
}
}רשומות — CRUD
יצירה, עדכון, שליפה ומחיקה של רשומות
createRecordCreate Record — יצירת רשומה
MODULEיוצר רשומה חדשה. המשתמש בוחר אובייקט מהרשימה, ואז מוסיף שדות אחד-אחד דרך כפתור הוסף שדה. כל שדה כולל בחירה מרשימת השדות הדינמית וערך. הפונקציה toCollection ממירה את המערך לאובייקט data.
[
{
"name": "entity",
"type": "select",
"label": "Entity",
"required": true,
"options": {
"store": "rpc://listEntities",
"nested": [
{
"name": "fields",
"type": "array",
"label": "Fields",
"labels": {
"add": "Add a field"
},
"spec": [
{
"name": "fieldName",
"type": "select",
"label": "Field",
"required": true,
"options": "rpc://listFields"
},
{
"name": "fieldValue",
"type": "text",
"label": "Value",
"required": true
}
]
}
]
}
}
]הפונקציה toCollection ממירה מערך של אובייקטים עם שם וערך לאובייקט שטוח. לדוגמה: [{fieldName: "email", fieldValue: "a@b.com"}] הופך ל-{email: "a@b.com"}. כך ה-API מקבל את הנתונים בפורמט הנכון.
updateRecordUpdate Record — עדכון רשומה
MODULEמעדכן רשומה קיימת. המשתמש בוחר אובייקט, מזין מזהה רשומה, ואז מוסיף שדות לעדכון אחד-אחד דרך כפתור הוסף שדה. כל שדה כולל בחירה דינמית של שם השדה וערך חדש.
[
{
"name": "entity",
"type": "select",
"label": "Entity",
"required": true,
"options": {
"store": "rpc://listEntities",
"nested": [
{
"name": "recordId",
"type": "text",
"label": "Record ID",
"required": true
},
{
"name": "fields",
"type": "array",
"label": "Fields",
"labels": {
"add": "Add a field"
},
"spec": [
{
"name": "fieldName",
"type": "select",
"label": "Field",
"required": true,
"options": "rpc://listFields"
},
{
"name": "fieldValue",
"type": "text",
"label": "Value",
"required": true
}
]
}
]
}
}
]getRecordGet Record — שליפת רשומה
MODULEמחזיר את כל הנתונים של רשומה בודדת לפי מזהה. המשתמש בוחר אובייקט ומזין מזהה רשומה.
[
{
"name": "entity",
"type": "select",
"label": "אובייקט",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "recordId",
"type": "text",
"label": "מזהה רשומה",
"required": true
}
]deleteRecordDelete Record — מחיקת רשומה
MODULEמוחק רשומה לצמיתות. אותם פרמטרים כמו Get Record, רק הפעולה היא delete.
[
{
"name": "entity",
"type": "select",
"label": "אובייקט",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "recordId",
"type": "text",
"label": "מזהה רשומה",
"required": true
}
]הרשומה וכל הנתונים המקושרים אליה יימחקו לצמיתות. מומלץ להוסיף שלב Filter או Router בתרחיש ה-Make לפני מודול זה.
שליפות וחיפוש
רשימת רשומות וחיפוש מתקדם עם מסננים
listRecordsList Records — רשימת רשומות
MODULEמחזיר רשימת רשומות מאובייקט מסוים. ה-iterate עובר על כל רשומה בתוצאה ומחזיר אותה בנפרד — כך Make.com יכול לעבד כל רשומה בנפרד בתרחיש.
[
{
"name": "entity",
"type": "select",
"label": "אובייקט",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "limit",
"type": "uinteger",
"label": "מספר תוצאות מקסימלי",
"default": 50
}
]searchRecordsSearch Records — חיפוש רשומות
MODULEחיפוש מתקדם עם מסננים. המשתמש יכול להוסיף כמה מסננים שירצה — כל מסנן מכיל שדה, אופרטור וערך.
[
{
"name": "entity",
"type": "select",
"label": "אובייקט",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "filters",
"type": "array",
"label": "מסננים",
"spec": [
{
"name": "field",
"type": "text",
"label": "שדה (apiName)"
},
{
"name": "operator",
"type": "select",
"label": "אופרטור",
"options": [
{"label": "שווה", "value": "equals"},
{"label": "לא שווה", "value": "not_equals"},
{"label": "מכיל", "value": "contains"},
{"label": "גדול מ", "value": "gt"},
{"label": "קטן מ", "value": "lt"},
{"label": "ריק", "value": "is_empty"},
{"label": "לא ריק", "value": "is_not_empty"}
]
},
{
"name": "value",
"type": "text",
"label": "ערך"
}
]
},
{
"name": "limit",
"type": "uinteger",
"label": "מספר תוצאות",
"default": 20
}
]הערות
הוספת הערות, שיחות, מיילים ופגישות לרשומות
createNoteCreate Note — יצירת הערה
MODULEמוסיף הערה או פעילות לרשומה. ניתן לבחור סוג: הערה, שיחה, מייל או פגישה.
[
{
"name": "entity",
"type": "select",
"label": "אובייקט",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "recordId",
"type": "text",
"label": "מזהה רשומה",
"required": true
},
{
"name": "content",
"type": "text",
"label": "תוכן ההערה",
"required": true,
"multiline": true
},
{
"name": "activityType",
"type": "select",
"label": "סוג",
"default": "note",
"options": [
{"label": "הערה", "value": "note"},
{"label": "שיחה", "value": "call"},
{"label": "מייל", "value": "email"},
{"label": "פגישה", "value": "meeting"}
]
}
]פעולות מרובות
יצירה של מספר רשומות בפעולה אחת
bulkCreateRecordsBulk Create Records — יצירה מרובה
MODULEיוצר מספר רשומות בבקשה אחת. המשתמש מוסיף רשומות דרך הוסף רשומה, ובכל רשומה מוסיף שדות אחד-אחד דרך הוסף שדה. כל שדה כולל בחירה דינמית של שם השדה וערך.
[
{
"name": "entity",
"type": "select",
"label": "Entity",
"required": true,
"options": {
"store": "rpc://listEntities",
"nested": [
{
"name": "records",
"type": "array",
"label": "Records",
"labels": {
"add": "Add a record"
},
"spec": [
{
"name": "fields",
"type": "array",
"label": "Fields",
"labels": {
"add": "Add a field"
},
"spec": [
{
"name": "fieldName",
"type": "select",
"label": "Field",
"required": true,
"options": "rpc://listFields"
},
{
"name": "fieldValue",
"type": "text",
"label": "Value",
"required": true
}
]
}
]
}
]
}
}
]Webhook Trigger — טריגר מיידי
קבלת התראות בזמן אמת כשמתרחשים אירועים ב-HeyBase
טריגר מסוג Instant Webhook. כשהמשתמש מפעיל את התרחיש, Make.com שולח בקשה ל-HeyBase לרשום Webhook. כשהתרחיש נעצר, Make שולח בקשה לביטול ההרשמה. הטריגר כולל שלושה חלקים: Attach (הרשמה), Detach (ביטול), ו-Static Parameters (בחירת אירועים).
watchEventsWebhook Trigger
TRIGGERהגדרת טריגר Instant. צרו Webhook Trigger חדש באפליקציה והדביקו כל חלק בלשונית המתאימה.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "subscribe_webhook",
"url": "{{webhook.url}}",
"events": "{{parameters.events}}"
},
"response": {
"output": {
"webhookId": "{{body.webhookId}}"
}
}
}{{webhook.url}} הוא משתנה פנימי של Make.com שמכיל את הכתובת שאליה HeyBase צריך לשלוח את האירועים.{{parameters.webhookId}} ב-Detach מגיע מהתוצאה שנשמרה ב-Attach.
משתמשים
שליפת רשימת המשתמשים בארגון
listUsersList Users — רשימת משתמשים
MODULEמחזיר את כל המשתמשים בארגון. לא צריך פרמטרים — הארגון מזוהה אוטומטית לפי מפתח ה-API.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "get_users"
},
"response": {
"iterate": "{{body.users}}",
"output": "{{item}}"
}
}אין צורך בפרמטרים. שדה Mappable Parameters נשאר ריק.
אוטומציות
הפעלת אוטומציות מתוך Make.com
triggerAutomationTrigger Automation — הפעלת אוטומציה
MODULEמפעיל אוטומציה של HeyBase מתוך תרחיש Make. ניתן לציין אובייקט ורשומה כהקשר לאוטומציה, ואופציונלית מזהה אוטומציה ספציפי.
[
{
"name": "entity",
"type": "select",
"label": "אובייקט",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "recordId",
"type": "text",
"label": "מזהה רשומה",
"required": true
},
{
"name": "automationId",
"type": "text",
"label": "מזהה אוטומציה"
}
]קבצים
העלאת קבצים לרשומות
uploadFileUpload File — העלאת קובץ
MODULEמעלה קובץ ומצרף אותו ללוג הפעילות של רשומה. תוכן הקובץ מקודד אוטומטית ב-Base64 לפני שליחה.
[
{
"name": "recordId",
"type": "text",
"label": "Record ID",
"required": true
},
{
"name": "fileName",
"type": "text",
"label": "File Name",
"required": true,
"help": "Must include extension, e.g. invoice.pdf"
},
{
"name": "fileContent",
"type": "buffer",
"label": "File Content",
"required": true
},
{
"name": "mimeType",
"type": "text",
"label": "MIME Type",
"default": "application/octet-stream"
},
{
"name": "note",
"type": "text",
"label": "Note",
"help": "Optional note to attach to the file in the activity log"
}
]מסעות לקוח
הפעלת מסעות לקוח מתוך Make.com
listAutomationsRPC: listAutomations — רשימת אוטומציות
RPCשולף את כל האוטומציות הפעילות בארגון עבור דרופדאון בחירה.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "list_automations"
},
"response": {
"iterate": "{{body.automations}}",
"output": {
"label": "{{item.name}}",
"value": "{{item.id}}"
}
}
}listJourneysRPC: listJourneys — רשימת מסעות לקוח
RPCשולף את כל מסעות הלקוח הפעילים בארגון עבור דרופדאון בחירה.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "list_journeys"
},
"response": {
"iterate": "{{body.journeys}}",
"output": {
"label": "{{item.name}}",
"value": "{{item.id}}"
}
}
}triggerAutomationTrigger Automation — הפעלת אוטומציה
MODULEמפעיל אוטומציה עבור רשומה. בוחרים אובייקט, אוטומציה מהדרופדאון (אופציונלי), ומזהה רשומה.
[
{
"name": "entity",
"type": "select",
"label": "Entity",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "automationId",
"type": "select",
"label": "Automation",
"options": "rpc://listAutomations",
"help": "Optional — leave empty to trigger all matching automations"
},
{
"name": "recordId",
"type": "text",
"label": "Record ID",
"required": true
}
]triggerJourneyTrigger Journey — הפעלת מסע לקוח
MODULEמפעיל מסע לקוח עבור רשומה. בוחרים אובייקט, מסע לקוח מהדרופדאון (אופציונלי), ומזהה רשומה.
[
{
"name": "entity",
"type": "select",
"label": "Entity",
"required": true,
"options": "rpc://listEntities"
},
{
"name": "journeyId",
"type": "select",
"label": "Journey",
"options": "rpc://listJourneys",
"help": "Optional — leave empty to trigger all matching journeys"
},
{
"name": "recordId",
"type": "text",
"label": "Record ID",
"required": true
}
]חתימות
יצירת ושליחת חתימות דיגיטליות
listSignatureTemplateslistSignatureTemplates
RPCמחזיר את רשימת תבניות החתימה הפעילות בארגון. משמש כתפריט נפתח במודול Create Signature.
{
"url": "/webhook",
"method": "POST",
"body": {
"action": "list_signature_templates"
},
"response": {
"iterate": "{{body.templates}}",
"output": {
"label": "{{item.name}}",
"value": "{{item.id}}"
}
}
}createSignatureCreate Signature — יצירת חתימה
MODULEיוצר ושולח בקשת חתימה דיגיטלית. בוחרים תבנית חתימה מהרשימה, ממלאים פרטי נמען, ובוחרים ערוץ שליחה.
[
{
"name": "templateId",
"type": "select",
"label": "Signature Template",
"required": true,
"options": "rpc://listSignatureTemplates"
},
{
"name": "recipientName",
"type": "text",
"label": "Recipient Name",
"required": true
},
{
"name": "recipientEmail",
"type": "text",
"label": "Recipient Email",
"required": true
},
{
"name": "recipientPhone",
"type": "text",
"label": "Recipient Phone"
},
{
"name": "sendVia",
"type": "select",
"label": "Send Via",
"default": "email",
"options": [
{"label": "Email", "value": "email"},
{"label": "SMS", "value": "sms"},
{"label": "Link only", "value": "link"}
]
}
]סיכום מבנה האפליקציה
| רכיב | שם | סוג |
|---|---|---|
| Base | - | הגדרה גלובלית |
| Connection | API Key | אימות |
| RPC | listEntities | רשימה דינמית |
| RPC | listFields | רשימה דינמית |
| RPC | listPicklistOptions | רשימה דינמית |
| Module | Create Record | פעולה |
| Module | Update Record | פעולה |
| Module | Get Record | פעולה |
| Module | Delete Record | פעולה |
| Module | List Records | שליפה |
| Module | Search Records | שליפה |
| Module | Create Note | פעולה |
| Module | Bulk Create Records | פעולה |
| Trigger | Webhook | Instant |
| Module | List Users | שליפה |
| Module | Trigger Automation | פעולה |
| Module | Upload File | פעולה |
| Module | Trigger Automation (new) | פעולה |
| Module | Trigger Journey | פעולה |
| RPC | listSignatureTemplates | רשימה דינמית |
| Module | Create Signature | פעולה |
