A system for allowing software application developers to incorporate third-party scripts into their web applications, the system comprising: a secure scripting environment providing at least one of: authentication on a server, access control, limits on client-side scripting, and management of scripts; one or more processing devices including one or more processors; and one or more storage devices storing instructions that, when executed by the one or more processing devices, cause the one or more processing devices to allow a software application developer to: create a server-side web service that exposes a web application's functionality and resources and allows communication between a third-party script and the web application server; create a client-side application programming interface that exposes a subset of the web application's functionality and resources, wherein the software application developer may grant configurable access to the third-party script via the client-side application programming interface; allow the third-party script access to the application server via the web service; allow the third-party script to access the web application's functionality and resources using the client-side application programming interface for secure interaction between the web application and the third-party script; and provide an end user with access to the third-party script. a secure scripting environment providing at least one of: authentication on a server, access control, limits on client-side scripting, and management of scripts; one or more processing devices including one or more processors; and one or more storage devices storing instructions that, when executed by the one or more processing devices, cause the one or more processing devices to allow a software application developer to: create a server-side web service that exposes a web application's functionality and resources and allows communication between a third-party script and the web application server; create a client-side application programming interface that exposes a subset of the web application's functionality and resources, wherein the software application developer may grant configurable access to the third-party script via the client-side application programming interface; allow the third-party script access to the application server via the web service; allow the third-party script to access the web application's functionality and resources using the client-side application programming interface for secure interaction between the web application and the third-party script; and provide an end user with access to the third-party script. create a server-side web service that exposes a web application's functionality and resources and allows communication between a third-party script and the web application server; create a client-side application programming interface that exposes a subset of the web application's functionality and resources, wherein the software application developer may grant configurable access to the third-party script via the client-side application programming interface; allow the third-party script access to the application server via the web service; allow the third-party script to access the web application's functionality and resources using the client-side application programming interface for secure interaction between the web application and the third-party script; and provide an end user with access to the third-party script.