Skip to main content
Calendly integration user guide

Learn how to set up and use Chameleon's Calendly integration

Chameleon Team avatar
Written by Chameleon Team
Updated over a year ago

With Chameleon's Calendly integration, you can schedule meetings with users straight from your product Tours. This way, you reduce the friction around getting feedback from your users or you can unblock them quicker by enabling quick communication with your team.


Availability & Usage

πŸ” Available for all plans

πŸ” Segment filters available with the Calendly Professional plan

πŸ“ Ready to power your Tours, Tooltips, Microsurveys, Launchers

βš™οΈ Enable from the Dashboard


Quick access


With our Calendly integration, you can enable users to schedule meetings with you from your app, when they're willing to learn more about your product. You can launch Calendly from your buttons, and Launchers (πŸ‘€ soon from your HelpBar as well) to meet users when they need more help.

You can also use your Calendly data to trigger Experiences in Chameleon and engage users based on previous actions. This is available with the Calendly Professional plan only.

You can set up Calendly as a:

  • Data Source -- get Calendly meeting data into Chameleon (for targeting)

  • Add On -- launch the Calendly meeting scheduler from Chameleon Experiences


To launch Calendly from your Experiences, go to the Calendly integration page in your Dashboard and enable it first. Next, you'll find it in the Builder anytime you want to add it to an Experience you're creating.

πŸ” Calendly Segment filters available only with the Calendly Professional plan

You can also leverage your Calendly data to segment your users and target Chameleon Experiences based on, for example, whether your users have scheduled a meeting with you during their trial.

Setting this up is very simple:

  • Then, you'll need to enter your Calendly API key in your Chameleon Dashboard: on the same Calendly integration page enter your API Key in the field there and click Connect.

This will immediately sync your Calendly data and you can then leverage it to target your Experiences. The API is only needed to send data from Calendly back into Chameleon to target Experiences.


Seamlessly connect with your users when they need more information, by triggering the modal from a button Action, allowing them to schedule a meeting directly from your app.

Select the button that should launch this, and under "Additional Actions" select Calendly. Paste the event URL and now, whenever a user clicks this button, a Calendly modal will show for a frictionless user experience. πŸ˜‰

You can use this to schedule calls with users, at their convenience, and personalize your messages based on who they are and what they have done in your product. Some reasons why you might schedule calls are:

  • Get feedback on a new feature or beta test

  • Offer a customer success webinar to help users better learn more about your product

  • Provide a personalized demo to qualified leads

For ideas, check out some examples of how customers use Calendly here.

πŸ‘‰ After the Calendly modal is opened, users must manually close this. Pay attention if another Step should appear after this, to not conflict with the Calendly modal. We suggest using Step triggers to require the user to take another action (such as a click on a specific element in your product) before the next step is shown.

If you've set up Calendly to sync data to Chameleon, you'll see a Calendly actions filter group when creating a custom Segment to target Experiences. This filter will contain a number of different events which you can use to segment your users, namely:

  • Event name (string)

  • Event assigned to (string)

  • Event cancellation time (by days/date)

  • Event duration (in minutes)

  • Event location (string)

  • Event slug (string)

  • Event start time (by days/date)

We will use the most recent data if a user has scheduled multiple events. This includes both in-product scheduling and those scheduled via the webpage.


More integrations

Did this answer your question?