It can make/take phone calls[0], but they need to be prompted on the nature of the call, the data they need, and how to collect it. They can also output the results of the call via API. An AI agent from Masterworks recently called me using this technology.
1 Could maybe make sense for a proof of concept, but realize that you're probably throwing it away (sooner better than later).
Start with 2, and think about the separation of deployable targets and shared libraries/plugins. You can eventually carve out separate infra for deployable targets when resource contention becomes a problem (e.g. DB load is affecting unrelated services)