Logging and tracking cross-sheet functionalities

Hello! My organization uses cross-sheet functionalities (formulas, workflows and API) pretty intensively. So much that when we are working through ideas to embed new processes, it can be a bit cumbersome to understand what is already at play. Essentially, we do not have any type of log or systems map to reference where or how these functions exist. The only solution I can think of is to go through each sheet, column by column and log what formulas exist and what they are doing. And we're talking about 5 sheets with 50-70 columns each. Wanted to ask the community for any suggestions on how to effectively and efficiently tackle this project or any resources that might be helpful.

Thanks in advance,

Mattea

Answers

  • jmyzk_cloudsmart_jp
    jmyzk_cloudsmart_jp ✭✭✭✭✭✭

    Hi @Matteafelicita

    I would first use the "List Cross-sheet References" of a given sheet and check the Status value.

    status

    string

    Status of request:

    • 'BLOCKED' - A reference is downstream of a circular issue.
    • 'BROKEN' - The data source location (column, row or sheet) was deleted.
    • 'CIRCULAR' - The formula reference is self referencing and cannot be resolved.
    • 'DISABLED' - Updating the reference is temporarily disabled due to maintenance.
    • 'INVALID/UNKNOWN' - The reference is new and had not been validated.
    • 'NOT_SHARED' - No common shared users.
    • 'OK' - The reference is in a good state.

    https://smartsheet.redoc.ly/tag/crossSheetReferences#operation/list-crosssheet-references

    Regarding the formula, you can use the simple "Get Sheet" method and get the sheet.columns to get any column formula. Unfortunately, as for the cell formula, you have to check each one individually.

    "columns": [
    {
    "autoNumberFormat": {},
    "contactOptions": [],
    "description": "string",
    "format": "string",
    "formula": "string",
    "hidden": true,
    "id": 0,
    "index": 0,
    "locked": true,
    "lockedForUser": true,
    "options": [],
    "primary": true,
    "symbol": "string",
    "systemColumnType": "AUTO_NUMBER",
    "tags": [],
    "title": "string",
    "type": "ABSTRACT_DATETIME",
    "validation": true,
    "version": 0,
    "width": 0
    }
    ],
    "creat

    As for the workflows cross-sheet functionality, such as copy rows and move rows, since the Smartsheet API lacks the workflow support, you have to check one by one, unfortunately.