1. A computer-implemented method for identifying tasks and commitments, comprising: receiving, via communication links, a communication message; identifying a task and a parameter of the task in the communication message; extracting information related to the task from the communication message using natural language processing (NLP) and machine learning (ML); and identifying a commitment using NLP extracted information and a state of the commitment using NLP and ML based on the extracted information.