Skip to content

30. Integracje z innymi CRM i narzędziami

Poziom trudności: Zaawansowany
Czas: 20 minut

Wprowadzenie

GoHighLevel może integrować się z innymi systemami - Zapier, Make, Salesforce, HubSpot. Synchronizuj dane, automatyzuj przepływ informacji między narzędziami.

Dlaczego integracje?

  • Centralizacja: Wszystkie dane w jednym miejscu
  • Automatyzacja: Brak manual data entry
  • Sync: Real-time synchronizacja
  • Migracja: Łatwe przejście z innych CRM

Krok 1: Zapier integration

Najpopularniejsza integracja - 5000+ apps!

Setup:

  1. SettingsIntegrationsZapier
  2. Connect Account
  3. Authorize GoHighLevel

Przykład: New contact → Google Sheets

TRIGGER (GoHighLevel):
  New Contact Created

ACTION (Google Sheets):
  Add row to spreadsheet
  
DATA MAPPING:
  Column A: {{contact.firstName}}
  Column B: {{contact.lastName}}
  Column C: {{contact.email}}
  Column D: {{contact.phone}}
  Column E: {{contact.tags}}
  Column F: {{contact.createdAt}}

Przykład: Gmail → GoHighLevel contact

TRIGGER (Gmail):
  New email received with label "Lead"

ACTION (GoHighLevel):
  Create/Update Contact
  
DATA:
  Email: {{email.from}}
  Name: {{email.fromName}}
  Source: "Gmail"
  Tag: "email-lead"
  Note: {{email.body}}

Krok 2: Make (Integromat) integration

Bardziej zaawansowane scenariusze:

Scenario: Multi-step lead enrichment

1. TRIGGER: New contact in GHL

2. HTTP Request: Clearbit API (enrich company data)

3. Update GHL Contact:
   - Company name
   - Industry
   - Company size
   - LinkedIn profile

4. CONDITION: If company size > 100

5. Create Opportunity (high-value)

6. Notify Slack: "#sales-hot-leads"

Krok 3: Native CRM integrations

Salesforce sync:

Use case: Duża firma używa Salesforce, chce dodać GHL do marketingu

Setup:

  1. SettingsIntegrationsSalesforce
  2. OAuth connect
  3. Field mapping:
GoHighLevel → Salesforce
────────────────────────
Email → Email
First Name → FirstName
Last Name → LastName
Phone → Phone
Tags → CampaignMember
Custom.NIP → Custom__NIP__c
Opportunity → Opportunity
  1. Sync direction:
    • ☑ GHL → Salesforce (one-way)
    • ☐ Salesforce → GHL (optional)
    • ☑ Real-time sync

HubSpot sync:

GoHighLevel + HubSpot Integration:

SCENARIO A: Marketing in GHL, Sales in HubSpot
  - New leads in GHL → sync to HubSpot CRM
  - Opportunities in HubSpot → trigger GHL workflows

SCENARIO B: Full migration from HubSpot
  - Export all HubSpot contacts → Import to GHL
  - Map custom fields
  - Sync historical data (emails, notes)

Krok 4: API custom integration

Full control - build your own:

Example: Sync to custom CRM

javascript
// Webhook endpoint in your CRM
const GHL_WEBHOOK_SECRET = "your_secret";

app.post('/webhooks/ghl-contact', async (req, res) => {
  // Verify webhook signature
  const signature = req.headers['x-ghl-signature'];
  if (!verifySignature(req.body, signature, GHL_WEBHOOK_SECRET)) {
    return res.status(401).send('Invalid signature');
  }
  
  const contact = req.body;
  
  // Sync to your CRM
  await yourCRM.upsertContact({
    email: contact.email,
    firstName: contact.firstName,
    lastName: contact.lastName,
    phone: contact.phone,
    source: 'GoHighLevel',
    externalId: contact.id
  });
  
  res.status(200).send('OK');
});

GHL → Your system (push):

1. GHL Workflow
   Trigger: Contact created/updated
   Action: Webhook POST to your endpoint
   
2. Your API receives data
   Process & store in your DB
   
3. Response 200 OK → GHL marks as synced

Your system → GHL (pull):

javascript
// Sync from your CRM to GHL
async function syncContactsToGHL() {
  const contacts = await yourCRM.getUpdatedContacts();
  
  for (const contact of contacts) {
    // Check if exists in GHL
    const existing = await ghlAPI.lookupContact(contact.email);
    
    if (existing) {
      // Update
      await ghlAPI.updateContact(existing.id, {
        phone: contact.phone,
        tags: contact.tags,
        customField: { ...contact.customFields }
      });
    } else {
      // Create
      await ghlAPI.createContact({
        email: contact.email,
        firstName: contact.firstName,
        lastName: contact.lastName,
        source: 'Your CRM',
        tags: contact.tags
      });
    }
  }
}

