Skip to main content

Interface: MatchStrategy

Defined in: packages/sdk/src/types/app-connection-types.ts:444

Properties

localField?

optional localField: string | null

Defined in: packages/sdk/src/types/app-connection-types.ts:462

Local field to match against (custom mode only).

Interpretation depends on localFieldType:

  • "column" (default): a Member ORM column name. The Monday backend allow-list is name | email | phone | description.
  • "member_field": a MemberField.key scoped by the connection's service_id. Any non-empty key is accepted.

Reads accept null because the backend Pydantic model (lib/app_connections/sync/types.py::MatchStrategy.localField: str | None) serializes None to JSON null and existing saved configs may carry it. Writes should prefer undefined (or field omission) — JSON null round-trips back through the load path but ambiguates "unset" vs. "explicitly null" on save.


localFieldType?

optional localFieldType: "column" | "member_field" | null

Defined in: packages/sdk/src/types/app-connection-types.ts:477

How to interpret localField for mode="custom" strategies.

"column" is the default for legacy configs and non-custom modes. "member_field" (GRA-2920) lets a Monday board match by a service-scoped MemberField key — e.g. Board A writes an MRN via a managed_field rule, and Board B matches on that key.

Reads accept null because the backend Pydantic model serializes the default through JSON; writes should pass "column" or "member_field" explicitly, or omit the field for column-backed legacy behavior.


mode

mode: MatchStrategyMode

Defined in: packages/sdk/src/types/app-connection-types.ts:445


remoteField?

optional remoteField: string | null

Defined in: packages/sdk/src/types/app-connection-types.ts:478