In many social networks (SNs), social individuals often need to work together to accomplish a complex task (e.g., software product development). In the context of SNs, due to the presence of social connections, complex task allocation must achieve satisfactory social effectiveness; in other words, each complex task should be allocated to socially close individuals to enable them to communicate and collaborate effectively. Although several approaches have been proposed to tackle this socalled social task allocation problem, they either suffer from being centralized or ignore the objective of maximizing the social effectiveness. In this study, we present a distributed multiagent-based task allocation model by dispatching a mobile and cooperative agent to each subtask of each complex task, which also addresses the objective of social effectiveness maximization. With respect to mobility, each agent can transport itself to a suitable individual that has the relevant capability. With respect to cooperativeness, agents can cooperate with each other by forming teams and moving to a suitable individual jointly if the cooperation is beneficial. Our theoretical analyses provide provable performance guarantees of this model. We also apply this model in a set of static and dynamic network settings to investigate its effectiveness, scalability and robustness. Through experimental results, our model is determined to be effective in improving the system load balance and social effectiveness; this model is scalable in reducing the computation time and is robust in adapting the system dynamics.