One of the biggest annoyances of WhatsApp, which I have to explain to everyone new to the app (a number that's dwindling every day), is that you can only start chats with numbers that are saved as phone contacts. The only exception is if you receive a contact's number from someone else inside a WhatsApp chat, in which case you can start talking to them without adding them to your address book first.
However, there are a few ways to bypass this limitation, one of which is provided by WhatsApp itself, though not natively in the app. If you're not aware of these, I'll explain three of the easiest methods below.
WhatsApp's own wa.me links
WhatsApp provides an official way to contact an unsaved number, just not within the app. As explained in this FAQ, you can start a chat with any number by going to the web address https://wa.me/phonenumber. Replace the last part with the full number, with the country and region code, but without any + or - or () or 00.
So for example, if you want to chat with the number +1-234-567-8900 in the US, you would go to the URL: https://wa.me/12345678900. Type it in the browser and you'll get the web page below with a big green Message icon. Tapping on it opens a conversation with that phone number in WhatsApp (if the number is registered on the service, obviously).
Use an app to speed things up
If the above method seems a little confusing or slow for you, you can use an app to speed things up. Several Android apps use these wa.me links but in a non-user-facing way — i.e. you don't have to type a URL or pass by a web browser first. You simply enter the phone number, tap a button, and you're taken to a newly-created chat in WhatsApp.
Among these apps, Click to chat is the lightest (113 KB), has no ads, and requires no permissions to speak of. Direct Message for WhatsApp and Easy Message are a couple of other good alternatives without ads and with few permissions.
Text selection and App Actions
The third method may be the lesser known of the bunch — to be honest, I discovered it a few days ago and it's why I'm writing this article. However, it's the easiest, fastest, and best integrated.
Whenever you have a phone number in any app, you can simply select the corresponding text, and check the suggested actions. The main ones are always Call, Cut, Copy, Paste, but if you tap the overflow button (three dots), you may see more options including sending a WhatsApp message. Just select that and the chat will be started.
In our testing, this works on both Android 9 Pie and Q, but only on stock devices (Pixels and Android One). We saw the other actions on Huawei, Samsung, and OnePlus phones, but not the WhatsApp one. Hopefully, the integration will make its way to non-stock Android devices later.
These workarounds should come in handy if you frequently have short-term chats with strangers. For example, I sometimes have to talk to people to arrange selling or buying some second-hand items, and I don't really need to add all these temporary acquaintances to my contacts. I'm sure you can think of, uhm, other ways this would be useful.
It's not clear why the limitation has to exist inside WhatsApp in the first place, or why you can't simply type a number and message them like on any SMS app, but here we are. Thankfully, we all now have at least three ways to bypass that restriction.