# Function: makeDynamicSyncTable()

> **makeDynamicSyncTable**\<`K`, `L`, `ParamDefsT`, `SchemaT`, `ContextT`, `PermissionsContextT`>(`__namedParameters`): [`DynamicSyncTableDef`](../../interfaces/DynamicSyncTableDef/)\<`K`, `L`, `ParamDefsT`, `any`, `ContextT`, `PermissionsContextT`>

Defined in: [api.ts:2821](https://github.com/coda/packs-sdk/blob/b2b4c9dba5ca748bdbb94481cc13b5ca3c328ef6/api.ts#L2821)

Creates a dynamic sync table definition.

## Example

```
sdk.makeDynamicSyncTable({
  name: "MySyncTable",
  getName: async function(context) => {
    const response = await context.fetcher.fetch({method: "GET", url: context.sync.dynamicUrl});
    return response.body.name;
  },
  getName: async function(context) => {
    const response = await context.fetcher.fetch({method: "GET", url: context.sync.dynamicUrl});
    return response.body.browserLink;
  },
  ...
});
```

## Type Parameters

| Type Parameter | | --- | | `K` *extends* `string` | | `L` *extends* `string` | | `ParamDefsT` *extends* [`ParamDefs`](../../type-aliases/ParamDefs/) | | `SchemaT` *extends* [`ObjectSchemaDefinition`](../../interfaces/ObjectSchemaDefinition/)\<`K`, `L`> | | `ContextT` *extends* [`SyncExecutionContext`](../../interfaces/SyncExecutionContext/)\<`any`, `any`, `any`> | | `PermissionsContextT` *extends* `SyncPassthroughData` |

## Parameters

| Parameter | Type | | --- | --- | | `__namedParameters` | { `connectionRequirement?`: [`ConnectionRequirement`](../../enumerations/ConnectionRequirement/); `defaultAddDynamicColumns?`: `boolean`; `description?`: `string`; `displayName?`: `string`; `entityName?`: `string`; `formula`: [`FormulaOptions`](../../type-aliases/FormulaOptions/)\<`ParamDefsT`, [`SyncFormulaDef`](../../interfaces/SyncFormulaDef/)\<`K`, `L`, `ParamDefsT`, `any`, `ContextT`, `PermissionsContextT`>>; `getDisplayUrl`: [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<`ContextT`>; `getName`: [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<`ContextT`>; `getSchema`: [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<`ContextT`>; `identityName`: `string`; `indexing?`: { `default`: [`DataIndexing`](../../enumerations/DataIndexing/); }; `listDynamicUrls?`: [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<[`ExecutionContext`](../../interfaces/ExecutionContext/), [`LegacyDefaultMetadataReturnType`](../../type-aliases/LegacyDefaultMetadataReturnType/)>; `name`: `string`; `placeholderSchema?`: `SchemaT`; `propertyOptions?`: [`PropertyOptionsMetadataFunction`](../../type-aliases/PropertyOptionsMetadataFunction/)\<`any`>; `searchDynamicUrls?`: [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<[`ExecutionContext`](../../interfaces/ExecutionContext/), [`LegacyDefaultMetadataReturnType`](../../type-aliases/LegacyDefaultMetadataReturnType/)>; } | | `__namedParameters.connectionRequirement?` | [`ConnectionRequirement`](../../enumerations/ConnectionRequirement/) | | `__namedParameters.defaultAddDynamicColumns?` | `boolean` | | `__namedParameters.description?` | `string` | | `__namedParameters.displayName?` | `string` | | `__namedParameters.entityName?` | `string` | | `__namedParameters.formula` | [`FormulaOptions`](../../type-aliases/FormulaOptions/)\<`ParamDefsT`, [`SyncFormulaDef`](../../interfaces/SyncFormulaDef/)\<`K`, `L`, `ParamDefsT`, `any`, `ContextT`, `PermissionsContextT`>> | | `__namedParameters.getDisplayUrl` | [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<`ContextT`> | | `__namedParameters.getName` | [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<`ContextT`> | | `__namedParameters.getSchema` | [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<`ContextT`> | | `__namedParameters.identityName` | `string` | | `__namedParameters.indexing?` | { `default`: [`DataIndexing`](../../enumerations/DataIndexing/); } | | `__namedParameters.indexing.default` | [`DataIndexing`](../../enumerations/DataIndexing/) | | `__namedParameters.listDynamicUrls?` | [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<[`ExecutionContext`](../../interfaces/ExecutionContext/), [`LegacyDefaultMetadataReturnType`](../../type-aliases/LegacyDefaultMetadataReturnType/)> | | `__namedParameters.name` | `string` | | `__namedParameters.placeholderSchema?` | `SchemaT` | | `__namedParameters.propertyOptions?` | [`PropertyOptionsMetadataFunction`](../../type-aliases/PropertyOptionsMetadataFunction/)\<`any`> | | `__namedParameters.searchDynamicUrls?` | [`MetadataFormulaDef`](../../type-aliases/MetadataFormulaDef/)\<[`ExecutionContext`](../../interfaces/ExecutionContext/), [`LegacyDefaultMetadataReturnType`](../../type-aliases/LegacyDefaultMetadataReturnType/)> |

## Returns

[`DynamicSyncTableDef`](../../interfaces/DynamicSyncTableDef/)\<`K`, `L`, `ParamDefsT`, `any`, `ContextT`, `PermissionsContextT`>
