An app (which is actually just an API user) requires permissions. The permission model is based on the Homey URI scheme.
Permissions are shown to the user before they install your app. So only include permissions you actually need, or users might not trust your app!
An overview of all available permissions can be found on GitHub.
Permissions are added to your
/app.json, in an array named
"id": "com.athom.weather", ..., "permissions": [ "homey:manager:speech-output", "homey:manager:ledring", "homey:app:com.athom.hello" ]
Apps can also talk to each other through their API's, however you need to define the correct permissions first. Follow Homey's URI scheme, where the last part is the app's ID.
Visit ApiApp to learn more about apps talking to each other.