# Common Job Options

The following job options are listed for every connector. However each connector may or may not support the common job option. Or they may have special rules for the common job options. Check each connector for additional details on how they handle the common job option.

## maxContentToPickup

An integer value.

Determines how many contents to pick up in total.

#### supported connectors

* Contentful
* Contentstack
* MS Teams
* Strapi v4

## query

A text value.

A value passed to the connector that each connector will handle appropriately. The correct format of this value is determined by each supported connector. View the job options for the connector for more details.

#### supported connectors

* Contentful
* Contentstack
* MS Teams
* Strapi v4

## dynamicStoragePath

A text value.&#x20;

The storage path for where dynamic values are stored for this job to use. Must match the `storagePath` used by the [dynamic job store manipulator](/impulse-user-manual/content-manipulators-motators/dynamic-job-store-manipulator.md#storagepath). Flags job to be a "dynamic job".&#x20;

Will replace/update job options as appropriate based on the dynamic value(s) found.&#x20;

Only usable by source connectors.

#### supported connectors

* Any source connector with support for [query job option](/impulse-user-manual/connectors/common-job-options.md#query)

### Dynamically update "query" option

The only dynamic job value at this time is the [query](/impulse-user-manual/connectors/common-job-options.md#query) job option. Each individually stored value (either from multiple contents and/or from storing an array of values) will create a separate request for more content from the source system. Each request will replace any instance of  `<|replace_query|>` with the stored value.&#x20;

i.e., If 5 dynamic values are stored, there will be 5 requests to the connector to pick up content. Each request will replace the `<|replace_query|>` with 1 of the 5 dynamic values. Thus all 5 dynamic values will be used across all 5 requests.&#x20;

#### example&#x20;

```
parameters[filename]=<|replace_query|>&options[parameters_op][filename]==
```

The above query may be updated 5 times and send a request with each of the following queries individually

```
parameters[filename]=1.png&options[parameters_op][filename]==
```

```
parameters[filename]=2.png&options[parameters_op][filename]==
```

```
parameters[filename]=3.png&options[parameters_op][filename]==
```

```
parameters[filename]=4.png&options[parameters_op][filename]==
```

```
parameters[filename]=5.png&options[parameters_op][filename]==
```

### Duplicate content pickup

Be careful to avoid a dynamic job picking up the same content from the source system. This may cause the dynamic job to hang. Each dynamic value should request a unique set of content for the job.

### Stored Dynamic Value

The stored dynamic value will always be formatted as a string to replace the appropriate value in the query option.&#x20;

## pickupDateTime

A text value.

A time stamp value which determines the modification date to pick up contents by. Default is any modification date greater than or equal to (at or after) should be picked up.

The time stamp value follows a strict format. (Time zone is optional. Not all connectors use the time zone)

```
MM/DD/YYYY HH:MM:SS TZ
```

OR

```
MM/DD/YYYY HH:MM:SS
```

Example for june 26, 2023 at 3:30:45 PM EST

```
06/26/2023 15:30:45 -0500
```

OR

```
06/26/2023 15:30:45
```

### $lastTransactionStartDate

A special value that can be set is `$lastTransactionStartDate` . When this value is set, the last successful transaction's start date for the job will be used. This can allow for only picking up contents that have been updated after the last transaction was run. A transaction is considered successful if it has 0 content errors.

If the same job has never been run, this value will be `01/01/1970 00:00:00` (epoch time)

{% hint style="warning" %}
Be aware that when using this value at the destination, this can cause additional unintended content to sync when a job was run but there were no change made to the destination.

Best practice is to pick up all destination content IDs since the first time the job was ran or earlier.
{% endhint %}

### Default behavior

When no value is set, all contents will be picked up.

## storeContent

A boolean value.

This value determines if a job should use **permanent storage** to store the content picked up or not. Permanently stored content allows for future syncs to run faster as the same (unchanged) content will not need to repeatedly be picked up. Review Impulse pricing for cost of content storage.

## updateLegacyIdMaps

A boolean value.

This value determines if Impulse should should search for id maps without a content type and update them to use a content type. This way older legacy ID maps can be updated to the modern version of ID maps with content types.

## systemObjects

A boolean value.

This value determines if Impulse should check for system objects for each content. Not all connectors support system objects.

**supported connectors**

* Dotcms
* Strapi v4 (deprecated)

## noDeliver

A boolean value.

This value determines if Impulse should deliver the content to the destination. This is supposed to be used with [Aligner Fields](/impulse-user-manual/getting-started/content-mapper/aligner-fields.md) functionality.

**supported connectors**

* All connectors


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://motivlabs.gitbook.io/impulse-user-manual/connectors/common-job-options.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
