I have read the other questions related to this but none of the answers provide a detailed explanation. I have a requirement where we have to create membership for external vendors so that they can upload their documents in the library and get mails according to the stages of the workflow. But these vendors do not have accounts of our domain, so they may use outlook account. How can we add these members to particular Sharepoint group and give them permission as they are external. Can this be done out of the box as we are still in POC stages? If not what is the best way and how to approach it. TIA
It can be done OOTB.
Your site collection needs to allow external users, and this is something which can be configured at the point the site collection is created. The options include the following:
No external sharing – sites and documents can only be shared with internal users in your Office 365 subscription.
Sharing only with external users in your directory – sites, folders, and documents can only be shared with external users who are already in your Office 365 user directory. For example, users who have previously accepted a sharing invitation or users who you have imported from another Office 365 or Azure Active Directory tenant.
Sharing with authenticated external users – sites, folders, and documents can be shared with external users who have a Microsoft account or a work or school account from another Office 365 subscription or an Azure Active Directory subscription.
Sharing with anonymous users – documents and folders (but not sites) can be shared via an anonymous link where anyone with the link can view or edit the document, or upload to the folder.
In your case, you want to use the 4th option - Sharing with anonymous users. Note that the 4th option also includes the availability to the access types listed above it, so it doesn't restrict users from your domain to access the site.
Once the site collection has been set up, you'll want to configure invitations of the external users to your site collection. This can be done at Site settings > Site permissions > Access Request Setting. The invitations can then be managed at Site settings > Access requests and invitations.
I'd also note, that when you invite an external user to your site, they'll need to use the personal link they receive to the email address you have given. Using the link the user sets up their login preferences to your site. This can be done although the externals wouldn't have an Outlook-address nor any Office subscriptions.
Read more at Set up and manage access requests.
Finally, you can start the sharing with the externals. This is basically permission management as you'd do normally with your domain users.