We turn a voicemail into these.

How it's processed

When the voicemail is received by TinyVoicemail, we look for a a contact that has the phone number of the caller. If it's not present, we create a blank contact with that phone number assigned to it. We then save the message to our database.
After the message is saved, we run all integrations that don't require a file associated with it. Because we had just saved the record to the database, we haven't downloaded the recording or transcribed it. This means that if you have an integration that requires a transcription or a file, it won't be ran (yet).
After those integrations are run, we queue up the downloading of the audio recording. After the recording is downloaded from our provider and uploaded to our file service, we transcribe it.
Only after we transcribe the voicemail do we run the integrations that require a file.

That made no sense. Have a diagram?

Much fancy

What happens if a contact is blocked?