// Run every 5 minutes
setInterval(syncContactsToGHL, 5 * 60 * 1000);

Krok 5: E-commerce integrations

Shopify + GoHighLevel:

TRIGGER: New order in Shopify

1. Create/Update contact in GHL
   - Email from order
   - Name
   - Phone
   - Tag: "customer"
   - Custom field: "Last purchase date"
   - Custom field: "Total spent"

2. Trigger GHL workflow:
   - Send thank you email
   - Add to "Post-purchase sequence"
   - Create task for fulfillment team

WooCommerce sync:

javascript
// WordPress plugin hook
add_action('woocommerce_order_status_completed', function($order_id) {
  $order = wc_get_order($order_id);
  
  // Send to GoHighLevel
  wp_remote_post('https://rest.gohighlevel.com/v1/contacts/', [
    'headers' => [
      'Authorization' => 'Bearer ' . GHL_API_KEY,
      'Content-Type' => 'application/json'
    ],
    'body' => json_encode([
      'email' => $order->get_billing_email(),
      'firstName' => $order->get_billing_first_name(),
      'lastName' => $order->get_billing_last_name(),
      'phone' => $order->get_billing_phone(),
      'tags' => ['woocommerce-customer'],
      'customField' => [
        'last_order_id' => $order_id,
        'last_order_total' => $order->get_total(),
        'last_order_date' => date('Y-m-d')
      ]
    ])
  ]);
});

Krok 6: Calendar integrations

Google Calendar sync:

Settings → Integrations → Google Calendar

SYNC OPTIONS:
☑ Appointments → Google Calendar
☑ Tasks → Google Calendar
☐ Opportunities deadline → Calendar event

CALENDAR SELECTION:
Primary Calendar: "GoHighLevel"
Color code: Blue

Benefits:

  • Zobacz GHL appointments w Google Calendar
  • 2-way sync (update in either place)
  • Mobile access przez Google Calendar app

Krok 7: Migration from other CRMs

HubSpot → GoHighLevel migration:

Phase 1: Export data

  1. HubSpot → Contacts → Export all
  2. Download CSV (contacts, companies, deals)
  3. Clean data w Excel

Phase 2: Prepare import

csv
first_name,last_name,email,phone,company,tags,custom_lifecycle_stage
Jan,Kowalski,jan@ex.com,+48123,Tech Inc,lead;hubspot,SQL
Anna,Nowak,anna@ex.com,+48456,Marketing Co,customer;vip,Customer

Phase 3: Import to GHL

  1. Contacts → Import CSV
  2. Map fields:
    • custom_lifecycle_stage → Tag
    • company → Custom field "Firma"
  3. Import

Phase 4: Verify

  • Check contact count
  • Verify custom fields populated
  • Test workflows
  • Train team

Salesforce → GoHighLevel:

RECOMMENDED APPROACH:
1. Run both systems parallel (2 weeks)
2. Sync Salesforce → GHL (one-way) via Zapier
3. Marketing campaigns in GHL
4. Sales still in Salesforce
5. Gradually shift sales to GHL
6. After 1 month: GHL only

Krok 8: Two-way sync considerations

Challenges:

Conflict resolution:

Scenario: Contact updated in beide systems simultaneously

GHL (10:00): Email changed to jan.new@example.com
Salesforce (10:01): Email changed to jan.old@example.com

Which wins?

Solutions:

  1. Master system: Jedna strona wygrywa (np. GHL master)
  2. Timestamp: Najnowsza zmiana wygrywa
  3. Manual review: Flag conflicts for human decision

Best practice: Avoid 2-way sync if possible. Choose master system.

Integration patterns

Pattern 1: Hub model

       GHL (Hub)
         /  |  \
        /   |   \
    Zapier API  Shopify
      |     |     |
 Gmail Sheets Facebook

Pattern 2: Pipeline model

Website Form → Zapier → GHL → Salesforce → Billing System

Pattern 3: Event-driven

GHL Event: Contact created
   → Trigger webhooks to multiple systems simultaneously
   → Each system processes independently

Troubleshooting

Sync delays:

  • Zapier: 1-15 min delay (depending on plan)
  • API: Real-time (<1 sec)
  • Native integrations: 5-10 min

Duplicate contacts:

  • Use email as unique ID
  • Dedup після importu
  • Prevent duplicates on import (update existing)

Failed syncs:

  • Check API limits (rate limiting)
  • Verify permissions/OAuth tokens
  • Review error logs w Zapier/Make

Podsumowanie

Nauczyłeś się:

  • Integrować GHL z Zapier i Make
  • Sync z Salesforce, HubSpot
  • Budować custom API integrations
  • Łączyć z e-commerce (Shopify, Woo)
  • Migrować dane z innych CRM

To koniec sekcji CRM! 🎉

Następna sekcja: 31. Konfiguracja domeny email