web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Automate
Suggested Answer

Get Email V3

(0) ShareShare
ReportReport
Posted on by

Hi All,

I am trying to export a large number of emails from a shared mailbox to Excel using the “Get Emails (V3)” action in Power Automate.

Although the action allows a Top value of up to 1000, I consistently receive only around 245 records per run. To troubleshoot, I also attempted to split the query by date (daily batches), but even then, the maximum number of emails retrieved is approximately 250 per run.

Based on my filters, there are significantly more emails (around 1900+) that should be returned.

Has anyone encountered this limitation before or found a reliable way to retrieve all matching emails? Any guidance or best practices would be greatly appreciated.

Thanks in advance!

Categories:
I have the same question (0)
  • Suggested answer
    Amardeep Raj Profile Picture
    74 on at
    @AV-22050440-0
     

    You can use the below approach to retrieve more than 1000 emails using the Microsoft Graph API and Microsoft Power Automate pagination with @odata.nextLink.

    1. Create one String type variable at the top named VarEmailOdataNextLink.

    2. Use the Send an HTTP request (Outlook connector) action in Power Automate and call the Graph API to get emails with $top=1000.

    Example:

    GET /me/messages?$top=1000
    &$filter=receivedDateTime ge 2026-05-01T00:00:00Z
    &$select=id,subject,receivedDateTime
    
    1. Check the condition:

      • If @odata.nextLink is null, then pagination is not required.

      • If @odata.nextLink contains a value, proceed to the next step.

    2. Set the @odata.nextLink value into the variable VarEmailOdataNextLink.

    3. Use a Do Until loop and run it until VarEmailOdataNextLink becomes null or empty.

    4. Inside the Do Until loop:

      • Use another Send an HTTP request (Outlook connector) action.

      • Directly pass the variable VarEmailOdataNextLink in the request URI.

    5. Again, inside the loop:

      • Update VarEmailOdataNextLink using the latest @odata.nextLink value from the current HTTP response.

      • Append the current response emails into your main array/object variable.

    6. The Do Until loop will continue until all emails are extracted.
      At the end, your main variable will contain the complete email list JSON.

    Please let me know if this helps. Otherwise, I can share the video for better understanding.

    If the issue is resolved, click the "Mark as Answered" button on the helpful reply so others facing the same issue can find the solution quickly.


















    Thanks

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Valantis Profile Picture

Valantis 377

#2
11manish Profile Picture

11manish 279

#3
David_MA Profile Picture

David_MA 234 Super User 2026 Season 1

Last 30 days Overall leaderboard