Habitica Wiki
Advertisement
Habitica Wiki

Description

Zapier is a tool that allows non-technical users to connect different web apps with each other. You can connect Habitica with any other Zapier app, such as Google Sheets, RescueTime, Evernote, Trello, or GitHub. You can perform actions in other apps based on actions occurring in Habitica, or vice versa.

Please note: This Zapier app has not been reviewed or approved by Zapier for functionality or security.

Installation

There are two Zapier integrations you can choose from: the original one (no longer recommended) and a newer one that is still in beta but is stable, reliable, and more feature-rich.

  1. Sign up for Zapier
  2. Use one of these Zapier invitation links:
  3. Review the information there to ensure you are happy to trust the integration. Check that it says "You were invited by: admin@habitica.com". If you see any other email address, do not use the integration.
  4. Click "Accept Invite & Build a Zap".
  5. Habitica will now be available for your Zaps.

Usage

This usage information was written for the original integration but the new beta integration works in a similar way, although it has more features that are not yet documented here.

Triggers:

  • Task Activity - Triggers when a new task is created, updated, deleted, or scored.
  • New Group Chat - Triggers when a new chat appear in a group (party or guild).

Actions:

  • Create Task - Creates a task. A task can be a Habit, Daily, or To Do.
  • Score Task - Scores a task (Habit, Daily, To Do, or Reward), including completing a Daily / To Do (Up), uncompleting a Daily / To Do (Down), or clicking on a Habit (positive or negative). You have to provide the Task ID of the task to score it. The easiest method of finding a Task ID is to use the Task Adjustor (direct link) and click "toggle developer data" after logging in.
  • Find Task - Find a task by its name. Only exact matches (case insensitive) work.


Using Zapier Without the Habitica Zapier Integration[]

In addition to using the Habitica app on Zapier, it is also possible for Zapier to interact with Habitica by using its "Webhooks" app to contact Habitica's Application Programming Interface.

This can potentially allow Zapier users to take actions not included in the Zapier Habitica app. For example, see The Keep:Scheduling Quest Starts with Zapier and API, which describes the use of Zapier's Google Calendar and Webhooks apps to start Quests automatically using API's "quests/force-start" call.

Tips & Tricks[]

General[]

  • Because Zapier fetches data periodically (every 5 to 15 minutes), guild/party chats may appear out of order if two or more chat messages get posted during that time. For example, a 12:54pm message may be fetched before a 12:51pm message.
  • When creating tasks, the Due Date needs to be changed to the UTC time zone in order to appear correctly on the website.
  • Currently, the Due Date for Create Tasks is not populating correctly for the app (but will show correctly on the website). To fix this, just update the date manually.
  • When using the Task Activity as a Trigger, in the "Test this Step" complete an action that most represents what you wish to collect, to have the ideal flags available. For instance, if you wish record when you completed your dailies and the streak is, complete a daily task so you are able to select the streak tag option.
  • Zapier currently does not record activity due to cron, ie the effect of miss dailies. You will only know if you have missed a daily when you next complete (score) the daily and when checking if the streak is 1 or not.
  • Zapier does not support two-way syncing. Thus, keeping records up to date after the initial Trigger and Action is not currently supported. Think of Zaps as one-way, one-time actions. For more information, see this official article from Zapier.

Google Sheets[]

  • Google Sheets must:
    • have a header record on the first row
    • not have any blank rows between any records
  • Times in Habitica are stored in Epoch time. To show correctly in Google Sheets, use the appropriate time-date formatting and:
    • To convert to UTC, add ts in front of the Time field. For example, ts[Habitica Timestamp]. Note: no equal sign is used.
    • To convert to your local time, use =[Habitica Timestamp]/86400000+"1 Jan 1970"+[GMT Adjustment]/24, where the [GMT Adjustment] is the number of hours ahead of or behind GMT. For example, PDT is GMT -7, so the formula will be =[Habitica Timestamp]/86400000+"1 Jan 1970" + -7/24.
  • When using Create Task Action to convert Due Dates to the correct UTC format, use the following formula: =[Excel Field with Date]+([GMT Adjustment]/24). For example, if the time zone is PDT (GMT -7) and the date field is in C2, then the formula will be =C2+(-7/24)

Samples[]

Copy Party/Guild Chat into Google Sheets[]

Zapier-SampleGuildChat GoogleSheet

