Sure, I'd use a workflow that starts with a Configurable Auto Start component.
The embedded model would basically "poll" the database until it finds a new entry; if it finds an entry, the embedded model starts off the flow, if not, it doesn't start.
The database "polling" can be done by using generated SQL components that count the number of rows in a table/view/whatever DB object. Counts can be stored/obtained via the Get Value/Store Value components (under Input Output/Persistent Storage).
Here's the pseudo-flow for your embedded model:
1. fetch old count via Get Value... if not there, we know this is a 1st run. Get the count via SQL components, store via Store Value and do not start.
2. If the value is there, get the current count via a SQL component and compare the two (stored value vs current count) via a Compare Numbers rule. If the same, do not start.
3. If different values, start the workflow.
You can schedule your workflow to "kick off"/check for starting via a schedule like normal workflows. Hope this helps.