SmartApps allow a user to control their SmartThings ecosystem without manual intervention. An example of a SmartApp Automation is a WebHook or AWS Lambda function that uses the SmartThings REST API to control and get status notifications from SmartThings devices. SmartApps are most useful as a means to extend the limits of what is possible with official SmartThings Automation offerings such as Rules. Be sure to check if your Automation is possible with the Rules API, as it will benefit from speed, stability, and security through future local execution support.
The Weather Color Light SmartApp demonstrates how to create an Automation that sets the color of a light based on the weather in a given zip code.