Skip to content

Add a first pass at a gcal connector #3547

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

seanstory
Copy link
Member

@seanstory seanstory commented Jul 23, 2025

Will fill this out later. But it works, assuming you have an admin for google workspace...

This took 30 minutes to generate, and substantially longer (~2 hours) to get the right type of Google Admin and Workspace to generate a credential so that I could test that it worked.

Screenshot 2025-07-23 at 3 01 20 PM Screenshot 2025-07-23 at 3 39 59 PM

Sample synced cal event:

{
        "_index": "connector-gcal-2",
        "_id": "0e2pmh25c8heckt9h5gi0jemj0",
        "_score": 5.428957,
        "_source": {
          "end_date": null,
          "start_datetime": "2025-07-24T16:00:00-04:00",
          "end_datetime": "2025-07-24T17:00:00-04:00",
          "created_at": "2025-07-23T19:38:11+00:00",
          "description": "This is a very important, very real meeting for international business people on international business trips.",
          "type": "event",
          "event_type": "default",
          "updated_at": "2025-07-23T19:38:12.129000+00:00",
          "html_link": "https://www.google.com/calendar/event?eid=MGUycG1oMjVjOGhlY2t0OWg1Z2kwamVtajAgYWRtaW5AZXh0cmFjdC10cmFuc2Zvcm0uY29t",
          "id": "0e2pmh25c8heckt9h5gi0jemj0",
          "_timestamp": "2025-07-23T19:39:26.302102+00:00",
          "start_date": null,
          "calendar": {
            "name": "[email protected]",
            "id": "[email protected]",
            "type": "calendar"
          },
          "summary": "Super important meeting",
          "creator": {
            "self": true,
            "email": "[email protected]"
          },
          "calendar_id": "[email protected]",
          "visibility": null,
          "attendees": [
            {
              "organizer": true,
              "self": true,
              "responseStatus": "accepted",
              "email": "[email protected]"
            },
            {
              "responseStatus": "needsAction",
              "email": "[email protected]"
            }
          ],
          "recurring_event_id": null,
          "recurrence": null,
          "event_id": "0e2pmh25c8heckt9h5gi0jemj0",
          "color_id": null,
          "organizer": {
            "self": true,
            "email": "[email protected]"
          },
          "transparency": null,
          "conference_data": {
            "entryPoints": [
              {
                "entryPointType": "video",
                "label": "meet.google.com/qam-bptk-odr",
                "uri": "https://meet.google.com/qam-bptk-odr"
              },
              {
                "pin": "7369427064877",
                "entryPointType": "more",
                "uri": "https://tel.meet/qam-bptk-odr?pin=7369427064877"
              },
              {
                "regionCode": "US",
                "pin": "839137256",
                "entryPointType": "phone",
                "label": "+1 409-420-7434",
                "uri": "tel:+1-409-420-7434"
              }
            ],
            "conferenceId": "qam-bptk-odr",
            "conferenceSolution": {
              "name": "Google Meet",
              "key": {
                "type": "hangoutsMeet"
              },
              "iconUri": "https://fonts.gstatic.com/s/i/productlogos/meet_2020q4/v6/web-512dp/logo_meet_2020q4_color_2x_web_512dp.png"
            }
          },
          "location": null,
          "status": "confirmed"
        }
      }

Closes https://github.com/elastic/connectors-py/issues/###

Checklists

Pre-Review Checklist

  • this PR does NOT contain credentials of any kind, such as API keys or username/passwords (double check config.yml.example)
  • this PR has a meaningful title
  • this PR links to all relevant github issues that it fixes or partially addresses
  • if there is no GH issue, please create it. Each PR should have a link to an issue
  • this PR has a thorough description
  • Covered the changes with automated tests
  • Tested the changes locally
  • Added a label for each target release version (example: v7.13.2, v7.14.0, v8.0.0)
  • For bugfixes: backport safely to all minor branches still receiving patch releases
  • Considered corresponding documentation changes
  • Contributed any configuration settings changes to the configuration reference
  • if you added or changed Rich Configurable Fields for a Native Connector, you made a corresponding PR in Kibana

Changes Requiring Extra Attention

  • Security-related changes (encryption, TLS, SSRF, etc)
  • New external service dependencies added.

Related Pull Requests

Release Note

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants