It just need to be decent, not great, not poor, only average. The most important thing is that the connection needs to be stable, if it is intermittent or dropping packages, no VoIP service is going to work.
If you are running a call center, you will need a good amount of bandwidth because of the number of simultaneous calls will tend to be high, but if you are answering or placing calls only occasionally, a home level connection is more than enough.
In average, a good VoIP call consumes 250 kbps upstream and downstream. If you want to know how many simultaneous calls can your connection support, you can check it on SpeedTest.net and divide the upload speed by 250 kbps.
1.04 * 1000 / 250 = 4.16.
This connection supports around 4 calls running at the same time.