GitHub - 121Gamer/8x8-USERs-to-BigQuery: Google Apps Script for fetching 8x8 User Details via the SCIM API and loading them into a Google BigQuery table
| GitHub |
remove preview |
|
|
| GitHub - 121Gamer/8x8-USERs-to-BigQuery: Google Apps Script for fetching 8x8 User Details via the SCIM API and loading them into a Google BigQuery table |
| Google Apps Script for fetching 8x8 User Details via the SCIM API and loading them into a Google BigQuery table - 121Gamer/8x8-USERs-to-BigQuery |
|
|
|
|
# 8x8 → BigQuery User Sync (GAS)
A zero-infrastructure Google Apps Script pipeline that pulls **all user accounts** from the 8x8 SCIM v2 API and loads them into **BigQuery** with a **staging + merge** pattern (insert new, update changed, keep history).
---
## What it does
1. Reads your 8x8 `customer_id` from **GAS Script Properties** (no hard-coding).
2. Authenticates to the 8x8 SCIM endpoint with a **static Bearer token**.
3. Paginates through `/Users` (page size = 100) until every record is fetched.
4. Flattens the nested SCIM JSON into a BigQuery-friendly row.
5. Streams the rows into a **staging table** (`*_staging`) with `WRITE_TRUNCATE`.
6. Runs an **id-based MERGE** to upsert into the final table.
7. Logs every step to **Apps Script Logger** (visible in Executions).
-----------
GitHub - 121Gamer/8x8-CDRs-to-BigQuery: Google Apps Script for fetching 8x8 Call Detail Records (CDRs) and loading them into a Google BigQuery table. Implements scrollId pagination, using the correct pbxName for filtering, and aligning the BigQuery field mapping. Implements a staging and merge pattern to prevent duplicate records.
| GitHub |
remove preview |
|
|
| GitHub - 121Gamer/8x8-CDRs-to-BigQuery: Google Apps Script for fetching 8x8 Call Detail Records (CDRs) and loading them into a Google BigQuery table. Implements scrollId pagination, using the correct pbxName for filtering, and aligning the BigQuery field mapping. Implements a staging and merge pattern to prevent duplicate records. |
| Google Apps Script for fetching 8x8 Call Detail Records (CDRs) and loading them into a Google BigQuery table. Implements scrollId pagination, using the correct pbxName for filtering, and aligning the BigQuery field mapping. Implements a staging and merge pattern to prevent duplicate records. |
|
|
|
|
# 8x8 → BigQuery Sync (Google Apps Script)
Light-weight, server-less pipeline that pulls **8x8 Call Detail Records (CDRs)** through the Analytics Work API and lands them in **Google BigQuery** – without duplicates – every hour or on-demand.
---
## ✨ What it does
1. Authenticates with 8x8 (OAuth-client-credentials flow).
2. Discovers all PBXes visible to the API key.
3. For each PBX, paginates through CDRs (scrollId) for the last **N** days (default = 1).
4. Converts timestamps & arrays → BigQuery-friendly format.
5. Loads the batch into a **staging** table (`…_staging`).
6. Runs a **MERGE** statement (`staging → final`) on `callId` to guarantee idempotency.
7. Exposes a **Web-App URL** – hit it manually or schedule it with Google's trigger builder.
#CommunicationsAPIs------------------------------
Jason API Test
------------------------------