Importing Historical Meetings
When you connect Google Calendar, Agency Hero automatically syncs 6 months of past meetings and 90 days of upcoming meetings in the background — no manual import needed. Learn what gets imported, how workspace assignment works, and how to monitor sync progress.
How historical sync works
When you first connect your Google Calendar via OAuth, Agency Hero automatically kicks off a historical sync in the background. There is nothing to trigger manually — the moment your calendar is connected, the process begins.
The sync covers a fixed window:
- 6 months back — past meetings from the last six months
- 90 days forward — upcoming meetings over the next ~3 months
Because it runs as a background process, you don’t need to stay on the settings page or wait for it to finish. You can continue using Agency Hero normally while the sync completes.
Note: The 6-month lookback window is fixed and is not currently configurable.
Calendar scope
By default, the sync targets your primary calendar only. Delegated calendars (calendars shared with you by others) are intentionally excluded from the initial sync to prevent duplicate event conflicts. You can add additional calendars later via Settings → Calendar Sync Settings once the initial sync has completed.
One-time sync, then incremental
The historical sync runs once — immediately after you connect your calendar. When it finishes, the platform automatically switches to incremental syncing, which continuously picks up new and updated calendar events going forward. You will never need to trigger another full historical sync manually.
What gets imported
The historical sync captures calendar event metadata. For each meeting in the sync window, Agency Hero imports:
| Field | Details |
|---|---|
| Meeting title | The event name from your calendar |
| Participants & attendees | All invited attendees |
| Scheduled time & duration | Start time, end time, timezone |
| Event description | Calendar event body text, if present |
| Recurring meeting patterns | Series data for recurring events |
| Conference join links | Google Meet, Zoom, or other video links |
| RSVP responses | Per-attendee acceptance/decline status |
What is NOT imported
Historical meetings are metadata only. The sync does not backfill:
- ❌ Transcripts or recordings
- ❌ Extracted intelligence items (decisions, action items, risks)
- ❌ Any content from video conferencing platforms
If you want transcripts and AI-extracted intelligence for future meetings, those are captured automatically when the bot joins live meetings going forward.
Future meetings discovered during sync
The sync window extends 90 days into the future, so Agency Hero will also pick up upcoming meetings during the initial sync. Any future-dated meeting that has a valid conference join link (Google Meet, Zoom, etc.) and falls within the 90-day window is automatically handed off to the Meeting Lifecycle Workflow — the same pipeline that handles ongoing meetings.
This means bot scheduling, recording, and post-meeting intelligence processing will run for those meetings exactly as they would for any newly created event. No additional setup is required.
Workspace assignment
Historical meetings are assigned to workspaces using the same meeting rules that govern ongoing meetings — attendee matching, email domain patterns, title keywords, and any explicit workspace configurations you have set up.
Workspace assignment runs as a separate background pass after the calendar sync completes, so it may take a short time after sync finishes for all meetings to appear in the correct workspaces.
To ensure accurate assignment:
- Go to Settings → Meeting Rules
- Review your rules for attendee matching, domain patterns, and title keywords
- Make any adjustments before or shortly after connecting your calendar
Meetings that don’t match any rule will remain unassigned until you configure a matching rule or manually assign them.
Monitoring sync progress
You can track the status of the historical sync at any time from Settings → Calendar, under the Sync Status panel.
While syncing, the panel shows:
- Status —
running,completed, orerror - Started at — Timestamp when the sync began
- Events processed — Count of calendar events ingested so far
- Calendars synced — Number of calendars that have been processed
- Meetings scheduled — Upcoming meetings handed off to the bot scheduling pipeline
- Scheduling errors — Count of any lifecycle hand-off failures (usually missing join links or events outside the scheduling window)
Updates appear in real time as the sync runs.
On completion, the panel additionally shows:
- Completed at — Timestamp when the sync finished
- Final totals for events processed, calendars synced, and meetings scheduled
If an error occurs, the panel shows a last_error message describing what went wrong. Common causes include calendar permission issues or OAuth token expiry. To restart the sync, go to Settings → Calendar and re-authorize your Google Calendar connection — this resets the integration and triggers a fresh sync.
Resume and retry behavior
For accounts with large calendars, the sync uses Temporal workflow checkpointing (continueAsNew) to process events in segments. If the sync is interrupted mid-run (for example, by a transient network error), it will automatically resume from the last checkpoint rather than starting over.
If the sync reaches an unrecoverable error state (status shows error in the Sync Status panel), the recommended recovery step is:
- Go to Settings → Calendar
- Disconnect and re-authorize your Google Calendar connection
- The sync will restart automatically from the beginning
How historical data is used
Once imported, historical meetings are immediately available across the platform:
- Workspace timelines — Past meetings appear as timeline entries in the relevant workspaces
- Topic detection — Recurring meeting titles establish topic patterns that the AI uses to categorize future meetings
- Relationship mapping — Participant overlap across meetings surfaces key stakeholders and communication patterns
- Meeting cadence analysis — Historical frequency and timing inform engagement patterns for each client or workspace
- AI agent context — When you ask questions or request insights, AI agents draw on the full meeting history, not just recent activity
Large calendar histories are processed with recent meetings prioritized first. Older data continues processing in the background and becomes available progressively.
What to do after sync completes
Once the sync finishes, a few quick checks will help you get the most from your historical data:
- Review workspace timelines — Open each workspace and confirm that past meetings are appearing and correctly assigned
- Check Meeting Rules — Go to Settings → Meeting Rules and adjust any rules if meetings landed in the wrong workspace or remained unassigned
- Explore AI insights — Try asking an AI agent a question about a client relationship or recurring topic — historical meetings are now part of its context
- Verify upcoming meetings — Check that meetings in the next 90 days with join links have been queued for bot scheduling (visible in the Sync Status panel under Meetings scheduled)
- Add additional calendars — If you need delegated or shared calendars synced, go to Settings → Calendar Sync Settings to add them now that the initial sync is complete
No further action is needed to keep your calendar in sync — Agency Hero switches to incremental syncing automatically after the initial sync completes.
Related articles
More resources to help you go deeper.