Skip to content

App tips

5 min read

How to embed Calendly in WordPress: 4 methods

By Dylan Reber · January 30, 2025
A hero image with the Calendly and WordPress logos

Calendly makes it easy for customers to schedule appointments with you, which is exactly the kind of functionality that's nice to have on a website. And if you're reading this, your website's probably built on WordPress.

There's no Calendly for WordPress plugin, meaning you'll have to do the embedding yourself. The good news: it's not hard. In this guide, I'll cover four simple methods to embed Calendly in WordPress.

Note: These methods will only work for self-hosted WordPress sites. If your website is hosted by WordPress.com, sorry—all you can do is link to Calendly. But if you're on the WordPress Premium, Business, Commerce, or legacy Pro plans, you can add an official Calendly block to any site.

Table of contents:

Find your Calendly embed code

No matter what method you use to add Calendly to WordPress, you'll want to start by grabbing your embed code. 

  1. Log in to your Calendly account.

  2. Go to the Event types section, and select the event you want to embed.

    Screenshot of the Event Types tab in Calendly

  3. Click the Share button on the event.

    Screenshot of the event share button in Calendly

  4. Select Add to website in the window that appears, then choose one of the three embed options.

    Screenshot of the "add to website" button to open a new window in Calendly

  5. Click Continue. You'll be taken to another screen with an embed code you can copy. 

    Screenshot of the embed code in Calendly

Keep this tab open as you go through the embedding process in case you get sidetracked doing something a little more exciting (unlikely, I know).

Option 1: Embed Calendly on a single page or post

You can embed Calendly into any individual page or post on your WordPress site. This is probably the simplest method, especially if you've already subjected yourself to learning the WordPress block editor.

  1. Log in to your WordPress admin dashboard.

  2. Go to the Pages section and select the page where you want to embed Calendly, or create a new page by clicking Add New Page.

    Screenshot of the pages tab in WordPress and the "add new page" button

  3. Add a new block by clicking the + icon in the top-left corner.

    Screenshot of the plus icon where you can add a new block in WordPress
  4. Scroll down to the Widgets section and select Custom HTML.

    Screenshot of the custom HTML widget in WordPress
  5. Paste your Calendly embed code into the HTML block that appears on your page.

    Screenshot of where to paste the embed code in the HTML block in WordPress

  6. Click Preview to ensure the embed works, then click Save in the top-right corner to update your page.

    Screenshot of the preview meeting button in WordPress

Now your site's visitors can easily book an appointment without having to open another page. Remember, this embed will only apply to the page you added it to. 

Option 2: Add a site-wide popup widget

