|
| 1 | +--- |
| 2 | +name: Feature request |
| 3 | +about: For new workflows & change requests |
| 4 | +title: '' |
| 5 | +labels: feature request |
| 6 | +assignees: '' |
| 7 | + |
| 8 | +--- |
| 9 | +## Background, context, and business value |
| 10 | + |
| 11 | +A clear and concise description of what the client wants and WHY. |
| 12 | + |
| 13 | +For example: [Insert use case here] |
| 14 | + |
| 15 | +## The specific request, in as few words as possible |
| 16 | + |
| 17 | +A clear and concise description of what you want to happen. |
| 18 | +Things to include as needed: |
| 19 | +- The number of workflows needed to be created or updated |
| 20 | +- The function of each workflow including specific resources and operations |
| 21 | +- Unique identifiers |
| 22 | +- Links to mapping specifications, data flow diagrams, sample input/output data, and any API documentation |
| 23 | +- Links to the data model of target systems, if available |
| 24 | + |
| 25 | + |
| 26 | +```md |
| 27 | +Create a workflow in which OpenFn will: |
| 28 | +1. Get new rows from the PostgreSQL database every 1 hour |
| 29 | +2. Clean & transform the data according to the specified mapping rules, and then |
| 30 | +3. Upsert cases in the Primero case management system via externalId `case_id` |
| 31 | +(Note: 1 DB row will = 1 case record.) |
| 32 | + |
| 33 | +See [links] below for the workflow diagrams, mapping specs, & Primero data model. |
| 34 | +``` |
| 35 | + |
| 36 | +### Data Volumes & Limits |
| 37 | +How many records do we think these jobs will need to process in each run? For example: |
| 38 | +```md |
| 39 | +When you GET data from the DB, this may return up to 1000 records. |
| 40 | +There are no known Primero API limits for # of records, but there is API paging to consider. |
| 41 | +``` |
| 42 | + |
| 43 | +## Input |
| 44 | + |
| 45 | +### Credentials |
| 46 | +Which credentials can be used to access the target system(s)? |
| 47 | +(Do NOT share credential secrets on this issue -> rather point to where it can be found). |
| 48 | + |
| 49 | +### Data |
| 50 | +Describe how the "input" for this workflow will be generated (e.g., webhook request, timer-based query to be sent). Either provide an example directly, link to a file, or describe how a query can be executed to extract data. |
| 51 | + |
| 52 | +Be sure to redact any sensitive data and to not paste here. |
| 53 | + |
| 54 | + |
| 55 | +## Workflow Steps |
| 56 | + |
| 57 | +For each new Workflow, describe the number of steps needed and the high-level function of each step. Also include the trigger on platform and the adaptor needed for each step. |
| 58 | +For existing steps, provide a link to the step itself in Github and the high-level changes needed to be made. _Provide the information below for _each_ step that is required._ |
| 59 | + |
| 60 | + |
| 61 | +### 1. Step Name (e.g., `1. Get new DB rows`) |
| 62 | + |
| 63 | +#### adaptor |
| 64 | +E.g., `postgresql` |
| 65 | + |
| 66 | +#### operation |
| 67 | +E.g., Query (`SELECT * from table where created_at >= NOW()`) |
| 68 | + |
| 69 | +#### output |
| 70 | +List of new DB rows |
| 71 | + |
| 72 | +## How to test |
| 73 | +Link to test suite and/or provide examples of input/output scenarios to validate the implementation. |
| 74 | + |
| 75 | +## Toggl |
| 76 | + |
| 77 | + |
0 commit comments