Home Cal ID

Cal ID

Cal ID is a powerful, flexible scheduling platform for professionals and businesses to manage appointments, automate workflows, and accept payments—all in one seamless, customizable system.
By Ankur
61 articles

Event buffer

Event buffers are time spaces that can be appended before and/or after an event. This is helpful in scheduling your availability such that you have time to prepare for a meeting, take breather between two meetings/events or to accommodate travel time in case of events on a physical location. You can customize buffer time for each event so that you can accommodate the needs of that specific event type to further optimize your event type setup. The before event buffer time allows the space of time of chosen length before the events being booked on Cal based on your availability. The after event buffer time allows the space of time of chosen length after the events being booked on Cal based on your availability. Hidden events are flexible; they can be whatever you need them to be. Whether you want to use hidden events to facilitate sponsorship meetings, organize a fundraising drive, or offer one-on-one mentoring sessions, this feature can help you make the most of your meetings while keeping them out of the public eye. Event buffers are a great way to maintain a breathing space between multiple events in a day. Buffers are taken into consideration while booking a Cal event, if that Cal event has a buffer time selected. This simply means that buffers cannot overlap Cal events and thus a Cal event with buffer time can only be booked respecting the buffer time (before event, after event or both). An example Given the availability from 9am to 5pm (09:00-17:00) and a 60-minute event with a 30-minute buffer before and a 30-minute buffer after, the total calendar time required for an event is indeed 120 minutes. But the buffer is applied around busy times and not to the start or end of the working day. So, in this scenario (considering you didn't modify the Custom time-slot intervals in this example): 1. The first available time slot starts at 9am. The buffer before doesn't push this since there's no preceding busy time. 2. The event itself is for 60 minutes. 3. There's a 30-minute buffer before & 30-minute buffer after the event. But again, if there's no following busy time immediately after, this buffer doesn't push the next available slot. Thus, the sequence is: - 9:00-10:00am: First available slot - a. 10:00-11:00am: If Slot 1 is booked, this slot will be blocked as buffer (after) to allow the buffer period relative to the 9-10am slot. b. 10:00-11:00am: If Slot 1 is free, this slot will be free c. 10:00-11:00am: If Slot 2 (10:00-11:00) is booked, since booking slot 1 (9:00-10:00) would imply that there will not be an after buffer (as 10-11 is already booked). Hence, slot 1 will not remain bookable anymore.

By Ankur
Last updated on Aug 09, 2024

Booking Questions

When you create a new event type, a few basic booking questions are already created for your new event type. If you'd like to collect more information about your attendees, you can use our booking questions feature and get the necessary information filled out by your attendees when booking. The booking questions can be either required or optional, depending on your needs. Let's say that you require the phone number of each attendee. You must select the correct input type, write up your placeholder and label, and tick the requirement. A new field will appear on the booking page where attendees enter the booking details. You can also make use of the booking questions feature to allow prefilling the booking fields. Booking field identifier The identifier for booking questions is a unique text input that users provide when creating a booking question. This identifier serves as a distinctive key for each specific booking question, establishing a clear and unique reference that can be used throughout the platform wherever that question is addressed or its answers are processed. The primary utility of the identifier emerges when individuals schedule meetings. As they fill out booking forms, the responses they provide are tied back to the specific booking questions via these identifiers. This system ensures precision and clarity, as each answer is unmistakably linked to its corresponding question, eliminating any potential confusion especially when similar or related questions are present. By utilizing the identifier for booking questions, users benefit from a more organized, efficient, and error-resistant way of handling booking data, both within the platform and in conjunction with external systems. This streamlined approach not only enhances data management and integrity but also contributes significantly to the overall user experience.

By Ankur
Last updated on Aug 09, 2024

Pre-fill fields/questions

You can pre-fill all the fields/questions on the booking form by using their corresponding identifiers that you can see under Advanced -> Booking Questions. e.g. for the following field(shown in screenshot), the field would show up as Agree with your rules and its identifier is agreed. So, we would use agreed as query param name to prefill the field. This can include the user’s name and email, notes, guests, event location, Reason for reschedule. You can prefill any field added by you as well. You can add anywhere in the booking flow before the booking form page or in the booking form page itself. Simply add these in the URL and you're good to go! Pre-filling booking fields can save a lot of time and speed up processes with filling out these forms, and assist with a smooth integration with your existing website or app. You can integrate the prefill-fields with your booking page URL in a similar way. Pre-filling all fields A sample booking form with various fields prefilled. Here is how the fields are setup Here is the query used to prefill that form above. name=John Doe&email=johndoe@example.com&notes=Test Notes&Text=TEXT&number=123&select=Option 1&Multiselect=Option 1&Multiselect=Option 2&guests=b&phone=+91&agreed=true Fields with multiple values For questions that accept multiple values, you can pass them multiple times using same identifier. So, e.g. Multiselect has been passed twice and thus it prefills both the values. Similarly, you can pass guests twice to add one more guest. Prefilling location Different type of locations are selected using different values of location. location param value has to be a valid JSON. Pre-filling Attendee Address ...other-params...&location={"value":"attendeeInPerson","optionValue":"Delhi"} Pre-selecting Organizer Address in Location ...other-params...&location={"value":"inPerson","optionValue":""} Pre-filling Attendee Phone ...other-params...&location={"value":"phone","optionValue":"%2B919999999999"} Note: %2B is encoded form of + Pre-selecting Link Meeting ...other-params...&location={"value":"link","optionValue":""} Pre-selecting a video meeting Specify location param like this ...other-params...&location={"value":"integrations:{VIDEO_APP_IDENTIFIER}","optionValue":""}

By Ankur
Last updated on Aug 20, 2024

Webhooks

Webhooks offer a great way to automate the flow with other apps when invitees schedule, cancel or reschedule events, or when the meeting ends. The webhook subscription allows you to listen to specific trigger events, such as when a booking has been scheduled, for example. You can always listen to the webhook by providing a custom subscriber URL with your own development work. However, if you wish to trigger automations without any development work, you can use the integration with Zapier which connects OneHash Cal to your apps. Please note that the webhooks can be associated with user as well as individual event types, including team event types. Creating a webhook subscription To create a new webhook subscription, visit /settings/developer/webhooks and proceed to enter the following details: 1. Subscriber URL: The listener URL where the payload will be sent to, when an event trigger is triggered. 2. Event triggers: You can decide which triggers specifically to listen to. Currently, we offer listening to Booking Cancelled, Booking Created, Booking Rescheduled and Meeting Ended. 3. Secret: You can provide a secret key with this webhook and then verify it on the subscriber URL when receiving a payload to confirm if the payload is authentic or adulterated. You can leave it blank, if you don't wish to secure the webhook with a secret key. 4. Custom Payload: You have the option to customize the payload you receive when a subscribed event is triggered. An example webhook payload { "triggerEvent": "BOOKING_CREATED", "createdAt": "2023-05-24T09:30:00.538Z", "payload": { "type": "60min", "title": "60min between Pro Example and John Doe", "description": "", "additionalNotes": "", "customInputs": {}, "startTime": "2023-05-25T09:30:00Z", "endTime": "2023-05-25T10:30:00Z", "organizer": { "id": 5, "name": "Pro Example", "email": "pro@example.com", "username": "pro", "timeZone": "Asia/Kolkata", "language": { "locale": "en" }, "timeFormat": "h:mma" }, "responses": { "name": { "label": "your_name", "value": "John Doe" }, "email": { "label": "email_address", "value": "john.doe@example.com" }, "location": { "label": "location", "value": { "optionValue": "", "value": "inPerson" } }, "notes": { "label": "additional_notes" }, "guests": { "label": "additional_guests" }, "rescheduleReason": { "label": "reschedule_reason" } }, "userFieldsResponses": {}, "attendees": [ { "email": "john.doe@example.com", "name": "John Doe", "timeZone": "Asia/Kolkata", "language": { "locale": "en" } } ], "location": "Calcom HQ", "destinationCalendar": { "id": 10, "integration": "apple_calendar", "externalId": "https://caldav.icloud.com/1234567/calendars/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/", "userId": 5, "eventTypeId": null, "credentialId": 1 }, "hideCalendarNotes": false, "requiresConfirmation": null, "eventTypeId": 7, "seatsShowAttendees": true, "seatsPerTimeSlot": null, "uid": "bFJeNb2uX8ANpT3JL5EfXw", "appsStatus": [ { "appName": "Apple Calendar", "type": "apple_calendar", "success": 1, "failures": 0, "errors": [], "warnings": [] } ], "eventTitle": "60min", "eventDescription": "", "price": 0, "currency": "usd", "length": 60, "bookingId": 91, "metadata": {}, "status": "ACCEPTED" } } Verifying the authenticity of the received payload 1. Simply add a new secret key to your webhook and save. 2. Wait for the webhook to be triggered (event created, cancelled, rescheduled, or meeting ended) 3. Use the secret key to create an hmac, and update that with the webhook payload received to create an SHA256. 4. Compare the hash received in the header of the webhook (X-Cal-Signature-256) with the one created using the secret key and the body of the payload. If they don't match, the received payload was adulterated and cannot be trusted. Adding a custom payload template Customizable webhooks are a great way reduce the development effort and in many cases remove the need for a developer to build an additional integration service. An example of a custom payload template is provided here: { "content": "A new event has been scheduled", "type": "{{type}}", "name": "{{title}}", "organizer": "{{organizer.name}}", "booker": "{{attendees.0.name}}" } where {{type}} represents the event type slug and {{title}} represents the title of the event type. Note that the variables should be added with a double parenthesis as shown above. Here’s a breakdown of the payload that you would receive via an incoming webhook, with an exhaustive list of all the supported variables provided below: Webhook variable list VariableTypeDescriptiontriggerEventStringThe name of the trigger event [BOOKING_CREATED, BOOKING_RESCHEDULED, BOOKING_CANCELLED, MEETING_ENDED]createdAtDatetimeThe Time of the webhooktypeStringThe event type slugtitleStringThe event type namestartTimeDatetimeThe event's start timeendTimeDatetimeThe event's end timedescriptionStringThe event's description as described in the event type settingslocationStringLocation of the eventorganizerPersonThe organizer of the eventattendeesPerson[]The event booker & any guestsuidStringThe UID of the bookingrescheduleUidStringThe UID for reschedulingcancellationReasonStringReason for cancellationrejectionReasonStringReason for rejectionteam.nameStringName of the team bookedteam.membersString[]Members of the team bookedmetadataJSONContains a metadata of the booking, including the meeting URL (videoCallUrl) in case of Google Meet and Cal Video Person Structure VariableTypeDescriptionnameStringName of the individualemailEmailEmail of the individualtimezoneStringTimezone of the individual ("America/New_York", "Asia/Kolkata", etc.)language?.localeStringLocale of the individual ("en", "fr", etc.)

By Ankur
Last updated on May 22, 2025

Round-robin scheduling

Round robin event type allows you to distribute the meetings amongst team members based on one the optimization methods. At the moment, it is based on availability, so it optimizes all options regardless of individual load. So, the booking will be assigned to the person least recently booked. Underlying Mechanism The round robin events when not using a common schedule offer slots which are formed using the union of all slots available for each round robin host. Once an available slot is chosen by the scheduler, the underlying mechanism of host assignment kicks in. The mechanism has a couple of options: Priority Ranking Every round-robin host has a priority, by default 'medium'. The priority level assigned to a host directly influences their likelihood of being selected for bookings. A higher priority signals a stronger preference, positioning them as a more desirable option for hosting duties. This system ensures that hosts with higher designated priorities are given precedence in the booking process, optimizing the allocation of resources and streamlining event organization. For instance, if John Doe & Jane Doe are both available in the same slot, but John has a priority High compared to Jane's priority of Medium, John will be booked. If several users have the same priority it will choose the least recently booked user. You have the option to select priority for each host and based on their priority (and availability in the selected slot), the hosts will be booked. Weights Weights are optional and must be enabled to use. They allow you to determine how meetings should be distributed among hosts. When enabled, every host has a default weight of 100%. This means each host should end up with the same number of bookings by default. However, hosts with fewer availabilities can still end up with fewer bookings. Only confirmed bookings count towards past bookings. For instance, Jane Doe has a weight of 100% and already has 8 bookings while John Doe has a weight of 200% and already has 12 bookings. Assuming both of them are available, the next bookings would go to John Doe until a total of 16 bookings is reached. Weight Adjustment: If new hosts are added to a round-robin event type that has weights enabled, their weights will be adjusted accordingly. New hosts will have their bookings adjusted proportionally to their weight, taking into account the bookings that existing hosts already have. This ensures a fair distribution of bookings when new hosts are added. Example: Existing host 1: 100% weight, 5 bookings Existing host 2: 200% weight, 9 bookings New host: 50% weight Weight Adjustment = (Bookings of existing hosts / Sum of weights of existing hosts) * New host weight Weight Adjustment = 14 / 300 * 50 = 2.33 The new host will have a weight adjustment of 2 bookings. Least Recently Booked This is the fallback method where the available round robin host who was booked least recently is chosen. If more than one host meets this criteria, one of them is chosen at random. Fixed hosts If you wish to bring in Collective behavior into round-robin events, it is possible with OneHash Cal. You can now select which hosts you wish to always attend the meeting whilst the other selected team members who are booked on a round-robin basis. Fixed Hosts are individuals who are consistently present at every meeting. Round-Robin Hosts are members of a group who take turns attending meetings. Rather than everyone in this group attending every meeting, only one person from the group will attend each time. For tasks like scheduling sales calls or product demos, where you have a pool of people among whom you'd like to distribute meetings, round robin is the perfect choice.

By Ankur
Last updated on Jan 28, 2025

Advanced routing forms

With the OneHash Cal's advanced routing forms, you can streamline bookings to the right people in your team. All you do is ask questions of potential bookers to connect them with the right person or event automatically. Advanced routing forms is one of OneHash Cal’s modular features, which means that it can be enabled after visiting our app store and installing it for free. Using routing forms lets potential meeting attendees answer a series of questions and then ensures that they’re directed to the correct bookable event type based on those answers. Our routing forms are easy to customize and are no-code friendly. You can create custom forms in your account, or you can connect routing forms to external form builders like Typeform. Using traditional scheduling tools and methods, there would need to be quite a bit of back and forth before the right person for the booking is identified and thus make the entire process inefficient. Often, this might result in a large chunk of requests not making into a productive booking/meeting. With OneHash Cal's routing forms, the response to the questions are used to identify the correct event type and member(s) to be booked, resulting in an increased efficiency in the scheduling process. When someone fills out one of your forms, it also sends the results of your form to you by email. An email containing the submitted routing form With Routing Forms, it’s easy for OneHash Cal users to ensure that their clients are directed to the right booking every time.

By Ankur
Last updated on May 22, 2025

Workflows

Workflows allow you to automate notifications and reminders. A workflow can be attached to different event types, has one specific trigger event, and can have several action steps. For example, you can use workflows for sending email or SMS reminders before an event starts to the person who booked the meeting to avoid no-shows. Workflows can also be used for sending follow-up emails or SMS messages to the attendee after a meeting ends. That could be a feedback survey, providing some additional information to the meeting, or just a simple thank you note. Each Workflow is made up of a single trigger and one or more actions. Triggers include things like the cancellation of an event, start times, end times, and new bookings. Triggers - Minutes/Hours/Days before an event starts - When an event is cancelled - When a new event is booked - Minutes/Hours/Days after an event ends - When event is rescheduled Actions - Send an email to the host - Send an email to the attendee - Send an SMS to the attendee - Send an SMS to a specific number - Send Whatsapp message to the attendee - Send Whatsapp message to a specific number Actions are a designated notification type. For example, sending a reminder to an attendee, a specific phone number or an email address. Custom template You can either use the default template for the email/SMS or even use a custom template and use additional inputs as variables within that The Workflow system also lets you choose between using OneHash Cal’s default message template or creating a custom one. Dynamic text variables If the location is a video conferencing app then the {LOCATION} would be ‘Zoom’ or ‘Google Meet’ and {MEETING_URL} would be the actual link to the meeting. If the location is not a video conferring app then {MEETING_URL} is empty. VARIABLEDescription{EVENT_NAME}The event type name{EVENT_DATE}The event date{EVENT_TIME}The event start time{LOCATION}The event location{ORGANIZER}Organizer’s name{ATTENDEE}The attendee's name{ATTENDEE_EMAIL}The attendee's email{ADDITIONAL_NOTES}The additional notes of booking{MEETING_URL}The link to the meeting if Location is Zoom or Google Meet{EVENT_END_TIME}The event end time{TIMEZONE}Timezone of the person receiving the message{CANCEL_URL}The URL to cancel the booking{RESCHEDULE_URL}The URL to reschedule the booking Workflow is one of many tools that OneHash Cal users can take advantage of in order to simplify scheduling, save time, and focus on what really matters. The SMS/Whatsapp action to specific numbers is only available for Teams, Enterprise and Platform plans except SMS/Whatsapp to attendee which is only available to orgs

By Ankur
Last updated on Aug 12, 2024

Admin

The role of Admin allows one to have a few perks which help in more than a few ways, from elevated API privileges to impersonating members of team or organization and controlling app whitelisting/blacklisting on the instance. Admins can go to settings/admin/apps and enable or disable the apps on their instance. This lets the admins customize and manage how each OneHash Cal app works within their organization. So, if an app is disabled, the users of their instance or organization can't install it. It also allows the admins to change their app keys. With the elevated privileges, the admins can better monitor and aid any fellow members of team or organization in a much more controlled and accessible way as compared to the traditional counterparts. Impersonation At OneHash Cal, we prioritize user autonomy alongside our commitment to providing exceptional technical support. With our unique "User Impersonation" feature, we strike a balance between user independence and administrative assistance, empowering users to control how they receive support while enabling our team to offer efficient, in-depth troubleshooting when necessary. Who Can Use This Feature? The impersonation feature is accessible to two levels of administrators: 1. Team Admins: Within a team, only team administrators hold the privilege of impersonating other team members' accounts. This function is crucial for diagnosing and resolving issues specific to team interactions or shared features. 2. Instance Admins: For broader administrative scope, instance administrators (or instance-wide user impersonations) can impersonate any user account within the entire OneHash Cal instance. This level of access is especially pertinent for resolving complex, cross-account issues or those concerning platform-wide features. User Autonomy Every user retains full control over their impersonation settings. You have the ability to either permit or restrict these administrators from impersonating your account through a simple toggle feature in your user settings. Here's how it works: - Permission Toggle: Within your account settings, you'll find an "Allow Impersonation" option. A straightforward toggle button lets you activate or deactivate this feature at your discretion. - Flexibility for Future Needs: You're encouraged to keep impersonation disabled if you prefer, activating it only when direct administrative support is necessary. This approach ensures that your account autonomy is maintained while keeping expert support at your fingertips when you need it. Special Considerations for Cal.com Cloud Users For users on the OneHash Cal Cloud, this feature extends to include OneHash Cal's technical support team. Enabling impersonation allows our qualified employees to temporarily sign in as you, providing firsthand assistance to swiftly resolve any issues specific to your account. Self-Hosted Instances: Admin-Powered Support Users on self-hosted instances benefit similarly, with their local administrators capable of providing the same level of in-depth support via impersonation, fostering a seamless, efficient troubleshooting process regardless of where your OneHash Cal instance resides. Security and Privacy Be assured, the integrity, security, and confidentiality of your account and data remain paramount. All impersonation activities are conducted under strict protocols designed to protect your information, respect your privacy, and comply with best security practices. Embrace the convenience, retain control, and experience unparalleled support with OneHash Cal's impersonation feature. Your solution, your terms. Please note that all uses of impersonation are audited.

By Ankur
Last updated on May 22, 2025

Pull requests

Requirements We have a number of requirements for PRs to ensure they are as easy to review as possible and to ensure that they are up to standard with the code. Title & Content Start by providing a short and concise title. Don’t put something generic (e.g. bug fixes), and instead mention more specifically what your PR achieves, for instance “Fixes dropdown not expanding on settings page”. For the PR description, you should go into much greater detail about what your PR adds or fixes. Firstly, the description should include a link to any relevant issues or discussions surrounding the feature or bug that your PR addresses. Feature PRs Give a functional overview of how your feature works, including how the user can use the feature. Then, share any technical details in an overview of how the PR works (e.g. “Once the user enters their password, the password is hashed using BCrypt and stored in the Users database field”). Bug Fix PRs Give an overview of how your PR fixes the bug both as a high-level overview and a technical explanation of what caused the issue and how your PR resolves this. Feel free to add a short video or screenshots of what your PR achieves. Loom is a great way of sharing short videos. Code Quality & Styling All submitted code must match our code styling standards. We will reject pull requests that differ significantly from our standardised code styles. All code is automatically checked by Codacy and our linting process, and will notify you if there are any issues with the code that you submit. We require that code passes these quality checks before merging. PR review process At least two members of the OneHash Cal team should review and approve any PR before it is merged. Once two members of the team have approved this, someone from the team will merge the PR. If you are part of the OneHash Cal team, you should merge your own PRs once you have received both approvals.

By Ankur
Last updated on May 22, 2025

How to split fullname into firstname and lastname in the public booking page

By default, OneHash Cal booking page has a fullname text input field for the scheduler to put their name in. This usually works just fine for most people. However, at times, it is preferable to take the firstname and lastname of the scheduler as separate inputs in the booking form. OneHash Cal provides the option to split the fullname input field in the booking form into firstname and lastname. To do that, you can do the following: 1. Head to the event type settings where you wish to split the fullname into firstname and lastname. 2. Click on the Advanced tab. 3. Scroll to the Booking questions section. 4. Click on the Edit button in front of "Your name" 5. In the dialog that opens, click on the toggle that says Split "Full name" into "First name" and "last name". 6. Fill the label and optional placeholder values, and click on save. 7. Remember to click on the save button in the event type settings as well. 8. Head to the public booking page of this event type, you will notice the fullname is now split into firstname and lastname with the labels provided by you in step number 6. You're all set! How this affects the Booking API requests Please note that in case of API requests, your usual responses object "responses": { "name": "John Doe", "email": "john.doe@example.com", "location": { "optionValue": "", "value": "Acme Industries" } } will now be updated to allow name to be converted into object containing firstName and lastName as follows: "responses": { "name": { "firstName": "John", "lastName": "Doe" }, "email": "john.doe@example.com", "location": { "optionValue": "", "value": "Acme Industries" } }

By Ankur
Last updated on May 22, 2025

Providing necessary google calendar integration permissions

OneHash Cal integrates seamlessly with your Google Calendar. This integration allows OneHash Cal to create events, view your schedule, and avoid conflicts, ensuring a smooth and efficient booking experience for everyone involved. However, to achieve this level of synchronization, OneHash Cal needs certain permissions from Google Calendar. You should follow this link as the flow for App Calendar and Google Calendar is same. Please make sure to allow these requested permissions when prompted. Without these permissions, the OneHash Cal integration might not work as expected, as it could be blocked from carrying out necessary actions like creating, updating, or viewing events. The following explains the necessary permissions and why it is crucial for users to accept them all. Why does OneHash Cal need these permissions View your Calendar OneHash Cal needs permission to view your calendar events. This permission enables the platform to look at your current schedule and find available timeslots that can be offered to other people for booking. The software uses this information to prevent double-booking and to ensure that your schedule is always up-to-date. Create Events To automate the scheduling process, OneHash Cal needs the ability to create events directly on your Google Calendar. This means that when someone books a time with you via OneHash Cal, the platform can automatically create an event on your calendar, blocking off that time to prevent other bookings. Edit Events In addition to creating events, OneHash Cal also needs permission to edit events. This allows the platform to update events when necessary. For instance, if a scheduled meeting gets canceled or rescheduled via OneHash Cal, the platform can automatically update the event on your Google Calendar to reflect the change. Delete Events Similarly, if an event is canceled via OneHash Cal, the platform may need to remove the event from your Google Calendar. This is to ensure your calendar remains accurate and up-to-date. Please ensure to grant all requested permissions to sync your Google Calendar For OneHash Cal to function optimally and ensure an efficient scheduling process, it is essential that users grant all the requested permissions during the Google Calendar integration process. It's important to note that OneHash Cal respects user privacy and will only use these permissions for scheduling purposes, in accordance with our privacy policy. By accepting these permissions, you enable OneHash Cal to synchronize seamlessly with your Google Calendar, automating your scheduling process and saving you valuable time.

By Ankur
Last updated on May 22, 2025

🌟 Mastering Analytics with OneHash Cal🌟

How to Use Google Tag Manager with OneHash Cal Streamline Your Event Tracking with Google Tag Manager! 1. Login to your OneHash Cal account. 2. Visit the OneHash Cal app store. 3. Choose "Analytics" from the featured categories. 4. Select "Google Tag Manager." 5. Click "Install App." 6. Navigate to your event types. 7. Pick an event you’d like to track. 8. Go to the "Event level apps" tab. 9. Toggle On Google Tag. 10. Enter your tracking ID. 11. Click the save button on the top right-hand corner. 💡 Why use Google Tag Manager? - Optimized Insights – Get a deeper understanding of your scheduling trends. - Automation Power – Reduce manual tracking efforts. - Enhanced User Experience – Improve workflows and event success rates. How to Connect Google Analytics to an Event Transform Your Scheduling with Google Analytics! ( **Kindly refer the images from the above section only) 1. Login to your OneHash Cal account. 2. Visit the OneHash Cal app store. 3. Choose "Analytics" from the featured categories. 4. Select "Google Analytics." 5. Click "Install App." 6. Navigate to your event types. 7. Pick an event you’d like to track. 8. Go to the "In Event Apps" tab. 9. Toggle On Google Analytics. 10. Enter your tracking ID. 11. Click the save button on the top right-hand corner. 💡 Why use Google Analytics? - Customer Insights – Track bookings, reschedules, and cancellations. - Data-Driven Decisions – Optimize event performance with real-time data. - Better Engagement – Identify what works and enhance user experiences. Take charge of your analytics and elevate your scheduling game with OneHash Cal!

By Ankur
Last updated on May 22, 2025

Enhance Your Brand Identity with OneHash Cal’s Custom Branding Feature

Custom Branding in OneHash Cal ⭐ Enhance Your Brand Identity with OneHash Cal Imagine scheduling a meeting with a potential client, only to have them see a generic scheduling app's logo instead of yours. This can create confusion and appear unprofessional. With OneHash Cal, this changes completely. OneHash Cal is the only scheduling app that offers full custom branding for free. While other scheduling tools charge a premium for this feature, OneHash Cal ensures that your brand identity, colors, and logos are prominently displayed in every invite. 🎨 How to Customize Your Branding in OneHash Cal Follow these simple steps to customize your branding in OneHash Cal: 🔑 Step 1: Sign Up or Log In - If you haven’t signed up yet, register on OneHash Cal. - If you already have an account, log in to your dashboard. ⚙️ Step 2: Navigate to Appearance Settings - Once logged in, go to My Profile. - Click on Appearance. 📁 Step 3: Upload Your Logo - Scroll down to find the Upload Logo option. - Click on Upload Logo and select a file from your device. - Ensure the logo is properly aligned and visible. - Click Save and Update. 🌐 Step 4: Customize Your Favicon - You can also update your favicon (the small icon displayed in the browser tab) by following the same process. 👥 Custom Branding for Teams This feature is not only available for personal accounts but also for teams. To apply custom branding to a team: - Go to My Profile > Team Section. - Click on the Team where you want to apply custom branding. - Navigate to Appearance. - Follow the same process as above to upload and save your team’s branding settings. 👀 Viewing Your Custom Branding Once you’ve updated your logo and branding settings: - Your Cal ID page will reflect the updated logo. - The updated logo will also be visible on the booking page when someone schedules a meeting with you. The updated logo will also be visible on the confirmation email when someone schedules a meeting with you. ✅ Conclusion With OneHash Cal’s free custom branding feature, you can maintain a professional appearance and reinforce your brand identity in all your scheduling interactions. Unlike other tools that charge extra, OneHash Cal ensures that your brand shines effortlessly in every invite and meeting link. 🚀 Start customizing your OneHash Cal branding today and make every meeting truly yours!

By Ankur
Last updated on May 22, 2025