AutomationFlowsEmail & Gmail › Sync Calendly Bookings to Easy8 CRM with Comments and Sales Activities

Sync Calendly Bookings to Easy8 CRM with Comments and Sales Activities

ByEasy8 @easy8 on n8n.io

Sync New Calendly Bookings to Easy8 CRM with Comment, Sales Activity, and Outlook Email

Event trigger★★★☆☆ complexity8 nodesCalendly TriggerHTTP RequestMicrosoft Outlook@Easy8/N8N Nodes Easy8
Email & Gmail Trigger: Event Nodes: 8 Complexity: ★★★☆☆ Added:

This workflow corresponds to n8n.io template #8919 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "xxxxxxxxxxxxxxxx",
  "name": "Calendly Bookings to Easy8 CRM with Comment and Sales Activity",
  "tags": [],
  "nodes": [
    {
      "id": "8be430e4-43fa-4fa5-aaf0-f90f6c7e06b4",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -48
      ],
      "parameters": {
        "width": 720,
        "height": 1856,
        "content": "## Auto-Sync Calendly Bookings to Easy8 CRM with Comment, Sales Activity, and Outlook Message\n  \n**Automatically capture Calendly bookings as CRM activities, comments, and Outlook message to keep your lead records and schedule up to date.**\n\n### About Workflow  \nThis workflow listens for new bookings in Calendly and automatically updates your Easy8 CRM. It first finds the matching lead based on the invitee\u2019s email address, then logs the meeting as a comment and creates a sales activity in the CRM.  \nAdditionally, it notifies a manager about the meeting in their connected Outlook to ensure visibility across platforms.\n\nPerfect for sales or support teams using Calendly to book meetings but working in Easy8 CRM for relationship management, while also managing availability in Outlook.\n\n### Use Case  \nIdeal for teams or individuals who schedule meetings with clients or leads through Calendly and want those interactions reflected automatically in the CRM and their calendar.  \n- Keeps CRM lead records up to date without manual entry  \n- Ensures every meeting is logged for visibility and reporting  \n- Adds the meeting to Outlook to avoid scheduling conflicts and improve planning  \n- Ideal for sales pipelines, onboarding processes, or support tracking  \n\n## How it works  \n- **Calendly Trigger**  \n  => Listens for new bookings using the `invitee.created` event  \n  => Initiates the workflow when a Calendly meeting is scheduled  \n\n- **Get ID of Account from email**  \n  => Searches for the lead/contact in Easy8 CRM using the invitee\u2019s email  \n  => If a match is found, proceeds to update the record  \n\n- **Add Comment**  \n  => Posts a comment on the lead\u2019s profile with details from the Calendly booking (invitee name, meeting time, description, etc.)  \n\n- **Sales Activity POST**  \n  => Creates a new sales activity entry in the CRM linked to the same lead  \n  => Useful for reporting, KPIs, or sales tracking  \n\n- **Send a message**  \n  => Sends an email notification to the account manager (or specified user)  \n  => Includes a link to the CRM lead and meeting details in the message body  \n\n## How to Use  \n1. **Import the workflow** into your n8n instance  \n2. **Set up Calendly API access**:  \n   - Go to [Calendly Developer Portal](https://developer.calendly.com/)  \n   - Create a new app and generate OAuth2 credentials (client ID, secret, redirect URL)  \n   - Follow n8n\u2019s setup guide: https://docs.n8n.io/integrations/builtin/credentials/calendly/  \n3. **Connect your personal Calendly account** using the developer credentials  \n4. **Configure Easy8 CRM API access**:  \n   - Make sure API access is enabled and endpoints are reachable  \n   - Provide necessary authentication (e.g., API key or token)  \n5. **Connect your Outlook account**:  \n   - Use n8n\u2019s Microsoft Outlook integration with OAuth2  \n6. **Customize the nodes if needed**:  \n   - `Get ID of Account from email` \u2192 Confirm the correct API endpoint for lead lookup  \n   - `Add Comment` \u2192 Adjust formatting of the comment to fit your CRM style  \n   - `Sales Activity POST` \u2192 Match data fields to your sales activity schema  \n   - `Send a message` \u2192 Customize the title, time formatting, and description as needed  \n7. **Test the workflow** by booking a test Calendly meeting  \n   - Confirm that the lead gets updated with a comment, a new sales activity, and an email notification in Outlook  \n\n## Example Use Cases  \n- **Sales teams** logging demo or discovery calls directly into CRM  \n- **Customer success** tracking onboarding or check-in calls automatically  \n- **Support teams** capturing scheduled calls with clients without data loss  \n- **Client-facing teams** syncing Calendly meetings to their Outlook calendar  \n\n## Requirements  \n- **Calendly account**  \n  - With developer access for API credential setup  \n- **Easy8 CRM**  \n  - API enabled and access to comment & activity endpoints  \n- **Microsoft Outlook account**  \n  - With OAuth2 setup  \n\n## Customization  \n- Add conditional logic to only process specific meeting types  \n- Include custom formatting or tags in comments (e.g., \u201cDemo call\u201d)  \n- Extend the workflow to create new leads if no match is found  \n- Customize Outlook email subject and body  \n\n### Need Help? \n- Reach out through n8n community => https://community.n8n.io/u/easy8\n- Contact our team directly => https://www.easy8.com/ai-agency\n- Visit our youtube channel => https://www.youtube.com/@Easy8Group"
      },
      "typeVersion": 1
    },
    {
      "id": "9ba71cf3-b718-4aef-bf9d-2188e54385c6",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -48
      ],
      "parameters": {
        "color": 7,
        "width": 1072,
        "height": 624,
        "content": "## Auto-Sync Calendly Bookings to Easy8 CRM with Comment and Sales Activity  \n**1) \"Calendly Trigger\" \u2013 trigger workflow on new Calendly booking**  \n**2) \"Get ID from email\" \u2013 find corresponding Easy8 lead based on participant\u2019s email**  \n**3) \"Add Comment\" \u2013 add booking details as a comment to the lead**  \n**4) \"Sales Activity POST\" \u2013 create a related sales activity in Easy8 (e.g. meeting, call)**\n**5) \"Send a message\" \u2014 automatically sent an email to manager to inform them**  \n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "feb69a3a-f4f8-4f0a-af2a-6875be37d51d",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        -48
      ],
      "parameters": {
        "width": 512,
        "height": 576,
        "content": "# Final Output Example \n\n## New Comment on the Lead:\n\n**NameOfCommentAuthor** 16 Sep 2025 08:23 AM\n\nBook a demo with Jane Doe on 2025-01-01T12:00:00.000000Z. Meeting description: Lorem Ipsum Lorem Ipsum.\n\n## Sales Activity:\n\nPhone call\n\t\t      EntityName\nBook a demo with Jane Doe on 2025-01-01T12:00:00.000000Z. Meeting description: Lorem Ipsum Lorem Ipsum.\n\n## Outlook Email  \n\nNew Sales Activity was created https://your-easy8-app.com/easy_leads/123456\nPlease check your calendar meeting with Jane Doe on 2026-01-01T08:00:00.000000Z."
      },
      "typeVersion": 1
    },
    {
      "id": "644fc218-6240-4436-81c6-583ddeb8db62",
      "name": "Calendly Trigger",
      "type": "n8n-nodes-base.calendlyTrigger",
      "position": [
        736,
        272
      ],
      "parameters": {
        "scope": "organization",
        "events": [
          "invitee.created"
        ],
        "authentication": "oAuth2"
      },
      "credentials": {
        "calendlyOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d551f1bc-2b0f-481c-a4ae-ceb21c370f3c",
      "name": "Sales Activity POST",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1184,
        368
      ],
      "parameters": {
        "url": "=https://your-easy8-app.com/easy_entity_activities.json",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"easy_entity_activity\": {\n    \"entity_type\": \"EasyLead\",\n    \"entity_id\": {{ $json.easy_leads[0].id }},\n    \"name\": \"Book a demo\",\n    \"description\": \"Book a demo with {{ $('Calendly Trigger').item.json.payload.name }} on {{ $('Calendly Trigger').item.json.payload.scheduled_event.start_time }}. Meeting description: {{ $('Calendly Trigger').item.json.payload.questions_and_answers[0].answer }}. \",\n    \"activity_type_id\": 1\n  }\n}\n\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b1b5c26f-e69d-474b-88d2-eb442aac74f4",
      "name": "Get ID of Account from email",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        272
      ],
      "parameters": {
        "url": "=https://your-easy8-app.com/easy_leads.json?set_filter=1&f[email]={{ $json.payload.email }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "75133d51-002e-47b5-9163-52ad07f3b684",
      "name": "Send a message",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1392,
        368
      ],
      "parameters": {
        "subject": "=Demo meeting with {{ $('Calendly Trigger').item.json.payload.name }}",
        "bodyContent": "=New Sales Activity was created https://your-easy8-app.com/easy_leads/{{ $json.easy_entity_activity.entity.id }}\nPlease check your calendar meeting with {{ $('Calendly Trigger').item.json.payload.name }} on {{ $('Calendly Trigger').item.json.payload.scheduled_event.start_time }}",
        "toRecipients": "={{ $('Calendly Trigger').item.json.payload.scheduled_event.event_memberships[0].user_email }}",
        "additionalFields": {}
      },
      "typeVersion": 2
    },
    {
      "id": "4880f97f-55fc-4531-8e3f-cd6729545d0a",
      "name": "Add comment",
      "type": "@easy8/n8n-nodes-easy8.easy8",
      "position": [
        1184,
        176
      ],
      "parameters": {
        "id": "={{ $json.easy_leads[0].id }}",
        "comment": "=Book a demo with {{ $('Calendly Trigger').item.json.payload.name }} on {{ $('Calendly Trigger').item.json.payload.scheduled_event.start_time }}. Meeting description: {{ $('Calendly Trigger').item.json.payload.questions_and_answers[0].answer }}. ",
        "resource": "easy_leads",
        "operation": "add-comment"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "executionOrder": "v1"
  },
  "versionId": "xxxxxxxxxxxxxxxxxxxxx",
  "connections": {
    "Calendly Trigger": {
      "main": [
        [
          {
            "node": "Get ID of Account from email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sales Activity POST": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get ID of Account from email": {
      "main": [
        [
          {
            "node": "Sales Activity POST",
            "type": "main",
            "index": 0
          },
          {
            "node": "Add comment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Sync New Calendly Bookings to Easy8 CRM with Comment, Sales Activity, and Outlook Email

Source: https://n8n.io/workflows/8919/ — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

This n8n workflow automates the analysis of email messages received in a Microsoft Outlook inbox to identify indicators of compromise (IOCs), specifically suspicious URLs. It can be triggered manually

Slack, Microsoft Outlook, HTTP Request +1
Email & Gmail

Sell on n8n using Stripe (Fully Automated Delivery)

Stripe Trigger, HTTP Request, Stripe +3
Email & Gmail

This workflow creates PDF certificates using Stencil, stores them in Google Drive, and emails them to participants. A new row is added to the Google Sheets document (via form, webhook, or manual entry

HTTP Request, Google Drive, Google Sheets +2
Email & Gmail

Calendly to Meeting Prep (No Creds). Uses stickyNote, calendlyTrigger, gmail, openAi. Event-driven trigger; 18 nodes.

Calendly Trigger, Gmail, OpenAI +1
Email & Gmail

Create viral TikTok videos effortlessly — no editing skills required!

HTTP Request, OpenAI, Form Trigger +6