def select(text, action_id, options=None, option_groups=None):
    """
    Create a static selection menu item.

    Notes
    -----
    API: https://api.slack.com/docs/message-menus

    Parameters
    ----------
    text : str - what the User sees
    action_id : str - the value to identify this item in the attachment
    options : list[i_option] - list of option values
    option_groups : list[i_option_group] - list of option group values

    Returns
    -------
    dict
    """

    select_data = dict(
        type='select',
        name=action_id,
        text=text
    )

    if options:
        select_data['options'] = options
    elif option_groups:
        select_data['option_groups'] = option_groups
    else:
        raise RuntimeError("Missing `options` or `option_groups`")

    return select_data