Integrations ⚙️
MailGun
Mailgun is an email delivery service for sending, receiving, and tracking emails. We utilise it to send emails via the hub.
Email sending domains
New domains, e.g. for sending emails via a new client hub, need to be added to Mailgun.
For a new domain to then be verified within Mailgun, the required Mailgun DNS records must be configured within the DNS provider's system.
See also: Mailgun How Do I Add or Delete a Domain?
Further resources
Microsoft Teams
The integartion with Microsoft Teams allows us to send notifications to users and teams, and directly interact with the hub from within Microsoft Teams.
The integration is implemented via the ms-teams-integration repo
Further resources
Zapier
Zapier is a third party workflow automation tool, used for integration with Hubspot form available to general public interested in trying 5app product.
Zap is the automated workflow that connects the app and service together (e.g. Hubspot and Try5app).
Task is an action a Zap successfully completes (e.g. user successfully added to hub).
To make any changes to Zap and see more information on Zap runs, please note you will need the log in information.
Creating a Zap
When setting up a new Zap, there are 3 steps:
- Choose trigger - In our case, trigger is completion of the Hubspot form. Substeps would be to connect to Hubspot, and choose the relevant form.
- Action - We are using
Code by Zapier
which allows us to write our own code. - Test - testing if the action works as expected.
After the form is submitted, trigger is set and the process is as follows:
- The Hubspot form data is collected by Zapier (as an
inputData
object). - User is created with their first name, last name and email information. We also check if the user is already registered before sending the email and following other steps.
- Invitation email is sent to newly added user.
- New team is created named as user's email and team type
Customer teams
. - User is added as a manager to the newly created team, and as a member to an existing
Hubspot team
.
E.g. if form registration data is
inputData = {email: 'johnsmith@hello.com', first_name: 'John', last_name: 'Smith'}
New user will be created, under name John Smith, and added to a newly created team johnsmith@hello.com
as a manager and also added to a Hubspot team
as a member.
Zapier service used
The action used is Code by Zapier
which allows custom Python or Javascript code to be written for integration. Zapier will always wrap the code in an async function and expect a default return value named output
There are several examples on Zapier's website how Code by Zapier
can be used.
If Zap run fails, error message will show, but not with many details. E.g.
In this case, we need to find where the error is and update the code, and then retest the action
Test and checks
To avoid risk of breaking the integration, there is an integration test that mirrors as much as possible what gets entered into zapier. Any changes made in Zapier should be registered in the test too.
For an extra check if tasks are running successfully, each task can be seen by navigating to Zap history
and selecting Zap runs
tab. The plan currently allows 20 zaps and 750 tasks a month.