logo-darkPipe0

Google Calendar events

List events from a Google Calendar: one row per event (recurring events expanded into occurrences) with title, attendee emails, and a standardized calendar_event_match object (times, timezone, type, location, organizer, meeting link).

ProviderBilling ModeCredentials
Cost per page
Docs
P
Google Calendar
Per Search
User
n/a

Output Fields

Enabled by defaultThese fields are returned without extra config.4
google_calendar_event_id
string
event_title
string
attendee_emails
json
calendar_event_match
json

Code Example

const options = {
  method: 'POST',
  headers: {'content-type': 'application/json', authorization: 'Bearer <TOKEN>'},
  body: JSON.stringify({
    search: {
      search_id: 'events:googlecalendar@1',
      connector: {strategy: 'first'},
      config: {
        calendar_id: 'primary',
        time_window: 'n7d',
        event_types: ['meeting'],
        limit: 100,
        cursor: '',
        output_fields: {
          google_calendar_event_id: {enabled: true, alias: ''},
          event_title: {enabled: true, alias: ''},
          attendee_emails: {enabled: true, alias: ''},
          calendar_event_match: {enabled: true, alias: ''}
        }
      }
    }
  })
};

fetch('https://api.pipe0.com/v1/search/run', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
import requests

url = "https://api.pipe0.com/v1/search/run"

payload = { "search": {
        "search_id": "events:googlecalendar@1",
        "connector": { "strategy": "first" },
        "config": {
            "calendar_id": "primary",
            "time_window": "n7d",
            "event_types": ["meeting"],
            "limit": 100,
            "cursor": "",
            "output_fields": {
                "google_calendar_event_id": {
                    "enabled": True,
                    "alias": ""
                },
                "event_title": {
                    "enabled": True,
                    "alias": ""
                },
                "attendee_emails": {
                    "enabled": True,
                    "alias": ""
                },
                "calendar_event_match": {
                    "enabled": True,
                    "alias": ""
                }
            }
        }
    } }
headers = {
    "content-type": "application/json",
    "authorization": "Bearer <TOKEN>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
curl --request POST \
     --url https://api.pipe0.com/v1/search/run \
     --header 'authorization: Bearer <TOKEN>' \
     --header 'content-type: application/json' \
     --data '
{
  "search": {
    "search_id": "events:googlecalendar@1",
    "connector": {
      "strategy": "first"
    },
    "config": {
      "calendar_id": "primary",
      "time_window": "n7d",
      "event_types": [
        "meeting"
      ],
      "limit": 100,
      "cursor": "",
      "output_fields": {
        "google_calendar_event_id": {
          "enabled": true,
          "alias": ""
        },
        "event_title": {
          "enabled": true,
          "alias": ""
        },
        "attendee_emails": {
          "enabled": true,
          "alias": ""
        },
        "calendar_event_match": {
          "enabled": true,
          "alias": ""
        }
      }
    }
  }
}
'
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.pipe0.com/v1/search/run"

	payload := strings.NewReader("{\"search\":{\"search_id\":\"events:googlecalendar@1\",\"connector\":{\"strategy\":\"first\"},\"config\":{\"calendar_id\":\"primary\",\"time_window\":\"n7d\",\"event_types\":[\"meeting\"],\"limit\":100,\"cursor\":\"\",\"output_fields\":{\"google_calendar_event_id\":{\"enabled\":true,\"alias\":\"\"},\"event_title\":{\"enabled\":true,\"alias\":\"\"},\"attendee_emails\":{\"enabled\":true,\"alias\":\"\"},\"calendar_event_match\":{\"enabled\":true,\"alias\":\"\"}}}}}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")
	req.Header.Add("authorization", "Bearer <TOKEN>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.pipe0.com/v1/search/run', [
  'body' => '{"search":{"search_id":"events:googlecalendar@1","connector":{"strategy":"first"},"config":{"calendar_id":"primary","time_window":"n7d","event_types":["meeting"],"limit":100,"cursor":"","output_fields":{"google_calendar_event_id":{"enabled":true,"alias":""},"event_title":{"enabled":true,"alias":""},"attendee_emails":{"enabled":true,"alias":""},"calendar_event_match":{"enabled":true,"alias":""}}}}}',
  'headers' => [
    'authorization' => 'Bearer <TOKEN>',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
POST /v1/search/run HTTP/1.1

Content-Type: application/json

Authorization: Bearer <TOKEN>

Host: api.pipe0.com

Content-Length: 400



{"search":{"search_id":"events:googlecalendar@1","connector":{"strategy":"first"},"config":{"calendar_id":"primary","time_window":"n7d","event_types":["meeting"],"limit":100,"cursor":"","output_fields":{"google_calendar_event_id":{"enabled":true,"alias":""},"event_title":{"enabled":true,"alias":""},"attendee_emails":{"enabled":true,"alias":""},"calendar_event_match":{"enabled":true,"alias":""}}}}}