Skip to main content

Help Center

Sync Your Ad Orbit Calendar with Your Main Calendar

Overview

Ad Orbit connects to your calendar system (Google Calendar or Outlook) to automatically record appointments as they are scheduled. However, Ad Orbit uses a dedicated secondary calendar—the Ad Orbit calendar—rather than syncing directly to your main calendar. This design provides better control and prevents appointment conflicts, but it requires you to manage two calendars.

This guide explains why this architecture exists and provides step-by-step instructions to automatically sync your Ad Orbit calendar to your main calendar. Once configured, appointments you create in your Ad Orbit calendar will instantly appear on your main calendar, keeping both synchronized without manual effort.

Why Ad Orbit Uses a Secondary Calendar

Dedicated Recording Space

The Ad Orbit calendar serves as a dedicated space for appointments you want Ad Orbit to monitor and record. This separation gives you explicit control over which meetings are tracked in your Ad Orbit record.

Team Visibility and Scheduling

Your main calendar is typically connected to team calendars and public scheduling links (meeting schedulers, calendly-style tools, etc.). Your team and customers view your availability based on your main calendar, not your Ad Orbit calendar. This is intentional—your main calendar reflects your true commitments, including time blocks, personal appointments, and out-of-office time.

The Solution: Auto-Sync from Ad Orbit Calendar to Main Calendar

To streamline your workflow, you can set up automation that copies appointments from your Ad Orbit calendar to your main calendar automatically. This way, you schedule everything in your Ad Orbit calendar, and your team sees the appointment on your main calendar—keeping both systems in sync with zero manual effort.

How it works:

  • You create an appointment in your Ad Orbit calendar in Google Calendar or Outlook.

  • You add meeting details, invites, and links—everything you need—from your Ad Orbit calendar.

  • A pre-configured script or workflow automatically copies that appointment to your main calendar.

  • Ad Orbit records the appointment from the Ad Orbit calendar.

  • Your team sees the appointment on your main calendar and can assess your availability.

Google Calendar: Auto-Sync Using Apps Script

Google Calendar supports automation through Google Apps Script, a free scripting platform built into Google Workspace. The script runs automatically every 15 minutes and copies any new appointment from your Ad Orbit calendar to your main calendar.

Prerequisites

  • A Google account with Google Calendar access

  • Two calendars in Google Calendar: your Ad Orbit calendar and your main calendar

  • Basic familiarity with copying and pasting code

Step 1: Access Google Apps Script

  1. Open a new browser tab and go to script.google.com

  2. Click "+ New Project" (or start from the Apps Script home page).

  3. Name your project "Calendar Sync" and click Create.

You now have a blank script editor with a file named Code.gs.

Step 2: Copy and Paste the Sync Script

Delete any existing code in the editor and paste the following script. This script monitors your Ad Orbit calendar for new appointments and automatically creates copies on your main calendar.

/**

* Calendar Sync Script

* Automatically copies events from Ad Orbit Calendar to Main Calendar

*/

// CONFIGURATION - Update these calendar names

const OTHER_CALENDAR_NAME = "Ad Orbit";

const MAIN_CALENDAR_NAME = "Calendar";

const SYNC_HOURS_BACK = 1;

function syncCalendars() {

const otherCal = CalendarApp.getCalendarsByName(OTHER_CALENDAR_NAME)[0];

const mainCal = CalendarApp.getCalendarsByName(MAIN_CALENDAR_NAME)[0];

if (!otherCal || !mainCal) { Logger.log("ERROR: Calendar not found"); return; }

const now = new Date();

const start = new Date(now.getTime() - SYNC_HOURS_BACK * 3600000);

const end = new Date(now.getTime() + 7 * 86400000);

const events = otherCal.getEvents(start, end);

events.forEach(event => {

if (!event.getDescription().includes("[SYNCED]")) {

const newEvent = mainCal.createEvent(event.getTitle(), event.getStartTime(), event.getEndTime());

if (event.getDescription()) newEvent.setDescription(event.getDescription() + " [SYNCED]");

if (event.getLocation()) newEvent.setLocation(event.getLocation());

Logger.log("Synced: " + event.getTitle());

}

});

}

After pasting, press Ctrl+S (or Cmd+S on Mac) to save the script.

Step 3: Update Calendar Names

The script references your calendars by name. You must update the configuration to match your actual calendar names (these are case-sensitive).

To find your exact calendar names:

  • Open Google Calendar in a separate browser tab.

  • Look at the left sidebar under "My calendars".

  • Right-click your Ad Orbit calendar and select "Settings"—the exact name appears at the top of the settings page.

  • Repeat for your main calendar.

In the Apps Script editor, update these two lines:

const OTHER_CALENDAR_NAME = "Your Ad Orbit Calendar Name";

const MAIN_CALENDAR_NAME = "Your Main Calendar Name";

Example:

If your Ad Orbit calendar is named "Project Calls" and your main calendar is named "Work Calendar", update the script to:

const OTHER_CALENDAR_NAME = "Project Calls";

const MAIN_CALENDAR_NAME = "Work Calendar";