Blank Google Sheet With Header

  1. Create a Google Sheet with the column headings you wish to capture, like Name, Level, Timedatestamp, and Text.
  2. Format the Timedatestamp field using the appropriate time-date formatting.
  3. Go to the Zapier Dashboard. Choose Make a Zap.
  4. Choose Habitica as the Trigger App.
  5. Choose New Group Chat and Save + Continue.
  6. If not already completed, choose Connect to New Account and fill out your UID and API Token, which can be found on the Habitica website via Settings > API.
  7. Select the account and click Save + Continue.
  8. Select either your party or a guild and click Continue.
  9. Click Connect & Continue.
  10. In the guild or party enter one line of chat.
  11. You should get a message saying, "Test Successful!". This will hang till a new chat lines appears. You can see the results by clicking View Your Chat, which will display the last line in the guild. Click Continue.
  12. Choose Google Sheets as your action.
  13. Choose Create Spreadsheet Row.
  14. If not already completed, choose Connect to New Account and fill out your Google username and password.
  15. Select the Account and click Save + Continue.
  16. Select the Spreadsheet and appropriate Worksheet.
  17. Zapier-SampleGuildChat SetFieldToPopulate

    Linking Habitica fields to populate Google Spreadsheet

    Fill out Column Details: (These columns may not appear in the same order)
    • Date/time: =[Step 1 Timestamp]/86400000+"1 Jan 1970" + -7/24 for PDT(GMT-7). Please see Tips & Tricks For Google Sheets for more about formatting timestamps.
    • Name: [Step 1 User Name]
    • Level: [Step 1 Contributor Level]: [Step 1 Contributor Text]
    • Text: [Step 1 Text]
  18. Click Continue.
  19. You can Test Google Sheets by inserting the last line of chat into your spreadsheet. Click Create & Continue.
  20. You should get a message saying, "Test Successful!" If you do not, please check that there are no blank rows between any records.
  21. Open your spreadsheets and review your results.
    • The first row may read, "Added by Zapier, ensuring we can access this spreadsheet. Feel free to delete it after you are all set up!" You can delete this row. (Do not just clear the content, but remove the entire row; otherwise, your Zap will stop populating!)
    • The next line will be the automatically entered line of chat.
  22. Click Finish.
  23. Name your Zap and click Your Zap Is On for it to start collecting data.
Zapier-SampleGuildChat FinalGoogleSheet

Final Google Sheet With Chat

Zapier-SampleGuildChat FinalCorrespondingChat

Corresponding Chat for Final Spreadsheet

Load New To Do's from Google Sheets[]

This method shows how to load To Do's when a new row is created. Therefore if there is already an existing list, or if you wish to edit the To Do's before uploading, edit in a separate document first, and then paste the row into a Google Sheet once the Zap is on.

Zapier-GoogleLoadToDo GoogleSheet

Google Sheet With one To Do Task

  1. Create a Google Sheet with the following headings: Task Name, Notes, Actual Due Date, UTC Due Date.
  2. Format the Due Date fields with appropriate time-date formatting.
  3. Fill out the Task Name, Notes and Actual Due Date. Only add one To Do row as subsequent rows will be ignored and not loaded. Add these tasks after creating the Zap.
  4. In the UTC Due Date Field, use =C2+(-7/24) for PDT(GMT-7).
  5. Go to the Zapier Dashboard. Choose Make a Zap.
  6. Choose Google Sheets as the Trigger App.
  7. Choose the Trigger as New Spreadsheet Row and click Save + Continue.
  8. If not already completed, choose Connect to New Account and fill out your Google username and password.
  9. Select the Account and choose Save + Continue.
  10. Select the Spreadsheet and appropriate Worksheet and click Continue.
  11. Click Fetch & Continue to confirm that it is able to read one task.
  12. You can view the spreadsheet row to confirm the data is correct. Click Continue once done.
  13. Choose Habitica as the Action App.
  14. Choose Create Task as your option and click Save + Continue
  15. If not already completed, Choose Connect to New Account and fill out your UID and API Token which can be found on the Habitica website via Settings > API.
  16. Select the account and click Save + Continue.
  17. Fill out Column Details:
    • Type: To Do
    • Task: [Step 1 taskname]
    • Notes: [Step 1 notes]
    • Due Date: [Step 1 utcduedate]
  18. Click Continue.
  19. Review it is correct and click Create & Continue
  20. Zapier-GoogleLoadToDo FinalTask

    Habitica To Do Created

    Sync your Habitica Account on the App or Website and review your new task.
  21. Click Finish.
  22. Name your Zap and click Your Zap Is On.
  23. Add new rows for new To Do's as desired, ensuring the UTC Due Date column is populated appropriately.

Add Completed Tasks to Your RescueTime[]

A premium RescueTime account is required for this (direct link).

  1. Go to the Zapier Dashboard. Choose Make a Zap.
  2. Choose Habitica as the Trigger App.
  3. Choose Task Activity, click Save + Continue.
  4. If not already completed, Choose Connect to New Account and fill out your UID and API Token which can be found on the Habitica website via Settings > API.
  5. Select the account and click Save + Continue.
  6. Select Yes to Scored, and No to all other options
  7. Click Connect + Continue
  8. Click a task so the Test is Successful appears. Click Continue.
  9. Choose RescueTime as the Action App.
  10. Choose Log a Highlight Event. Click Save + Continue.
  11. If not already completed, choose connect to new account and fill out your RescueTime username and password.
  12. Select the Account and click Save + Continue.
  13. Zapier-RescueTime SetupFields

    Habitica To Do Created

    Fill out Column Details:
    • Date/Time: [Step 1 Updated At]
    • Description: [Step 1 Task Text] was scored [Step 1 Direction]. Completion: [Step 1 Task Completed]
    • Action Label: Habitica
  14. Click Continue.
  15. Review it is correct and click Create & Continue.
  16. Click Finish.
  17. Name your Zap and click Your Zap Is On.
Rescuetime

Habitica To Do Created

Beta Version Development[]

If you would like to assist with development of the beta version, please see the GitHub repository at HabitRPG/habitica-zapier and join the Aspiring Zapier Comrades guild. You can ask questions there and hopefully get answers!

See Also[]

  • Zapier Integration - Habitica's official blog post from August 2019. This link is provided for historical reasons. The information in the blog post may not still be correct and should not be used to learn how to use the integration.
Advertisement