You can do this with SendGrid, by specifying an external URL as your recipients input method.
When specifying the external URL you may select "Activate Dynamic Mode". Dynamic mode checks the URL when a Marketing Email is scheduled/sent, and updates the list accordingly.
Knowing this, you could specify an external URL whose parameters control a database query. This database query would eventually resolve to a CSV which SendGrid would process at send time. Thus removing the need to keep two databases in sync.
N.B. Dynamic mode has been known to have some problems if you specify additional columns in your csv (beyond name,email
). This is slated to be fixed, however, as of this answer it has not been. If you create the list at send time, this problem will not occur.