I know that BPMN is used for Business Processes but is it possible to use it for software flows?
An example could be when a user enters a web application(www.foo.com) using his/her Google credentials(Google sign-in API). In this software flow the system compares the Google credentials(Google Database) with the web applications internal credentials(www.foo.com Database) to check if the user is an existing or a new user.
Please can you provide examples on how the BPMN is going to look like if possible.
Sure, if you choose to model that problem domain with BPMN, you can do something like that. I give you an example.
I am using here a BPMN 'collapsed pool' for the user, a 'message' for the Google API Credentials, 'service tasks' to characterize automatised software steps and a 'data store' to visualise the internal database. The read/write usage of the database can be visualised by ingoing or outcoming 'data associations' (the dotted arrows), but I recommend to use that cautiously, as data associations can quickly clutter a software oriented process model. Better focus on the process flow (the solid arrows, called BPMN 'sequence flows').