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

# Read and write capabilities

> Discover which Conare connectors pull data into memory, which support modeled upstream write-back, and what each capability permits in production.

The connector catalog exposes data direction explicitly. Use it to decide whether a connector is only a memory source or can also participate in a write-back workflow.

| Field               | Meaning                                                                                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `capabilities.pull` | The connector can sync source data into Conare memory. Every connector returned by the catalog has this set to `true`.                            |
| `capabilities.push` | The connector type has modeled destination support for upstream write-back. Available objects and mutation modes depend on the connected account. |

<Warning>
  `push: true` is capability discovery, not a write operation or permission grant. The public Conare API does not currently expose a generic connector mutation endpoint. `POST /api/v1/connectors/sync` always pulls data into Conare.
</Warning>

## Discover push-capable connectors

Query the catalog instead of maintaining an allowlist. It is fetched from the connector plane, so newly supported destinations appear without a Conare release.

```bash theme={null}
curl https://api.conare.ai/api/v1/connectors/catalog \
  -H "Authorization: Bearer $CONARE_KEY" \
  | jq '.connectors[]
      | select(.capabilities.push)
      | { type, name, connect, capabilities }'
```

Attio currently returns:

```json theme={null}
{
  "type": "attio",
  "name": "Attio",
  "connect": "link",
  "capabilities": {
    "pull": true,
    "push": true
  }
}
```

As of **August 3, 2026**, 76 of 205 connectors returned by the public catalog also report write-back support. The API response is always the source of truth.

<Accordion title="76 connectors with pull and push capability (live snapshot, 2026-08-03)">
  Affinity, Airtable, Amplemarket, Amplitude, Apollo.io, Attio, AWS Athena, Azure Blob Storage, Azure SQL, ClickHouse, Cloudflare R2, Databricks, DealCloud, Dialpad, Facebook Ads, Freshdesk, Front, Gainsight CS, Gong, Google Ads, Google BigQuery, Google Cloud MySQL, Google Cloud PostgreSQL, Google Cloud Storage, Google Sheets, Harmonic, HeyReach, HubSpot, Instantly, Intercom, Iterable, Klaviyo, Kustomer, LinkedIn Ads, Marketo, Microsoft Ads, Microsoft SharePoint Excel, Microsoft SQL Server, MongoDB, MotherDuck, MySQL, Neon, NetSuite, Northbeam, Outreach, Pardot, Pipedrive, Plain, PlanetScale Vitess, Podscribe, PostgreSQL, PredictLeads, Productboard, Pylon, QuickBooks, Reddit Ads, Redshift, Redshift Serverless, Reply, S3, Salesbricks, Salesforce, Salesloft, ScyllaDB, Smartlead.ai, Smartsheet, Snowflake, Sprig, Stripe, Supabase, Tigris, TikTok Ads, UserVoice, Wavelength, Zendesk Support, monday.com
</Accordion>

## What this means in practice

| Connector                            | Catalog capability | What you can infer                                                                                                                                            |
| ------------------------------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Attio**                            | Pull + push        | Attio can be both a memory source and a modeled write-back destination. The writable objects and fields come from the connected account's destination schema. |
| **HubSpot / Salesforce / Pipedrive** | Pull + push        | CRM records can participate in a separately configured write-back workflow, subject to the provider's schema and the user's permissions.                      |
| **Google Sheets / Airtable**         | Pull + push        | Supported table or row mutations can be used by a separately configured write-back workflow.                                                                  |
| **Gmail**                            | Pull only          | Conare can sync permitted mail, but the connector does not currently expose Gmail draft or send capability.                                                   |
| **Slack**                            | Pull only          | Conare can sync selected channels, but the connector does not currently expose message posting.                                                               |
| **Notion / GitHub / Twenty CRM**     | Pull only          | These first-class Conare connectors currently import data into memory only.                                                                                   |

`push: true` does **not** imply that every action offered by the provider is available. In particular, it does not bypass provider permissions, identify writable objects, choose between draft and send, or execute an action by itself.

## Building an action layer

A safe company-brain action flow should:

1. Read the catalog and require `capabilities.push: true`.
2. Resolve the connected account's writable objects, fields, and mutation modes.
3. Produce a structured plan or dry run.
4. Require explicit approval for consequential writes.
5. Execute with an idempotency key and retain an audit record.

Until Conare publishes a connector mutation endpoint, use the catalog for capability-aware UI and planning; do not present `push: true` as an executable Conare API action.

See [List the source catalog](/api-reference/connectors/list-the-source-catalog) for the response schema and [Trigger a sync](/api-reference/connectors/trigger-a-sync) for the pull-only sync operation.
