1. A method of performing real-time communications between at least two users, comprising the steps of: receiving a request for a real-time group action involving a group of users, each user having at least one condition associated therewith, a status of the condition associated with each user being indicative of an availability of the user for participating in the real-time group action; in response to the request, determining the status of the condition associated with each user within the group; determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group; in the event the real-time group action cannot be performed based on the status of the condition associated with at least one user within the group, the condition status indicating that the at least one user is unavailable to participate in the real-time group action, determining at least one user to substitute for the at least one unavailable user within the group; determining the status of the condition associated with each user within the group including the at least one substitute user; determining whether the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user; and in the event the real-time group action can be performed based at least in part on the status of the condition associated with each user within the group and the at least one substitute user, performing the real-time group action.