Productive.io
Productive.io is a tool designed to help agencies with sales, budgeting, project management, resource management, reporting and billing.
Data integration: Skyvia supports importing data to and from Productive.io, exporting Productive.io data to CSV files, replicating Productive.io data to relational databases, and synchronizing Productive.io data with other cloud apps and relational databases.
Backup: Skyvia Backup does not support Productive.io.
Query: Skyvia Query supports Productive.io.
Establishing Connection
To create a connection to Productive.io, specify the Access Token and Organization Id.
Getting Credentials
Access Token
To locate the access token, perform the following actions:
-
Log in to Productive.io, hover over the user icon on the top right and select Settings.
-
Click API Access. On the appeared page, click the Generate new token.
- Specify the new token name and select the access level.
-
Hover over the new token name and the token value will appear.
-
Click COPY TOKEN
Organization Id
You can get the Organization Id value on the API Access page.
Creating Connection
To connect to Productive.io, paste the obtained Access Token and Organization Id to the corresponding boxes in the Connection Editor.
Additional Connection Parameters
Use Custom Fields
Enables working with custom fields of the Bookings, Budgets, Companies, Deals, Expenses, Invoices, People, Projects, Tasks objects.
Connector Specifics
Import Specifics
When you import data to the object contatinng the fields *Type and *Id together, you must map either both these fields or none of them for successful import. For example, the Bookings object contains the EventType and EventId. You must map either both EventType and EventId fields or none of them.
Object Peculiarities
Comments
When you insert a record to the Comments object, it is present in the Comments object, but it doesn’t contain the link to the parent object, which the comment is created for. Thus, this record is not available when you select all the records. You can get the Comment record only by specifying its Id.
Reports_FinancialItem
By default, data is grouped by the financial_item metric. You can change this behaviour by changing the Group field to one of the following values: person, service, service_type, budget, project, company, pricing_type, project_type, future, organization, financial_item. To group data by multiple metrics, specify the metrics separated by commas. Available date periods for grouping are year, quarter, month, week and day.
You can filter these reports by using Date field. For example, you can get data for the period from 02.09.2024 to 30.10.2024 with grouping by each month separately by using filters like this:
1
2
3
4
SELECT t.*
FROM Reports_FinancialItem AS t
WHERE ((t."Date" < '2024-10-31' AND t."Date" > '2024-09-01')
AND t."Group" = 'service_type,date:month')
Reports_Time
By default, data is grouped by the person metric. You can change this behaviour by changing the Group field to one of the following values: service, service_type, budget, project, company, event, future, organization, subsidiary, manager, person. To group data by multiple metrics, specify the metrics separated by commas. Available date periods for grouping are year, quarter, month, week and day. You can filter these reports by using Date field.
Custom Fields
The following objects can have custom fields: Bookings, Budgets, Companies, Deals, Expenses, Invoices, People, Projects, Tasks.
Productive.io supports the custom fields of the following types:
Productive.io type | DbType |
---|---|
Text | String |
Multiselect | String |
Dropdown | String |
Person | String |
Date | Date |
Number | Decimal |
Person | Field which stores the ID referring to the People object |
Filtering Specifics
Productive.io supports the following native filters:
Object | Operator | Field |
---|---|---|
Activities | = |
TaskId, DealId, InvoiceId, CompanyId, PersonId |
Comments | = |
DiscussionId |
Companies | = |
Status |
Bookings | = |
EventId, PersonId |
Deals | = |
SalesStatusId, ProjectId, CompanyId, ResponsibleId, SubsidiaryId |
Payments | = |
ExternalId, InvoiceId |
Projects | = |
ProjectTypeId |
TaskLists | = |
ProjectId, BoardId |
Workflows | = |
Name |
WorkflowStatuses | = |
Name, CategoryId, WorkflowId |
Boards | = |
ProjectId |
TimeEntries | = |
ServiceId, PersonId |
>= , <= |
Date |
Use these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.
Custom fields support the following filters:
Field | Operator |
---|---|
Number, Date | = , > , < , >= , <= |
Other fields | = |
Multiselect | Not supported |
Incremental Replication and Synchronization
Skyvia supports Replication with Incremental Updates for the Activities, Bookings, Budgets, Comments, Companies, Deals, Expenses, Invoices, People, Projects, Tasks objects. Skyvia tracks only the new records for the Activities, Companies, Deals, Expenses, People, Projects objects.
Skyvia supports Synchronization for the objects Invoices, Bookings, and Tasks objects.
DML Operations Support
Operation | Object |
---|---|
INSERT, UPDATE, DELETE | Bookings, Budgets, Comments, Deals, DealStatuses, Expenses, Invoices, LineItems, Projects, Services, ServiceTypes, Tasks, Workflows, Payments |
INSERT, UPDATE | Boards, Companies, CustomFieldOptions, CustomFields, Events, LostReasons, People, Subsidiaries, TaskLists, WorkflowStatuses |
UPDATE, DELETE | Organizations |
UPDATE | Users |
Stored Procedures
Skyvia represents part of the supported Productive.io features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.
DeleteWorkflowStatus
Use the following command, to delete the record from the WorkflowStatuses,
call DeleteWorkflowStatus(:id,:type,:targetid)
PARAMETER NAME | DESCRIPTION |
---|---|
Id | The identifier of the deleted record |
Type | Required constant workflow_statuses |
Targetid | The Id of the workflow status where the tasks from the deleted workflow status will be moved |
ArchiveCompany
Use the following command to archive a company.
call ArchiveCompany(:companyId)
RestoreCompany
Use the following command to restore the archived company.
call RestoreCompany(:companyId)
ArchiveLostReason
To archive the lost reason, use the command
call ArchiveLostReason(:lostId)
ArchiveWorkflow
To archive the workflow, use the following command
call ArchiveWorkflow(:workflowId)
RestoreWorkflow
Use the following command, to restore the workflow
call RestoreWorkflow(:workflowId)
ArchiveDealStatus
To archive the deal status, use the command
call ArchiveDealStatus(:dealStatusId)
ApproveBooking
To approve booking, use the the command
call ApproveBooking(:bookingId)
UnapproveBooking
Use the following command to unapprove booking
call UnapproveBooking(:bookingId)
ArchiveEvent
Use the following command to archive the event
ArchiveEvent(:eventId)
ApproveExpense
To approve the expence use the command
call ApproveExpense(:expenseId)
UnapproveExpense
To unapprove the expence, use the command
call UnapproveExpense(:expenseId)
ArchiveProject
Use the following command to archive the project
call ArchiveProject(:projectId)
RestoreProject
To restore the project, use the command
call RestoreProject(:projectId)
ArchiveServiceType
To archive the service type, use the command
call ArchiveServiceType(:serviceTypeId)
ArchiveSubsidiary
Use the following command to archive the subsisdiary
ArchiveSubsidiary(:subsidiaryId)
ArchiveTaskList
To archive the task list, use the command
call ArchiveTaskList(:taskListId)
RestoreTaskList
Use the following command to restore the task list.
call RestoreTaskList(:taskListId)
ArchiveBoards
To archive the board, use the command
call ArchiveBoards(:boardId)
RestoreBoards
To restore the board, use the command
RestoreBoards(:boardId)
Supported Actions
Skyvia supports all the common actions for Productive.io