<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-hubspot-nar</artifactId><version>2.4.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-shared-nar</artifactId><version>2.4.0</version></parentNar><systemApiVersion>2.1.0</systemApiVersion><buildInfo><tag>rel/nifi-2.4.0</tag><branch>main</branch><revision>1</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.hubspot.GetHubSpot</name><type>PROCESSOR</type><description>Retrieves JSON data from a private HubSpot application. This processor is intended to be run on the Primary Node only.</description><tags><tag>hubspot</tag></tags><properties><property><name>object-type</name><displayName>Object Type</displayName><description>The HubSpot Object Type requested</description><allowableValues><allowableValue><displayName>Companies</displayName><value>/crm/v3/objects/companies</value><description>In HubSpot, the companies object is a standard CRM object. Individual company records can be used to store information about businesses and organizations within company properties.</description></allowableValue><allowableValue><displayName>Contacts</displayName><value>/crm/v3/objects/contacts</value><description>In HubSpot, contacts store information about individuals. From marketing automation to smart content, the lead-specific data found in contact records helps users leverage much of HubSpot's functionality.</description></allowableValue><allowableValue><displayName>Deals</displayName><value>/crm/v3/objects/deals</value><description>In HubSpot, a deal represents an ongoing transaction that a sales team is pursuing with a contact or company. It’s tracked through pipeline stages until won or lost.</description></allowableValue><allowableValue><displayName>Line Items</displayName><value>/crm/v3/objects/line_items</value><description>In HubSpot, line items can be thought of as a subset of products. When a product is attached to a deal, it becomes a line item. Line items can be created that are unique to an individual quote, but they will not be added to the product library.</description></allowableValue><allowableValue><displayName>Products</displayName><value>/crm/v3/objects/products</value><description>In HubSpot, products represent the goods or services to be sold. Building a product library allows the user to quickly add products to deals, generate quotes, and report on product performance.</description></allowableValue><allowableValue><displayName>Tickets</displayName><value>/crm/v3/objects/tickets</value><description>In HubSpot, a ticket represents a customer request for help or support.</description></allowableValue><allowableValue><displayName>Quotes</displayName><value>/crm/v3/objects/quotes</value><description>In HubSpot, quotes are used to share pricing information with potential buyers.</description></allowableValue><allowableValue><displayName>Calls</displayName><value>/crm/v3/objects/calls</value><description>Get calls on CRM records and on the calls index page.</description></allowableValue><allowableValue><displayName>Emails</displayName><value>/crm/v3/objects/emails</value><description>Get emails on CRM records.</description></allowableValue><allowableValue><displayName>Meetings</displayName><value>/crm/v3/objects/meetings</value><description>Get meetings on CRM records.</description></allowableValue><allowableValue><displayName>Notes</displayName><value>/crm/v3/objects/notes</value><description>Get notes on CRM records.</description></allowableValue><allowableValue><displayName>Tasks</displayName><value>/crm/v3/objects/tasks</value><description>Get tasks on CRM records.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>access-token</name><displayName>Access Token</displayName><description>Access Token to authenticate requests</description><required>true</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>result-limit</name><displayName>Result Limit</displayName><description>The maximum number of results to request for each invocation of the Processor</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>is-incremental</name><displayName>Incremental Loading</displayName><description>The processor can incrementally load the queried objects so that each object is queried exactly once. For each query, the processor queries objects within a time window where the objects were modified between the previous run time and the current time (optionally adjusted by the Incremental Delay property).</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>incremental-delay</name><displayName>Incremental Delay</displayName><description>The ending timestamp of the time window will be adjusted earlier by the amount configured in this property. For example, with a property value of 10 seconds, an ending timestamp of 12:30:45 would be changed to 12:30:35. Set this property to avoid missing objects when the clock of your local machines and HubSpot servers' clock are not in sync and to protect against HubSpot's mechanism that changes last updated timestamps after object creation.</description><defaultValue>30 sec</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>is-incremental</propertyName><propertyDisplayName>Incremental Loading</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property><property><name>incremental-initial-start-time</name><displayName>Incremental Initial Start Time</displayName><description>This property specifies the start time that the processor applies when running the first request. The expected format is a UTC date-time such as '2011-12-03T10:15:30Z'</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>is-incremental</propertyName><propertyDisplayName>Incremental Loading</propertyDisplayName><dependentValues><dependentValue>true</dependentValue></dependentValues></dependency></dependencies></property><property><name>web-client-service-provider</name><displayName>Web Client Service Provider</displayName><description>Controller service for HTTP client operations</description><controllerServiceDefinition><className>org.apache.nifi.web.client.provider.api.WebClientServiceProvider</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.4.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>For FlowFiles created as a result of a successful HTTP request.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>mime.type</name><description>Sets the MIME type to application/json</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><primaryNodeOnly>true</primaryNodeOnly><defaultSettings><yieldDuration>10 sec</yieldDuration><penaltyDuration>30 sec</penaltyDuration><bulletinLevel>WARN</bulletinLevel></defaultSettings><stateful><description>In case of incremental loading, the start and end timestamps of the last query time window are stored in the state. When the 'Result Limit' property is set, the paging cursor is saved after executing a request. Only the objects after the paging cursor will be retrieved. The maximum number of retrieved objects can be set in the 'Result Limit' property.</description><scopes><scope>CLUSTER</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension></extensions></extensionManifest>