ZAppwrite icon

ZAppwrite

Use Appwrite's API from inside N8N, updated by @ZachHandley

Overview

The node integrates with Appwrite's Messaging API to update an existing push notification message. It allows users to modify various aspects of a push notification such as its title, body, and additional metadata like targeted users or topics. This is useful in scenarios where you need to programmatically adjust push notifications after their initial creation, for example, to correct content, reschedule delivery, or change the audience.

Practical examples include:

  • Updating the text of a scheduled push notification before it is sent.
  • Changing the target audience of a push notification based on new user segmentation.
  • Modifying notification appearance details like icons or sounds dynamically.

Properties

Name Meaning
Message ID Unique identifier of the push message to update. Can be generated automatically or provided.
Title The title text of the push notification.
Body The main content/body text of the push notification.
Additional Fields Optional extra settings including:
- Topics: Comma-separated list of topic IDs
- Users: Comma-separated list of user IDs
- Targets: Comma-separated list of target IDs
- Data: Custom data payload (not listed in properties but used internally)
- Action: Action associated with the notification
- Image: URL or reference to an image
- Icon: Notification icon
- Sound: Notification sound
- Color: Notification color
- Tag: Tag for grouping notifications
- Badge: Badge count
- Draft: Boolean indicating if the message is a draft
- Scheduled At: ISO 8601 timestamp for scheduled delivery

Output

The node outputs a JSON object representing the updated push notification message as returned by the Appwrite Messaging API. This typically includes all the updated fields of the push message, such as its ID, title, body, targets, scheduling info, and any metadata.

If the operation fails, the output may contain an error message describing the issue.

No binary data output is involved in this operation.

Dependencies

  • Requires an active connection to an Appwrite server via an API key credential.
  • The node depends on the node-appwrite SDK and internal helper functions to communicate with the Appwrite Messaging API.
  • Proper configuration of the Appwrite project URL, project ID, and API key is necessary.

Troubleshooting

  • Common issues:

    • Invalid or missing Message ID will cause the update to fail.
    • Incorrect formatting of comma-separated lists in additional fields (e.g., topics, users, targets) can lead to unexpected behavior.
    • Scheduling time must be in valid ISO 8601 format; otherwise, scheduling may not work.
    • Insufficient permissions or invalid API credentials will result in authorization errors.
  • Error messages:

    • "Resource not found": The specified message ID does not exist.
    • "Unauthorized" or similar: Check that the API key credential has proper permissions.
    • "Invalid parameter": One or more input fields are incorrectly formatted or missing required values.

To resolve errors, verify all input parameters, ensure the message exists, and confirm API credentials and permissions.

Links and References

Discussion