New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

embulk-input-marketo-through-proxy

Package Overview
Dependencies
Maintainers
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

embulk-input-marketo-through-proxy

  • 0.6.21
  • Rubygems
  • Socket score

Version published
Maintainers
4
Created
Source

Marketo input plugin for Embulk (through proxy)

  • This plugin is an extension of embulk-input-marketo that allows you to access Marketo API through a proxy server.

embulk-input-marketo is the gem preparing Embulk input plugins for Marketo.

  • Lead(lead)
  • Activity log(activity)
  • Lead by list(all_lead_with_list_id)
  • Lead by program(all_lead_with_program_id)
  • Campaign(campaign)
  • Assets Programs (program)

This plugin uses Marketo REST API.

Overview

Required Embulk version >= 0.8.33 (since 0.6.0).

  • Plugin type: input
  • Resume supported: no
  • Cleanup supported: no
  • Guess supported: no

Install

$ embulk gem install embulk-input-marketo

Configuration

API

Below parameters are shown in "Admin" > "Web Services" page in Marketo.

Base configuration parameter

All target have this configuration parameters

namerequireddefault valuedescription
targettrueMarketo targets
account_idtrueMarketo Muchkin id
client_idtrueMarketo REST client id
client_secrettrueMarketo REST client secret
marketo_limit_interval_milisfalse20Marketo have limitation of 100 calls per 20 second. If REST API calls are failed they will wait this amount of time before retry
batch_sizefalse300Token paging batch size. Some REST API support batch
max_returnfalse200Max return for Endpoint that use offset paging
partner_api_keyfalseSet Marketo Partner API Key see: http://developers.marketo.com/support/Marketo_LaunchPoint_Technology_Partner_API_Key.pdf

Bulk extract target configuration parameter (Lead and Activity)

All bulk extract target use this configuration parameter

namerequireddefault valuedescription
from_datetrueImport data since this date. Example: 2017-10-11T06:43:24+00:00
fetch_daysfalse1Amount of days to fetch since from_date
polling_interval_secondfalse60Amount of time to wait between pooling job status in second
bulk_job_timeout_secondfalse3600Amount of time to wait for bulk job to complete in second
incrementalfalsetrueIf incremental is set to true, next run will have from_date set to the previous to_date(calculated by from_date + fetch_days)
incremental_columnfalsecreatedAtColumn use to filter from_date and to_date

Lead

Lead target extract all Marketo leads, it use Marketo bulk extract feature. Configuration include bulk extract configuration.

target: lead

Configuration:

namerequireddefault valuedescription
use_updated_atfalsefalseSupport filter with updateAt column, but not all Marketo Account have the feature to filter by updatedAt, updatedAt don't support incremental ingestion
included_fieldsfalsenullList of lead fields to included in export request sent to Marketo, can be used to reduce the size of BulkExtract file

Schema type: Dynamic via describe lead endpoint.

Incremental support: yes

Range ingestion: yes

Activity

Activity target extract all Marketo activity log. Configuration include all bulk extract configuration

target: activity

Schema type: Static schema

Incremental support: yes

Range ingestion: yes

Filter by specific activity type ids: yes. See #95

Campaign

Campaign extract all campaign data from Marketo

target: campaign

Schema type: Static schema

Incremental support: no

Range ingestion: no

Lead by list

Extract all Lead data including lead's list id

target: all_lead_with_list_id

Configuration:

namerequireddefault valuedescription
included_fieldsfalsenullList of lead fields to included in export request sent to Marketo, can be used to reduce request, response size
list_idsfalsenullImport Leads by specified Lists_ID. If not specified will import all Leads by all List IDs

Schema type: Dynamic via describe leads. Schema will have 1 addition column name listId that contain the id of the list the lead belong to

Incremental support: no

Range ingestion: no

Lead by program

Extract all Lead data including lead's program id

target: all_lead_with_program_id

Configuration:

namerequireddefault valuedescription
included_fieldsfalsenullList of lead fields to included in export request sent to Marketo, can be used to reduce request, response size
program_idsfalsenullImport Members by specified Program_ID (comma-separated). If not specified will import all Members by all Program IDs

Schema type: Dynamic via describe leads. Schema will have 1 addition column name listId that contain the id of the list the lead belong to

Incremental support: no

Range ingestion: no

Assets programs

Get Assets Programs by Query Tag type, Date range or all if no query by specified.

target: program

Configuration:

namerequireddefault valuedescription
query_byfalsenullGet assets programs by query, supported values date_range, tag_type leave unset to fetch all programs
earliest_updated_atfalsenullRequired if query by date_range is selected. Exclude programs prior to this date. Must be valid ISO-8601 string
latest_updated_atfalsenullRequired if query by date_range is selected. Exclude programs after this date. Must be valid ISO-8601 string
filter_typefalsenullOptional value send with query by date_range is selected to filter out the result from Marketo. Supported values id, programId, folderId, workspace
filter_valuesfalsenullSet the values associated with filter_type
tag_typefalsenullRequired if query by tag_type is selected. Type of program tag
tag_valuefalsenullRequired if query by tag_type is selected. Value of the tag
report_durationfalsenullAmount of milliseconds to fetch from earliest_updated_at. If incremental = true this value will automatically calculated for the first run by latest_updated_at - earliest_updated_at
incrementalfalsetrueIf incremental is set to true, next run will have earliest_updated_at set to the previous latest_updated_at + report_duration. Incremental import only support by query date_range

Schema type: Static schema

Incremental support: yes (Query by date_range only)

Range ingestion: yes

target: all_lead_with_program_id

Configuration:

namerequireddefault valuedescription
custom_object_api_nametruenullThe API name of the custom object
custom_object_fieldsfalsenullComma separated API name of fields of the custom object (Optional)
custom_object_filter_typetruenullField to search on Valid values are: dedupeFields, idFields, and any field defined in searchableFields attribute of Describe endpoint. Default is dedupeFields
custom_object_filter_valuesfalsenullComma-separated list of field values to match.
custom_object_filter_from_valuefalsenullFilter Marketo Custom Object has value greater than this value
custom_object_filter_to_valuefalsenullFilter Marketo Custom Object has value smaller than this value. If not set, only records that have value greater than "From Value" will be returned. Job will stop if no record found in 300 consecutive value.

Schema type: dynamic schema Incremental support: no

Example

For lead, you have partial-config.yml like below:

in:
  type: marketo
  target: lead
  account_id: ACCOUNT_ID
  client_id: CLIENT_ID
  client_secret: CLIENT_SECRET
  from_date: 2017-09-01
  fetch_days: 1
out:
  type: stdout

You can run embulk guess partial-config.yml -o lead-config.yml and got lead-config.yml. lead-config.yml includes a schema for Lead.

Next, you can run embulk preview lead-config.yml for preview and embulk run lead-config.yml for run.

Example of Assets Programs config

in:
  account_id: ACCOUNT_ID
  client_id: CLIENT_ID
  client_secret: CLIENT_SECRET
  target: program
  type: marketo
  query_by: date_range
  filter_type: folderId
  filter_values: 
   - 2598
   - 1001
  earliest_updated_at: 2018-08-20T00:00:00.000Z
  latest_updated_at: 2018-08-31T00:00:00.000Z
  incremental: true

If you need to access the Marketo API through a proxy, set the environment variable.

export embulk_proxy_host=<Your-Proxy-Host>
export embulk_proxy_port=<Your-Proxy-Port>
embulk run config.yml

FAQs

Package last updated on 19 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc