                 @errors = []
                 uriValidated = @validateInput @uri
                 @errors.push 'Please select a type' unless @type
-                @errors.push 'Invalid URI entered' unless uriValidated
+                @errors.push 'Invalid URL entered' unless uriValidated
                 @renderedForm.forceUpdate() unless uriValidated and @type
                 return false unless uriValidated
                 return false unless @type
+                @type = ''
+                @uri = ''
                 return true
             callback: (data) =>
                 @data = data
-                return unless data and @validateInput @uri and @type
+                return unless @type and data and @validateInput @uri
                 type = @type
                 newWebhook @uri, type
 

        vex.dialog.open
            message: "<div class='new-webhook' />"
            afterOpen: =>
                @validateInput = (input) => false
                @renderedForm = ReactDOM.render(
                    <NewWebhookForm
                        getErrors = {() => @errors}
                        webhookTypes = {@webhookTypes}
                        validateInput = {@validateInput}
                        setType = {(selected) => @type = selected} 
                        setUri = {(uri) => @uri = uri} />,
                    $(".new-webhook").get(0)

        sortBy = @sortBy # JS is annoying
        [
            {
                data: 'URL'
                sortable: true
                doSort: (sortDirectionAscending) => sortBy 'uri', sortDirectionAscending
            },
