elasticio / pipedrive-component

Pipedrive CRM integration component for elastic.io
Apache License 2.0
0 stars 4 forks source link

Comprehensive workflow #4

Closed zubairov closed 6 years ago

zubairov commented 7 years ago

I tested the first version of the component and it worked well. Main feedback however is that to make it suitable for my use-case I need to re-combine some steps that are implemented in connector in different sequence, and/or granularity. For example:

When new sales lead is registered on the web I need

When a white-paper or any other material downloaded from our web-page, we need

AlpBilgin commented 7 years ago

Hello @zubairov ,

I am currently working on a solution. I successfully grafted some additional logic on the createDeal() action, but I need some clarifications before I/O relevant code can be built.

When new sales lead is registered on the web I need

Create new person and organization for it. This can be done as one step, however I need an ability to specify the owner of the newly created org/person

Create a deal associated with given person&org

Put a note on the deal with the message the sales lead left in the registration form

The existing code already expects a message string in the data object and uses it in a Printf() style output.

    let note = {
        deal_id: deal.id,
        content: util.format("
        Deal generated by the website:
        Lead"s name: %s
        Contact email: %s
        Contact phone number: %s
        Role: %s
        Company: %s
        Size of the company: %s

        Submitted message:
        %s
        ", data.contact_name, data.contact_email, data.contact_phone, data.role, data.company, data.company_size, data.message),
} as Note;

Would it be enough if this string was simplified to include only the message received from the data source?

Schedule a Task for a particular sales person to follow-up on that deal

When a white-paper or any other material downloaded from our web-page, we need

zubairov commented 7 years ago

Hi @AlpBilgin

Could you please describe the information that will be made available to the Pipedrive component when it is triggered? An example JSON object with annotation as to which fields are optional would be the best.

This should be irrelevant for the task at hand.

Create new person and organization for it. This can be done as one step, however I need an ability to specify the owner of the newly created org/person Should these two entities always have the same owner?

Yes

Should the elastic.io component contain a configuration field that accepts a user_id that will be used as a default value. Normally default target is the owner of the API key. This could be useful for changing the default target without changing the API key.

Yes, good idea. It could be optional, if not filled then API-key owner will be the one that is used.

Are both person and org required? Can a deal be created if only one id is supplied and the other is left empty. If yes should the empty field trigger a new person or org creation?

Not sure here, please check Pipedrive API documentation. I think one of them should be required, but not sure.

Would it be enough if this string was simplified to include only the message received from the data source?

Yes, it should be a new action 'Create Note', it should expect either deal ID or person ID or Origanization ID, I assume.

Scheduling implies that simply creating an Activity isn't enough but also a due date (and possibly time) should be set. Is this correct?

Not sure, please check API Documentation

Could this assigned salesperson be different from the person/org owner mentioned above?

Would be great to give the integrator this possibility.

Could you please describe the information that will be made available to the Pipedrive component when it is triggered? An example JSON object with annotation as to which fields are optional would be the best.

Again this shouldn't be relevant here, if we have actions from above I'm sure we would be able to implement it.

AlpBilgin commented 7 years ago

Hi @zubairov,

Thanks for the quick reply. Pipedrive API has very few constraints. I asked these questions in terms of user side constraints (such as submitted form content). Without user side constraints, I will attempt to conform to the flexibility of PD API.

zubairov commented 7 years ago

I suggest you do it in quick and short iterations

zubairov commented 6 years ago

I'll close this issue and open new.