NationGraph CRM Automation Push API

The CRM Automation Push API from NationGraph — 12 operation(s) for crm automation push.

Operations 13

GET /api/v3/crm/{integration_id}/company-fields List CRM Company Fields #
GET /api/v3/crm/{integration_id}/automations/{automation_id}/pushable-columns Get Pushable Columns #
GET /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-status Get Push Status #
GET /api/v3/crm/{integration_id}/automations/{automation_id}/history Get CRM Push History for an Automation #
POST /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push Push Automation Results to CRM #
POST /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/results/{result_id}/push-activity Push Automation Result as CRM Activity #
POST /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-signals Push Automation Run Signals to CRM #
GET /api/v3/crm/{integration_id}/account-layouts List Account Page Layouts #
GET /api/v3/crm/{integration_id}/custom-object-schemas/{schema_key} Check Custom Object Schema #
POST /api/v3/crm/{integration_id}/custom-object-schemas/{schema_key} Create Custom Object Schema #
GET /api/v3/crm/{integration_id}/custom-object-schemas/{schema_key}/spec Get Custom Object Schema Spec #
POST /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-custom-objects Push Automation Results as Custom Objects #
POST /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-contacts Push Contacts as CRM Contact Records #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nationgraph-crm-automation-push-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nationgraph-crm-automation-push-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nationgraph Accounts CRM Automation Push API
  version: 0.2.36
