How to Create Activities in CRM
In this guide we will show you how easily you can send Activities from your app to any CRM using Integration.app while keeping native and white-label experience for your customer.
Use Case
Your are building Meeting assistant like Glyphic, and your customers want to send meeting summary from your app to their CRM directly from your app.
So there is two user scenarios present in this use case:
-
Customer see list of available integrations and able to connect any of them
-
On the Meeting summary page. Once, Integration is connected - export it to CRM as Note and attach it to meeting attendee contact (first one, for simplicity)
Let’s implement them! 🙂
Implementation
First, you need to create an account on Integration.app. This will make you able to access the platform and use Integration.app APIs.
Go to Apps and enable all applications you wish to Integrate with.
Authorizing your customers
Next, follow the Getting Started Guide to enable your customers to connect their CRM accounts.
To integrate the code, you have two options. You can either download the sample code from the guide in your preferred tech stack, or follow the instructions in the guide to implement it from scratch.
Create Universal Flow
Go to the Flows and create a new Universal Flow.
Universal Flows let you create multi-step integration logic and works with multiple external applications at once. Our AI-powered engine will automatically generate flow for every application you choose.
Next on the flow page Click “Manage Integrations” and then “Add Apps” to select the applications you want this flow to work with.
Configure the Trigger
- Go to the Nodes tab of the Flow
- Click add Trigger and select “API Trigger” on the right
On the right, you will see that the trigger configuration side panel is open. Go to the Input tab and set the input schema, which we will use later to configure the creation of an activity.
Feel free to use the schema you have in your App while setting the Input Schema. We will make it consist of 3 fields: title
, body
, and attendeeEmail
.
Find Contact in the CRM
Now we need to find Contact in CRM by email, so we can use it's ID later to relate Activity to it. Click on "Add Node" and then select "Lookup Data Record" from the nodes list.
With Data Operations Nodes you no longer need to worry about the specifics of each app's API. Just set Data Model to Contacts in the Node sidebar, that's how Integration.app will know what object type you want to work with and will automatically map it for every application.
Next, setup Lookup Query to search contact by primary email using Attendee Email that we added to API Trigger schema:
With such configuration Integration.app will automatically generate the proper query for every App and return Data Record containing contact data.
Create Activity in the CRM
Click on plus
button bellow Lookup Data Record
node and then select Create Data Record
from the nodes list.
In the node configuration sidebar set the Data Model to "Notes" (choose "Activities", "Tasks", or "Meeting" if you have a different need) similar to what we did in the previous step.
Next, we will fill the data we want to create activity with. But since, we don't know exact CRM fields at this moment (because there is no customer CRM connection yet) - you will see unified fields from Integration.app Data Model available below. You can setup them using output of API Trigger and Lookup Contact node, Integration.app will take care of mapping this fields to exact fields for every CRM if they exist there.
The fields you see - is the most common fields across apps we support for the selected Data Model. When customer connects an CRM we trasform this mapping to the exact CRM fields.
Done! You can test the Integration using the Test tab and add it to your application UI.
Add to your App
Now you can add code to your App to run the Flow we’ve just build. Below you can see a sample snippet that may be used to run it. Just fill the input with your data and set flowKey
and integrationKey
to once that are needed.
await integrationApp
.flowInstance({
flowKey: 'create-activities', // Flow key you've set, while creating Universal Flow
integrationKey: 'hubspot', // Integration you wish to run an integration
autoCreate: true,
})
.run({
input: {
title: "My Meeting title",
body: "Meeting summary",
crmContactId: 104
}
})
You can read more about Customer Flow Instances and how to run them here
Congrats! You’ve implemented sending of Activities from your app to multiple of CRM!
You can continue improving this integration by:
- Making customers able to customize the Field Mapping
- Making customers able to select type of Activity to Create
- Implementing backwards sync of Activities