- Brand
- Axis
- Category
- Productivity
- Primary Subcategory
- Personal AI Memory & Second Brain
Integration details
Description
Axis helps people track and manage finances, relationships, knowledge, habits, and focus. Its tools read private account data and create, update, or delete records only after OAuth consent.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Personal AI Memory & Second Brain
- Secondary Subcategories
- None listed
- Brand
- Axis
- Access
- Account required
- First tracked
- 2026-09-13
- Tool count
- 111
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Axis
Get updates when Axis’s Discoverability Score or category rank changes.
Competing in ChatGPT Personal AI Memory & Second Brain
View Category111 tools agents can invoke
Discard the running session: it is kept as abandoned and never counts toward focus time. Retry-safe: asking for the state the session is already in returns it unchanged. Returns the session with durationSec (seconds actually focused, pauses excluded) and stale.
focus_abandon_session
Add a person to the relationship graph and return their id. Check network_list_people with query first to avoid duplicates. Scores are 0–1. bond = long-term closeness (half-life ~8 months), contact = recency of contact (half-life ~1 month), edge = 0.6·bond + 0.4·contact. Bond never decays below the category floor (partner 0.50, family 0.35, friend 0.20, colleague 0.05, acquaintance 0). Optional starting bond/contact are kept as the person's starting point when their interactions are scored; a starting bond below the category floor is rejected with invalid_input.
network_add_person
Create a category that groups focus tasks, e.g. Work or Study. Names are unique per user (409 conflict if taken). Returns its id; use it with focus_create_task.
focus_create_category
Create a focus task in a category (find categoryId with focus_list_categories). Sessions are always linked to a task. Returns its id.
focus_create_task
Create a habit. Binary habits are ticked done; quantified habits log an amount (give unit and targetValue, e.g. 20 pages). frequency daily = every day; weekly = frequencyTarget days per week; custom = only on scheduleDays (1 = Monday … 7 = Sunday, required for custom). Starts active unless status says otherwise. The free plan allows three habits.
habits_create_habit
Add a learning source (book, article, video, film, podcast, paper, course, other) to the library. Status defaults to backlog. Returns the new source ID.
knowledge_create_source
Permanently delete a focus category AND every task in it AND all of those tasks' sessions. Confirm with the user first; to keep history, move tasks elsewhere with focus_update_task before deleting.
focus_delete_category
Permanently delete one focus session; it no longer counts toward any statistic.
focus_delete_session
Permanently delete a focus task AND all of its sessions, which drops them from every focus statistic. Confirm with the user first; to keep the history, mark it done with focus_update_task instead.
focus_delete_task
Permanently delete a habit and, with it, every completion it has ever logged. This cannot be undone. To stop tracking a habit but keep its history, use habits_update_habit with status archived instead.
habits_delete_habit
Permanently delete one interaction; the person's scores are recomputed without it.
network_delete_interaction
Permanently delete a person. This also deletes their scores and every interaction logged with them; it cannot be undone.
network_delete_person
Delete one logged session and recompute the source's progress from the sessions that remain. The source itself is kept.
knowledge_delete_session
Permanently delete a source together with all its logged sessions and its progress. This cannot be undone. To keep the history, set status abandoned with knowledge_update_source instead. Returns not_found if the source does not exist.
knowledge_delete_source
Get the running focus session (paused counts as running: pausedAt is set), or null. If stale is true it has run past twice its planned length and was most likely left running: do not report it as live; ask the user, then abandon it or log the real time. Returns the session with durationSec (seconds actually focused, pauses excluded) and stale.
focus_get_active_session
Focus minutes by hour the session started (0–23, in tz; the user's saved time zone when omitted, or UTC if none) over the last 90 days: when in the day the user focuses.
focus_get_distribution
Focus minutes per day from `from` to `to` inclusive (YYYY-MM-DD, at most 400 days), days in tz (the user's saved time zone when omitted, or UTC if none). Every day appears, with 0 when idle.
focus_get_heatmap
Get one focus session by id. Returns the session with durationSec (seconds actually focused, pauses excluded) and stale.
focus_get_session
Current and longest run of consecutive days (in tz) with at least one completed focus session. The current streak survives until today ends. Pass date as the user's local day (YYYY-MM-DD) to calculate as of that day; otherwise today in the user's saved time zone (UTC if none) is used.
focus_get_streak
Completed focus sessions (breaks excluded) in a range: totalFocusSec and per-category focusSec in seconds, sessionCount, and completedTasks finished in the range.
focus_get_summary
Get one focus task by id.
focus_get_task
Tasks ranked by completed focus time (focusSec, seconds) within a range, with sessionCount.
focus_get_top_tasks
Focus minutes per week for the last `weeks` weeks (default 12), oldest first; weekStart is YYYY-MM-DD.
focus_get_trends
Get one habit's settings by id (name, trackingMode, unit, targetValue, frequency, scheduleDays, status). For streaks use habits_get_stats.
habits_get_habit
Get each habit's completion rate by weekday (byDay: 1 = Monday … 7 = Sunday, each 0–1) between from and to, as the Axis app's Analytics weekday bars. Active habits by default; status picks others. Only days since the habit started and before today count, so a habit younger than the span isn't diluted. Binary habits: the share of asked days logged (custom habits only on scheduled days). Quantified habits: the average amount against the target, capped at 1. Pass the user's local date and IANA time zone so the figures match the app.
habits_get_consistency
Get each habit's name, status, current streak, best streak, start date and days logged, over its whole history. Active habits by default; pass status=all to include paused and archived ones. The source of truth for current and best streaks and each habit's start date. Pass the user's local date and IANA time zone: then the figures match the Axis app exactly (without them the user's saved time zone (UTC if none) is used, and a start can be a day off). Streaks count days for daily habits, scheduled days for custom ones (rest days skipped), and finished weeks for weekly ones; today never breaks a streak.
habits_get_stats
Get current and longest streak per habit (active by default; status=all includes paused and archived), with the last day logged, sorted by current streak. Uses the same rule as habits_get_stats and the Axis app: weekly habits count finished weeks, custom habits skip rest days, and today never breaks a streak. Pass the user's local date and IANA time zone so the figures match the app.
habits_get_streaks
The Axis app's Analytics page for any span, overall and per habit. Without from/to it reads the 30 days ending yesterday (the app's first page); pass from/to for any period (a month, a year) or allTime for the whole history. allTime starts at the earliest start among the habits status picks; weeks start at each habit's first week. The span always ends yesterday at the latest: rates read finished days only. Overall: done of due habit-days and overallConsistency (a whole percentage). Per habit: start, current and best streak, completions, rate (done/due/pct, from the habit's start; custom habits only on scheduled days, weekly habits pro-rated), averageAmount and atTarget for quantified habits, weeks (each week's share and figure: a percentage, or the average amount) and weekdays (1 = Monday … 7 = Sunday). status picks which habits: active (default, as the app), paused, archived or all. Pass the user's local date and IANA time zone so the figures match the app. For raw rows use habits_list_completions.
habits_get_summary
Per-week (Monday start) or per-month aggregates of one habit's logged amounts (avg, sum, min, max in the habit's unit; count of days logged), oldest first, over its whole history. Meant for quantified habits; binary habits have no amounts, so only count is set. Only logged days count, so the averages differ from the Axis app's weekly figures, which count unlogged days as 0 (habits_get_summary's weeks).
habits_get_trends
Get one interaction by id (from network_list_interactions or network_log_interaction): its person, depth, notes, timestamp and the scores right after it (bondAfter/contactAfter/edgeAfter, before later decay; use network_get_person for today's scores).
network_get_interaction
Library summary: source counts by status, sessions in the last 7 days, total session minutes per source type, and in_progress sources with no session for over 14 days.
knowledge_get_summary
Summary of the whole network with every score decayed to now: person count, average bond/contact/edge per category, the neglected list (people whose edge is below 0.30, weakest first) and interaction counts (all time and last 30 days). Scores are 0–1. bond = long-term closeness (half-life ~8 months), contact = recency of contact (half-life ~1 month), edge = 0.6·bond + 0.4·contact. Bond never decays below the category floor (partner 0.50, family 0.35, friend 0.20, colleague 0.05, acquaintance 0).
network_get_analytics
One-call daily or weekly review across modules. Returns one section per module the token can read (modules it cannot read are absent): habits (today's due/done counts and the names not done), focus (the running session, if any, and focus minutes in the period), knowledge (in-progress sources with percent complete and study minutes in the period), network (the 5 people most overdue for contact) and finance (net worth as of date with knownSubtotal, missing and excluded-account counts, plus spending in the period). A section that fails comes back as { error: { code, message } } and the rest still load. date is the user's local day (default: today in tz); tz is an IANA zone (default: the user's saved time zone, or UTC if none); period day = that date, week = the Monday-to-Sunday week containing it. Habits and net worth are always as of date; the other sections cover the period. Start a review here, then drill into a module's own tools.
axis_get_overview
Get one person by id with their category, notes and scores decayed to now. Scores are 0–1. bond = long-term closeness (half-life ~8 months), contact = recency of contact (half-life ~1 month), edge = 0.6·bond + 0.4·contact. Bond never decays below the category floor (partner 0.50, family 0.35, friend 0.20, colleague 0.05, acquaintance 0).
network_get_person
Reading trend over the last `count` day/week/month buckets, oldest first; period is the bucket start (YYYY-MM-DD, weeks start Monday). Counts pages only: pagesRead sums pagesEnd − pagesStart of sessions with both page numbers, and pagesPerHour uses only those sessions. Video and audio progress is not counted in pagesRead; sessionMinutes includes every session.
knowledge_get_reading_trend
Get one source with its progress: currentPage, currentPositionMins, percentComplete (0–1), startedAt, completedAt.
knowledge_get_source
Analytics for one source: total minutes and sessions, average session minutes, average pages per hour (page-based sessions only), days since last session, sessions per week over the last 4 weeks, and the percent-complete curve (0–1) per session.
knowledge_get_source_analytics
Get today's checklist: the active habits due today (weekly habits always show) with completed, the logged amount and current streak (the same rule as habits_get_stats). Pass the user's local date and IANA time zone so 'today' and the streaks match the Axis app; without them the user's saved time zone (UTC if none) is used.
habits_get_today
List the user's focus categories in display order. This is a pure read and never creates anything. When the list is empty, offer to create categories with focus_create_category, suggesting the Focus app's defaults: Work, Study, Side Project and Personal. Returns items and hasMore (default 100, max 500); increase limit up to 500 when hasMore is true, or pass the returned nextCursor back to fetch the next page.
focus_list_categories
List focus and break sessions, newest first (default 50). Returns items and hasMore; if hasMore is true, increase limit up to 200, narrow by start time, or pass the returned nextCursor back to fetch the next page. Filter by start time: from / to take a date (YYYY-MM-DD, whole days in tz, to inclusive) or an ISO timestamp with offset. Returns the session with durationSec (seconds actually focused, pauses excluded) and stale.
focus_list_sessions
List focus tasks, newest first. Returns items and hasMore; if hasMore is true, increase limit up to 200 or narrow by categoryId/completed, or pass the returned nextCursor back to fetch the next page. completedAt is an ISO timestamp or null.
focus_list_tasks
List raw completions (habitId, date, value, note), newest first, for every habit including paused and archived ones. Without from it reads the 90 days ending at to (or today); pass from (YYYY-MM-DD) for a longer span. Returns items and hasMore (default 200, max 1000); when hasMore is true, pass the returned nextCursor back to continue the same window, read an earlier interval with an earlier to, or increase limit. For streaks, rates and per-period figures use habits_get_stats or habits_get_summary instead of counting rows yourself.
habits_list_completions
List habits with their settings, in the app's order. Returns items and hasMore (default 100, max 500); increase limit up to 500 when hasMore is true, or pass the returned nextCursor back to fetch the next page. Active habits by default; pass status=paused, archived or all. scheduleDays uses 1 = Monday … 7 = Sunday.
habits_list_habits
List interactions logged with one person, newest first (default 50). Returns items and hasMore; if hasMore is true, increase limit up to 200 or pass the returned nextCursor back to fetch the next page. bondAfter/contactAfter/edgeAfter are the scores right after each interaction, before later decay; use network_get_person for today's scores.
network_list_interactions
List people in the relationship graph, strongest edge first, with scores decayed to now. Returns up to limit people (default 100, max 500) and hasMore; increase limit up to 500 or filter by name if hasMore is true. Scores are 0–1. bond = long-term closeness (half-life ~8 months), contact = recency of contact (half-life ~1 month), edge = 0.6·bond + 0.4·contact. Bond never decays below the category floor (partner 0.50, family 0.35, friend 0.20, colleague 0.05, acquaintance 0). Pass query to find someone by name (case-insensitive substring) before using their id.
network_list_people
List sessions logged against one source, newest first. Returns items and hasMore (default 50, max 200); increase limit up to 200 when hasMore is true, or pass the returned nextCursor back to fetch the next page. durationMins is in minutes; pagesStart/pagesEnd are absolute page numbers.
knowledge_list_sessions
List sessions across all sources that started between from and to (both inclusive), oldest first, each with its sourceTitle. Use it for "what did I read last week?". Both from and to are required ISO 8601 timestamps with a time zone offset, at most 366 days apart (e.g. a week: 2026-10-05T00:00:00+08:00 to 2026-10-11T23:59:59+08:00). Returns items and hasMore (default 200, max 500); narrow the range when hasMore is true, or pass the returned nextCursor back to fetch the next page. durationMins is in minutes; pagesStart/pagesEnd are absolute page numbers. For the sessions of one source use knowledge_list_sessions.
knowledge_list_sessions_in_range
List learning sources with their progress, newest added first. Filter by status, type, or query (case-insensitive substring of title or author). Returns items and hasMore (default 100, max 200); increase limit or filter further when hasMore is true, or pass the returned nextCursor back to fetch the next page.
knowledge_list_sources
Record a session that already happened, e.g. "I focused 9–10am on the report". For a timer starting now use focus_start_session. endedAt must be after startedAt and not in the future; overlapping another session is a 409 conflict. Returns the session with durationSec (seconds actually focused, pauses excluded) and stale.
focus_log_session
Check a habit as done for a day; date is required (YYYY-MM-DD, the user's local day — not a word like today). One completion per habit per day: logging the same day again updates it, so a retry never doubles up. Fields you leave out are kept; pass null to clear value or note. For quantified habits pass value, the day's amount in the habit's unit. date can't be after the user's today; pass tz so 'today' is theirs. To uncheck, use habits_delete_completion.
habits_log_completion
Axis ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Axis's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Axis alternatives on ChatGPT?
As of 2026-10-28, Axis competes with 2Mind, AI Passport, AI Whisper Voice Note Taker, AI Wisebase, AiAkiv Memory, Areta, AristAI Thinker, Arkon Vault and 107 more in ChatGPT Personal AI Memory & Second Brain, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.