Excuse my newness as an IT tech*
I have a company with about 30 computers (OS X). We have just recently enrolled into Apple DEP. I have trialed some MDM solutions including JAMF now. My goal is to be able to deploy new computers out of the box so they are automatically setup for the intended employee. While I know that VPP achieves this in some ways, I don't understand how to install software that isn't on the mac app store. For example, right I have to manually setup any new computer, Join the mac to domain, install antivrius, install backup assistant, install applications from the internet such as office 365, and chrome. How do I achieve this? I read about imaging but couldn't find how it relates with DEP. Is DEP useless in this aspect and imaging is the only way to go? I appreciate all advice and help!
DEP is a way of enrolling the machine in your JAMF MDM. Upon that enrollment being complete your machine fires off a check to JAMF for any policies you have set to and Enrollment Complete trigger. In these policies you can place packages for installation. These packages can include your other applications that are not available in VPP.
Look for documentation about packaging using composer and package deployment using JAMF, those two topics should point you in the right direction for deploying none VPP apps.
Imaging in the traditional sense is not really possible with the versions of macOS so everything is a deployment now.
DEP has some network requirements which may be at odds with your security policies - so you may want to also look into automating the tasks that you do via scripting.
For example, you can create a script to automate the initial setup, binding to domain, initial enrollment into JAMF. And then from there you'll have policies in JAMF that fire off automatically to deploy packages. (You can also get JAMF to do the binding via a config profile, but I've never got that to work in my environment).
It's not "zero-touch" like DEP, but it's "minimal-touch" (aka "thin imaging")
look at creating policies to automate repetitive task this includes joining the domain and app installs. You need to package apps with composer then the policy can push them @ check in or via self service.