@classmethod
def _from_dict(cls, _dict):
    """Initialize a DialogNodeAction object from a json dictionary."""
    args = {}
    if 'name' in _dict:
        args['name'] = _dict.get('name')
    else:
        raise ValueError(
            "Required property 'name' not present in DialogNodeAction JSON")
    if 'type' in _dict or 'action_type' in _dict:
        args['action_type'] = _dict.get('type') or _dict.get('action_type')
    if 'parameters' in _dict:
        args['parameters'] = _dict.get('parameters')
    if 'result_variable' in _dict:
        args['result_variable'] = _dict.get('result_variable')
    else:
        raise ValueError(
            "Required property 'result_variable' not present in DialogNodeAction JSON"
            )
    if 'credentials' in _dict:
        args['credentials'] = _dict.get('credentials')
    return cls(**args)
