Its possible to set permissions using REST API in Workflow.
You can use these methods:
BreakRoleInheritance is just not documented and can be used using POST request:
- copyRoleAssignments – if true, this method copies the role assignments of the parent securable object when breaking inheritance; otherwise, this method adds the current user to the permission level that is required to manage the list item.
- clearSubscopes – Indicates whether subscopes should be cleared or not.
Instead of the Add there is AddRoleAssignment method that also can be called using POST request (NOTE: this method works incorrectly in RTM release of SharePoint 2013!!!! It checks user within current item and if user is not found (usually as we've just broken inheritance) throws an exception. In SharePoint Online and March CU it works as expected):
- principalid - id of user or group within current site collection. You can get a list of users by executing using GET:
- roleDefId - internal id of Role Definition (Read, Contribute, Full Control and so on). You can get a list of available role definitions using GET:
Also you can find workflow activities to work with permissions on codeplex