servers:
- url: https://api.nationgraph.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: CRM Automation Push
paths:
  /api/v3/crm/{integration_id}/company-fields:
    get:
      tags:
      - CRM Automation Push
      summary: List CRM Company Fields
      description: 'List all available fields on the company/account object in the user''s CRM.


        Returns field names, labels, types, and whether each is a custom field.

        Use this to discover which CRM fields are available when setting up

        field mappings for the push endpoint.


        - **HubSpot**: Lists all properties on the Companies object

        - **Salesforce**: Describes the Account object and returns all fields'
      operationId: list_crm_company_fields_api_v3_crm__integration_id__company_fields_get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CRMFieldResponse'
                title: Response List Crm Company Fields Api V3 Crm  Integration Id  Company Fields Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/pushable-columns:
    get:
      tags:
      - CRM Automation Push
      summary: Get Pushable Columns
      description: 'Get the list of columns available for CRM push for a given automation.


        Each column has a **key** (used in `source_field` of the push request),

        a **label**, a **data_type**, and a human-readable **description**.


        The available columns depend on the automation type. For `ranked_institutions`:

        - `rank` — Institution rank

        - `score` — Institution score

        - `signal_count` — Number of matching signals'
      operationId: get_automation_pushable_columns_api_v3_crm__integration_id__automations__automation_id__pushable_columns_get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PushableColumnResponse'
                title: Response Get Automation Pushable Columns Api V3 Crm  Integration Id  Automations  Automation Id  Pushable Columns Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-status:
    get:
      tags:
      - CRM Automation Push
      summary: Get Push Status
      description: 'Check which results from an automation run have already been pushed to

        this CRM integration.


        Returns per-result push status including when each was last pushed

        and which fields were included.'
      operationId: get_push_status_api_v3_crm__integration_id__automations__automation_id__runs__run_id__push_status_get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          description: The automation run ID
          title: Run Id
        description: The automation run ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushStatusResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/history:
    get:
      tags:
      - CRM Automation Push
      summary: Get CRM Push History for an Automation
      description: 'Paginated history of every CRM push made by this automation against the

        given integration.  Ordered by `pushed_at` descending.


        Each item includes the institution name, the run the push came from, and

        the raw `fields_pushed` payload — the UI derives the activity type from

        that payload (e.g. `activity_type: "note"` → Note, otherwise a custom

        field push).'
      operationId: get_automation_push_history_api_v3_crm__integration_id__automations__automation_id__history_get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_PushHistoryItem_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push:
    post:
      tags:
      - CRM Automation Push
      summary: Push Automation Results to CRM
      description: "Bulk-push automation run results to CRM companies using explicit field mappings.\n\n**How it works:**\n1. Loads all **completed** results for the specified run\n2. If `result_ids` is provided, narrows to only those results\n3. Filters to results whose institutions have a CRM mapping for this integration\n4. Maps each automation column to the specified existing CRM field\n5. Updates each mapped CRM company with the result data\n6. Records which results were pushed for tracking\n\n**Field mappings** are required. Each entry maps an automation column key\n(from the pushable-columns endpoint) to an existing CRM field name\n(from the company-fields endpoint).\n\n**Selective push** — pass `result_ids` to push only specific results\ninstead of the entire run. Results that are not in `completed` status\nare silently excluded.\n\n**Example request (all results):**\n```json\n{\n  \"field_mappings\": [\n    {\"source_field\": \"score\", \"crm_field_name\": \"nationgraph_score\"},\n    {\"source_field\": \"rank\", \"crm_field_name\": \"ng_rank\"}\n  ]\n}\n```\n\n**Example request (selected results only):**\n```json\n{\n  \"field_mappings\": [\n    {\"source_field\": \"score\", \"crm_field_name\": \"nationgraph_score\"}\n  ],\n  \"result_ids\": [\"uuid-1\", \"uuid-2\"]\n}\n```\n\n**Requirements:**\n- Active CRM integration (HubSpot or Salesforce)\n- CRM mappings between institutions and CRM companies\n- Target CRM fields must already exist (use company-fields endpoint to verify)\n- Run must have completed results"
      operationId: push_automation_results_to_crm_api_v3_crm__integration_id__automations__automation_id__runs__run_id__push_post
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          description: The automation run ID
          title: Run Id
        description: The automation run ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushAutomationResultsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushAutomationResultsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/results/{result_id}/push-activity:
    post:
      tags:
      - CRM Automation Push
      summary: Push Automation Result as CRM Activity
      description: 'Push a single automation result to CRM as a note, task, or post.


        Content is automatically generated from the automation result data

        (rank, score, signal count, etc.) and formatted per automation type.


        **Action types:**

        - **`note`**: Records the result summary on the CRM company

        - **`task`**: Creates a follow-up task with the result as context

        - **`post`**: Creates a Chatter post (Salesforce only)


        For tasks and posts, you can override the auto-generated subject/body

        via `task_options` or `post_options`.


        **Requirements:**

        - Active CRM integration (HubSpot or Salesforce)

        - CRM mapping between the result''s institution and a CRM company'
      operationId: push_automation_result_as_activity_api_v3_crm__integration_id__automations__automation_id__runs__run_id__results__result_id__push_activity_post
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          description: The automation run ID
          title: Run Id
        description: The automation run ID
      - name: result_id
        in: path
        required: true
        schema:
          type: string
          description: The automation result ID
          title: Result Id
        description: The automation result ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomationActivityPushRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CRMActionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-signals:
    post:
      tags:
      - CRM Automation Push
      summary: Push Automation Run Signals to CRM
      description: 'Push the underlying signal content from all CRM-linked results in a ranked

        automation run as individual notes or tasks.


        For each completed result that has a CRM company mapping, every referenced

        signal is resolved to its full content (title, summary, significance, reason)

        and pushed using the existing signal-to-CRM push logic.


        **Action types:**

        - **`note`**: Records each signal as a note on the CRM company

        - **`task`**: Creates a follow-up task for each signal


        For tasks, you can provide `task_options` to set due date, priority, and owner.


        Results without a CRM mapping are silently skipped (reported in `skipped_count`).


        **Requirements:**

        - Only supported for `ranked_institutions` automation type

        - Active CRM integration (HubSpot or Salesforce)

        - CRM mappings between institutions and CRM companies

        - Run must have completed results'
      operationId: push_automation_run_signals_api_v3_crm__integration_id__automations__automation_id__runs__run_id__push_signals_post
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          description: The automation run ID
          title: Run Id
        description: The automation run ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushSignalsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushSignalsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/account-layouts:
    get:
      tags:
      - CRM Automation Push
      summary: List Account Page Layouts
      description: 'List available page layouts on the Account/Company object.


        Use this to discover which layout to pass to the custom object schema

        creation endpoint so the related list is added to the correct layout.


        **Salesforce**: Returns all Account page layouts.

        **HubSpot**: Returns an empty list (HubSpot does not have page layouts).'
      operationId: list_account_layouts_api_v3_crm__integration_id__account_layouts_get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CRMAccountLayoutResponse'
                title: Response List Account Layouts Api V3 Crm  Integration Id  Account Layouts Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/custom-object-schemas/{schema_key}:
    get:
      tags:
      - CRM Automation Push
      summary: Check Custom Object Schema
      description: 'Check whether a custom object schema exists in the user''s CRM.


        The `schema_key` determines which NationGraph schema definition to check for.

        Currently supported schemas:

        - **`vendor_contract`**: NationGraph Vendor Contract custom object


        Returns whether the object exists, its provider-specific identifier, and

        any expected fields that are missing from the existing object.'
      operationId: check_custom_object_schema_api_v3_crm__integration_id__custom_object_schemas__schema_key__get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: schema_key
        in: path
        required: true
        schema:
          type: string
          description: Schema identifier (e.g. 'vendor_contract')
          title: Schema Key
        description: Schema identifier (e.g. 'vendor_contract')
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectSchemaStatusResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - CRM Automation Push
      summary: Create Custom Object Schema
      description: "Create a custom object schema in the user's CRM workspace.\n\nThe `schema_key` determines which NationGraph schema to create.\nCurrently supported schemas:\n- **`vendor_contract`**: Creates a NationGraph Vendor Contract custom object\n  with fields for vendor, product, ACV, dates, summary, institution,\n  and a link back to NationGraph. Associated with CRM companies/accounts.\n\n**HubSpot**: Creates a custom object schema with all properties and\ncompany associations via the schemas API.\n\n**Salesforce**: Creates a custom object via the Tooling API, then adds\neach custom field individually, including an Account lookup.\n\nThis endpoint is idempotent-safe — call the check endpoint first to\nverify the schema doesn't already exist."
      operationId: create_custom_object_schema_api_v3_crm__integration_id__custom_object_schemas__schema_key__post
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: schema_key
        in: path
        required: true
        schema:
          type: string
          description: Schema identifier (e.g. 'vendor_contract')
          title: Schema Key
        description: Schema identifier (e.g. 'vendor_contract')
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomObjectSchemaCreateRequest'
              default: {}
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectSchemaCreateResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/custom-object-schemas/{schema_key}/spec:
    get:
      tags:
      - CRM Automation Push
      summary: Get Custom Object Schema Spec
      description: 'Return the full, static definition of a NationGraph custom object schema.


        This is the source of truth for manual-setup instructions when a custom object

        must be created by hand .'
      operationId: get_custom_object_schema_spec_api_v3_crm__integration_id__custom_object_schemas__schema_key__spec_get
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: schema_key
        in: path
        required: true
        schema:
          type: string
          description: Schema identifier (e.g. 'vendor_contract')
          title: Schema Key
        description: Schema identifier (e.g. 'vendor_contract')
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectSchemaSpecResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-custom-objects:
    post:
      tags:
      - CRM Automation Push
      summary: Push Automation Results as Custom Objects
      description: 'Push automation run results as individual custom object records in the CRM.


        Unlike the regular field-push endpoint (which updates existing CRM company

        fields), this creates **new custom object records** — one per result — and

        associates each with the corresponding CRM company/account.


        **Flow:**

        1. Loads completed results for the run (optionally filtered by `result_ids`)

        2. Resolves CRM company mappings for each result''s institution

        3. Builds custom object properties from the result data

        4. Creates records in the CRM with company associations

        5. Tracks each push in the `AutomationCRMPush` table


        **Requirements:**

        - Active CRM integration (HubSpot or Salesforce)

        - The custom object schema must already exist (use the schema endpoints)

        - CRM mappings between institutions and CRM companies

        - Run must have completed results


        **Supported automation types:**

        - `vendor_contract_enrichment` → `vendor_contract` schema


        Each record includes a link back to the NationGraph automation page.'
      operationId: push_automation_results_as_custom_objects_api_v3_crm__integration_id__automations__automation_id__runs__run_id__push_custom_objects_post
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          description: The automation run ID
          title: Run Id
        description: The automation run ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushCustomObjectsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushCustomObjectsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v3/crm/{integration_id}/automations/{automation_id}/runs/{run_id}/push-contacts:
    post:
      tags:
      - CRM Automation Push
      summary: Push Contacts as CRM Contact Records
      description: Push a contacts_export run's matched people into the CRM as contact records, each associated to its institution's linked company. Contacts whose institution isn't CRM-linked are skipped (not errors).
      operationId: push_run_contacts_api_v3_crm__integration_id__automations__automation_id__runs__run_id__push_contacts_post
      security:
      - HTTPBearer: []
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: The CRM integration ID
          title: Integration Id
        description: The CRM integration ID
      - name: automation_id
        in: path
        required: true
        schema:
          type: string
          description: The automation ID
          title: Automation Id
        description: The automation ID
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          description: The automation run ID
          title: Run Id
        description: The automation run ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushRunContactsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushRunContactsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AutomationResultFilters:
      properties:
        statuses:
          anyOf:
          - items:
              $ref: '#/components/schemas/AutomationExecutionStatus'
            type: array
          - type: 'null'
          title: Statuses
        institution_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Institution Ids
        states:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: States
        crm_linked:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Crm Linked
        search:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
        crm_pushed:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Crm Pushed
        crm_pushed_after:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Crm Pushed After
        crm_pushed_before:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Crm Pushed Before
        vendors:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Vendors
        products:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Products
        start_date_after:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Start Date After
        start_date_before:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Start Date Before
        end_date_after:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: End Date After
        end_date_before:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: End Date Before
        signal_setting_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Signal Setting Ids
        data_sources:
          anyOf:
          - items:
              $ref: '#/components/schemas/SignalSourceType'
            type: array
          - type: 'null'
          title: Data Sources
        roles:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Roles
      type: object
      title: AutomationResultFilters
    PushCustomObjectsRequest:
      properties:
        result_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Result Ids
          description: Optional list of specific automation result IDs to push. When omitted, all completed results in the run are pushed.
        filters:
          anyOf:
          - $ref: '#/components/schemas/AutomationResultFilters'
          - type: 'null'
          description: Optional filters mirroring the results listing endpoint — when provided (and ``result_ids`` is omitted), only completed results matching these filters are pushed. Ignored when ``result_ids`` is set.
      type: object
      title: PushCustomObjectsRequest
      description: Request body for pushing automation results as custom object records.
    PushStatusItem:
      properties:
        automation_result_id:
          type: string
          title: Automation Result Id
        institution_id:
          type: string
          title: Institution Id
        pushed:
          type: boolean
          title: Pushed
        pushed_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Pushed At
        fields_pushed:
          anyOf:
          - additionalProperties:
              type: string
            type: object
          - type: 'null'
          title: Fields Pushed
      type: object
      required:
      - automation_result_id
      - institution_id
      - pushed
      title: PushStatusItem
      description: Push status for a single automation result.
    PushRunContactsResponse:
      properties:
        total_contacts:
          type: integer
          title: Total Contacts
          description: Contacts targeted for push
        pushed_count:
          type: integer
          title: Pushed Count
          description: Contacts created/associated in the CRM
        skipped_unlinked_count:
          type: integer
          title: Skipped Unlinked Count
          description: Contacts skipped because their institution is not CRM-linked
        already_pushed_count:
          type: integer
          title: Already Pushed Count
          description: Contacts skipped because already pushed to this integration
          default: 0
        error_count:
          type: integer
          title: Error Count
          description: Contacts that failed to push
        results:
          items:
            $ref: '#/components/schemas/PushContactItem'
          type: array
          title: Results
          description: Per-contact push outcomes
 

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nationgraph/refs/heads/main/openapi/nationgraph-crm-automation-push-api-openapi.yml