Agent A1 plans (implicitly or explicitly) to meet goal G by adopting intention I. This may be the feasibility condition.
A1 can't perform I by itself, so it selects message M to send to agent A2. A1 selects M based on a reasonable assumption that this message will cause A2 to perform I. Of course A2 can't assume A1 will perform I. This assumption is called Rational Effect.
A1 is called the initiator (client). A2 is the responder (server or participant).
Initiator requests responder to perform some action. If responder performs the action, then it informs the initiator of the result or that the action is done.
Initiator sends query-if to get a true/false response or a query-ref to get a response in the form of an arbitrary result object.
Initiator broadcasts a call for proposals (cfp) to perform some task. The responder may reply with a proposal. The initiator accepts or rejects the proposal. If it accepts, the responder performs the task, then informs the initiator of the result or of completion.
Initiator proposes to responder that it perform some task or action. A conversation identifier is included with subsequent exchanges to keep track of state.
FIPA defines 22 communication acts