How to connect Jira Software Cloud + Todoist + Slack
Zapier lets you send info between Jira Software Cloud and Todoist and Slack automatically—no code required. With 5,000+ supported apps, the possibilities are endless.
- Free forever for core features
- 14 day trial for premium features & apps
Do even more with Jira Software Cloud + Todoist + Slack
With Zapier, you can do more than just connect your apps - you can automate entire processes from beginning to end! Check out the following list of triggers and actions you can use with Jira Software Cloud, Todoist, and Slack. And don’t forget that you can add more apps and actions to create complex workflows.
Project
Status
Only trigger when issues are first moved to this status eg.
Done
.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planProject
Status
Only trigger when issues with a particular status are updated eg.
In progress
.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planInfo
This Trigger does not use one of your App Connections between Jira and Zapier. Instead, Zapier uses the fields below to connect to your Jira account and adds a Jira webhook that triggers this Zap.
Jira Cloud SiteRequired
Jira Email AddressRequired
Your Jira account must have the "Administer Jira" global permission.
Jira API TokenRequired
You can create an API token here.
Projects to Trigger On
Use this field to trigger on updated comments in specific projects. If you leave this field empty, the Zap will trigger on updated comments in all projects.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.IssueRequired
Make sure you map the issue key instead of the id (e.g. TEST-123 not 12345).
CommentRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.IssueRequired
Make sure you map the issue key instead of the id (e.g. TEST-123 not 12345).
User
Select or search for a user to watch the issue. If no user is specified, you will be assigned as the issue watcher
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.IssueRequired
Make sure you map the issue key instead of the id (e.g. TEST-123 not 12345). Note that if you are using a search for this, you'll need to select a similar field from the dropdown first and then map the issue over as a custom value so that the fields load first.
Status
We can only list available statuses for the issue given in the above field. You may have workflows in place which can prevent certain statuses from appearing here. Make sure whichever issue is specified above is in the status you expect it to be when your Zap runs.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Api Docs Info
API docs for Jira Software Cloud are located here https://docs.atlassian.com/jira/REST/cloud/
HTTP MethodRequired
URLRequired
Requests can only be made to domains associated by this application.
Query String Parameters
These params will be URL-encoded and appended to the URL when making the request.
Headers
Authentication headers are included automatically
Additional Request Headers
Zapier will apply these optional headers and values to the request in addition to any headers created as part of the authentication mechanism.
Body
Zapier will pass this along raw. If you would like to provide complex JSON, try a "Code by Zapier" step to build the structure and pass it along here. For example,
{"foo": "bar"}
is perfectly valid.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Summary
If provided, find the issue with the "best match" of the summary text.
Key
If you already know the issue's key, enter it here and we will look up that specific issue (Example:
XYZ-123
).
ActionThis is an event a Zap performs.SearchFind existing data in your appProject
Leave it blank if you want to get completed tasks from all your projects.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planNew Project
Triggers when a new project is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planTaskRequired
Either search for a task, or select a task.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.TaskRequired
The task to add the comment to.
CommentRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.NameRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.TaskRequired
Either search for an existing task, or "Use a Custom Value" and select the "Task ID" from a previous step.
TitleRequired
Assigned To
Assign this task to the selected person.
Due Date (Human Formatted)
Supports human readable dates like "today" or "next friday". Read full datetime help here. If you are passing along a date from another calendar or todo system, you might try Due Date (Raw Formatted) instead!
Due Date (Raw Formatted)
This is a field that will get interpreted directly before being sent to Todoist, best used when using a datetime value from another calendar or todo system!
Priority
The priority of the task (this is usually a number between 1 and 4).
Labels
Any labels to add to this new task.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Api Docs Info
API docs for Todoist are located here https://developer.todoist.com/
HTTP MethodRequired
URLRequired
Requests can only be made to domains associated by this application.
Query String Parameters
These params will be URL-encoded and appended to the URL when making the request.
Headers
Authentication headers are included automatically
Additional Request Headers
Zapier will apply these optional headers and values to the request in addition to any headers created as part of the authentication mechanism.
Body
Zapier will pass this along raw. If you would like to provide complex JSON, try a "Code by Zapier" step to build the structure and pass it along here. For example,
{"foo": "bar"}
is perfectly valid.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.NameRequired
Only supports searching by name. More advanced searches - such as using Todoist filters - are not supported.
Project
Search for tasks within the selected project. If left blank, then all projects are searched.
ActionThis is an event a Zap performs.SearchFind existing data in your appNameRequired
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundNameRequired
Only supports searching by name. More advanced searches - such as using Todoist filters - are not supported.
Project
The default is your inbox project.
TitleRequired
Note
Use this to store additional extra text for this task. A note can be unlimited in size.
Section
Select any Section in any Project. Overrides Project field if the selected Section is not in the selected Project.
Assigned To
Assign this task to the selected person.
Due Date (Human Formatted)
Supports human readable dates like "today" or "next friday". Read full datetime help here. If you are passing along a date from another calendar or todo system, you might try Due Date (Raw Formatted) instead!
Due Date (Raw Formatted)
This is a field that will get interpreted directly before being sent to Todoist, best used when using a datetime value from another calendar or todo system!
Priority
The priority of the task (this is usually a number between 1 and 4).
Labels
Any labels to add to this new task.
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundNew Channel
Triggers whenever a new #channel is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Include Alias
Choose yes to trigger when someone creates a new name for an existing emoji.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.User Name
Linked mentions of this user will trigger the zap. Make sure to specify a value for one or both of username or a highlight word. Specifying both a username and a highlight word means that both the linked username and word need to be included in a message to trigger the zap.
Highlight Word
Mentions of this word will trigger the zap. Case insensitive. Make sure to specify a value for one or both of username or a highlight word. Specifying both a username and a highlight word means that both the linked username and word need to be included in a message to trigger the zap.
Trigger for Bot Messages?
If
no
, only messages sent by users will trigger the Zap. Ifyes
, messages sent by users and slackbots will trigger the Zap.Warning: Slackbots don't have profiles. If
yes
, don't depend on user profile information being present. Also, avoid Zap loops where Zaps trigger and post slackbot messages to the same channel!
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Pushed Message
Triggers when you click the "Push to Zapier" button from a message in Slack.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Saved Message
Triggers when you save a message.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.TextRequired
The actual reminder text that should be sent to yourself or a user. To include URLs, Slack uses this syntax.
Remind when?Required
Slack parses natural language like "in 15 minutes" or "every Thursday". Times are relative to when the Zap actually runs.
Remind who?
Pick a user to remind. If you pick no one, you will be reminded.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ChannelRequired
Only channels you are a member of will appear in this list. If you can't find your channel, click the Load More button or switch to the Custom tab and enter the channel's ID. Once live, the trigger will work even if you are not a member of the channel.
Message TextRequired
Specify text of the message to send. Check out the formatting help doc for advanced options.
Send as a bot?
If you choose
no
, this message will appear to come from you. Direct messages are always sent by bots.Bot Name
Specify the bot name which appears as a bold username above the message inside Slack. Defaults to
Zapier
. When usingSchedule At
, this field will be ignored by slack.Bot Icon
Either an image url or an emoji available to your team (surrounded by
:
). For example,https://site.com/icon_256.png
or:robot_face:
. When usingSchedule At
, this field will be ignored by slack.Include a link to this Zap?
If you choose
yes
, a link to this Zap will be added to the end of the message, making it easy for you and your team to edit the Zap with one click.Attach Image by URL
If specified, this will upload the given image URL to Slack and attach it to the message separately.
Auto-Expand Links?
Should Slack try to automatically expand links in this message? For example: turn a YouTube link into a playable widget.
Link Usernames and Channel Names?
If
no
, any usernames and channels mentioned won't be linked (or mentioned). Also affects@channel
and@group
. Unfortunately,@here
notifications cannot be sent by Zapier.Schedule At
Schedule the message to be posted later. Cannot be more than 120 days in the future. If you do schedule a message, rather than post it immediately, this Zap step will not return a
ts
orpermalink
field. This option does not supportBot Name
andBot Icon
customization and will default to Zapier as bot name and icon.File
Include a file to send along with your message. NOTE: Bot names/icons cannot be customized when sending a File.
Thread
If you want this to be part of a thread, you'll need the timestamp (Ts) of the parent message. For example:
1345232312616.1231232
.If you get the message from a trigger, select "use a custom value" from the dropdown and connect accordingly by selecting the Ts field.
Otherwise, add a search step and fetch the message you want.
Broadcast To Channel?
If true, posts in the thread and channel. See here for more info. Ignored unless the message is part of a thread.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Channel NameRequired
Name for the channel to be created. Channel names are normalized by converting to lowercase, replacing any non-allowed characters with hyphens or underscore, and truncating to 80 characters.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ChannelRequired
TopicRequired
Slack will auto-link @names and #channels where applicable.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Status Text
Leave empty to clear.
Status Emoji
Use any emoji that's available in your Slack team, with leading and trailing
:
.If emoji is blank when text isn't,
:speech_balloon:
is used by default. If both text and emoji are empty, your status will be cleared.Expiration Time
Provide a specific date & time for this status to expire. Statuses will not expire by default.
You can also specify a duration for this status by entering in a value like
in 60 minutes
, for example. Check out other ways you can use this field here.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Raw Request User Info
Note: Zapier's Slack app supports a limited set of OAuth scopes/permissions, thus many of Slack's API endpoints aren't currently feasible.
Api Docs Info
API docs for Slack are located here https://api.slack.com/methods
HTTP MethodRequired
URLRequired
Requests can only be made to domains associated by this application.
Query String Parameters
These params will be URL-encoded and appended to the URL when making the request.
Headers
Authentication headers are included automatically
Additional Request Headers
Zapier will apply these optional headers and values to the request in addition to any headers created as part of the authentication mechanism.
Body
Zapier will pass this along raw. If you would like to provide complex JSON, try a "Code by Zapier" step to build the structure and pass it along here. For example,
{"foo": "bar"}
is perfectly valid.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.EmailRequired
Search is case-insensitive
Return Raw Results?
For most responses, we prettify the result we get from Slack. If we're missing a field you're expecting, set this to true
ActionThis is an event a Zap performs.SearchFind existing data in your appFull NameRequired
We search the normalized name, so don't worry about accents
Return Raw Results?
For most responses, we prettify the result we get from Slack. If we're missing a field you're expecting, set this to true
ActionThis is an event a Zap performs.SearchFind existing data in your app
JQL
The
ORDER BY
keyword is not allowed in your query. Learn more about JQL.Order By
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planInfo
This Trigger does not use one of your App Connections between Jira and Zapier. Instead, Zapier uses the fields below to connect to your Jira account and adds a Jira webhook that triggers this Zap.
Jira Cloud SiteRequired
Jira Email AddressRequired
Your Jira account must have the "Administer Jira" global permission.
Jira API TokenRequired
You can create an API token here.
Projects to Trigger On
Use this field to trigger on comments in specific projects. If you leave this field empty, the Zap will trigger on comments in all projects.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.IssueRequired
Make sure you map the issue key instead of the ID (e.g. TEST-123 not 12345).
AttachmentRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.First IssueRequired
Make sure you map the issue key instead of the ID (e.g. TEST-123 not 12345).
Link TypeRequired
Second IssueRequired
Make sure you map the issue key instead of the ID (e.g. TEST-123 not 12345).
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ProjectRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Owner
Determines which App Extensions will appear in the dropdown below.
App ExtensionRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ProjectRequired
NameRequired
The search by name is not case sensitive and ignores any blank space.
ActionThis is an event a Zap performs.SearchFind existing data in your appKeywordRequired
Searches the name, email, and username fields within Jira Cloud.
ActionThis is an event a Zap performs.SearchFind existing data in your appProjectRequired
E-Mail AddressRequired
The person to be invited to the project.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.TaskRequired
Either search for an existing task, or "Use a Custom Value" and select the "Task ID" from a previous step.
SectionRequired
Destination Section. The Task becomes the last task in the section.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ProjectRequired
The project to add the comment to.
CommentRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Project
The default is your inbox project.
TitleRequired
Note
Use this to store additional extra text for this task. A note can be unlimited in size.
Section
Select any Section in any Project. Overrides Project field if the selected Section is not in the selected Project.
Assigned To
Assign this task to the selected person.
Due Date (Human Formatted)
Supports human readable dates like "today" or "next friday". Read full datetime help here. If you are passing along a date from another calendar or todo system, you might try Due Date (Raw Formatted) instead!
Due Date (Raw Formatted)
This is a field that will get interpreted directly before being sent to Todoist, best used when using a datetime value from another calendar or todo system!
Priority
The priority of the task (this is usually a number between 1 and 4).
Labels
Any labels to add to this new task.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Owner
Determines which App Extensions will appear in the dropdown below.
App ExtensionRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.NameRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appEmail AddressRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appNameRequired
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundTrigger for Bot Messages?
If
no
, only messages sent by users will trigger the Zap. Ifyes
, messages sent by users and slackbots will trigger the Zap.Warning: Slackbots don't have profiles. If
yes
, don't depend on user profile information being present. Also, avoid Zap loops where Zaps trigger and post slackbot messages to the same channel!
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.ChannelRequired
Only channels you are a member of will appear in this list. If you can't find your channel, click the Load More button or switch to the Custom tab and enter the channel's ID. Once live, the trigger will work even if you are not a member of the channel. Note: This trigger only supports attachment information for messages generated by bots. If you need to retrieve attachment information from non-bots, see this help document.
Trigger for Bot Messages?
If
no
, only messages sent by users will trigger the Zap. Ifyes
, messages sent by users and slackbots will trigger the Zap.Warning: Slackbots don't have profiles. If
yes
, don't depend on user profile information being present. Also, avoid Zap loops where Zaps trigger and post slackbot messages to the same channel!
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Channel
Only channels you are a member of will appear in this list. If you can't find your channel, click the Load More button or switch to the Custom tab and enter the channel's ID. Once live, the trigger will work even if you are not a member of the channel.
User Name
Trigger on files created by a single user.
Shared
Trigger when files are shared with you. Please note that this will trigger on created files as well.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.ChannelRequired
Only channels you are a member of will appear in this list. If you can't find your channel, click the Load More button or switch to the Custom tab and enter the channel's ID. Once live, the trigger will work even if you are not a member of the channel.
Trigger for Bot Messages?
If
no
, only messages sent by users will trigger the Zap. Ifyes
, messages sent by users and slackbots will trigger the Zap.Warning: Slackbots don't have profiles. If
yes
, don't depend on user profile information being present. Also, avoid Zap loops where Zaps trigger and post slackbot messages to the same channel!
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Reaction
Only triggers when this reaction is added to a message. Use the dropdown to select one of your team's custom emoji or select
Use a Custom Value
and enter the name of a standard emoji. Use this cheat sheet for reference and be sure not to include the colons. Note that you cannot use an emoji's alias in this field.Channel
Only triggers on reactions added on messages in this public channel. Only channels you are a member of will appear in this list. If you can't find your channel, click the Load More button or switch to the Custom tab and enter the channel's ID. Once live, the trigger will work even if you are not a member of the channel.
User
Only triggers on reactions added by this user.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New User
Triggers when a new Slack user is created / first joins your org.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.ChannelRequired
UsersRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Send Multi Message
Toggle to send to multiple users.
Message TextRequired
Specify text of the message to send. Check out the formatting help doc for advanced options.
Send as a bot?
If you choose
no
, this message will appear to come from you. Direct messages are always sent by bots.Bot Name
Specify the bot name which appears as a bold username above the message inside Slack. Defaults to
Zapier
. When usingSchedule At
, this field will be ignored by slack.Bot Icon
Either an image url or an emoji available to your team (surrounded by
:
). For example,https://site.com/icon_256.png
or:robot_face:
. When usingSchedule At
, this field will be ignored by slack.Include a link to this Zap?
If you choose
yes
, a link to this Zap will be added to the end of the message, making it easy for you and your team to edit the Zap with one click.Attach Image by URL
If specified, this will upload the given image URL to Slack and attach it to the message separately.
Auto-Expand Links?
Should Slack try to automatically expand links in this message? For example: turn a YouTube link into a playable widget.
Link Usernames and Channel Names?
If
no
, any usernames and channels mentioned won't be linked (or mentioned). Also affects@channel
and@group
. Unfortunately,@here
notifications cannot be sent by Zapier.Schedule At
Schedule the message to be posted later. Cannot be more than 120 days in the future. If you do schedule a message, rather than post it immediately, this Zap step will not return a
ts
orpermalink
field. This option does not supportBot Name
andBot Icon
customization and will default to Zapier as bot name and icon.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ChannelRequired
Only channels you are a member of will appear in this list. If you can't find your channel, click the Load More button or switch to the Custom tab and enter the channel's ID. Once live, the trigger will work even if you are not a member of the channel.
Message TextRequired
Specify text of the message to send. Check out the formatting help doc for advanced options.
Send as a bot?
If you choose
no
, this message will appear to come from you. Direct messages are always sent by bots.Bot Name
Specify the bot name which appears as a bold username above the message inside Slack. Defaults to
Zapier
. When usingSchedule At
, this field will be ignored by slack.Bot Icon
Either an image url or an emoji available to your team (surrounded by
:
). For example,https://site.com/icon_256.png
or:robot_face:
. When usingSchedule At
, this field will be ignored by slack.Include a link to this Zap?
If you choose
yes
, a link to this Zap will be added to the end of the message, making it easy for you and your team to edit the Zap with one click.Attach Image by URL
If specified, this will upload the given image URL to Slack and attach it to the message separately.
Auto-Expand Links?
Should Slack try to automatically expand links in this message? For example: turn a YouTube link into a playable widget.
Link Usernames and Channel Names?
If
no
, any usernames and channels mentioned won't be linked (or mentioned). Also affects@channel
and@group
. Unfortunately,@here
notifications cannot be sent by Zapier.Schedule At
Schedule the message to be posted later. Cannot be more than 120 days in the future. If you do schedule a message, rather than post it immediately, this Zap step will not return a
ts
orpermalink
field. This option does not supportBot Name
andBot Icon
customization and will default to Zapier as bot name and icon.File
Include a file to send along with your message. NOTE: Bot names/icons cannot be customized when sending a File.
Thread
If you want this to be part of a thread, you'll need the timestamp (Ts) of the parent message. For example:
1345232312616.1231232
.If you get the message from a trigger, select "use a custom value" from the dropdown and connect accordingly by selecting the Ts field.
Otherwise, add a search step and fetch the message you want.
Broadcast To Channel?
If true, posts in the thread and channel. See here for more info. Ignored unless the message is part of a thread.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.First Name
Fields left blank will be ignored.
Last Name
Fields left blank will be ignored.
Title
Fields left blank will be ignored.
Email
Changing a user's email address will send an email to both the old and new addresses, and also post a slackbot to the user informing them of the change.
User
Update selected values on this user's profile. This argument may only be specified by team admins on paid teams. Defaults to your status, when blank.
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Owner
Determines which App Extensions will appear in the dropdown below.
App ExtensionRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Search QueryRequired
Search query to use for finding matching messages. See the Slack Search Documentation for more information on constructing a query.
Sort By
Sort messages by their match strength or by their date. Default is score.
Sort Direction
Sort matching messages in ascending or descending order. Default is descending.
ActionThis is an event a Zap performs.SearchFind existing data in your appIDRequired
Search is case-insensitive
Return Raw Results?
For most responses, we prettify the result we get from Slack. If we're missing a field you're expecting, set this to true
ActionThis is an event a Zap performs.SearchFind existing data in your appUsernameRequired
The leading
@
is optionalReturn Raw Results?
For most responses, we prettify the result we get from Slack. If we're missing a field you're expecting, set this to true
ActionThis is an event a Zap performs.SearchFind existing data in your app
Top companies trust Zapier to automate work and free up time
Connect your apps and automate workflows
Easy automation for busy people. Zapier moves info between your web apps automatically, so you can focus on your most important work.
How Jira Software Cloud + Todoist + Slack Integrations Work
- Step 1: Authenticate Jira Software Cloud, Todoist, and Slack.30 seconds
- Step 2: Pick one of the apps as a trigger, which will kick off your automation.15 seconds
- Step 3: Choose a resulting action from the other app.15 seconds
- Step 4: Select the data you want to send from one app to the other.2 minutes
- That’s it! More time to work on other things.
Related categories
Related categories
Related categories
Get started for free
You can't add more hours to the day. Zapier is the next best thing.
Other Todoist + Slack Integrations
- schedule
- airtable
- trello
- salesmsg
- digest
- url-shortener
- jotform
- jira-software
- calendly
- youtube
- urlooker
- typeform
- ticktick
- sendfox
- redmine
- quickbooks
- practicepanther-legal-software
- pipedrive
- mailchimp
- keap-max-classic
- kartra
- google-my-business
- getmyinvoices
- evernote
- email-parser
- code
- clickup
- asana
- acuity-scheduling
- zapier-manager