I'm looking for a way to use Marketo to automate the stage of dead opportunities in SFDC.
In my company, if an opportunity's stage is not updated in over 45 days and/or has no future activity scheduled, it is considered an inactive opportunity and subsequently must be "closed out" (advanced to a lost stage). My question is: is there a way to add a flow step that will change the opportunity stage?
Opportunities are read-only in Marketo. You would have to automate this in Salesforce.
Is there a specific reason you want to drive this from Marketo?
As mentioned above, a Salesforce workflow or process builder would work far better. There's no way to do this (using the native sync) with absolutely no work in Salesforce. Even if you were to use Marketo to update a field or set a flag on the Contact, you'd still need a trigger or workflow built in Salesforce to action that against the Opportunity to close it. Best to work with your Salesforce team on using Sales's automation to do what it does best.
If you 100% needed to drive that function from Marketo, you'd need a separate API or webhook to send values to Salesforce objects from Marketo that Marketo's sync can't natively write to.
webhook to send values to Salesforce objects from Marketo that Marketo's sync can't natively write to
FTR you can't even use a traditional webhook for this because it doesn't have access to the Opportunity ID (necessary to target a specific Oppty in SFDC). The only way to do this is via a very advanced technique I've mentioned on the blog. As you say, this is something to do on the SFDC side... not something to even thinking about involving Marketo in unless proven necessary.