Share Sheet on Bridge

Options

I am trying to share a sheet via the Share Sheet module. I have set it up with a data reference pointing at a sheet id (I have also tried it with just the sheet ID). I've confirmed the data reference as well.

The run log is saying success, but it is not in fact sharing the sheet or sending the intended email. If anyone has tips/ideas thank you in advance!


Answers

  • Kelly Moore
    Kelly Moore ✭✭✭✭✭✭
    Options

    Hey @kimberlys

    What output do you receive from your Extract Field from Array? Is it a contact? If yes, have you tried (as a test) putting the output into a contact field to see how smartsheet views it?

    Kelly

  • kimberlys
    Options

    The array is pulling the sheet id, not a contact.


    The recipient on the email in the share sheet is a contact cell.

  • Brian_Richardson
    Brian_Richardson Overachievers
    Options

    That array of 0 for the Share results is indicating that it failed to share to anyone. I just tested that Share Sheet integration step in my Bridge and it worked fine with a fixed sheet ID and a fixed email to share to.

    If you're trying to share to a list of people then you'll need to use Call API and do it using the API endpoint for Share Sheet. That allows you to share to an array of users, but you'll need to format that array correctly to be recognized. You can do that pretty simply with a Javascript step to take a your list of users and construct an array that looks like the one below, to put in the body of your Call API.

    [ 
    {"email":"someone@somewhere.com","accessLevel":"EDITOR","message":"You got shared!","scope":"ITEM","subject":"Sharing email"}  , 
    {"email":"someoneelse@somewhere.com","accessLevel":"EDITOR","message":"You got shared!","scope":"ITEM","subject":"Sharing email"}
    ]
    


    The code to do that is here, assuming that your Extract from Array step is getting you a list of email addresses.

    const emails = ["someone@somewhere.com", "someoneelse@somewhere.com"];
    
    const sharedEmailObjects = emails.map(email => {
      return {
        email: email,
        accessLevel: "EDITOR",
        message: "You got shared!",
        scope: "ITEM",
        subject: "Sharing email"
      };
    });
    
    return sharedEmailObjects;
    


    Add that code to the Javascript Integration panel, then add the Javascript step to your workflow and define the "emails" parameter with the list of emails from your Extract from Array step. The output of the Javascript step will be an array that you can reference in the Body section of your Call API step to share the sheet.

    BRIAN RICHARDSON | PMO TOOLS AND RESOURCES | HE|HIM

    SEATTLE WA, USA

    IRON MOUNTAIN