Developers & Partners Guide for Deep Integration of Picky Assist
This guide serves as a comprehensive reference for developers and partners who wish to integrate Picky Assist's various automation capabilities into third-party applications. Before getting started, please ensure you have a solid understanding of the Picky Assist product ecosystem and how it adds value to companies worldwide. Here’s a brief introduction to our products:
Connector
The Connector is where all the automation and integration happens. It is a no-code integration builder that works on the principle of Trigger & Action, similar to tools like Zapier, Pabbly Connect, and Make. This is the tool most developers rely on to build integrations between the Picky Assist ecosystem and third-party applications.
The Connector is used for both pushing and pulling information. When you want to push data into the Picky Assist ecosystem, you can create a Connector that generates a unique URL. From the third-party application, you simply need to post the payload in JSON format to the Connector URL. Then, using our visual interface, you can map out the steps to be taken in the Picky Assist product ecosystem. We offer over 35 internal actions that can be configured visually.
When you want to send data from Picky Assist to a third-party platform, you can also use the Connector, which can be triggered by Smart Replies, Broadcaster, Schedulers, Mini App, Macro Buttons, and Facebook Lead Ad Forms.
Additional features in the Connector include Formatter, Filter, Delay, and HTTP API, making the integration more dynamic and easier for developers.
Example: To integrate a third-party CRM with Picky Assist, you can use the Connector to automatically sync new leads from the CRM to Picky Assist for automated follow-up using WhatsApp or email.
Omni Channels
Picky Assist allows businesses to connect multiple channels into a single platform, including WhatsApp, Facebook Messenger, and Instagram. We provide an HTTP API for sending and receiving messages across these channels.
Teambox
Teambox is an omni-channel team collaboration product that enables businesses to unify messages from various channels like WhatsApp, Facebook Messenger, and Instagram. It allows internal team members to collaborate and assist customers.
We offer the following developer tools within Teambox through the Picky Assist Connector, enabling chat routing logic and allocation from third-party apps:
Assign Chat
Remove Chat
Add Event Feed & Buttons
We also have a Mini App feature, where you can build a form linked with Teambox and further connected to the Connector to trigger updates from Teambox.
Example: An agent chatting with a customer can pull relevant information from a third-party CRM using only the customer's email address, without leaving the Teambox interface.
Chatbots
Our Flow Builder allows the creation of WhatsApp chatbots without coding. However, for developers, we offer options to pull and push data into the chatbot system through the following:
Add Contact to Chatbot
Remove Contact from Chatbot
Additional features for developers include HTTP API, Webhook, Formatter, Splitter, External Attributes, Runtime Variables, and Global Variables.
Modular CRM
This is where all the data can be stored in a structured way. Unlike other CRMs, Picky Assist has a modular architecture, allowing customers to create and link their own modules. Permissions can be set at granular levels for different users.
Available actions for developers include:
Add Record to CRM
Search Record
Update Record
Delete Record
Through CRM Macro Buttons, data can be pushed from the CRM to third-party platforms, offering flexibility for businesses that need to run manual automations.
Our CRM's workflow also allows triggering HTTP APIs, enabling the syncing of data between the CRM and third-party platforms.
Example: A customer’s details can be automatically updated in an external inventory management system whenever a new sale is logged in Picky Assist's CRM.
Smart Replies
Smart Replies is a keyword-based system that automatically responds to incoming messages when predefined keywords are detected. For example, if a customer asks, "Where is your location?", the system can automatically respond with the address and location.
Smart Replies also integrates with third-party platforms through Smart Actions, supporting over 35 actions, including triggering chatbots, assigning chats, and routing messages via the Connector.
It also supports Trigger Webhook, where the system sends a request to a configured Webhook URL and waits for a response, which can then be passed to the customer.
Example: If a customer asks, "What is my balance?", the Smart Reply can trigger a Webhook to fetch the balance from a third-party system and respond with the appropriate information.
Broadcaster
The Broadcaster allows businesses to send bulk WhatsApp messages to existing contacts. Developers can utilize the following features:
Track URL & Button Clicks: Track clicks on URLs and buttons within WhatsApp messages. This data can be sent to the Connector for further analysis or automation.
Follow-up Action Trigger: If contacts do not respond to a campaign within a certain time frame, this action can trigger automation either within Picky Assist or in third-party platforms.
Trigger Campaign: Programmatically send campaigns to segmented contacts with dynamic messages passed from third-party platforms.
Example: If a customer does not interact with a campaign after two days, a follow-up action can be triggered to re-engage the customer via a personalized WhatsApp message.
Conversational Funnels
Conversational Funnels allow businesses to visually create automated workflows to nurture leads by sending periodic messages. For example, a lead can receive a series of WhatsApp messages over a few days, followed by an assigned task for a sales agent.
Supported actions within funnels include:
Add Record to Funnel
Remove Record from Funnel
Call Tracking (Call Blaze)
Picky Assist includes an Android-based call tracking system. When enabled, developers can receive real-time events through the Connector by configuring it in Phone Bridge settings. Supported events include:
Answered
Dialed
Missed Call
Not Answered
Ringing
Please note, calls cannot be placed through this feature. It is primarily for syncing call logs with third-party platforms via the Connector
Fundamentals (Must Read)
Kindly read the fundamentals of the Picky Assist platform so that you can build the perfect solution according to customer requirements.
Picky Assist integration is mostly built using no-code Connectors, so please make sure you have a clear understanding of the various possibilities of the Connectors, including different limitations and how it is billed to customers, including the rate limits.
Unique Contact Per Channel
Picky Assist channels have unique IDs, and it is possible for clients to add multiple channels. Each channel can have unique contacts. The uniqueness is verified using the mobile number and email address, i.e., the Contact module may have duplicate phone numbers, but they should be unique to the channel.
Example: A company can connect two WhatsApp channels for Sales & Support. If the same customer contacts through Channel A (Sales), a contact gets created for Channel A. When the same customer contacts through Channel B (Support), another contact gets created for Channel B, making the contacts unique per channel even though it’s the same customer.
Limited API & Webhook Support
Picky Assist has API support only for sending and receiving WhatsApp messages via connected channels. All API requests must be authenticated through a token that can be generated from Settings → Developers → API.
Please note that for all other products, integrations need to be done through the no-code visual connector.
The API is not supported in all plans, so please ensure the customer has access to the API before starting any integrations. This is useful only if you want to programmatically send and receive WhatsApp messages.
Webhook can be configured from Settings → Developers → Webhook, where you can receive incoming messages, delivery, and read reports as and when available.
Modular CRM Architecture
Picky Assist CRM is modular, meaning it can be fully customized by customers themselves through our no-code module builder. As a result, it may not follow a standard structure like other CRMs. However, we do support vertical-specific CRMs, so each customer account may have different modules, data fields, and data structures based on their unique business requirements.
Please keep this in mind while building automations or integrations around the CRM.
Focused on Low or No Code
We have given more focus on low-code or no-code platforms where all features, including integrations, can be visually created by customers. This is useful for customers to make changes to the integration or settings you create, so please educate them on how to adjust the same without needing to contact you.
Example: You have set up an automated message in the "Send Message" action of the Connector. If the customer wants to change the message content or WhatsApp template, they can do it themselves. Make sure you educate them on how to do this properly, as making changes to complex automation can lead to malfunctioning workflows or integrations.
Attributes (Dynamic Data Retrieval)
Wherever integrations are possible, you will see an </>
icon. This indicates that dynamic variables or attributes are available for mapping. Data from previous steps or connected modules can be dynamically mapped.
HTTP API Step
We support creating and triggering HTTP APIs from Connectors, Workflows, Funnels, and Chatbots, with the option to extract responses in JSON format. The extracted data can be further used in different automations or simply stored within the Picky Assist platform.
The HTTP API step has an option to configure a fallback email to notify you if any requests fail. Please make use of this feature to monitor whether any API calls are failing.
You can also view consolidated logs of HTTP API requests under Connector & Flow Builder Global Logs.
Example: If a user wants to integrate Picky Assist with an external payment gateway, an HTTP API step can be set up in the automation to send payment details to the gateway and receive a response back. In case the payment API fails, an email notification can be sent to inform the user.
Formatters
To ease the development process, we have created various formatters like Math Calculation, Data Parser, Counter, Date & Time Transform, Line Items, and File Conversion. These formatters are available in the Connector, Workflow, Funnel, and Chatbot builder. Ensure that you understand the correct application of formatters in the right place.
Delay
Picky Assist supports a smart delay feature that allows you to delay the execution of a step. This is supported in Connectors, Workflows, Funnels, and Chatbots. The delay is dynamic in nature, allowing you to create logic-based delays.
Example: If you want the chatbot to wait until a specific date before proceeding to the next step, you can add a smart delay step and set the delay time dynamically. The system will resume the next step only after the delay has passed.
There is a feature to assign an identifier to the delay, allowing you to cancel it through actions if necessary. The identifier should be unique, such as a mobile number or record ID.
Example: If you have scheduled periodic reminders through the delay feature for a meeting, and the meeting gets canceled, you can call the "Cancel Delay" action with the identifier to stop the reminder from being sent.
In the CRM modules, if you set a delay with the record ID as the identifier, it will be tracked against that record, allowing a user to see all scheduled actions from 360 Degree View → Automation → Delay.
Iterations
We support integrations that process data in a nested array format and allow nested actions, such as adding records to the CRM, triggering a chatbot, or sending dynamic messages. Iteration and loop cycle support may vary depending on the customer's plan, so please ensure you have a clear understanding of the limitations.
Example: When processing a batch of leads from an external system, each lead can be iterated over and individually added to the CRM in separate iterations, allowing bulk data to be processed efficiently.
Connector & Invocation Limits
We may not have limited features by plan, but the usage of all features is subject to the limits of each plan. While building integrations and automation, make sure to assess the limits and ensure the automation will not exceed those limits.
Please pay special attention to the Iteration Limits, Loop Cycle Limits, and HTTP API Request limits when building integrations.
Record & Module Limits
Based on each customer’s plan, there will be a maximum record limit that can be stored across all their modules. There will also be limits on how many modules each business can create, the number of data fields in each module, and the total allowed storage. Consider these limits when planning automations.
Runtime Variables in Chatbots
Our chatbot builder supports runtime variables, which allow data to be temporarily stored during a conversation. These variables are created whenever steps like "Ask a Question," interactive buttons, or list menu options are used. This helps store the user’s answers or selections temporarily and use them in the next steps.
Please note that runtime variable data is cleared once the contact exits the conversation flow.
Example: During a chatbot conversation, a customer selects a product from a list. This selection is stored as a runtime variable and used in the next step to recommend specific product features or promotions.
Global Variables
Global variables allow you to store data that is accessible across the entire Picky Assist platform. You can store items such as API keys or frequently used email addresses that need to be accessed in different automations.
A maximum of 1,000 rows can be created in global variables. Global variables can be added, updated, and deleted through actions in the Connector, Flow Builder, Chatbot Builder, and Funnel Builder.
Example: You store an API key as a global variable and use it across multiple automations. Whenever the API key changes, updating it in the global variable will ensure that all automations using that key are updated automatically.
Filters
Filters are available in Connectors, Workflows, Chatbots, and Funnels, allowing you to programmatically filter data and define different conditions based on filters. You can specify whether to match all conditions or any condition.
Example: A filter is set up to check if a contact’s status is "VIP." If the condition is true, a personalized message is sent; if false, the contact is added to a standard nurturing sequence.
Schedulers
We support creating advanced schedulers visually, allowing you to trigger one or more connectors to perform periodic actions.
Example: You can create a scheduler to automatically send birthday greetings every year to all contacts in the CRM whose birthday matches the current date.
Record / Contact ID
Each data record in the Picky Assist Modular CRM has a unique Record ID. This ID is returned whenever a new record is created through various actions and is also available when searching records. Using this unique Record ID, you can perform various actions like updating the record, relating it to another record, deleting it, or changing its owner.
When you are doing automation with Workflow or Funnel, there is always a data attribute called “Current Record ID,” which refers to the record on which the event was triggered or a change happened.
Example: After creating a new lead in the CRM, the system returns a unique Record ID. This ID can be used in a subsequent automation step to update the lead's details or assign it to a sales representative.
Record Owner
Each record in the CRM has a Record Owner (a user). This is optional, and it is possible to change the record owner through different actions.
Activity Log
All activity in the Picky Assist Modular CRM is recorded in the Activity Log (the default module), unless the business disables it. The business can control whether activity logs should be tracked for each module. It is also possible to enable or disable activity log tracking for individual data fields.
Example: A business may choose to disable tracking for changes to email addresses while still tracking changes to phone numbers. This granular control ensures that only relevant changes are logged.
Store to Variable
We have an option in Connectors, Chatbots, Workflows, and Funnels to store a specific record in a variable by giving it a name. Whenever you see this option, it means you can store the result into a variable, and that variable will be available in subsequent automation steps for future reference.
Example: You search for a record in the CRM and store the result in a variable named "CustomerRecord." This variable can be referenced in later steps of the automation to perform actions like sending a personalized email to the customer.
Authorizations
Except for the Messaging API, Picky Assist does not require specific authorizations unless configured by you. Most actions happen or are performed inside our platform, so they don’t need any special authorization. However, developers will need full admin privileges to build and test integrations.
User Accounts
Picky Assist has two types of accounts: Admin User and Agent User. Admin users have full control of all modules, products, and features, while agent user privileges can be defined by the admin.
At this moment, we do not have the option to create multiple admin accounts, so you will need to get the username and password from the business to set up the automation and integration. Please ask them to turn off two-step authentication if enabled or scan the authentication QR code with your authenticator app.
Roles & Privileges
Admins can decide what data, features, and products should be accessible to agent users. Make sure you are aware of the different roles and privileges configured by the admin when building automations and integrations.
Execution Logs & Troubleshooting
We have logs and troubleshooting features for almost all automation processes, such as Connector, Workflow, Chatbot, and Funnel. All Connector logs, including execution logs, can be found under Automation → Logs. Logs related to Chatbots, Workflows, and Funnels can be found under Flow Builder → Logs. These logs are useful for troubleshooting issues.
Versions
We support versioning for Connectors, Workflows, Chatbots, and Funnels. When you publish a new version, the system updates the previous one. We keep the last 10 versions, allowing you to switch back if any issues arise.
External Attributes
It’s possible to pass external attributes to Chatbots and Funnels to have more control and personalization of these tools. This is useful if you are not managing your data within the Picky Assist CRM and instead the data comes from a third-party application that you prefer to use inside the Chatbot or Funnels. You need to first define the external attributes for each flow under the Flow settings and map them in the Connector so that you can dynamically pass the external attributes, making your flows more dynamic.
Example: If you have customer data in an external system and want to use that data in a Picky Assist chatbot, you can pass this data as external attributes and personalize the chatbot responses based on the customer's preferences or past interactions.
Testing Tools
We have testing tools for all automations, allowing you to build and test them before publishing.
In the Connector, we have a "Simulate Test" feature to help you easily test automations. In the Chatbot, you can add a test number to test the automation. For Workflows and Funnels, you need to test with a record ID associated with the workflow or funnel. You can create a dummy record, get the record ID, and manually pass the record ID from the respective flow settings to simulate the test.
Example: Before going live with a funnel, you can create a dummy lead, obtain the lead's record ID, and manually input it into the flow settings to test the funnel's behavior.
Looping in the Email Builder
The Picky Assist email builder is equipped with advanced iteration capabilities, including a dedicated block for loops. You can drag and drop the looping field and pass an array of dynamic data to show line items in your email. For instance, sending a group of records stored in the CRM can be easily done using the advanced email loop builder along with integrations.
Example: You want to send an email listing all the products a customer purchased. You can set up a loop in the email builder to dynamically fetch the products from the CRM and display them in the email as line items.
Analytics (Alpha)
We offer detailed no-code analytics that businesses can build according to their requirements based on data stored in their various CRM modules. As a developer, you can fetch these reports programmatically in JSON format and sync them with third-party platforms.
This feature is available as an action in the Connector named "Generate Report."
Importing Data
If you are planning to import data or migrate from our CRM, use the "Import Data" feature. This allows you to import multiple Excel sheets and map them to different existing modules and data fields.
Get Users
You can retrieve user details using the "Get Users" action, which is available in the Connector, Workflow, Chatbot, and Funnels. This action helps you retrieve users based on specific conditions you've configured or assign users randomly or on a round-robin basis.
In the Connector, you will get array-based data if there are multiple users, and you can use iteration to perform dynamic actions. However, in Workflow, Chatbot, and Funnel, when you use the "Get Users" action, it will return only the first user.
Example: You have a workflow that needs to assign tasks to users in a round-robin fashion. The "Get Users" action can retrieve the next available user and assign the task accordingly.
Sending Instant Notifications (Users)
We have a feature that allows you to send instant notifications to one or more users in real-time within the platform. This helps draw the attention of users when an event happens either in the CRM or in a third-party application. These notifications can be linked to a CRM record using the unique record ID, so when the user clicks on the notification, it displays the linked record's details on the screen without navigating to another page.
Example: When a new lead is assigned to a user, the system sends an instant notification linked to the lead's record ID. The user clicks on the notification to see the lead’s details without leaving their current page.
Another example would be notifying a CRM agent in real time when a cancellation occurs on an e-commerce platform, helping the agent address the issue immediately.
ChatGPT Integration
We have built-in ChatGPT integration, allowing businesses to simply copy and paste their ChatGPT API key under Settings → Apps → ChatGPT. You can use ChatGPT contextually in various places such as Smart Replies, Chatbot, Workflow, and Funnels. You can dynamically pass data from the Chatbot or CRM and perform actions based on each situation.
Example: You can create and automatically send a personalized email based on data in the CRM, summarize a conversation that occurred with a chatbot, or extract buying intent and sentiment scoring from a conversation.
3rd Party Integration Platforms
We support native integration through third-party automation platforms like Zapier, Pabbly Connect, and Make. However, you can build integrations with any similar platform using our Connector and HTTP API steps. If you plan to leverage these platforms, you can build third-party integrations 10x faster. However, please make sure to educate your business about the pricing of these platforms as well.
Circular Loop Situations
Picky Assist focuses heavily on automation, offering maximum automation possibilities to our customers and integrators. However, be cautious of creating circular loop situations. We allow circular loop execution up to 25 steps within 1 minute, after which the system will terminate the execution. Ensure that your workflows, automations, flows, chatbots, and connectors do not create infinite loops.
Example of a Circular Loop Situation: You have a workflow that sends a WhatsApp message whenever a lead status is changed to "Closed." However, in the next step, you update the same data field (lead status). This creates a circular loop where the status keeps updating, and the system keeps sending messages repeatedly.
To prevent this, we have an option in workflow actions: when a record is created, edited, or deleted, you can disable the workflow execution rules if any are configured against those fields. This helps you handle effective automation and override global settings when necessary.
Before Getting Started the Integration
Please follow the guidelines below before starting the integration process:
Understand the Picky Assist Product Ecosystem
Ensure you have a solid understanding of the Picky Assist product ecosystem so that you can easily relate to the client’s requirements and build reliable integrations and automations.
Analyze Existing Automations
Check if the client’s account has any existing automations set up. If so, make sure you clearly understand the objectives of these automations, their relationships with different products, workflows, etc. Making changes to these existing integrations and automations could lead to severe business issues. Therefore, list them down and verify with the customer before proceeding.
Document the Client's Requirements
Thoroughly document the client’s requirements and share them with the client for clarification. This step is crucial to avoid rebuilding the integration frequently. Collaborate with the client using Google Docs to finalize the scope of the integration and avoid scope creep.
Align with Business Objectives
Make sure the business objectives are clearly defined and understood before building an integration or solution. Share these objectives with the client and explain the value the integration or solution will bring to their business.
Feature Feasibility:
Commit only to features that can be built using the Picky Assist platform. If the client demands any features that you are unsure of, please contact us by writing to support@pickyassist.com for clarification.
Identify the Products Involved:
Determine which Picky Assist products are needed to complete the integration. Also, check if any third-party involvement is required to complete the integration or build the solution.
Estimate the Turnaround Time (TAT):
Assess the average estimated turnaround time (TAT) for the solution, including testing and user training. Make sure to communicate this to the customer.
Things to Take Care of While Building the Integration/Solution
Use Relevant Naming Conventions:
Ensure you give relevant and meaningful names and descriptions wherever possible so that they are easily understandable.
Use Dummy Data for Testing:
Create dummy data by appending a value like "Test" to ensure that, if the system is in production, other users can identify that the record was created for testing purposes.
Notify CRM Agents:
Communicate with CRM agents if you are making changes to their accounts as part of the integration process, to prevent them from reporting these changes as bugs.
Testing the Integration/Solution
Conduct Thorough Testing:
Conduct thorough testing after completing the integration, considering all possible scenarios. Especially if the integration involves a chatbot, ensure that the user experience is smooth when interacting with users. Don’t forget to include an option to hand off the chat to a human agent if needed.
Involve Organization Users:
Involve a few users from the organization to test the integration for a week and provide real-world feedback. Ensure that the solution meets the objectives defined by the organization properly before finalizing the integration.
Frequently Asked Questions
My client’s requirement is just to send WhatsApp messages from their own applications. What exactly do I need to do?
If the client's requirement is solely to send WhatsApp messages, you can use our API, which allows sending WhatsApp messages programmatically. First, confirm that the client’s plan includes API access. Note that, in this method, the client will need to manage opt-outs themselves, as there is no opt-out management option available through the API.
However, please keep in mind that when using the API for integration, the client won’t be able to change message templates, variables, etc. We always recommend building the integration using our no-code Connector. This allows the client to easily manage message content, make changes as needed, and handle opt-outs without relying on you.
I want to build a chatbot that needs to fetch information from our platform. What is the best way to do this?
You can build the flow in the Picky Assist Chatbot Flow Builder and use the “HTTP API” step to fetch information from your system. You need to ensure that your system provides the response in JSON format, which can then be used in the subsequent steps of the chatbot flow.
I want to import all my data from my existing system to Picky Assist. What is the best way to do this?
The best way to import data into Picky Assist is through the Import Data Wizard, which is available under Modular CRM → Import Data. You will need to create separate Excel or CSV sheets for your data. If there are common references between different sheets, you can create connections between them. Read the documentation for more details on how to proceed.
I am a developer. What kind of access do I need to get from the Picky Assist customer?
You will need full admin account access with two-step verification disabled. Currently, we do not have a separate developer account option or the ability to create multiple admin accounts. This feature is on our product roadmap for future releases.
Whom should I contact if I have a technical query or issue?
You can send an email to support@pickyassist.com. Please be sure to include the registered email address, project name, channel name, flow name, step name, and any other relevant details so our team can promptly address the issue and reduce back-and-forth communication.
Is there a way I can copy my project settings that are configured in one account and migrate them to another customer?
Yes, if you are a Picky Assist partner, this can be done internally by contacting your Partner Account Manager. Please note that the customer project should be new for this migration to be possible.
Last updated