Skip to content

Sync profiles cannot pass query/filter parameters to POST-based list actions #116

@ameet

Description

@ameet

Problem

Sync profiles only support queryParams and pathVars for passing parameters to list actions. When the list action is a POST endpoint (like Gmail List Threads - GGSNlnppgZ0), the query parameter needs to be in the request body, not a URL query parameter.

The sync framework sends queryParams as URL params regardless of HTTP method. POST actions that read from the request body never see the filter, and return unfiltered results.

Example

Gmail sync profile:

{
  "actionId": "conn_mod_def::GGSNlnppgZ0::qk3CudDWTVKPY7hpPVCqLQ",
  "queryParams": {
    "q": "subject:\"Portfolio Company Updates\" newer_than:2y"
  }
}

The action expects:

POST /gmail/get-threads
Body: {"query": "subject:Portfolio Company Updates", "numberOfThreads": 50}

But the sync sends:

POST /gmail/get-threads?q=subject%3A%22Portfolio+Company+Updates%22+newer_than%3A2y
Body: {} (empty)

The query is ignored. The action returns its default (most recent 10 threads regardless of filter).

Requested fix

Add a body field to sync profile schema so POST-based list actions can receive their filter parameters correctly.

Related

withoneai/knowledge#65 — Gmail actions not returning filtered results

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions