Request a connector sync
well_request_syncAsk Well to sync one installation now, instead of at its usual time. Call it only when a read returned fresh_enough: false for an installation source, with the workspace_connector_id that read returned. Never call it for a statement source: a statement has no sync, so ask the person for the statement that covers the missing days.
It returns once the sync is queued, before any new data arrives. A sync takes a few minutes: never say the copy is fresh after this call. Read again later, or tell the person the copy dates from synced_at. Call it once per installation and ask.
refusal_reason says why nothing was queued:
synced_recently: the installation synced in the last minutes, so read again now.not_startable: the installation needs a reconnect or does not sync on its own. Say the copy dates fromsynced_atand offer to reconnect it.not_found: the id is not an installation of this workspace. Do not call it again for this id: say the copy dates fromsynced_at.move_in_progress: the installation is being moved to another workspace. Try again later.
success: false means nothing was queued. The sync imports the provider's new data into Well and changes nothing at the provider.
When the token authorizes one workspace, call this directly — no workspace call is needed first. When it authorizes several, this read will not guess which one you mean: pass workspace_id on the call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several — a write lands in exactly one workspace and this call would not say which. | |
| conversation_id | No | The conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation. | |
| idempotency_key | No | Optional client-supplied key. A retried write with the same key returns the original result instead of re-applying the operation. | |
| workspace_scope | No | Restrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace. | |
| workspace_connector_id | Yes | The installation's `workspace_connector_id`, exactly as the read that said its copy is not fresh enough returned it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| queued | Yes | ||
| success | Yes | ||
| synced_at | No | ||
| refusal_reason | No | ||
| conversation_id | No | The conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation. | |
| newly_connected | No | Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: "<name> is connected.". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later. | |
| conversation_id_note | No | Present only when the server opened a fresh lane, stating that no choice recorded earlier was read. | |
| conversation_id_source | No | Where the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened. | |
| workspace_connector_id | Yes |