Custom Actions
You can create object-specific and global custom actions.
Object-specific custom actions invoke Lightning components, Visualforce pages, or canvas apps that let users interact with or create records that have a relationship to an object record. The Visualforce page for an object-specific custom action must include the standard controller for the relevant object. For example, use the standard contact controller to create a custom action that lets users import a contact’s Twitter profile and add that information to a contact record.
Use a Visualforce page, Lightning component, or a canvas app to create global custom actions for tasks that don’t require users to use records that have a relationship to a specific object. Canvas apps that you want to use as custom actions require Publisher as a location. To call Lightning components from custom actions, you must have My Domain deployed in your org. Visualforce pages that you want to use as global custom actions can’t use standard controllers. For example, you want a custom action that lets users enter a street address and see a map, the local time, and the local weather. For this action, create a Visualforce page that doesn’t use any of the standard controllers, and add it as a custom global action.
You create a Visualforce custom action in the same way you create a regular object-specific or global action. However, when you select the action type, select Custom Visualforce instead of Create a Record or Log a Call. Then, select the Visualforce page you want to use for the action.
Creating custom actions for canvas apps is more complex, and we won’t discuss them in depth here. You can find out more about canvas apps and custom actions in the Salesforce1 App Developer Guide.