Singer.io tap for extracting FreshWorks CRM Data
Project description
tap_freshworkscrm
This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
-
Pulls raw data from FreshWorks CRM REST API
-
Extracts the following resources:
-
Outputs the schema for each resource
-
Pulls all data
Installation
-
Clone the app
-
Create virtual env
virtualenv test
thensource test/bin/activate
-
Install dependencies i.e
pip install -e .
-
Run Tests
pytest tests
How to run the tap
- Create a config file from the
sample_config
already provided
{
"api_key": "your-api-token",
"domain": "subdomain",
"start_date": "2021-09-26T00:00:00Z"
}
- Run the command below
python tap_freshworkscrm/__init__.py --config config.json >> state.json
- Where state.json - a file where the tap writes all data pulled from freshsales.
If successful, state.json should have this format.
-
STATE :
{ item_id: updated_at }
- Adds the bookmapping function where only sync if a record has been updated from previous sync. -
SCHEMA : Generated schema - automates the
Data insert
process -
RECORD : Actual data for each record in json format.
Running tap to Postgres Database
-
To push data from tap_freshsale to postgres db using the target-postgres
-
Add db_config
{
"host": "localhost",
"port": 5432,
"dbname": "local freshsales db",
"user": "db user",
"password": "db password",
"schema": "tap_freshworkscrm"
}
- Run this command
python your_virtual_env/bin/tap_freshworkscrm --config ../config.json | your_virtual_env/bin/target-postgres -c ../db_config.json
Running tap to Redshift Database
-
To push data from tap_freshsale to Redshift db using the target-redshift
-
Pip install target-redshift
-
Add db_config
{
"redshift_username": "username",
"redshift_schema": "tap_freshworkscrm",
"redshift_host": "your redshift.amazonaws.com",
"redshift_password": "password",
"redshift_port": 5439,
"redshift_database": "your db",
"default_column_length": 1000,
"target_s3":{
"aws_access_key_id": "AKIA...",
"aws_secret_access_key": "secrete key",
"bucket": "bucket name",
"key_prefix": "temp_"
}
}
- Run this command
python your_virtual_env/bin/tap_freshworkscrm --config ../config.json | your_virtual_env/bin/target-redshift -c ../db_config.json
Since python2.7 has been deprecated, you might have to
pip3 install target-redshift
or copy the target-redshift file toyour_env/bin/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for tap_freshworkscrm-0.1.0-py3.8.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9de874e88c92f02758b518cf00278d78d7943da10ed0adbbe08f95a4051e6e84 |
|
MD5 | 378877c6b281595c9f2cc480140d3796 |
|
BLAKE2b-256 | 32fbba506072770481828e95fdc17c51a838b908d176fdd337e892ef6d6e71dd |
Hashes for tap_freshworkscrm-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | beaf4446c07e0b2f06fccf8e860ead440addd399ee77d3b4ce755790ee9442c8 |
|
MD5 | 62339c58a679416f5322f1d6facdef6d |
|
BLAKE2b-256 | e72bfbf33c37e655f5bc3bb48eb0226c66e6d60d5aa7a37fe3ff26fb70ccf248 |