wiki/knowledge/crm-automation/eldermark-api-workaround.md Layer 2 article 753 words Updated: 2026-04-05
↓ MD ↓ PDF
crm eldermark axiom-ai automation web-scraping workaround

ElderMark API Workaround — Web Scraping with Axiom.ai

Problem

ElderMark does not expose a public API and is deliberately restrictive about external data access. This makes it impossible to build real-time integrations or trigger external automations (e.g., email nurture sequences in MailChimp) directly from ElderMark events.

The workaround is to automate the manual export process using a browser automation tool, so that contact data can be extracted on a schedule and fed into downstream systems without requiring manual effort from the client.

Affects: [1] — see [2] for full context.


Chosen Tool: Axiom.ai

Axiom.ai is a Chrome extension that records a sequence of browser interactions (clicks, text entry, navigation) and replays them on a schedule. It requires no code and can handle login flows, navigation, and file downloads.

Pricing note: The starter tier (~$30–50/month) supports one bot and is sufficient for a single scheduled export. Factor this into client billing.

Key limitation: Axiom.ai bots are brittle — if ElderMark changes any UI element (button label, position, DOM structure), the bot will silently fail or error out at that step. Plan for periodic maintenance.


Bot Design: ElderMark Full Prospect Export

The goal is to automate a weekly export of the full "All Prospects" contact list as an XLS file.

Login Flow

ElderMark's login page has a redirect quirk: navigating to the root URL causes a redirect that confuses the bot's field-targeting. The fix is to start the bot at the direct tenant URL (e.g., app4.eldermark.com/Anthemian/) rather than the generic login page.

The login form has three fields:
1. Company Code — labeled "login" in the help text (confusingly)
2. Username — the actual user login
3. Password

Steps:
1. Navigate to app4.eldermark.com/[tenant]/ (direct tenant URL)
2. Enter text → Company Code field
3. Enter text → Username field
4. Enter text → Password field
5. Click → Login button

Credentials are stored in LastPass.

After login, ElderMark may land on different views depending on the user's last session state. To ensure consistent navigation regardless of landing page:

  1. Click → hamburger/nine-dot menu (top left)
  2. Click → CRM in the menu
  3. Click → CRM link in the top navigation bar (secondary nav)
  4. Click → All Prospects in the dropdown

Note: Steps 2–4 are intentionally redundant to handle variable post-login states. The bot navigates through the full menu path every time rather than assuming a starting view.

Export Steps

Once on the All Prospects list:

  1. Click → Download XLS button (top right of prospect list)
  2. Select → All Pages (not Current Page)
  3. Click → Export button (gray button in the export dialog)

The file downloads directly to the local machine. It does not email the file — a subsequent automation step (e.g., a folder watch or upload script) would be needed to move it to a shared location.


Current Status: BLOCKED

Blocker: The bot consistently fails at the "All Prospects" click step.

The element is visually identified and highlighted during the run, but Axiom.ai reports "couldn't find element: All Prospects" and errors out. This has occurred across multiple bot configurations and navigation path variations.

Attempted mitigations (unsuccessful):
- Added millisecond delays between steps
- Tried alternate navigation paths to reach the All Prospects view
- Rebuilt the bot from scratch multiple times

Hypothesis: The All Prospects link may be rendered in a way that Axiom.ai's element selector cannot reliably target (e.g., dynamically injected, inside a frame, or using non-standard click event handling). ElderMark may also have bot-detection that interferes after the login step.

Next action (owner: Mark Hope): Resume troubleshooting with a fresh session; investigate whether the element can be targeted by XPath or CSS selector rather than visual click recording.


Fallback: Manual Export by Client

If the Axiom.ai bot cannot be made reliable, the fallback is to ask the client (Erica) to perform the export manually on a weekly cadence and drop the file in a designated shared folder.

This is the recommended interim approach while the bot issue is investigated.