Update the value of a contact

I am using the Smartsheet Python library, but this could also apply to the API. I am having trouble updating the Assigned To column, which I see is actually a column type of contact list. I have tried specifying a cell value and I get an error message saying "'Value is not supported for this column type. Use objectValue instead.'" When I set the object value to a Contact object, I get the message ""Required object attribute(s) are missing from your request: cell.value.""

The API does not allow setting both the object_value and the value.

If anyone has successfully updated the contact/assignee for a row or has suggestions, please help!

Answers

  • Hi @Y79jH

    Is this a multi-select contact column or single select? I found this related Community Post that may help you: Updating rows with multi_contact cell?


    Need more help? 👀 | Help and Learning Center

    こんにちは (Konnichiwa), Hallo, Hola, Bonjour, Olá, Ciao! 👋 | Global Discussions

  • Erin Horiuchi Green
    Erin Horiuchi Green ✭✭✭✭✭

    @Y79jH  I did the below workaround using API python. The Contact List was just too complex and not flexible for me to work with.

    Column A is my picklist and column B is a cross-sheet reference to the directory to capture email. As new records are registered in the sheet directly or via a form, I have automation in place to send update emails as specific information is updated or nearing a deadline.

    First, I get the Column ID info.

    import smartsheet

    smartsheet_client = smartsheet.Smartsheet('INSERT TOKEN')

    action = smartsheet_client.Sheets.get_columns(SHEET ID, )

    columns = action.data

    for col in columns:
            print(col.title)
            print(col.id)

    Then, I update Column A to a picklist with options.

    import smartsheet

    smartsheet_client = smartsheet.Smartsheet('INSERT TOKEN')

    column_spec = smartsheet.models.Column({
        'type': 'PICKLIST',
        'Options': [ 
          "INSERT NAME 1",
            "INSERT NAME 2",
            "INSERT NAME 3",
            "INSERT NAME #"
        ]
    })

    response = smartsheet_client.Sheets.update_column( SHEETID, COLUMNID, column_spec)
    updated_column = response.result

    So far, I have not hit a ceiling as my records < 1K.

    Erin Horiuchi Green, MBA, LSSYB, PSMI
    Process Manager
    Syneos Health

    Please kindly like ❤️, upvote ⬆️ and/or mark ✅ any of my contributions that have provided value.

    Core App and Project Managment Certified 🚀