الانتقال إلى المحتوى الرئيسي
اعرض بيانات من سجلات مرتبطة مباشرةً على سجلاتك — على سبيل المثال، اعرض عدد الموظفين من شركة على فرصها. هذا الحل عبر سير العمل مفيد حتى تصبح الحقول المتداخلة مدعومة أصلاً.

الاستخدامات الشائعة

المصدرالوجهةالحقول المطلوب نسخها
الشركةالفرصةالصناعة، حجم الشركة، الإيراد السنوي المتكرر (ARR)
شخصالفرصةالبريد الإلكتروني، الهاتف، المسمّى الوظيفي
الفرصةالشركةقيمة آخر صفقة، تاريخ آخر صفقة رابحة

نسخ أساسي للحقل

مثال: نسخ البريد الإلكتروني لجهة الاتصال إلى الفرصة

الهدف: عند تعيين نقطة اتصال على فرصة، انسخ البريد الإلكتروني لجهة الاتصال إلى الفرصة لسهولة الوصول.

المتطلبات الأساسية

أنشئ حقول الوجهة في الإعدادات → نموذج البيانات → الفرص قبل إنشاء سير العمل:
  • البريد الإلكتروني لجهة الاتصال (النوع: Email)
  • هاتف جهة الاتصال (النوع: Phone)

إعداد

  1. المحفّز: يتم تحديث السجل (الفرص، حقل نقطة الاتصال)
  2. الفلتر: تحقّق من أن نقطة الاتصال غير فارغة
  3. البحث في السجلات: اعثر على الشخص المرتبط
    • الكائن: الأشخاص
    • الفلتر: المعرّف يساوي {{trigger.object.pointOfContact.id}}
  4. تحديث السجل:
    • الكائن: الفرص
    • السجل: {{trigger.object.id}}
    • البريد الإلكتروني لجهة الاتصال: {{searchRecords[0].email}}
    • هاتف جهة الاتصال: {{searchRecords[0].phone}}

نسخ عدة حقول

مثال: مزامنة معلومات الشركة مع جميع الفرص المرتبطة

الهدف: عند تغيّر تفاصيل الشركة، حدّث جميع الفرص المرتبطة.

إعداد

  1. المحفّز: يتم تحديث السجل (الشركات)
    • الحقول: الصناعة، حجم الشركة، الإيراد السنوي
  2. البحث في السجلات: اعثر على جميع الفرص الخاصة بهذه الشركة
    • الكائن: الفرص
    • الفلتر: معرّف الشركة يساوي {{trigger.object.id}}
  3. Iterator: التكرار عبر كل فرصة
  4. تحديث السجل (داخل الـ Iterator):
    • الكائن: الفرص
    • السجل: {{iterator.currentItem.id}}
    • صناعة الشركة: {{trigger.object.industry}}
    • حجم الشركة: {{trigger.object.companySize}}
    • الإيراد السنوي المتكرر للشركة: {{trigger.object.annualRevenue}}

النسخ عند إنشاء السجل

مثال: تعبئة الفرصة مسبقًا ببيانات الشركة

الهدف: عند إنشاء فرصة مرتبطة بشركة، انسخ تلقائيًا معلومات الشركة الأساسية.

المتطلبات الأساسية

أنشئ حقول الوجهة في الإعدادات → نموذج البيانات → الفرص:
  • صناعة الشركة (النوع: Text)
  • حجم الشركة (النوع: Number)

إعداد

  1. المحفّز: يتم إنشاء السجل (الفرص)
    • الفلتر: الشركة ليست فارغة
  2. البحث في السجلات: احصل على تفاصيل الشركة المرتبطة
    • الكائن: الشركات
    • الفلتر: المعرّف يساوي {{trigger.object.company.id}}
  3. تحديث السجل:
    • الكائن: الفرص
    • السجل: {{trigger.object.id}}
    • صناعة الشركة: {{searchRecords[0].industry}}
    • حجم الشركة: {{searchRecords[0].employees}}
قيود المهام والملاحظات: العلاقات في المهام والملاحظات مُحدّدة في الشفرة كعلاقات متعدّدة-لمتعدّدة وليست متاحة بعد في محفّزات أو إجراءات سير العمل. للوصول إلى هذه العلاقات، استخدم بدلًا من ذلك API.

مزامنة ثنائية الاتجاه

مثال: الحفاظ على تزامن جهة الاتصال الأساسية

الهدف: عند تغيّر جهة الاتصال الأساسية للشركة، حدّث جهة الاتصال. وعندما يصبح شخص ما جهة الاتصال الأساسية، حدّث الشركة.

سير العمل 1: الشركة → الشخص

  1. المحفّز: يتم تحديث السجل (الشركات، حقل جهة الاتصال الأساسية)
  2. تحديث السجل: عيّن قيمة “Is Primary Contact” للشخص إلى true
  3. البحث في السجلات: اعثر على جهة الاتصال الأساسية السابقة
  4. تحديث السجل: عيّن قيمة “Is Primary Contact” لجهة الاتصال السابقة إلى false

سير العمل 2: الشخص → الشركة

  1. المحفّز: يتم تحديث السجل (الأشخاص، Is Primary Contact = true)
  2. تحديث السجل: عيّن جهة الاتصال الأساسية للشركة إلى هذا الشخص
كن حذرًا مع المزامنات ثنائية الاتجاه لتجنّب الحلقات اللانهائية. استخدم عوامل تصفية للتحقّق مما إذا كانت القيمة قد تغيّرت فعلاً قبل التحديث.

استخدام الشيفرة للتعيين المعقّد

مثال: تحويل البيانات أثناء النسخ

الهدف: نسخ رقم الهاتف من الشخص إلى الفرصة وتنسيقه.
export const main = async (params) => {
  const { phone } = params;

  if (!phone) return { formattedPhone: null };

  // Remove non-numeric characters
  const digits = phone.replace(/\D/g, '');

  // Format as (XXX) XXX-XXXX
  const formatted = digits.length === 10
    ? `(${digits.slice(0,3)}) ${digits.slice(3,6)}-${digits.slice(6)}`
    : phone;

  return { formattedPhone: formatted };
};

أفضل الممارسات

تجنّب الحلقات

  • لا تنشئ سير عمل تُحفّز بعضها بعضًا بلا نهاية
  • استخدم شروطًا خاصة بالحقول
  • أضف تحقّقات لمعرفة ما إذا كانت القيمة قد تغيّرت فعلاً

التعامل مع البيانات المفقودة

  • تحقّق دائمًا من وجود سجل المصدر قبل النسخ
  • وفّر قيمًا افتراضية للحقول الاختيارية
  • استخدم عوامل تصفية للتخطّي عندما يكون حقل المصدر فارغًا

الأداء

  • نفّذ تحديثات دفعية عند النسخ إلى العديد من السجلات
  • استخدم سير عمل مجدولة لعمليات المزامنة بالجملة
  • فكّر في استخدام Iterator لتحديثات متعددة للسجلات

ذات صلة