After updating the names, save the script again with Ctrl+S or Cmd+S.

Step 4: Authorize the Script

Google requires you to authorize the script to access your calendars.

  1. In the Apps Script editor, locate the function dropdown (at the top, currently showing "syncCalendars").

  2. Click the dropdown and select "setupTrigger".

  3. Click the Run button (blue play icon).

  4. A dialog appears: "Authorization required". Click "Review Permissions".

  5. Select your Google account.

  6. A warning screen appears saying "Google hasn't verified this app." This is normal. Click "Advanced" and then "Go to Calendar Sync (unsafe)" at the bottom.

  7. Click "Allow".

You will return to Apps Script. In the Execution log at the bottom, you should see:

Trigger set up! Script will run every 15 minutes.

This means automation is now active. Your calendars will sync automatically.

Step 5: Test the Sync

Verify that the sync is working correctly.

  1. Go to Google Calendar and navigate to your Ad Orbit calendar.

  2. Create a test event with a memorable name, such as "TEST SYNC - Delete Me".

  3. Save the event.

  4. Either wait up to 15 minutes for the automatic sync, or run an instant test:

    • Go back to Apps Script.

    • Select "syncCalendars" from the function dropdown.

    • Click Run.

  5. Return to Google Calendar and check your main calendar. The test event should now appear there.

  6. If the event appears, the sync is working. You can now delete the test event.

Outlook: Auto-Sync Using Power Automate

Microsoft 365 includes Power Automate, a no-code workflow automation tool. You can use Power Automate to create a flow that automatically copies appointments from your Ad Orbit calendar to your main calendar.

Prerequisites

  • A Microsoft 365 account (work or personal)

  • Access to Power Automate at powerautomate.microsoft.com

  • Two calendars in Outlook: your Ad Orbit calendar and your main calendar

Step 1: Sign in to Power Automate

  1. Go to https://powerautomate.microsoft.com

  2. Sign in with your Microsoft 365 account.

Step 2: Create an Automated Cloud Flow

  1. Click "Create"

  2. Select "Automated cloud flow"

  3. Give your flow a name, such as "Sync Ad Orbit Calendar to Main Calendar"

  4. Click "Create"

Step 3: Set Up the Trigger

The trigger tells Power Automate to watch your Ad Orbit calendar for new events.

  1. In the trigger dropdown, search for "When a new event is created (V3)"

  2. Click on it to add the trigger.

  3. In the "Calendar id" field, click the dropdown and select your "Ad Orbit Calendar"

  4. Leave other settings at their default values.

Step 4: Add the Action

  1. Click "+ New Step"

  2. Search for "Create event (V4)"

  3. Click on it to add the action.

Step 5: Map Event Details

Now you need to configure which event information gets copied to your main calendar. This is the critical step where you choose what to sync and what to exclude.

Field

Select From Trigger

Calendar

Select your main calendar from the dropdown

Subject

Subject (from trigger)

Start Time

Start Time (from trigger)

End Time

End Time (from trigger)

Location

Location (from trigger, optional)

Important: Do NOT include attendees or guests. If you include the attendees field, the attendees will receive duplicate meeting invitations when the event is copied to your main calendar. Exclude this field to prevent unwanted duplicate emails.

Step 6: Save the Flow

  1. Review your flow configuration to ensure all fields are mapped correctly.

  2. Click "Save" in the top-right corner.

Step 7: Test the Flow

  1. Go to Outlook and navigate to your Ad Orbit calendar.

  2. Create a test event with a memorable name, such as "TEST SYNC - Delete Me"

  3. Save the event.

  4. Wait 1–5 minutes for Power Automate to detect and process the event.

  5. Check your main calendar. The test event should now appear there.

  6. If the event appears, the flow is working. You can delete the test event.

Troubleshooting

Google Calendar: Script Not Running

Issue: No events are being synced from your Ad Orbit calendar.

Solution:

  • Verify calendar names: Check that the calendar names in your script match exactly (case-sensitive) with your actual calendars in Google Calendar.

  • Check Executions: In Apps Script, click "Executions" on the left sidebar to see if the script ran and if there were any errors.

  • Test manually: Select "syncCalendars" from the function dropdown and click Run.

Outlook: Flow Not Triggering on New Events

Issue: You created an event in your Ad Orbit calendar, but it did not appear on your main calendar.

Solution:

  • Verify the trigger calendar: Check that your Power Automate trigger is set to watch your Ad Orbit calendar, not another calendar.

  • Check flow run history: Click on your flow and review the "run history" to see if it executed. Look for any error messages.

  • Wait a few minutes: Power Automate may take up to 5 minutes to detect a new event. Create another test event and wait.

Events Missing Details

Issue: Events sync to your main calendar, but some details (location, description, etc.) are missing.

Solution:

  • Google Calendar: Verify that the script includes logic to copy location, description, and other fields. Re-run the setup and test again.

  • Outlook: In Power Automate, verify that all fields in the "Create event" action are mapped to the correct dynamic content from the trigger. Re-check each field and re-save the flow.