Opportunity Auto-Advance by Milestone
Automatically advance opportunities when milestones occur (proposal sent, demo completed, etc.)
Salesforce integration that watches for opportunity milestones and auto-advances stage based on tasks, activities, and calendar events. Keep pipeline up-to-date.
Nora monitors Salesforce opportunities for specific logged activities, calendar events, or completed tasks. When a sales representative logs a call, completes a "Demo Attended" task, or sends an email attachment tracked in Salesforce, Nora queries the opportunity and evaluates the new activity against the agreed milestone definitions. If the activity satisfies the requirements for the next pipeline stage, Nora updates the opportunity stage field and logs a note detailing the reason for the advancement.
Sales representatives stop manually clicking through stages or updating records after every customer interaction. They focus on holding the meetings and writing the follow-up emails, while deciding only when a deal requires a custom stage regression or manual intervention for a unique negotiation.
Runs real-time as milestones occur using Salesforce, run by your Sales Dev Rep.
How it works
- Watch for logged activity — Nora monitors Salesforce via the REST API for newly created or updated tasks, events, and logged emails associated with open opportunities. It runs this check continuously on a schedule, looking for activity records that match predefined milestone criteria.
- Query opportunity details — Upon detecting a relevant activity, Nora uses SOQL to pull the current stage, close date, and custom fields of the associated opportunity. It verifies the opportunity is still open and checks whether the current stage precedes the target stage.
- Evaluate milestone criteria — Nora compares the activity details against the required milestones. It checks if a task subject contains specific phrases like "Demo Completed" or if a calendar event matches a required meeting type. It requires an exact match to the defined criteria.
- Handle ambiguous activities — If a representative logs a generic task like "Follow up call" that does not clearly indicate a milestone completion, Nora takes no action. It leaves the opportunity in its current stage and waits for a definitive milestone activity to occur.
- Advance opportunity stage — When the criteria are met, Nora updates the opportunity record to the new stage. It writes the update directly via the Salesforce API, advancing the deal from 'Discovery' to 'Demo Scheduled' or 'Negotiation' based on the specific activity logged.
- Log advancement reason — Following the stage update, Nora creates a completed task or activity note on the opportunity. This log records the exact timestamp, the previous stage, the new stage, and the specific activity that triggered the transition.
What this replaces
Sales representatives finish a meeting or send a proposal, log the activity in Salesforce, and then navigate to the opportunity record to manually update the stage dropdown. Managers then spend time chasing representatives to update their pipelines before weekly forecasting meetings, leading to inaccurate real-time reporting and delayed pipeline visibility.
- Log the completed activity or meeting in Salesforce.
- Navigate to the specific opportunity record.
- Review the current stage and select the appropriate next stage.
- Save the record and verify the pipeline reflects the change.
Rough estimate rather than a measured figure: about 15 minutes a day per representative, assuming 10 to 15 opportunity interactions daily that take 60 seconds each to navigate and update manually.
What it needs to run
Accounts and plans
- Salesforce edition with REST API access enabled (Enterprise, Unlimited, or Developer edition)
- Nora connected via OAuth 2.0 to the Salesforce instance
Access it asks for
- Opportunity read/write (to view current stages and update to new stages)
- Task and Event read (to monitor completed activities and meetings)
- SOQL query execution (to search records and evaluate criteria)
What Nora reads
- Opportunity stage, ID, and custom fields
- Task subjects, statuses, and completion dates
- Event types and meeting attendance records
What Nora writes
- Opportunity StageName field
- New activity logs or completed tasks detailing the stage change
When it goes wrong
- API rate limit exceeded If the Salesforce instance hits its 24-hour API limit, Nora pauses execution. It notifies the designated admin in the preferred channel and resumes processing activities once the Salesforce API quota resets.
- Missing opportunity association If a representative logs a milestone task against a contact but fails to link it to the specific opportunity, Nora cannot determine which deal to advance. It does nothing and waits for a linked activity.
- Custom validation rule blocks update Sometimes a stage change requires a mandatory field, like 'Loss Reason' or 'Competitor'. If Salesforce rejects the update, Nora sends a message to the representative asking them to fill in the required field manually.
- Activity implies backwards movement If an activity mapping to 'Discovery' is logged on an opportunity already in 'Negotiation', Nora ignores the trigger. It assumes the deal is further along and will not regress the stage automatically.
Who this is for
Worth it if
- Sales teams at mid-sized B2B companies processing 50+ active opportunities per month.
- Organizations with strict, activity-based sales methodologies where specific actions dictate pipeline stages.
- Sales operations managers who struggle with pipeline accuracy due to representatives forgetting to update stages.
Not worth it if
- Small teams with fewer than 10 active opportunities where manual updates take negligible time.
- Highly complex enterprise sales cycles where advancing a stage requires subjective human judgement rather than a simple completed task.
- Salesforce Essentials users, as REST API access is not included in that edition.
A worked example
A 25-person software consultancy tracks deals in Salesforce. They instruct Nora to advance opportunities to 'Proposal Sent' when a task named "Send Proposal" is marked complete, and to 'Negotiation' when an event named "Contract Review" concludes.
Nora detects a completed task: "Send Proposal - Acme Corp Redesign". It queries the Acme Corp opportunity, currently in 'Discovery'. Nora updates the StageName field to 'Proposal Sent'. It then logs a new completed task on the opportunity: "Stage Auto-Advanced: Moved from Discovery to Proposal Sent because task 'Send Proposal - Acme Corp Redesign' was marked complete." The sales manager's dashboard immediately reflects the updated pipeline value without the representative needing to manually edit the opportunity record.
Frequently asked questions
How do I change the rules for which activities trigger which stages?
You tell Nora in your chat channel. If your sales process changes and you want "Demo Completed" to advance deals to a new custom stage called 'Technical Validation' instead of 'Negotiation', you send Nora a message explaining the new mapping. Nora applies the updated logic to all future activities immediately.
What happens if a representative logs an activity by mistake?
If Nora advances the stage based on a mistakenly logged task, the representative can manually change the stage back in Salesforce. Nora does not force the opportunity to stay in the advanced stage. You can then correct or delete the erroneous task. Nora will only advance the stage again if a new, valid milestone activity occurs.
Does Nora read every single email and task in our Salesforce?
Nora reads the tasks, events, and logged activities associated with open opportunities using the SOQL queries necessary to evaluate your specific milestones. It only pulls the data required to check if a milestone is met, such as the task subject, status, and associated opportunity ID. It does not export or store your broader activity history.
Can Nora bypass our mandatory Salesforce fields when updating a stage?
No. Nora interacts with Salesforce through the standard REST API, which respects all your existing validation rules and required fields. If your Salesforce configuration requires a "Next Steps" text field to be filled out before moving to 'Negotiation', Nora will fail to update the stage and will notify the representative to provide the missing information.
Connects to
Related automations
- Sales Activity Auto-Logger — Automatically log all sales emails (sent, received, replies) into a CRM activity timeline
- Lead Scoring & Qualification — Automatically score leads based on company size, engagement, and fit, surfacing hot prospects
- Deal Pipeline Auto-Advance — Automatically move deals through pipeline stages based on actions (proposal sent, demo completed, etc.)
- Contact Sync from Email & Forms — Automatically create HubSpot contacts from email senders and form submissions, no data entry
- Lead Auto-Assignment by Territory — Automatically assign new leads to sales reps based on territory, account fit, and workload balance
- Email Activity Auto-Sync to Salesforce — Automatically log all sales emails (sent, received, attachments) to Salesforce activities without manual work
- Sales Forecast Accuracy Tracker — Track forecast vs. actual monthly and identify which reps consistently miss targets for coaching
- Inactive Account Re-engagement — Alert you when key accounts go silent (no activity for 30+ days), triggering account review and outreach