1. A method for integrating a device with a software-defined networking (SDN) controller, comprising: receiving, by a device intermediary to a plurality of clients and a plurality of servers, a request to establish a communicative connection between a software-defined networking (SDN) controller and the device, the request based on a device package including a device model, a device script configured to integrate the device with the SDN controller and including one or more function call definitions, a functional profile including a default value for at least one parameter of the device, and a plurality of device-level configuration parameters specifying values of parameters utilized by the device; and receiving, by the device, a request to configure one or more functions of the device, the request to configure the functions generated by the SDN controller based on the device package.