As a low-code platform, PixieBrix is designed to make common usage patterns quick and easy. There are some patterns/situations that we do not currently support.
- Use Case Patterns
- API and Network Requests
- Page Modification
- Triggers
- Web Automation
- Selectors
- Scripting and Custom Code
- Control Flow and Exceptions
- Team Databases
- Inline Frames (IFrames)
Use Case Patterns
Use cases fit four patterns:
- Web Clipping: send context and user input to apps/services
- Invoke RPA bot
- Record/ticket creation
- Template auto-fill
- Collaboration: one- and two-way communication in context
- Send to chat app
- Task queues
- Web annotation
- Heads up Display: show information from other sources in context
- Table aggregation
- Reference data
- Status display
- Decision trees
- Translation/currency conversion
- Conditional Authority: modify, monitor, and warn for compliance
- Audit/action logs
- Hide/disable features
- Keyword detection
- Process gates
API and Network Requests
- Call JSON-based APIs. XML-based API payloads are not supported
- Supports API Key, Token, and OAuth2 authentication
- Headers are supported in requests. Response headers are not made available
- Non-2XX responses raise an error. The status from responses is not made available
- PixieBrix does not currently support automatically retrying failed requests
Page Modification
- Support for highlighting, hiding/showing, enabling/disabling elements
- PixieBrix can add a button to a menu. PixieBrix does not currently support adding multiple buttons, e.g., to each element of a list or row of a table
- Page modification works at the element-level. PixieBrix does not currently support modifying words within a paragraph/text node.
Triggers
- Support for standard web events (click, hover) and events for web extensibility: appear/initialize
- PixieBrix supports a
watch
mode for automatically attaching triggers as elements are added to the page - Cannot remove native event handlers from the host application
- Cannot add click handlers to buttons (e.g., submit) that redirect the page because the page navigates before PixieBrix has a opportunity to run the trigger
Web Automation
- PixieBrix can simulate web events and set form/input values. The different input types are handled automatically
- In rare cases, some features on pages cannot be automated because they only respond to Trusted Events (events that are performed by a user or OS-level automation instead of a script)
Selectors
- PixieBrix supports the JQuery superset of CSS selectors
- The Page Editor automatically infers selectors for an element
- In some cases, the Page Editor cannot automatically infer a robust selector, so you will need to manually adjust the selector
Scripting and Custom Code
- Write custom data transformation logic in text templates (see ) and JQ, the JSON processorText Template Guide
- For security, PixieBrix does not support running custom JavaScript in the browser
- To script business logic in a language of your choice, deploy the logic to an API (e.g., using AWS Lambda) and call the API
Control Flow and Exceptions
- You can configure a condition for each brick
- There is currently no if/else/switch constructs. These can be simulated by repeating individual brick conditions
- PixieBrix supports cancelling the current action or raising a business error. PixieBrix does not currently support try-catch control flow
- PixieBrix does not currently support loops. You cannot execute a brick per element. There are two alternatives that work in many situations:
- For data transformation, use text templates and/or JQ to map the data. (See Scripting and Custom Code above)
- Use a Trigger that triggers for each element on the page that matches a selector. Currently: appear and initialize
Team Databases
- Key-value/document store
- Support for JSON Schema enforcement. See Team Databases
- Supports simple data queries. Does not support complex logic in filters, e.g., OR/NOT/etc. See for the filter APIDeveloper API
- Cannot enforce Foreign Keys across databases
- Does not support database transactions
- Does not support indexing
- To use a full-featured database, expose database calls via an API (e.g., using AWS Lambda)
Inline Frames (IFrames)
- The Page Editor can only edit the top-level frame of a page
- To edit an inline frame, open the tab in a new frame
- Some frame content does not support running in its own tab. Therefore, you cannot use the point-and-click tools and Page Editor debugging while editing them
- See for more detailsEditing pages with iframes