Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Source: Front #2972

Closed
sherifnada opened this issue Apr 20, 2021 · 9 comments
Closed

New Source: Front #2972

sherifnada opened this issue Apr 20, 2021 · 9 comments

Comments

@sherifnada
Copy link
Contributor

sherifnada commented Apr 20, 2021

Tell us about the new integration you’d like to have

https://frontapp.com/api

┆Issue is synchronized with this Asana task by Unito

@karinakuz
Copy link
Contributor

karinakuz commented Jul 29, 2021

Integration Vetting

Webhook-based? (no/partially/yes)
if partially, mention which endpoints are webhook-based
Partially (https://dev.frontapp.com/docs/webhooks-1). For each Event (https://dev.frontapp.com/reference/events-1) happening in Front webhook will receive a POST HTTP request with the event preview JSON representation in the request body.

Available authentication modes (API key/Oauth/other)
Private resource access and OAuth access (https://dev.frontapp.com/docs/core-api-getting-started). For creation an OAuth application we should send a letter to support.

Connecting to the data source
what kind of API is it? (SOAP/GraphQL/REST/other)
Front’s platform is made up of three primary APIs: Core API, Plugin SDK, and Channel API

is there an SDK available? Can we connect with HTTP requests directly?
SDK is available for several specific events

no

Creating an account
Select one of the below options
self-service free account available?_ If yes then create it using integration-test@airbyte.io (you should be getting emails sent to this email address)
7 day free trial

self-service paid account available? Please mention the cost of the various tiers and any recommendation about which tier we should buy_. Don't create the account right now.
Plan: Starter $19 USD (per person, per month, billed annually)

account only available through email, application, or call? If you can fill out the application online (email or form) please do so and note that on the ticket. If a call is needed, please reach out to sherif to have him arrange the call
no

How to populate the account with data?
Can it be done entirely through the API?
API that allows you to read, create, update, and delete a wide range of data across Front’s various entities, from Contacts to Comments to Tags.

Will it require some work through the UI? If so, what is required?
yes

Will it require performing some paid action like running an Ad campaign? If so, please note the action needed, estimated cost, and estimated effort in hours. If a task will take more than 4 hours, please break it down into smaller tasks each of which take no more than 4 hours
no

Do you need any actions from Airbyte to populate the account with data? If so, please tag @ sherifnada for support
no

Available streams for sync
If this is an API connector:

  1. Provide a link  to the reference docs
    _https://dev.frontapp.com/reference/introduction
    Main:
    Get Events https://dev.frontapp.com/reference/events-1#get_events-event-id
    Get Responses https://dev.frontapp.com/reference/responses-1#get_responses-response-id
    Get Contacts https://dev.frontapp.com/reference/contacts#get_contacts-contact-id
    Get Channels https://dev.frontapp.com/reference/channels#get_channels-channel-id
    Get Inboxes https://dev.frontapp.com/reference/inboxes-1#get_inboxes-inbox-id-1
    Get Comments https://dev.frontapp.com/reference/comments#get_comments-comment-id
    Get Conversations https://dev.frontapp.com/reference/conversations-1#get-conversation-by-id-1
    Get Messages https://dev.frontapp.com/reference/messages-1#get_messages-message-id-1
    Get Rules https://dev.frontapp.com/reference/rules-1#get_rules-rule-id-1
    Get Tags https://dev.frontapp.com/reference/tags-1#get_tags-tag-id
    Get Teams https://dev.frontapp.com/reference/teams#get_teams-team-id-1
    Get Teammates https://dev.frontapp.com/reference/teammates#get_teammates-teammate-id-1
    Get Topics https://dev.frontapp.com/reference/topics-1#get_topics-topic-id

  2. Please mention if any of the endpoints are asynchronous (meaning we have to make a request, wait for the server to compute a response, then make another request to obtain the result)
    no

if this is a source where the schema is dynamic/not fixed e.g: database, mention the data model of the connector i.e: relational, document-based, graph-based, etc
no

Do any streams support incremental sync?
not necessary to mention all of them, just saying “none”, “some”, or “all” is sufficient. If only some streams, please mention which ones support incremental sync
no

Preparation scope & blockers

What information, materials, or anything else you will need from Airbyte in order to perform preparation for this connector?
no

Other information/blockers
place any other useful information you learned here
no

@karinakuz
Copy link
Contributor

Preparation

Creating the account

  • create an account, get API Secret and API token for Private resource access, send letter to support to receive Client ID and Client Secret to get API token for OAuth access. (1h)

For information:

Private resource access
By default, individual resources are private and the API does not let you interact with them nor with their content.
However, a user has the ability to allow access to their individual resources from the API in their settings (Settings > My preferences > "Allow access to my individual resources via the API").

OAuth access
Integrations relying on OAuth all have the same scope: “Shared resources”, and at this time cannot request more permissive scopes. This means that integrations that use OAuth will be able to access all team resources

@karinakuz
Copy link
Contributor

karinakuz commented Aug 4, 2021

Populating the account with data
[ ] Do activities on the account: open/close 10 times, change profile data, create API queries in Postman to add data to account, fill account with the data manually because of errors in POST api. Create API for main streams and verify I get in response correct data from account. Add notes to LastPass Description (12h).

Get correct data in responses for GET requests:
Get Events https://api2.frontapp.com/events
Get Responses https://api2.frontapp.com/responses
Get Contacts https://api2.frontapp.com/contacts
Get Channels https://api2.frontapp.com/channels
Get Inboxes https://api2.frontapp.com/inboxes
Get Comments (get data for certain conversation only) https://api2.frontapp.com/conversations/conversation_id/comments
Get Conversations https://api2.frontapp.com/conversations
Get Messages (get data for certain conversation only) https://api2.frontapp.com/conversations/conversation_id/messages
Get Rules https://api2.frontapp.com/rules
Get Tags https://api2.frontapp.com/tags
Get Teams https://api2.frontapp.com/teams
Get Teammates https://api2.frontapp.com/teammates
Get Topics https://api2.frontapp.com/topics

@karinakuz
Copy link
Contributor

karinakuz commented Aug 4, 2021

Describing the output schema
[ ] Converting JSON to JSON Schema (1h)
JSON Schemas https://drive.google.com/drive/folders/1TTUlOWNq-s81pRcK1oVqBBVlOg1i-7QV?usp=sharing

@sherifnada
Copy link
Contributor Author

@karinakuz could you reach out to Front to ask for an oauth developer application so we can begin implementation?

@lharries
Copy link

Hi @karinakuz and @sherifnada is there an estimated date when this integration would be completed?

@sherifnada
Copy link
Contributor Author

@lharries no ETA as we've scaled back work on new connectors to focus on reliability and features on existing connector, atm the fatest way to get this into the product is to submit a PR.

@lharries
Copy link

Understood, thank you

@natikgadzhi
Copy link
Contributor

Shipped!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants