Set of programming codes and protocols that acts as an intermediary between two applications and enables communication without human intervention.