> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anycrm.anyreach.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Sync Status

> When the assistant last looked at everyone's calendars, and when it next
will (2026-08-13).

Discovery is a */15 cron, and until now that was invisible: a rep whose
meeting was not in AnyCRM yet had no way to tell whether it was coming in
two minutes or never. Both answers look identical from the outside, which
is the same blindness the meeting page's status bar exists to end.

Read from TEMPORAL rather than assumed from the cron string, and that is
the whole point of the endpoint. The next quarter-hour is trivial to
compute in the browser — but a *paused* schedule, an unregistered one, or a
Temporal we cannot reach all still land on the same quarter hour, and the
UI would announce a check that is never going to happen. `running: false`
is the answer that matters here; the timestamp is the easy part.

Declared above `/{meeting_id}` so the literal path is not read as an id.



## OpenAPI

````yaml /openapi-generated.json get /meetings/sync-status
openapi: 3.1.0
info:
  title: anycrm-api
  version: 0.0.1
servers: []
security: []
tags:
  - name: Customer Intelligence
    description: >-
      Company research and ICP-fit scoring — create a research run, track its
      progress, and read back scored companies as leads.
  - name: Outreach
    description: >-
      The cold-email management console — domains, mailboxes, and campaigns — as
      a thin control plane over the SalesForge stack.
  - name: AnyCard
    description: >-
      Authenticated CRUD for AnyCard, the org's digital business-card /
      lead-capture product.
  - name: AnyCard Events
    description: >-
      Event-attribution analytics for AnyCard — which captured leads converted,
      broken down by source, owner, and deal.
  - name: AnyCard Share Links
    description: >-
      Unauthenticated endpoints reached by anyone who scans a QR code or opens a
      shared AnyCard link.
  - name: AI
    description: >-
      A streaming (SSE) AI chat endpoint with account-commit actions it can take
      on the caller's behalf.
  - name: Analytics Assistant
    description: >-
      The natural-language analytics assistant — a guarded text-to-SQL loop
      (SSE) that answers ad-hoc questions over the org's CRM data as a
      least-privilege, read-only database role.
  - name: Account Readiness
    description: >-
      Account Readiness Profiles — AI-scored signals on whether an account is
      ready for outreach or expansion, computed via a Temporal workflow.
  - name: Integrations
    description: >-
      Pipedream Connect — issuing connect tokens and managing the org's
      connected third-party accounts.
  - name: Feedback
    description: >-
      User-submitted platform feedback (bug reports, feature requests) — global,
      not scoped to one organization.
  - name: Public Media
    description: >-
      Unauthenticated image reads for publicly-embeddable assets (card photos,
      inline email images) — allowlisted by key shape; everything else in the
      storage bucket stays private.
  - name: Service Health
    description: Service liveness.
paths:
  /meetings/sync-status:
    get:
      tags:
        - Meetings
      summary: Get Sync Status
      description: >-
        When the assistant last looked at everyone's calendars, and when it next

        will (2026-08-13).


        Discovery is a */15 cron, and until now that was invisible: a rep whose

        meeting was not in AnyCRM yet had no way to tell whether it was coming
        in

        two minutes or never. Both answers look identical from the outside,
        which

        is the same blindness the meeting page's status bar exists to end.


        Read from TEMPORAL rather than assumed from the cron string, and that is

        the whole point of the endpoint. The next quarter-hour is trivial to

        compute in the browser — but a *paused* schedule, an unregistered one,
        or a

        Temporal we cannot reach all still land on the same quarter hour, and
        the

        UI would announce a check that is never going to happen. `running:
        false`

        is the answer that matters here; the timestamp is the easy part.


        Declared above `/{meeting_id}` so the literal path is not read as an id.
      operationId: get_sync_status_meetings_sync_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Get Sync Status Meetings Sync Status Get
      security:
        - HTTPBearer: []
components:
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````