I want users to be able to complete workflows by filling out forms and submitting them. However, it seems I have to give them read/write permissions to the entire site collection which means they can also edit multiple pages that I don't want them to be able to. Aside from going in to each and every page and giving granular permissions, is there a better way?
As users require to submit the forms so at least add only or contribute permission is required on the list/library. This should allow users to execute workflows on list item. If workflow has approval/task actions then give approve permission on workflow task list as well. If workflow still fails then there must be something in the workflow that requires higher previllages like querying list in other site.