Eagle Financial Account Extract to Excel
This process collects every customer account record matching a chosen account type from the Eagle Financial demo web site and consolidates all pages of results into a single Excel workbook. The output is a clean, header-rowed spreadsheet at C:\AA A360 Master 2022\UseCase-2.xlsx containing one row per account record found. Each run rebuilds the workbook from scratch, so the file always reflects the site as at the time of the run.
At a glance
| Trigger | Manual or unattended start. No schedule, work-queue feed or file-watch trigger exists in the source; the bot supplies its own web address and output path, so no runtime input is needed. |
| Frequency | Not recorded in the source |
| Systems used | Eagle Financial demo web site (https://rpademo.automationanywhere.com/mc/) in Microsoft Edge; Windows file system; Microsoft Excel |
| Inputs | Site address (hard-coded); login user name and password held as protected stored values cUserName / cPassword; filter text RothIRA (hard-coded); standard pause of 5 seconds between page actions |
| Outputs | Workbook C:\AA A360 Master 2022\UseCase-2.xlsx, sheet Output, columns A–G: Customer ID, First Name, Last Name, Email, Account Type, Account Number, Balance — data begins at row 2. Folder C:\AA A360 Master 2022 is created on first run. |
| Typical run | Not recorded in the source (number of result pages and rows per page is unknown) |
| Owner | Not recorded in the source |
Before you start
- Access to the Eagle Financial site. A working login for
https://rpademo.automationanywhere.com/mc/that reaches the landing page containing the Badge Management link. - Credentials in place. The bot reads two protected stored values,
cUserNameandcPassword(secure entries the bot references by name rather than holding the text in plain sight). In the source these carry the placeholder defaultsabcanddef— real credentials must be loaded before the first production run, or login will fail. - Microsoft Edge installed on the machine that runs the process. The bot opens the site in a brand-new Edge window.
- Microsoft Excel available and licensed on that same machine — the bot creates and writes a real
.xlsxworkbook. - Write access to
C:\on the run machine, specifically enough permission to create the folderC:\AA A360 Master 2022and to create and delete files inside it. - No copy of
UseCase-2.xlsxopen in Excel. The bot deletes any existing copy of the file; a lock from an open Excel window will stop the run. If the previous run's output still matters, copy it elsewhere first — see Exceptions. - No stray Edge windows on the site, since the bot identifies windows by title and closes the site window at the end.
Procedure
Stage 1 — Launch the site and sign in
- Set the target address to
https://rpademo.automationanywhere.com/mc/. - Open that address in a new Microsoft Edge window. Allow up to 240 seconds for the browser and page to come up.
- Wait up to 15 seconds for the Eagle Financial login window to appear.
- Type the stored user name into the user name box, and the stored password into the password box (both taken from the protected credential values, not typed by hand).
- Click the sign-in button.
- Wait up to 15 seconds for the post-login landing page to appear. If it does not appear within that time the run fails here.
Stage 2 — Open Badge Management and apply the filter
- On the landing page, click the Badge Management link.
- Type
RothIRAinto the search / filter box on that page. - Click the search button.
- Pause 5 seconds to let the filtered list render.
Ambiguity to confirm with the process owner. The developer's comment at this point reads "Filter the employees by the Tokyo office", but the value actually typed is
RothIRAand the output columns are customer/account fields (Customer ID, Account Type, Account Number, Balance). The comment and the code disagree. TreatRothIRAas the operative filter, but confirm the intended filter value and whether it should ever vary by run.
Stage 3 — Prepare the output location
- Check whether the folder
C:\AA A360 Master 2022exists. If it does not exist, then create it. If it exists, do nothing. - Set the output file name to
C:\AA A360 Master 2022\UseCase-2.xlsx. - Check whether that file already exists. If it exists, then delete it, so the run starts from a clean file. No history is retained — the previous run's results are destroyed at this point.
Stage 4 — Create the workbook and write the header row
- Create the spreadsheet
C:\AA A360 Master 2022\UseCase-2.xlsxwith a single sheet namedOutput. - Write the header row:
| Cell | Value |
|---|---|
| A1 | Customer ID |
| B1 | First Name |
| C1 | Last Name |
| D1 | |
| E1 | Account Type |
| F1 | Account Number |
| G1 | Balance |
Stage 5 — Capture the results page currently on screen
Stages 5 to 7 repeat once per page of results, and continue until the last page has been processed.
- Read the entire results table off the web page into memory as a block of rows and columns.
- Check the number of rows captured. If more than zero rows were captured, then discard the first row — it is the on-screen column-header row and must not be written into Excel. If zero rows were captured, skip the discard and write nothing for this page.
Stage 6 — Append each captured record to Excel
Work through the captured rows one at a time, in the order they appeared on the page. For each row:
- Advance the Excel row pointer by one. The pointer starts at 1, so the first record lands on row 2, immediately beneath the headers.
- Write the row's seven values into that Excel row: value 1 → column A, value 2 → column B, and so on through value 7 → column G, matching the header order in Stage 4.
The row pointer is never reset, so records from every page accumulate continuously down one sheet with no gaps or repeated headers.
Stage 7 — Page forward, or finish
- Look for a Next >> link on the current page (allow up to 5 seconds for it to be found).
- If the Next >> link is present, then click it, pause 5 seconds for the next page to render, and return to Stage 5 to capture that page.
- If the Next >> link is not present, then treat this as the normal end of data: set the "last page reached" marker, which ends the paging loop and moves the process to Stage 8.
Stage 8 — Save the output and close down the site
- Save and close the workbook
C:\AA A360 Master 2022\UseCase-2.xlsx. - Click the logout link on the Eagle Financial site.
- Wait up to 15 seconds for the login window to reappear — this confirms sign-out succeeded.
- Close the Eagle Financial browser window.
Exceptions and recovery
| Condition | What the automation does | What a human should do |
|---|---|---|
Output folder C:\AA A360 Master 2022 missing |
Creates it before writing (Stage 3.1). | Nothing. |
UseCase-2.xlsx already present from a prior run |
Deletes it and rebuilds from scratch. Prior results are lost. | If the previous extract must be kept, copy or rename it before starting the run. Consider adding a dated archive step if rebuilding this automation. |
| A results page contains no rows | The header-row discard is skipped (guarded by the "more than zero rows" check) and nothing is written for that page. Paging continues normally. | If the final workbook has only headers, check that the filter RothIRA returns results when searched manually. |
| No Next >> link on the page | Treated as normal end of data: the paging loop ends and the process moves to saving and logout. | Nothing. |
| Login fails, the login or landing window does not appear within 15 seconds, the initial page does not load within 240 seconds, the filter returns nothing usable, or the table read fails | Not handled. The automation contains no error-handling or recovery steps. The run simply fails at that point, potentially leaving Microsoft Edge open, the user still signed in, and the workbook unsaved or deleted-but-not-rebuilt. | Close any orphaned Edge window and sign out manually. Check whether UseCase-2.xlsx exists and is complete; if not, re-run from the start. If this automation is rebuilt on another platform, add explicit error handling, a screenshot-on-failure step, and a guaranteed browser/workbook close. |
Data handled
| Item | What it holds | Where it comes from |
|---|---|---|
Site address (sEagleFinancialSiteUrl) |
https://rpademo.automationanywhere.com/mc/ |
Hard-coded in the bot at Stage 1.1 |
Login user name (cUserName) |
Eagle Financial user name, held as a protected stored value | Secure credential store; placeholder default abc in the source |
Login password (cPassword) |
Eagle Financial password, held as a protected stored value | Secure credential store; placeholder default def in the source |
Captured table data (tCapturedTableData) |
One page of results read off the web page — seven columns per row, plus a leading on-screen header row that is discarded | Read from the filtered Badge Management results table, refreshed each page |
Current row values (rTableRow) |
The seven fields of the record being written: Customer ID, First Name, Last Name, Email, Account Type, Account Number, Balance | One row at a time from the captured table |
Output file path (sOutputFile) |
C:\AA A360 Master 2022\UseCase-2.xlsx |
Hard-coded at Stage 3.2 |
Standard pause (nMinDelay) |
5 seconds — used after the filter search and after each page-forward click | Hard-coded default |
Last-page marker (bLastPage) |
Whether the final page of results has been reached; flipped when no Next >> link is found | Set by the check in Stage 7 |
| Filter text | RothIRA — typed into the Badge Management search box |
Hard-coded at Stage 2.2 |
Not determinable from the source
- Who runs this process, on what schedule, how often, and whether it runs attended or unattended.
- The real login credentials — the source carries only the placeholders
abc/def. - The business meaning of the filter value
RothIRA, why the developer's comment refers instead to the "Tokyo office", and whether the filter should ever vary by run. - What the extracted records actually represent: the comments call them "employee records" but the output columns are customer and account fields.
- Typical volumes — number of result pages and rows per page.
- What consumes
C:\AA A360 Master 2022\UseCase-2.xlsxafterwards; there is no email, upload or notification step. - Whether prior runs' output must be archived — the current design deletes it.
- The exact on-screen identifiers for the Badge Management link, search box, search button, results table, Next >> link and logout link. The outline records the actions performed but not how each element is located, so these must be re-captured if the automation is rebuilt.
- Which machine or environment holds the
C:\AA A360 Master 2022path, and whether Excel is licensed there.
How this SOP was checked
Generated from the project's source files and audited against them. Audit verdict: minor issues, confidence high.
Covers the full execution path faithfully: URL assignment, new Edge window (240s), login-window wait (15s), credential entry and sign-in, Badge Management link, RothIRA filter + search + 5s pause, folder existence check/create, output-file existence check/delete, workbook creation with sheet 'Output', A1:G1 headers, per-page table capture, header-row discard guarded by row-count>0, row-by-row write to A–G with a never-reset row pointer starting at row 2, Next>> presence test with invert of the last-page marker, close workbook, logout, wait for login window, close window. Conditions are stated in the correct polarity and stage order matches the outline (filter before output-file setup). Correctly reports zero exception handling, no queue/schedule trigger, and correctly flags the note/value conflict ('Tokyo office' comment vs. RothIRA) and the employee-vs-customer naming conflict. Not supportable from source and correctly marked as such: owner, schedule, volumes, element identifiers, downstream consumer.
Remaining minor notes:
- Stage 5 (start of each page iteration) — The SOP omits one step present in the outline: at the top of every paging iteration the counter variable nCounter is reset to 0. It is never read anywhere else, but it is a real step and nCounter is absent from the 'Data handled' table. (Either list it ('reset an unused page counter to 0 — no business effect, appears to be leftover scaffolding') or note nCounter as a declared-but-unused variable.)
- Prerequisites – 'Credentials in place'; Data handled rows for cUserName/cPassword — Asserts the values come from a 'secure credential store' / are 'protected stored values'. The outline shows only one asset in total and gives cUserName/cPassword as bot variables with plain literal defaults 'abc'/'def'; the login step's input type is flagged CREDENTIAL, but whether a vault/locker entry actually supplies them is not established. (State that the login step is configured to accept credential-type input for cUserName/cPassword, but that the outline shows them as variables carrying plaintext defaults 'abc'/'def' — where the real values are sourced at runtime is not determinable and must be confirmed.)
- Stage 5.1 — 'Read the entire results table ... into memory' — The capture action in the source is specifically 'EXTRACTTOCSV'. The SOP describes it purely as an in-memory read and does not mention the CSV-extraction mode, which may imply an intermediate CSV file on some platforms. (Say the results table is captured using the site-table extract (CSV extract mode) into an in-memory table; note that whether an intermediate CSV file is produced is not determinable from the outline.)
- Stage 5 preamble / Stage 7.3 loop control — The SOP presents the paging loop as unconditionally entered and driven by the last-page marker, but does not note that the loop's comparison value for bLastPage is not shown in the outline (bLastPage has no listed default), so the loop's entry/exit polarity is inferred rather than stated. (Add a one-line ambiguity note: the loop repeats while the last-page marker is unset; the marker's initial value is not recorded in the source and is inferred to be 'false'.)
- Data handled table — Two declared variables are not accounted for: sRowPosition (the row number converted to text for cell addressing) and wEagleFinancialSiteAccountWindow (declared but never referenced by any step). (Add sRowPosition as the derived Excel row address, and note wEagleFinancialSiteAccountWindow as declared-but-unused.)