Open Forum

 View Only

Two Useful 8x8 API Tools - Happy to share!

  • 1.  Two Useful 8x8 API Tools - Happy to share!

    Posted 9 days ago
    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
    ------------------------------