Want Calendly to show up on every page on your website? There's no official Calendly WordPress plugin, but you can embed the HTML as a widget that applies to every page on your site.

  1. Start by following the steps to find your Calendly embed code, then select the Popup widget option and copy the code.

    Screenshot of the popup widget option in WordPress
  2. In WordPress, go to the Appearance > Themes section in your admin dashboard.

    Screenshot of the themes option in WordPress
  3. Select the theme you're using for your website, and click Customize.

    Screenshot of where to customize the theme in WordPress
  4. Click anywhere on your site's homepage to enter editing mode.

  5. Scroll down, and locate your site's footer. If you don't have a footer, you can add one from Blocks. (Note: you can also use a header or sidebar for this step. It just has to be an element that appears on every page of your site.)

    Screenshot of the where to find your site's footer in WordPress
  6. Click the + icon in the top-left corner, then scroll down to the Widgets section and select Custom HTML.

    Screenshot of the custom HTML widget in WordPress
  7. Drag the Custom HTML widget to your desired area (the footer, in my example).

  8. Paste your Calendly embed code into the HTML block that appears and click Save. (Note: previewing the HTML code doesn't work for Calendly's popup widget, but it'll still appear when you view your site.)

    Screenshot of the embed code in the HTML block in WordPress
  9. To check that the popup is actually working on your site, click the little desktop icon at the top of the page, then click View site.

    Screenshot of the "view site" button in WordPress

As shown below, a floating Calendly button will display on every page where the widget area is visible. When users click it, they'll get a popup allowing them to schedule an appointment.

Screenshot of the Calendly button that says "schedule time with me"

If you get a kick out of tedium, you can also just manually add the widget to every page you want it to appear on, but I prefer the shortcut.

Option 3: Embed Calendly with a page builder

If you're not a fan of WordPress's default (and sometimes tricky) page editor, you can also use a page builder to embed Calendly on your site. In this example, I'll use Elementor, but the steps should be pretty much the same for any builder.

  1. From the WordPress dashboard, go to Plugins > Add New Plugin.

    Screenshot of the "add new plugin" option in WordPress
  2. Search for Elementor using the search box. Click Install Now in the Elementor plugin card that appears, then click Activate.

    Screenshot of the Elementor plugin in WordPress
  3. Open the WordPress page or post where you want to embed Calendly using Elementor.

  4. Click Edit with Elementor at the top of the page. 

    Screenshot of the "edit with Elementor" button
  5. Click the + icon in the top-left corner to open Elements.

  6. To find the HTML widget, enter HTML in the search box. 

    Screenshot of the HTML widget in WordPress
  7. Click and drag the HTML widget to your desired location on the page.

  8. Paste your Calendly embed code into the HTML Code box. 

    Screenshot of the embed code in the HTML box
  9. Click the Preview Changes button (the little eye icon) in the top right to preview your page and ensure the Calendly embed works correctly with your theme.

    Screenshot of the preview changes button in WordPress
  10. If everything looks right, click Publish to save your changes.

Option 4: Use a third-party Calendly plugin

If none of the above methods suit your fancy, there's a free third-party plugin designed specifically for embedding Calendly in WordPress. This option is best if you have multiple Calendly event types, as it'll automatically port them over to your WordPress admin dashboard once you set it up. 

  1. Go to the WordPress admin dashboard, navigate to Plugins > Add New Plugin, and search for EMC Scheduling Manager.

  2. Install the plugin, then click Activate.

    Screenshot of the EMC plugin in WordPress
  3. Go to your WordPress admin dashboard, and find the new EMC menu item. Hover over it, and select Settings.

    Screenshot of the Settings menu item in WordPress
  4. Enter your Calendly API key, which you can find on Calendly's integrations page. Just follow the steps to get your personal API token. (Note: Calendly defaults to a V2 API key, so paste yours in the V2 box in EMC's setting.)

    Screenshot of the API key input window
  5. Click Save Settings. Now that you've connected your Calendly account, the plugin will automatically pull in your event types.

  6. Go to EMC > Event Types. You'll see shortcodes that let you add your booking calendar to any WordPress page. For example [calendly url="https://calendly.com/yourusername/30min" type="1"]

    Screenshot of the Calendly shortcode
  7. Copy the shortcode for your desired event type, then go to Pages and open the page you want to add Calendly to.

  8. Click the + icon in the top-left corner, and select the Shortcode block. (You can locate it using the search bar or by scrolling through the Blocks tab.)

    Screenshot of the shortcode block in WordPress
  9. Paste the EMC shortcode you copied into the Shortcode block that appears on your page.

    Screenshot of the block where you paste the EMC shortcode
  10. Preview the page to make sure your Calendly embed appears properly. When you're done, remember to save the page as a draft or hit Publish if it's ready to go live.

Connect Calendly with your favorite apps

Now that we've exhausted pretty much every option to add Calendly to your WordPress site, why not integrate it with every other app you use, too? Zapier connects Calendly with thousands of popular tools, giving you access to automations that trigger when you book, cancel, or reschedule meetings. Or you can create or cancel meetings based on triggers from other apps.

With Zapier, you can do things like automatically create Zoom meetings (with invite links) whenever a new Calendly appointment is created, send Slack messages to new Calendly invitees, and add Calendly events to Google Calendar. And that's just scratching the surface. 

Learn more about Zapier's Calendly integrations, or get started with one of these premade workflows.

Create Google Sheets rows from new scheduled Calendly events

  • Calendly logo
  • Google Sheets logo
Calendly + Google Sheets
More details
    You've had a good week of meetings, time to report back to your team about it! You could go back and try to remember them all, or you could let Zapier do all of that work for you. Once an event is scheduled with Calendly, a new row in a Google Sheets spreadsheet will be created automatically to easily store those details.

    Send Slack messages for new Calendly invites

    • Calendly logo
    • Slack logo
    Calendly + Slack
    More details
      You're trying to score a big meeting, and send out an invite for someone to accept. Wouldn't it be nice to know that they have while you're chatting with other teammates? Use this integration to automatically send a Slack message for each new Calendly invite.

      Add or update ActiveCampaign contacts for new Calendly invitees

      • Calendly logo
      • ActiveCampaign logo
      Calendly + ActiveCampaign
      More details
        After an invitee schedules a meeting, you often want to add or update a contact in different apps to easily stay in touch with them. With a little help from this Zapier integration, you can automatically send new Calendly invitees right over to ActiveCampaign without having to do any manual work yourself.

        Create Mailchimp subscribers from new Calendly invitees

        • Calendly logo
        • Mailchimp logo
        Calendly + Mailchimp
        More details
          Follow up with new meeting invitees effortlessly with this Zapier integration! Once you've set this up, each new Calendly invitee will be automatically added to Mailchimp.

          Zapier is the leader in workflow automation—integrating with thousands of apps from partners like Google, Salesforce, and Microsoft. Use interfaces, data tables, and logic to build secure, automated systems for your business-critical workflows across your organization's technology stack. Learn more.

          Related reading:

          This article was originally published in June 2019 by Justin Pot. The most recent update was in January 2025. 

          Get productivity tips delivered straight to your inbox

          We’ll email you 1-3 times per week—and never share your information.

          Related articles

          Improve your productivity automatically. Use Zapier to get your apps working together.

          A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'