Skip to main content

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.

Overview of Mailgun sending domains

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).

NOTE

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:

  1. Choose trigger - In our case, trigger is completion of the Hubspot form. Substeps would be to connect to Hubspot, and choose the relevant form.
  2. Action - We are using Code by Zapier which allows us to write our own code.
  3. 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.

Always test Zap before publishing

If Zap run fails, error message will show, but not with many details. E.g.

Error message

In this case, we need to find where the error is and update the code, and then retest the action

Successful

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.